/* ==========================================================================
   TOEFL — Fuentes locales
   ========================================================================== */

@font-face {
    font-family: "Inter";
    src: url("../fonts/inter/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2") format("woff2");
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
}

@font-face {
    font-family: "Archivo Black";
    src: url("../fonts/archivo-black/HTxqL289NzCGg4MzN6KJ7eW6CYyF_g.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

/* ==========================================================================
   TOEFL — Base y tokens
   ========================================================================== */

.toefl-site {
    --font-display: "Archivo Black", ui-sans-serif, system-ui, sans-serif;
    --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
    --radius: 0.75rem;
    --radius-sm: calc(var(--radius) - 4px);
    --radius-md: calc(var(--radius) - 2px);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius) + 4px);
    --radius-2xl: calc(var(--radius) + 8px);
    --radius-3xl: calc(var(--radius) + 12px);
    --radius-4xl: calc(var(--radius) + 20px);
    --radius-full: 999px;
    --ink: oklch(0.15 0.02 265);
    --lime: oklch(0.94 0.19 116);
    --lilac: oklch(0.72 0.16 290);
    --lilac-soft: oklch(0.94 0.05 290);
    --tangerine: oklch(0.75 0.17 45);
    --teal-deep: oklch(0.32 0.05 200);
    --cream: oklch(0.985 0.008 100);
    --background: oklch(1 0 0);
    --foreground: var(--ink);
    --card: oklch(1 0 0);
    --card-foreground: var(--ink);
    --primary: oklch(0.28 0.13 285);
    --primary-foreground: oklch(0.99 0 0);
    --secondary: oklch(0.96 0.02 285);
    --secondary-foreground: var(--ink);
    --muted: oklch(0.965 0.005 285);
    --muted-foreground: oklch(0.45 0.02 265);
    --accent: var(--lime);
    --accent-foreground: var(--ink);
    --destructive: oklch(0.6 0.22 25);
    --destructive-foreground: oklch(0.99 0 0);
    --border: oklch(0.9 0.01 285);
    --input: oklch(0.9 0.01 285);
    --ring: var(--lilac);
    margin: 0;
    color: var(--foreground);
    background: var(--background);
    font-family: var(--font-sans);
    font-weight: 400;
}

.toefl-site *,
.toefl-site *::before,
.toefl-site *::after {
    box-sizing: border-box;
}

.toefl-site [hidden] {
    display: none !important;
}

/* Utilidad compartida para textos accesibles sin representación visual. */
.toefl-site .toefl-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.toefl-page {
    min-height: 20rem;
}

/* ==========================================================================
   TOEFL — Navegación
   ========================================================================== */

.toefl-site .toefl-nav {
    position: sticky;
    top: 0;
    z-index: 40;
    width: 100%;
    border-bottom: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    background: color-mix(in srgb, var(--background) 90%, transparent);
    backdrop-filter: blur(12px);
}

.toefl-site .toefl-nav__inner,
.toefl-site .toefl-nav__secondary-inner {
    width: min(100%, 80rem);
    margin: 0 auto;
}

.toefl-site .toefl-nav__inner {
    display: flex;
    min-height: 4rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 1rem;
}

.toefl-site .toefl-nav__brand-group,
.toefl-site .toefl-nav__actions {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.75rem;
}

.toefl-site .toefl-nav__brand {
    display: inline-flex;
    flex: 0 1 auto;
    align-items: center;
    border-radius: var(--radius-sm);
    text-decoration: none;
}

.toefl-site .toefl-nav__brand img {
    display: block;
    width: clamp(6rem, 31vw, 9rem);
    max-width: 100%;
    height: auto;
    object-fit: cover;
}

.toefl-site .toefl-nav__toggle {
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 2.5rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: var(--radius-md);
    color: var(--ink);
    background: transparent;
    cursor: pointer;
}

.toefl-site .toefl-nav__toggle:hover {
    background: var(--lilac-soft);
}

.toefl-site .toefl-nav__toggle svg,
.toefl-site .toefl-nav__phone svg,
.toefl-site .toefl-nav__secondary svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.toefl-site .toefl-nav__desktop {
    display: none;
}

.toefl-site .toefl-nav__links,
.toefl-site .toefl-nav__mobile-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.toefl-site .toefl-nav__link {
    color: var(--ink);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
    white-space: nowrap;
}

.toefl-site .toefl-nav__link:hover {
    color: var(--lilac);
}

.toefl-site .toefl-nav__actions {
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.toefl-site .toefl-nav__phone {
    display: none;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
    color: var(--ink);
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.toefl-site .toefl-nav__phone:hover {
    color: var(--lilac);
}

.toefl-site .toefl-nav__phone svg {
    width: 1rem;
    height: 1rem;
    color: var(--lilac);
}

.toefl-site .toefl-nav__cta {
    display: inline-flex;
    min-height: 2.5rem;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 0.85rem;
    border-radius: var(--radius-full);
    color: var(--primary-foreground);
    background: var(--ink);
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    text-decoration: none;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

.toefl-site .toefl-nav__cta:hover {
    color: var(--primary-foreground);
    background: var(--primary);
    transform: translateY(-2px);
}

.toefl-site .toefl-nav__mobile {
    border-top: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    background: var(--background);
    padding: 0.75rem 1rem 1rem;
}

.toefl-site .toefl-nav__mobile-links {
    display: grid;
    gap: 0.2rem;
}

.toefl-site .toefl-nav__mobile-link,
.toefl-site .toefl-nav__mobile-phone {
    display: block;
    padding: 0.7rem 0.8rem;
    border-radius: var(--radius);
    font-size: 0.875rem;
    font-weight: 600;
}

.toefl-site .toefl-nav__mobile-link {
    background: color-mix(in srgb, var(--lilac-soft) 45%, var(--background));
    color: var(--ink);
    text-decoration: none;
}

.toefl-site .toefl-nav__mobile-link:hover {
    background: var(--lilac-soft);
}

.toefl-site .toefl-nav__mobile-phone {
    color: var(--lilac);
    text-decoration: none;
}

.toefl-site .toefl-nav__mobile-phone:hover {
    background: var(--lilac-soft);
}

.toefl-site .toefl-nav__secondary {
    border-top: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    background: color-mix(in srgb, var(--lilac-soft) 60%, var(--background));
}

.toefl-site .toefl-nav__secondary-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 0.5rem 1rem;
    color: color-mix(in srgb, var(--ink) 80%, transparent);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.35;
}

.toefl-site .toefl-nav__secondary-item,
.toefl-site .toefl-nav__secondary-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.toefl-site .toefl-nav__secondary-item svg {
    flex: 0 0 auto;
    color: var(--lilac);
}

.toefl-site .toefl-nav__secondary-item--detail,
.toefl-site .toefl-nav__secondary-link {
    display: none;
}

.toefl-site .toefl-nav__secondary-link {
    color: var(--ink);
    text-decoration: none;
    transition: color 0.2s ease;
}

.toefl-site .toefl-nav__secondary-link:hover {
    color: var(--lilac);
}

.toefl-site .toefl-nav__secondary-muted {
    color: color-mix(in srgb, var(--ink) 40%, transparent);
}

.toefl-site .toefl-nav__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.toefl-site .toefl-nav__brand:focus-visible,
.toefl-site .toefl-nav__toggle:focus-visible,
.toefl-site .toefl-nav__phone:focus-visible,
.toefl-site .toefl-nav__link:focus-visible,
.toefl-site .toefl-nav__cta:focus-visible,
.toefl-site .toefl-nav__mobile-link:focus-visible,
.toefl-site .toefl-nav__mobile-phone:focus-visible {
    outline: 3px solid var(--ring);
    outline-offset: 3px;
}

/* ==========================================================================
   TOEFL — Hero
   ========================================================================== */

.toefl-site .toefl-hero {
    padding: 3.5rem 1.25rem 5rem;
    background:
        radial-gradient(circle at 15% 20%, oklch(0.85 0.11 290 / 0.55), transparent 40%),
        radial-gradient(circle at 85% 10%, oklch(0.9 0.08 290 / 0.55), transparent 45%),
        radial-gradient(circle at 50% 90%, oklch(0.92 0.06 290 / 0.45), transparent 50%),
        var(--cream);
}

.toefl-site .toefl-hero__inner {
    width: min(100%, 80rem);
    margin: 0 auto;
}

.toefl-site .toefl-hero__content {
    width: min(100%, 56rem);
    margin: 0 auto;
    text-align: center;
}

.toefl-site .toefl-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    margin: 0;
    padding: 0.4rem 0.875rem;
    border-radius: var(--radius-full);
    color: var(--primary-foreground);
    background: var(--lilac);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.25;
    text-transform: uppercase;
}

.toefl-site .toefl-hero__title {
    margin: 1.5rem 0 0;
    font-family: var(--font-display);
    font-size: clamp(2.35rem, 11vw, 4rem);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 0.95;
}

.toefl-site .toefl-hero__title em {
    color: var(--lilac);
    font-style: italic;
}

.toefl-site .toefl-hero__description {
    width: min(100%, 42rem);
    margin: 1.5rem auto 0;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    font-size: 1rem;
    line-height: 1.65;
}

.toefl-site .toefl-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 2rem;
}

.toefl-site .toefl-hero__cta {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.9rem 1.55rem;
    border: 2px solid var(--ink);
    border-radius: var(--radius-full);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.toefl-site .toefl-hero__cta svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.toefl-site .toefl-hero__cta .toefl-hero__whatsapp-icon {
    fill: currentColor;
    stroke: none;
}

.toefl-site .toefl-hero__cta--primary {
    color: var(--primary-foreground);
    background: var(--ink);
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

.toefl-site .toefl-hero__cta--primary:hover {
    color: var(--primary-foreground);
    background: var(--primary);
    transform: translateY(-2px);
}

.toefl-site .toefl-hero__cta--secondary {
    color: var(--ink);
    background: transparent;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

.toefl-site .toefl-hero__cta--secondary:hover {
    color: var(--primary-foreground);
    background: var(--ink);
    transform: translateY(-2px);
}

.toefl-site .toefl-hero__cta--secondary:focus-visible {
    outline: 3px solid var(--ring);
    outline-offset: 3px;
}

/* Estadísticas integradas en el Hero. */
.toefl-site .toefl-hero__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(100%, 56rem);
    margin: 4rem auto 0;
    padding: 1rem;
    border: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: var(--radius-3xl);
    background: var(--background);
    box-shadow: 0 20px 60px -30px oklch(0.28 0.13 285 / 0.5);
    list-style: none;
}

.toefl-site .toefl-hero__stats li {
    min-width: 0;
    padding: 0.35rem;
    text-align: center;
}

.toefl-site .toefl-hero__stats strong,
.toefl-site .toefl-hero__stats span {
    display: block;
}

.toefl-site .toefl-hero__stats strong {
    color: var(--lilac);
    font-family: var(--font-display);
    font-size: clamp(1.65rem, 8vw, 3rem);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 1;
}

.toefl-site .toefl-hero__stats span {
    margin-top: 0.5rem;
    color: color-mix(in srgb, var(--ink) 60%, transparent);
    font-size: clamp(0.55rem, 2.4vw, 0.6875rem);
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.35;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

.toefl-site .toefl-hero__media {
    position: relative;
    width: min(100%, 64rem);
    margin: 4rem auto 0;
}

.toefl-site .toefl-hero__media > img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: var(--radius-4xl);
    background: var(--lilac-soft);
}

.toefl-site .toefl-hero__badge {
    position: absolute;
    display: inline-flex;
    max-width: min(14rem, 75%);
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0.55rem 0.7rem;
    border: 2px solid var(--ink);
    border-radius: var(--radius-xl);
    color: var(--ink);
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1.25;
    box-shadow: 6px 6px 0 var(--ink);
}

.toefl-site .toefl-hero__badge svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.toefl-site .toefl-hero__badge--mobility {
    top: -1.25rem;
    left: 0.35rem;
    background: var(--background);
    animation: toefl-float-mobility 6s ease-in-out infinite;
}

.toefl-site .toefl-hero__badge--mobility svg {
    color: var(--lime);
    fill: var(--lime);
}

.toefl-site .toefl-hero__badge--countries {
    right: 0.35rem;
    bottom: -1.25rem;
    background: var(--lime);
    animation: toefl-float-countries 7s ease-in-out infinite;
}

/* ==========================================================================
   TOEFL — Marquesina
   ========================================================================== */

.toefl-site .toefl-marquee {
    position: relative;
    overflow: hidden;
    border-top: 1px solid color-mix(in srgb, var(--background) 15%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--background) 15%, transparent);
    color: var(--primary-foreground);
    background: var(--ink);
}

.toefl-site .toefl-marquee__track {
    display: flex;
    width: max-content;
    animation: toefl-marquee 40s linear infinite;
}

.toefl-site .toefl-marquee:hover .toefl-marquee__track {
    animation-play-state: paused;
}

.toefl-site .toefl-marquee__group {
    display: flex;
    width: max-content;
    flex: 0 0 auto;
    align-items: center;
    gap: 2.5rem;
    margin: 0;
    /* La separación final forma parte de cada copia compacta para que el
       desplazamiento de una cuarta parte coincida con un grupo completo. */
    padding: 1.25rem 2.5rem 1.25rem 0;
    list-style: none;
    white-space: nowrap;
}

.toefl-site .toefl-marquee__group li {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.toefl-site .toefl-marquee__group li > span {
    color: var(--lime);
    font-size: 1.1em;
}

/* ==========================================================================
   TOEFL — Movilidad internacional y puntuaciones
   ========================================================================== */

.toefl-site .toefl-scores {
    padding: 6rem 1.25rem;
    background: var(--background);
}

.toefl-site .toefl-scores__inner {
    width: min(100%, 80rem);
    margin: 0 auto;
}

.toefl-site .toefl-scores__header {
    width: min(100%, 48rem);
}

.toefl-site .toefl-scores__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    margin: 0;
    padding: 0.4rem 0.875rem;
    border-radius: var(--radius-full);
    color: var(--primary-foreground);
    background: var(--lilac);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.25;
    text-transform: uppercase;
}

.toefl-site .toefl-scores__title {
    margin: 1rem 0 0;
    font-family: var(--font-display);
    font-size: clamp(2.25rem, 9vw, 3.75rem);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 0.95;
}

.toefl-site .toefl-scores__title em {
    color: var(--lilac);
    font-style: italic;
}

.toefl-site .toefl-scores__description {
    margin: 1rem 0 0;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    line-height: 1.65;
}

.toefl-site .toefl-scores__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    margin: 3rem 0 0;
    padding: 0;
    list-style: none;
}

.toefl-site .toefl-scores__grid > li {
    min-width: 0;
}

.toefl-site .toefl-scores__card {
    display: flex;
    height: 100%;
    min-width: 0;
    flex-direction: column;
    padding: 1.75rem;
    border: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: calc(var(--radius-4xl) + 4px);
    transition: transform 0.2s ease;
}

@media (hover: hover) {
    .toefl-site .toefl-scores__card:hover {
        transform: translateY(-0.25rem);
    }
}

.toefl-site .toefl-scores__card--exchange {
    background: var(--lilac-soft);
}

.toefl-site .toefl-scores__card--admissions {
    background: color-mix(in srgb, var(--lime) 40%, transparent);
}

.toefl-site .toefl-scores__card--top {
    background: color-mix(in srgb, var(--tangerine) 25%, transparent);
}

.toefl-site .toefl-scores__card--scholarships {
    background: color-mix(in srgb, var(--lilac) 20%, transparent);
}

.toefl-site .toefl-scores__icon {
    width: 1.75rem;
    height: 1.75rem;
    flex: 0 0 auto;
    fill: none;
    stroke: var(--ink);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.toefl-site .toefl-scores__card-title {
    margin: 1.5rem 0 0;
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 0.95;
}

.toefl-site .toefl-scores__score {
    margin: 1.25rem 0 0;
    font-family: var(--font-display);
    font-size: 3rem;
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 1;
}

.toefl-site .toefl-scores__equivalence {
    margin: 0.25rem 0 0;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    font-size: 0.875rem;
    font-weight: 700;
}

.toefl-site .toefl-scores__examples {
    display: grid;
    gap: 0.375rem;
    margin: 1.25rem 0 0;
    padding: 1rem 0 0;
    border-top: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    color: color-mix(in srgb, var(--ink) 75%, transparent);
    font-size: 0.8125rem;
    line-height: 1.4;
    list-style: none;
}

.toefl-site .toefl-scores__examples li {
    position: relative;
    padding-left: 1rem;
    overflow-wrap: anywhere;
}

.toefl-site .toefl-scores__examples li::before {
    position: absolute;
    top: 0;
    left: 0;
    color: var(--lilac);
    content: "•";
}

.toefl-site .toefl-scores__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-top: 3rem;
}

.toefl-site .toefl-scores__cta {
    display: inline-flex;
    width: 100%;
    min-height: 3.25rem;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border: 2px solid var(--ink);
    border-radius: var(--radius-full);
    color: var(--ink);
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.toefl-site .toefl-scores__cta > svg {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.toefl-site .toefl-scores__cta--calculator {
    min-height: 4rem;
    padding: 1.25rem 1.75rem;
    background: var(--lime);
    font-size: 0.875rem;
    font-weight: 900;
    box-shadow: 8px 8px 0 var(--ink);
    cursor: pointer;
    transition: transform 0.2s ease;
}

.toefl-site .toefl-scores__cta--calculator:hover {
    transform: translateY(-2px);
}

.toefl-site .toefl-scores__cta--calculator:focus-visible {
    outline: 3px solid var(--ring);
    outline-offset: 3px;
}

.toefl-site .toefl-scores__cta--whatsapp {
    background: transparent;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

.toefl-site .toefl-scores__cta--whatsapp:hover {
    color: var(--primary-foreground);
    background: var(--ink);
    transform: translateY(-2px);
}

.toefl-site .toefl-scores__cta--whatsapp:focus-visible {
    outline: 3px solid var(--ring);
    outline-offset: 3px;
}

.toefl-site .toefl-scores__cta .toefl-scores__whatsapp-icon {
    fill: currentColor;
    stroke: none;
}

/* ==========================================================================
   TOEFL — Nuevo examen 2026
   ========================================================================== */

.toefl-site .toefl-new-2026 {
    padding: 0 1.25rem 6rem;
    background: var(--background);
}

.toefl-site .toefl-new-2026__inner {
    width: min(100%, 80rem);
    margin: 0 auto;
}

.toefl-site .toefl-new-2026__panel {
    position: relative;
    overflow: hidden;
    padding: 2rem;
    border-radius: calc(var(--radius-4xl) + 8px);
    color: var(--primary-foreground);
    background: var(--ink);
}

.toefl-site .toefl-new-2026__sticker {
    position: absolute;
    z-index: 0;
    top: -4rem;
    right: -4rem;
    display: none;
    width: 16rem;
    max-width: none;
    height: auto;
    opacity: 0.4;
    pointer-events: none;
    transform: rotate(6deg);
}

.toefl-site .toefl-new-2026__layout {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 2.5rem;
}

.toefl-site .toefl-new-2026__content,
.toefl-site .toefl-new-2026__media {
    min-width: 0;
}

.toefl-site .toefl-new-2026__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    margin: 0;
    padding: 0.4rem 0.75rem;
    border-radius: var(--radius-full);
    color: var(--ink);
    background: var(--lime);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    line-height: 1.25;
    text-transform: uppercase;
}

.toefl-site .toefl-new-2026__title {
    max-width: 48rem;
    margin: 1.5rem 0 0;
    color: var(--primary-foreground);
    font-family: var(--font-display);
    font-size: clamp(2rem, 9vw, 3rem);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 0.98;
    overflow-wrap: anywhere;
}

.toefl-site .toefl-new-2026__title em {
    color: var(--lime);
    font-style: italic;
}

.toefl-site .toefl-new-2026__description {
    max-width: 42rem;
    margin: 1.25rem 0 0;
    color: color-mix(in srgb, var(--primary-foreground) 70%, transparent);
    line-height: 1.65;
}

.toefl-site .toefl-new-2026__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    margin-top: 2.25rem;
}

.toefl-site .toefl-new-2026__action {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border-radius: var(--radius-full);
    font: inherit;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.toefl-site .toefl-new-2026__action svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.toefl-site .toefl-new-2026__action--guide {
    border: 2px solid var(--lime);
    color: var(--ink);
    background: var(--lime);
}

.toefl-site .toefl-new-2026__action--share {
    border: 2px solid color-mix(in srgb, var(--primary-foreground) 40%, transparent);
    color: var(--primary-foreground);
    background: transparent;
}

.toefl-site .toefl-new-2026__action:hover {
    transform: translateY(-2px);
}

.toefl-site .toefl-new-2026__action--share:hover {
    border-color: var(--lime);
    color: var(--lime);
}

.toefl-site .toefl-new-2026__action:focus-visible,
.toefl-site .toefl-new-2026__play:focus-visible {
    outline: 3px solid var(--lime);
    outline-offset: 3px;
}

.toefl-site .toefl-new-2026__media {
    padding: 1rem;
    border: 1px solid color-mix(in srgb, var(--primary-foreground) 15%, transparent);
    border-radius: calc(var(--radius-4xl) - 4px);
    background: color-mix(in srgb, var(--primary-foreground) 5%, transparent);
    backdrop-filter: blur(8px);
}

.toefl-site .toefl-new-2026__video-label {
    margin: 0;
    color: var(--lime);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    line-height: 1.3;
    text-transform: uppercase;
}

.toefl-site .toefl-new-2026__video {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-top: 0.75rem;
    border-radius: var(--radius-xl);
    background: var(--ink);
}

.toefl-site .toefl-new-2026__thumbnail,
.toefl-site .toefl-new-2026__video iframe {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.toefl-site .toefl-new-2026__video iframe {
    z-index: 2;
    visibility: hidden;
}

.toefl-site .toefl-new-2026__video[data-video-state="playing"] iframe {
    visibility: visible;
}

.toefl-site .toefl-new-2026__video[data-video-state="playing"] .toefl-new-2026__thumbnail,
.toefl-site .toefl-new-2026__video[data-video-state="playing"] .toefl-new-2026__video-overlay,
.toefl-site .toefl-new-2026__video[data-video-state="playing"] .toefl-new-2026__play {
    display: none;
}

.toefl-site .toefl-new-2026__video-overlay {
    position: absolute;
    inset: 0;
    background: color-mix(in srgb, var(--ink) 25%, transparent);
    transition: background-color 0.2s ease;
}

.toefl-site .toefl-new-2026__play {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    display: inline-flex;
    width: 3.5rem;
    height: 3.5rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: var(--ink);
    background: var(--lime);
    box-shadow: 4px 4px 0 var(--ink);
    cursor: pointer;
    transform: translate(-50%, -50%);
    transition: transform 0.2s ease;
}

.toefl-site .toefl-new-2026__play svg {
    width: 1.25rem;
    height: 1.25rem;
    margin-left: 0.125rem;
    fill: currentColor;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.toefl-site .toefl-new-2026__video:hover .toefl-new-2026__video-overlay {
    background: color-mix(in srgb, var(--ink) 40%, transparent);
}

.toefl-site .toefl-new-2026__play:hover {
    transform: translate(-50%, -50%) scale(1.1);
}

.toefl-site .toefl-new-2026__play:disabled {
    cursor: wait;
    opacity: 0.75;
}

.toefl-site .toefl-new-2026__video-consent {
    margin: 0.75rem 0 0;
    color: color-mix(in srgb, var(--primary-foreground) 65%, transparent);
    font-size: 0.75rem;
    line-height: 1.4;
}

.toefl-site .toefl-new-2026__video-title {
    margin: 0.75rem 0 0;
    color: color-mix(in srgb, var(--primary-foreground) 80%, transparent);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.4;
}

/* ==========================================================================
   TOEFL Why Us
   ========================================================================== */

.toefl-site .toefl-why-us {
    padding: 6rem 1.25rem;
    background: var(--background);
}

.toefl-site .toefl-why-us__inner {
    width: min(100%, 80rem);
    margin: 0 auto;
}

.toefl-site .toefl-why-us__header {
    max-width: 48rem;
}

.toefl-site .toefl-why-us__eyebrow {
    display: inline-flex;
    min-height: 1.875rem;
    align-items: center;
    margin: 0;
    padding: 0.375rem 0.875rem;
    border-radius: var(--radius-full);
    color: var(--primary-foreground);
    background: var(--lilac);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    line-height: 1.4;
    text-transform: uppercase;
}

.toefl-site .toefl-why-us__title {
    margin: 1rem 0 0;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: clamp(2.25rem, 10vw, 3.75rem);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 0.95;
    overflow-wrap: anywhere;
}

.toefl-site .toefl-why-us__title em {
    color: var(--lilac);
    font-style: italic;
}

.toefl-site .toefl-why-us__description {
    margin: 1rem 0 0;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    line-height: 1.6;
}

.toefl-site .toefl-why-us__advantages {
    display: grid;
    gap: 1.5rem;
    margin: 3.5rem 0 0;
    padding: 0;
    list-style: none;
}

.toefl-site .toefl-why-us__card-wrapper {
    position: sticky;
    top: calc(6.5rem + (var(--toefl-card-index) * 1.125rem));
    z-index: calc(var(--toefl-card-index) + 1);
    min-width: 0;
}

.toefl-site .toefl-why-us__card {
    display: grid;
    min-width: 0;
    gap: 1.5rem;
    padding: 1.75rem;
    border: 2px solid var(--ink);
    border-radius: calc(var(--radius-4xl) + 4px);
    box-shadow: 0 24px 60px -30px color-mix(in srgb, var(--lilac) 55%, transparent);
}

.toefl-site .toefl-why-us__card--lilac {
    background: var(--lilac-soft);
}

.toefl-site .toefl-why-us__card--lime {
    background: var(--lime);
}

.toefl-site .toefl-why-us__card--tangerine {
    background: var(--tangerine);
}

.toefl-site .toefl-why-us__metric {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 1rem;
}

.toefl-site .toefl-why-us__icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    flex: 0 0 auto;
    place-items: center;
    border: 2px solid var(--ink);
    border-radius: var(--radius-2xl);
    color: var(--ink);
    background: var(--background);
}

.toefl-site .toefl-why-us__icon svg {
    width: 1.5rem;
    height: 1.5rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.toefl-site .toefl-why-us__kpi,
.toefl-site .toefl-why-us__kpi-label,
.toefl-site .toefl-why-us__counter,
.toefl-site .toefl-why-us__card-text {
    margin: 0;
}

.toefl-site .toefl-why-us__kpi {
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 8vw, 3rem);
    letter-spacing: -0.025em;
    line-height: 1;
    overflow-wrap: anywhere;
}

.toefl-site .toefl-why-us__metric--location .toefl-why-us__kpi {
    font-size: clamp(1.5rem, 5vw, 2.25rem);
    overflow-wrap: normal;
    white-space: nowrap;
}

.toefl-site .toefl-why-us__kpi-label {
    margin-top: 0.375rem;
    color: color-mix(in srgb, var(--ink) 55%, transparent);
    font-size: 0.6875rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    line-height: 1.35;
    text-transform: uppercase;
}

.toefl-site .toefl-why-us__card-content {
    min-width: 0;
    padding-top: 1.25rem;
    border-top: 2px solid color-mix(in srgb, var(--ink) 10%, transparent);
}

.toefl-site .toefl-why-us__counter {
    color: color-mix(in srgb, var(--ink) 40%, transparent);
    font-size: 0.6875rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    line-height: 1.35;
    text-transform: uppercase;
}

.toefl-site .toefl-why-us__card-title {
    margin: 0.5rem 0 0;
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 7vw, 1.875rem);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 1;
    overflow-wrap: anywhere;
}

.toefl-site .toefl-why-us__card-text {
    margin-top: 0.75rem;
    color: color-mix(in srgb, var(--ink) 75%, transparent);
    font-size: 0.875rem;
    line-height: 1.6;
}

.toefl-site .toefl-why-us__comparator {
    overflow: hidden;
    margin-top: 4rem;
    border: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: calc(var(--radius-4xl) + 4px);
    background: var(--background);
}

.toefl-site .toefl-why-us__comparator-header {
    padding: 1.75rem;
    border-bottom: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    background: var(--cream);
}

.toefl-site .toefl-why-us__comparator-title {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 7vw, 1.875rem);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 1;
}

.toefl-site .toefl-why-us__comparator-description {
    margin: 0.5rem 0 0;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    font-size: 0.875rem;
    line-height: 1.55;
}

.toefl-site .toefl-why-us__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1.25rem;
}

.toefl-site .toefl-why-us__filter {
    min-height: 2.75rem;
    padding: 0.5rem 1rem;
    border: 2px solid color-mix(in srgb, var(--ink) 15%, transparent);
    border-radius: var(--radius-full);
    color: color-mix(in srgb, var(--ink) 60%, transparent);
    background: var(--background);
    font: inherit;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1.3;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        border-color 0.2s ease,
        color 0.2s ease,
        background-color 0.2s ease;
}

.toefl-site .toefl-why-us__filter[aria-pressed="true"] {
    border-color: var(--ink);
    color: var(--primary-foreground);
    background: var(--ink);
}

.toefl-site .toefl-why-us__filter:hover {
    border-color: var(--ink);
}

.toefl-site .toefl-why-us__filter:focus-visible,
.toefl-site .toefl-why-us__help-trigger:focus-visible,
.toefl-site .toefl-why-us__cta:focus-visible,
.toefl-site .toefl-why-us__table-scroll:focus-visible {
    outline: 3px solid var(--ring);
    outline-offset: 3px;
}

.toefl-site .toefl-why-us__scroll-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0.75rem 1.25rem;
    border-top: 2px solid var(--ink);
    border-bottom: 2px solid var(--ink);
    color: var(--ink);
    background: var(--lime);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    line-height: 1.35;
    text-align: center;
    text-transform: uppercase;
}

.toefl-site .toefl-why-us__scroll-hint svg,
.toefl-site .toefl-why-us__cta svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.toefl-site .toefl-why-us__scroll-hint svg {
    animation: toefl-why-us-pulse 1.5s ease-in-out infinite;
}

.toefl-site .toefl-why-us__table-shell {
    position: relative;
}

.toefl-site .toefl-why-us__table-shell::after {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    bottom: 0;
    width: 3rem;
    background: linear-gradient(to left, var(--background), transparent);
    content: "";
    pointer-events: none;
}

.toefl-site .toefl-why-us__table-scroll {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-gutter: stable;
}

.toefl-site .toefl-why-us__table {
    width: 100%;
    min-width: 56rem;
    border-collapse: collapse;
    color: var(--ink);
    font-size: 0.875rem;
}

.toefl-site .toefl-why-us__table th,
.toefl-site .toefl-why-us__table td {
    min-width: 9rem;
    padding: 1rem;
    border-top: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    text-align: center;
    vertical-align: middle;
}

.toefl-site .toefl-why-us__table thead th {
    border-top: 0;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    font-size: 0.8125rem;
    font-weight: 800;
    line-height: 1.35;
}

.toefl-site .toefl-why-us__table thead th:first-child {
    width: 38%;
    min-width: 13rem;
    color: color-mix(in srgb, var(--ink) 50%, transparent);
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    text-align: left;
    text-transform: uppercase;
}

.toefl-site .toefl-why-us__table tbody th {
    min-width: 13rem;
    font-weight: 800;
    line-height: 1.4;
    text-align: left;
}

.toefl-site .toefl-why-us__ala-column {
    background: var(--lilac-soft);
}

.toefl-site .toefl-why-us__table thead .toefl-why-us__ala-column {
    color: var(--ink);
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: -0.02em;
}

.toefl-site .toefl-why-us__mark {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.125rem;
    font-weight: 900;
    line-height: 1;
}

.toefl-site .toefl-why-us__mark--ala {
    color: var(--lime);
    background: var(--ink);
}

.toefl-site .toefl-why-us__mark--yes {
    color: var(--ink);
    background: color-mix(in srgb, var(--lime) 60%, transparent);
}

.toefl-site .toefl-why-us__mark--no {
    color: color-mix(in srgb, var(--ink) 35%, transparent);
    background: color-mix(in srgb, var(--ink) 5%, transparent);
}

.toefl-site .toefl-why-us__help {
    position: relative;
    display: inline-block;
}

.toefl-site .toefl-why-us__help-trigger {
    display: inline-flex;
    width: 2.75rem;
    height: 2.75rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    background: color-mix(in srgb, var(--tangerine) 30%, transparent);
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.toefl-site .toefl-why-us__help-trigger:hover,
.toefl-site .toefl-why-us__help-trigger[aria-expanded="true"] {
    background: color-mix(in srgb, var(--tangerine) 60%, transparent);
}

.toefl-site .toefl-why-us__help-trigger svg {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.toefl-site .toefl-why-us__help-panel {
    position: absolute;
    z-index: 5;
    top: calc(100% + 0.5rem);
    left: 50%;
    width: 11rem;
    padding: 0.5rem 0.75rem;
    border-radius: var(--radius-xl);
    color: var(--primary-foreground);
    background: var(--ink);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--ink) 25%, transparent);
    font-size: 0.6875rem;
    font-weight: 700;
    line-height: 1.4;
    transform: translateX(-50%);
}

.toefl-site .toefl-why-us__actions {
    display: flex;
    justify-content: flex-end;
    padding: 1.75rem;
    border-top: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
}

.toefl-site .toefl-why-us__cta {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.95rem 1.6rem;
    border-radius: var(--radius-full);
    color: var(--primary-foreground);
    background: var(--ink);
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

.toefl-site .toefl-why-us__cta:hover {
    background: var(--lilac);
    transform: translateY(-2px);
}

.toefl-site .toefl-why-us--enhanced [data-toefl-competitor][hidden] {
    display: none;
}

@keyframes toefl-why-us-pulse {
    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.45;
    }
}

@media (min-width: 40rem) {
    .toefl-site .toefl-why-us {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-why-us__card {
        grid-template-columns: minmax(0, 13.75rem) minmax(0, 1fr);
        align-items: center;
        padding: 2.5rem;
    }

    .toefl-site .toefl-why-us__metric {
        display: block;
    }

    .toefl-site .toefl-why-us__icon {
        width: 3.5rem;
        height: 3.5rem;
    }

    .toefl-site .toefl-why-us__metric > div {
        margin-top: 1.25rem;
    }

    .toefl-site .toefl-why-us__card-content {
        padding-top: 0;
        padding-left: 2rem;
        border-top: 0;
        border-left: 2px solid color-mix(in srgb, var(--ink) 10%, transparent);
    }

    .toefl-site .toefl-why-us__card-text {
        font-size: 1rem;
    }

    .toefl-site .toefl-why-us__comparator-header,
    .toefl-site .toefl-why-us__actions {
        padding: 2.25rem;
    }

    .toefl-site .toefl-why-us__scroll-hint,
    .toefl-site .toefl-why-us__table-shell::after {
        display: none;
    }

    .toefl-site .toefl-why-us__table {
        min-width: 43rem;
    }
}

@media (min-width: 40rem) and (max-width: 54rem) {
    .toefl-site .toefl-why-us__card-wrapper {
        top: calc(8.5rem + (var(--toefl-card-index) * 1.125rem));
    }
}

@media (min-width: 64rem) {
    .toefl-site .toefl-why-us {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }
}

/* ==========================================================================
   FASE 18: Footer y cierre estructural
   ========================================================================== */
.toefl-site .toefl-footer {
    background: var(--ink);
    color: #fff;
}

.toefl-site .toefl-footer__inner {
    width: min(100%, 80rem);
    margin: 0 auto;
    padding: 5rem 3.5rem 2rem;
}

.toefl-site .toefl-footer__newsletter {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
    align-items: center;
    gap: 3rem;
    padding-bottom: 4rem;
    border-bottom: 1px solid rgb(255 255 255 / 18%);
}

.toefl-site .toefl-footer__newsletter-copy h2 {
    max-width: 42rem;
    margin: 0;
    font-family: "Archivo Black", Inter, sans-serif;
    font-size: clamp(1.9rem, 4vw, 3.5rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

.toefl-site .toefl-footer__newsletter-copy h2 em {
    color: var(--lime);
}

.toefl-site .toefl-footer__newsletter-copy p {
    max-width: 36rem;
    margin: 1rem 0 0;
    color: rgb(255 255 255 / 72%);
    line-height: 1.6;
}

.toefl-site .toefl-footer__newsletter-form {
    position: relative;
    min-width: 0;
    margin: 0;
    padding: 0;
}

.toefl-site .toefl-footer__newsletter-control {
    display: flex;
    overflow: hidden;
    min-width: 0;
    gap: 0.5rem;
    padding: 0.3rem;
    border-radius: 999px;
    background: #fff;
}

.toefl-site .toefl-footer__newsletter-control:focus-within {
    outline: 3px solid var(--lilac);
    outline-offset: 3px;
}

.toefl-site .toefl-footer__newsletter-control input {
    min-width: 0;
    flex: 1 1 auto;
    padding: 0.9rem 1.15rem;
    border: 0;
    border-radius: 999px 0 0 999px;
    outline: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
}

.toefl-site .toefl-footer__newsletter-control input:-webkit-autofill,
.toefl-site .toefl-footer__newsletter-control input:-webkit-autofill:hover,
.toefl-site .toefl-footer__newsletter-control input:-webkit-autofill:focus {
    box-shadow: 0 0 0 1000px #fff inset;
    -webkit-text-fill-color: var(--ink);
}

.toefl-site .toefl-footer__newsletter-control button {
    flex: 0 0 auto;
    min-height: 3rem;
    padding: 0.75rem 1.35rem;
    border: 0;
    border-radius: 999px;
    background: var(--ink);
    color: #fff;
    font: 800 0.75rem/1 Inter, sans-serif;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
}

.toefl-site .toefl-footer__newsletter-control :disabled {
    cursor: not-allowed;
    opacity: 0.72;
}

.toefl-site .toefl-footer__newsletter-status {
    margin: 0.85rem 0 0;
    color: rgb(255 255 255 / 65%);
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.5;
}

.toefl-site .toefl-footer__newsletter-status[data-state="error"],
.toefl-site .toefl-footer__newsletter-status[data-state="validation"] {
    color: #ffd1ca;
}

.toefl-site .toefl-footer__newsletter-status[data-state="success"] {
    color: var(--lime);
}

.toefl-site .toefl-footer__newsletter-honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.toefl-site .toefl-footer__navigation {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
    padding: 4rem 0;
}

.toefl-site .toefl-footer__column h2 {
    margin: 0 0 1.1rem;
    color: var(--lime);
    font: 800 0.75rem/1.2 Inter, sans-serif;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.toefl-site .toefl-footer__column ul {
    display: grid;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.toefl-site .toefl-footer a {
    color: rgb(255 255 255 / 76%);
    text-decoration: none;
    transition: color 160ms ease;
}

.toefl-site .toefl-footer a:hover {
    color: var(--lime);
}

.toefl-site .toefl-footer a:focus-visible {
    border-radius: 0.2rem;
    outline: 3px solid var(--lime);
    outline-offset: 4px;
}

.toefl-site .toefl-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgb(255 255 255 / 18%);
    color: rgb(255 255 255 / 58%);
    font-size: 0.75rem;
}

.toefl-site .toefl-footer__bottom p {
    margin: 0;
}

.toefl-site .toefl-footer__hours {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.45rem;
}

.toefl-site .toefl-footer__hours svg {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

@media (max-width: 63.99rem) {
    .toefl-site .toefl-footer__inner {
        padding-inline: 2rem;
    }

    .toefl-site .toefl-footer__newsletter {
        grid-template-columns: minmax(0, 1fr);
    }

    .toefl-site .toefl-footer__navigation {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .toefl-site .toefl-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }

}

@media (max-width: 39.99rem) {
    .toefl-site .toefl-footer__inner {
        padding: 4rem 1.25rem 1.5rem;
    }

    .toefl-site .toefl-footer__newsletter {
        gap: 2rem;
        padding-bottom: 3rem;
    }

    .toefl-site .toefl-footer__newsletter-control {
        flex-direction: column;
        border-radius: 1.25rem;
    }

    .toefl-site .toefl-footer__newsletter-control input,
    .toefl-site .toefl-footer__newsletter-control button {
        width: 100%;
    }

    .toefl-site .toefl-footer__newsletter-control input {
        border-radius: 0.95rem;
    }

    .toefl-site .toefl-footer__navigation {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.5rem;
        padding: 3rem 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .toefl-site .toefl-why-us__scroll-hint svg {
        animation: none;
    }

    .toefl-site .toefl-why-us__filter,
    .toefl-site .toefl-why-us__help-trigger,
    .toefl-site .toefl-why-us__cta {
        transition: none;
    }
}

/* ==========================================================================
   TOEFL — Animaciones
   ========================================================================== */

@keyframes toefl-marquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translate3d(-25%, 0, 0);
    }
}

@keyframes toefl-float-mobility {
    0%,
    100% {
        transform: translateY(0) rotate(-3deg);
    }

    50% {
        transform: translateY(-0.875rem) rotate(-1deg);
    }
}

@keyframes toefl-float-countries {
    0%,
    100% {
        transform: translateY(0) rotate(4deg);
    }

    50% {
        transform: translateY(-0.75rem) rotate(1deg);
    }
}

/* ==========================================================================
   TOEFL — Responsive
   ========================================================================== */

@media (min-width: 40rem) {
    .toefl-site .toefl-nav__inner,
    .toefl-site .toefl-nav__mobile {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-nav__brand img {
        width: 11rem;
    }

    .toefl-site .toefl-nav__phone {
        display: inline-flex;
    }

    .toefl-site .toefl-nav__secondary-inner {
        flex-wrap: wrap;
        justify-content: space-between;
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-nav__secondary-item--detail,
    .toefl-site .toefl-nav__secondary-link {
        display: inline-flex;
    }

    .toefl-site .toefl-hero {
        padding: 5rem 2rem;
    }

    .toefl-site .toefl-hero__title {
        font-size: clamp(4rem, 8.4vw, 5.375rem);
    }

    .toefl-site .toefl-hero__description {
        font-size: 1.125rem;
    }

    .toefl-site .toefl-hero__stats {
        padding: 1.5rem;
    }

    .toefl-site .toefl-hero__stats li {
        padding: 0.5rem 1rem;
    }

    .toefl-site .toefl-hero__badge {
        padding: 0.75rem 1rem;
        font-size: 0.75rem;
    }

    .toefl-site .toefl-hero__badge--mobility {
        top: -2rem;
        left: -1rem;
    }

    .toefl-site .toefl-hero__badge--countries {
        right: -0.75rem;
        bottom: -2rem;
    }

    .toefl-site .toefl-scores {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-scores__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .toefl-site .toefl-scores__actions {
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }

    .toefl-site .toefl-scores__cta {
        width: auto;
    }

    .toefl-site .toefl-scores__cta--calculator {
        font-size: 1rem;
    }

    .toefl-site .toefl-new-2026 {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-new-2026__panel {
        padding: 3.5rem;
    }

    .toefl-site .toefl-new-2026__title {
        font-size: 3rem;
    }

    .toefl-site .toefl-new-2026__actions {
        flex-direction: row;
        align-items: center;
    }
}

@media (min-width: 64rem) {
    .toefl-site .toefl-nav__inner,
    .toefl-site .toefl-nav__secondary-inner {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }

    .toefl-site .toefl-nav__brand-group {
        flex: 0 1 13rem;
    }

    .toefl-site .toefl-nav__brand img {
        width: 12.5rem;
    }

    .toefl-site .toefl-nav__toggle,
    .toefl-site .toefl-nav__mobile {
        display: none;
    }

    .toefl-site .toefl-nav__desktop {
        display: block;
    }

    .toefl-site .toefl-nav__links {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: clamp(1rem, 2vw, 1.75rem);
    }

    .toefl-site .toefl-nav__actions {
        flex: 0 1 15rem;
    }

    .toefl-site .toefl-nav__cta {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .toefl-site .toefl-hero {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }

    .toefl-site .toefl-scores {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }

    .toefl-site .toefl-new-2026 {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }
}

@media (min-width: 72rem) {
    .toefl-site .toefl-new-2026__layout {
        grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
        align-items: center;
    }

    .toefl-site .toefl-new-2026__sticker {
        display: block;
        opacity: 0.7;
    }
}

@media (min-width: 75rem) {
    .toefl-site .toefl-nav__brand-group {
        flex-basis: 14rem;
    }

    .toefl-site .toefl-nav__brand img {
        width: 14rem;
    }

    .toefl-site .toefl-scores__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 23.374rem) {
    .toefl-site .toefl-nav__inner {
        gap: 0.4rem;
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }

    .toefl-site .toefl-nav__brand-group {
        gap: 0.4rem;
    }

    .toefl-site .toefl-nav__brand img {
        width: clamp(5.5rem, 29vw, 6rem);
    }

    .toefl-site .toefl-nav__cta {
        min-height: 2.25rem;
        padding: 0.55rem 0.65rem;
        font-size: 0.6rem;
    }
}

/* ==========================================================================
   TOEFL Courses
   ========================================================================== */

.toefl-site .toefl-courses {
    scroll-margin-top: 0;
    padding: 6rem 1.25rem;
    background: var(--background);
}

.toefl-site .toefl-courses__inner {
    width: min(100%, 80rem);
    margin: 0 auto;
}

.toefl-site .toefl-courses__heading-layout {
    display: grid;
    gap: 2rem;
}

.toefl-site .toefl-courses__header {
    max-width: 48rem;
}

.toefl-site .toefl-courses__eyebrow {
    display: inline-flex;
    margin: 0;
    padding: 0.375rem 0.875rem;
    border-radius: var(--radius-full);
    color: white;
    background: var(--lilac);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.5;
    text-transform: uppercase;
}

.toefl-site .toefl-courses__title {
    margin: 1rem 0 0;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: clamp(2.25rem, 9vw, 3.75rem);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 0.95;
}

.toefl-site .toefl-courses__title em {
    color: var(--lilac);
    font-style: italic;
}

.toefl-site .toefl-courses__introduction {
    max-width: 36rem;
    margin: 1rem 0 0;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    line-height: 1.6;
}

.toefl-site .toefl-courses__modality {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.75rem 0 0;
    color: var(--lilac);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.45;
}

.toefl-site .toefl-courses__modality svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-courses__filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.toefl-site .toefl-courses__filter {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    border: 1px solid color-mix(in srgb, var(--ink) 15%, transparent);
    border-radius: var(--radius-full);
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    background: transparent;
    font: inherit;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.25;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease;
}

.toefl-site .toefl-courses__filter:hover {
    border-color: var(--ink);
    color: var(--ink);
}

.toefl-site .toefl-courses__filter[aria-pressed="true"] {
    border-color: var(--ink);
    color: white;
    background: var(--ink);
}

.toefl-site .toefl-courses__filter-state {
    font-weight: 900;
}

.toefl-site .toefl-courses__filter:focus-visible,
.toefl-site .toefl-course-card__disclosure:focus-visible,
.toefl-site .toefl-course-card__option:has(input:focus-visible),
.toefl-site .toefl-course-card__cta:focus-visible,
.toefl-site .toefl-courses__advisor a:focus-visible {
    outline: 3px solid var(--lime);
    outline-offset: 3px;
}

.toefl-site .toefl-courses__grid {
    display: grid;
    gap: 1.5rem;
    margin-top: 3rem;
}

.toefl-site .toefl-course-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 2px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: 2rem;
    background: white;
    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.toefl-site .toefl-course-card:hover {
    border-color: var(--ink);
    box-shadow: 0 1.875rem 3.75rem -1.875rem color-mix(in srgb, var(--primary) 45%, transparent);
    transform: translateY(-0.375rem);
}

.toefl-site .toefl-course-card__header {
    padding: 1.5rem;
}

.toefl-site .toefl-course-card--lilac .toefl-course-card__header {
    background: linear-gradient(135deg, var(--lilac), var(--lilac-soft));
}

.toefl-site .toefl-course-card--tangerine .toefl-course-card__header {
    background: linear-gradient(135deg, var(--tangerine), color-mix(in srgb, var(--tangerine) 30%, transparent));
}

.toefl-site .toefl-course-card--lime .toefl-course-card__header {
    background: linear-gradient(135deg, var(--lime), color-mix(in srgb, var(--lime) 40%, transparent));
}

.toefl-site .toefl-course-card__badges {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.toefl-site .toefl-course-card__tag,
.toefl-site .toefl-course-card__hours {
    display: inline-flex;
    align-items: center;
    border-radius: var(--radius-full);
    text-transform: uppercase;
}

.toefl-site .toefl-course-card__tag {
    padding: 0.25rem 0.75rem;
    color: white;
    background: var(--ink);
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.15em;
}

.toefl-site .toefl-course-card__hours {
    padding: 0.25rem 0.625rem;
    color: var(--ink);
    background: color-mix(in srgb, white 70%, transparent);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-align: center;
}

.toefl-site .toefl-course-card__title {
    margin: 1.5rem 0 0;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: 1.875rem;
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 0.95;
}

.toefl-site .toefl-course-card__description {
    margin: 0.75rem 0 0;
    color: color-mix(in srgb, var(--ink) 80%, transparent);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.55;
}

.toefl-site .toefl-course-card__price {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 1.5rem;
    padding: 0.75rem 1rem;
    border: 2px solid var(--ink);
    border-radius: var(--radius-2xl);
    background: white;
    box-shadow: 4px 4px 0 var(--ink);
}

.toefl-site .toefl-course-card__price-label {
    margin: 0;
    color: color-mix(in srgb, var(--ink) 50%, transparent);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.3;
    text-transform: uppercase;
}

.toefl-site .toefl-course-card__price-value {
    margin: 0.2rem 0 0;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: 2.25rem;
    line-height: 1;
}

.toefl-site .toefl-course-card__price small {
    padding-bottom: 0.25rem;
    color: var(--lilac);
    font-size: 0.6875rem;
    font-weight: 700;
    white-space: nowrap;
}

.toefl-site .toefl-course-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 0 1.5rem 1.5rem;
}

.toefl-site .toefl-course-card__specs {
    margin: 0;
}

.toefl-site .toefl-course-card__spec {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
}

.toefl-site .toefl-course-card__spec svg,
.toefl-site .toefl-course-card__disclosure svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-course-card__spec svg {
    margin-top: 0.125rem;
    color: var(--lilac);
}

.toefl-site .toefl-course-card__spec dt {
    color: color-mix(in srgb, var(--ink) 55%, transparent);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1.3;
    text-transform: uppercase;
}

.toefl-site .toefl-course-card__spec dd {
    margin: 0.15rem 0 0;
    color: var(--ink);
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.4;
}

.toefl-site .toefl-course-card__options,
.toefl-site .toefl-course-card__schedule {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
}

.toefl-site .toefl-course-card__disclosure {
    display: flex;
    width: 100%;
    min-height: 2.75rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.5rem 0;
    border: 0;
    color: var(--ink);
    background: transparent;
    font: inherit;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1.35;
    text-align: left;
    text-transform: uppercase;
    cursor: pointer;
}

.toefl-site .toefl-course-card__disclosure > span {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.toefl-site .toefl-course-card__disclosure [data-toefl-disclosure-label] {
    color: var(--lilac);
    white-space: nowrap;
}

.toefl-site .toefl-course-card__disclosure--options {
    padding: 0.75rem 1rem;
    border: 2px solid var(--ink);
    border-radius: var(--radius-2xl);
    background: var(--lime);
    transition: transform 0.2s ease;
}

.toefl-site .toefl-course-card__disclosure--options:hover {
    transform: translateY(-0.125rem);
}

.toefl-site .toefl-course-card__options-panel {
    display: grid;
    gap: 0.375rem;
    min-width: 0;
    margin: 0.75rem 0 0;
    padding: 0.75rem;
    border: 2px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: var(--radius-2xl);
    background: var(--cream);
}

.toefl-site .toefl-course-card__option {
    display: flex;
    min-height: 2.75rem;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.625rem 0.75rem;
    border: 2px solid transparent;
    border-radius: var(--radius-xl);
    font-size: 0.875rem;
    cursor: pointer;
    transition:
        border-color 0.2s ease,
        background-color 0.2s ease;
}

.toefl-site .toefl-course-card__option:hover {
    background: color-mix(in srgb, white 60%, transparent);
}

.toefl-site .toefl-course-card__option:has(input:checked) {
    border-color: var(--ink);
    background: white;
}

.toefl-site .toefl-course-card__option-name {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    line-height: 1.35;
}

.toefl-site .toefl-course-card__option input {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    margin: 0;
    accent-color: var(--lilac);
}

.toefl-site .toefl-course-card__option strong {
    flex: 0 0 auto;
    color: var(--lilac);
    white-space: nowrap;
}

.toefl-site .toefl-course-card__schedule-list,
.toefl-site .toefl-course-card__dates ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    padding: 0;
    list-style: none;
}

.toefl-site .toefl-course-card__schedule-list {
    margin: 0.75rem 0 0;
}

.toefl-site .toefl-course-card__schedule-list li {
    padding: 0.25rem 0.625rem;
    border-radius: var(--radius-full);
    color: color-mix(in srgb, var(--ink) 75%, transparent);
    background: var(--cream);
    font-size: 0.6875rem;
    font-weight: 700;
}

.toefl-site .toefl-course-card__dates {
    margin-top: 1rem;
    padding: 0.875rem 1rem;
    border: 2px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: var(--radius-2xl);
    background: var(--cream);
}

.toefl-site .toefl-course-card__dates > p {
    margin: 0;
    color: var(--lilac);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.toefl-site .toefl-course-card__dates ul {
    margin: 0.5rem 0 0;
}

.toefl-site .toefl-course-card__dates li {
    padding: 0.25rem 0.625rem;
    border: 1px solid color-mix(in srgb, var(--ink) 15%, transparent);
    border-radius: var(--radius-full);
    color: var(--ink);
    background: white;
    font-size: 0.75rem;
    font-weight: 700;
}

.toefl-site .toefl-course-card__actions {
    margin-top: auto;
    padding-top: 1.5rem;
    text-align: center;
}

.toefl-site .toefl-course-card__cta,
.toefl-site .toefl-courses__advisor-primary,
.toefl-site .toefl-courses__advisor-secondary {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-radius: var(--radius-full);
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.toefl-site .toefl-course-card__cta {
    width: 100%;
    padding: 0.875rem 1.5rem;
    border: 2px solid var(--ink);
    color: white;
    background: var(--ink);
    box-shadow: 5px 5px 0 var(--lilac);
}

.toefl-site .toefl-course-card__cta:hover {
    color: var(--ink);
    background: var(--lime);
    box-shadow: 7px 9px 0 var(--ink);
    transform: translateY(-0.25rem);
}

.toefl-site .toefl-course-card__cta svg,
.toefl-site .toefl-courses__advisor-actions svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
}

.toefl-site .toefl-course-card__cta svg,
.toefl-site .toefl-courses__advisor-primary svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-course-card__actions small {
    display: block;
    margin-top: 0.625rem;
    color: color-mix(in srgb, var(--ink) 55%, transparent);
    font-size: 0.6875rem;
    font-weight: 600;
}

.toefl-site .toefl-courses__advisor {
    display: grid;
    gap: 1.5rem;
    margin-top: 2.5rem;
    padding: 1.75rem;
    border: 2px solid var(--ink);
    border-radius: 2rem;
    background: var(--lilac-soft);
    box-shadow: 8px 8px 0 var(--ink);
}

.toefl-site .toefl-courses__advisor-copy {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 1rem;
}

.toefl-site .toefl-courses__advisor-icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    flex: 0 0 auto;
    place-items: center;
    border: 2px solid var(--ink);
    border-radius: var(--radius-2xl);
    background: white;
}

.toefl-site .toefl-courses__advisor-icon svg {
    width: 1.5rem;
    height: 1.5rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-courses__advisor h3 {
    margin: 0;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1;
}

.toefl-site .toefl-courses__advisor p {
    margin: 0.5rem 0 0;
    color: color-mix(in srgb, var(--ink) 75%, transparent);
    font-size: 0.875rem;
    line-height: 1.55;
}

.toefl-site .toefl-courses__advisor-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.toefl-site .toefl-courses__advisor-primary,
.toefl-site .toefl-courses__advisor-secondary {
    padding: 0.875rem 1.5rem;
    border: 2px solid var(--ink);
}

.toefl-site .toefl-courses__advisor-primary {
    color: white;
    background: var(--ink);
}

.toefl-site .toefl-courses__advisor-primary:hover {
    color: white;
    background: var(--primary);
    transform: translateY(-0.125rem);
}

.toefl-site .toefl-courses__advisor-secondary {
    color: var(--ink);
    background: transparent;
}

.toefl-site .toefl-courses__advisor-secondary:hover {
    color: white;
    background: var(--ink);
    transform: translateY(-0.125rem);
}

@media (min-width: 40rem) {
    .toefl-site .toefl-courses {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-course-card__header {
        padding: 2rem;
    }

    .toefl-site .toefl-course-card__body {
        padding-right: 2rem;
        padding-bottom: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-courses__advisor {
        padding: 2.5rem;
    }

    .toefl-site .toefl-courses__advisor h3 {
        font-size: 1.875rem;
    }
}

@media (min-width: 48rem) {
    .toefl-site .toefl-courses__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 64rem) {
    .toefl-site .toefl-courses {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }
}

@media (min-width: 75rem) {
    .toefl-site .toefl-courses__heading-layout {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
    }

    .toefl-site .toefl-courses__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .toefl-site .toefl-courses__advisor {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .toefl-site .toefl-courses__advisor-actions {
        justify-content: flex-end;
    }
}

@media (max-width: 39.999rem) {
    .toefl-site .toefl-courses__filter,
    .toefl-site .toefl-courses__advisor a {
        width: 100%;
    }

    .toefl-site .toefl-course-card__badges,
    .toefl-site .toefl-course-card__price {
        align-items: flex-start;
    }

    .toefl-site .toefl-course-card__badges {
        flex-wrap: wrap;
    }
}

@media (max-width: 22.5rem) {
    .toefl-site .toefl-why-us__cta {
        gap: 0.375rem;
        padding: 0.75rem 1rem;
        font-size: 0.75rem;
        letter-spacing: 0.06em;
        white-space: nowrap;
    }

    .toefl-site .toefl-course-card__cta {
        gap: 0.375rem;
        padding: 0.75rem;
        font-size: 0.75rem;
        letter-spacing: 0.05em;
        white-space: nowrap;
    }

    .toefl-site .toefl-courses__advisor-primary {
        gap: 0.25rem;
        padding: 0.75rem 0.625rem;
        font-size: 0.75rem;
        letter-spacing: 0.035em;
        white-space: nowrap;
    }
}

/* ==========================================================================
   TOEFL — Fase 15: Preguntas frecuentes
   ========================================================================== */

.toefl-site .toefl-faqs {
    padding: 6rem 1rem;
}

.toefl-site .toefl-faqs__inner {
    display: grid;
    width: min(100%, 80rem);
    margin: 0 auto;
    gap: 2.5rem;
}

.toefl-site .toefl-faqs__eyebrow {
    display: inline-block;
    margin: 0 0 1rem;
    padding: 0.45rem 0.8rem;
    border-radius: var(--radius-full);
    color: var(--background);
    background: var(--lilac);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.toefl-site .toefl-faqs__title {
    max-width: 35rem;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 400;
    line-height: 1.04;
}

.toefl-site .toefl-faqs__title em {
    color: var(--lilac);
    font-style: italic;
}

.toefl-site .toefl-faqs__description {
    max-width: 34rem;
    margin: 1.25rem 0 0;
    color: var(--muted-foreground);
    line-height: 1.65;
}

.toefl-site .toefl-text-link,
.toefl-site .toefl-text-link:visited {
    color: var(--primary);
    font-weight: 700;
    text-decoration: none;
    text-underline-offset: 0.2em;
    text-decoration-thickness: 0.1em;
}

.toefl-site .toefl-text-link:hover,
.toefl-site .toefl-text-link:focus-visible {
    text-decoration: underline;
}

.toefl-site .toefl-text-link:focus-visible {
    outline: 3px solid var(--lime);
    outline-offset: 3px;
}

.toefl-site .toefl-text-link:active {
    color: var(--lilac);
}

.toefl-site .toefl-faqs__groups,
.toefl-site .toefl-faq-group__questions {
    margin: 0;
    padding: 0;
    list-style: none;
}

.toefl-site .toefl-faqs__groups {
    display: grid;
    align-self: start;
    gap: 1rem;
}

.toefl-site .toefl-faq-group {
    overflow: hidden;
    border: 2px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: var(--radius-2xl);
    background: var(--background);
}

.toefl-site .toefl-faqs summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    list-style: none;
}

.toefl-site .toefl-faqs summary::-webkit-details-marker {
    display: none;
}

.toefl-site .toefl-faqs summary:focus-visible {
    outline: 3px solid var(--lime);
    outline-offset: -5px;
}

.toefl-site .toefl-faq-group > summary {
    min-height: 5rem;
    padding: 1.25rem 1.5rem;
    background: var(--cream);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.toefl-site .toefl-faq-group:not([open]) > summary:hover {
    background: var(--lilac-soft);
}

.toefl-site .toefl-faq-group[open] > summary {
    color: var(--background);
    background: var(--ink);
}

.toefl-site .toefl-faq-group > summary > span {
    display: grid;
    gap: 0.2rem;
}

.toefl-site .toefl-faq-group > summary strong {
    font-family: var(--font-display);
    font-size: clamp(1rem, 3vw, 1.25rem);
    font-weight: 400;
}

.toefl-site .toefl-faq-group > summary small {
    color: var(--muted-foreground);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.toefl-site .toefl-faq-group[open] > summary small {
    color: var(--lime);
}

.toefl-site .toefl-faqs summary svg {
    width: 1.5rem;
    height: 1.5rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    transition: transform 0.2s ease;
}

.toefl-site .toefl-faqs details[open] > summary > svg {
    transform: rotate(180deg);
}

.toefl-site .toefl-faq-item[open] > summary > svg {
    color: var(--lilac);
}

.toefl-site .toefl-faq-group__questions {
    padding: 0 1.5rem 1.5rem;
}

.toefl-site .toefl-faq-item {
    border-bottom: 1px solid var(--border);
}

.toefl-site .toefl-faq-group__questions > li:last-child .toefl-faq-item {
    border-bottom: 0;
}

.toefl-site .toefl-faq-item > summary {
    min-height: 4rem;
    padding: 1rem 0;
    font-family: var(--font-display);
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.4;
}

.toefl-site .toefl-faq-item__answer {
    padding: 0 2.5rem 1.25rem 0;
}

.toefl-site .toefl-faq-item__answer p {
    margin: 0;
    color: var(--muted-foreground);
    font-size: 0.875rem;
    line-height: 1.65;
}

@media (min-width: 40rem) {
    .toefl-site .toefl-faqs {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-faq-group > summary strong {
        font-size: 1.5rem;
    }

    .toefl-site .toefl-faq-item > summary {
        font-size: 1.25rem;
    }
}

@media (min-width: 64rem) {
    .toefl-site .toefl-faqs {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }

    .toefl-site .toefl-faqs__inner {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
        gap: 4rem;
    }

    .toefl-site .toefl-faqs__groups {
        align-self: center;
    }

    .toefl-site .toefl-faqs__intro {
        position: sticky;
        top: 8rem;
        align-self: start;
    }
}

@media (max-width: 22.5rem) {
    .toefl-site .toefl-faqs {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }

    .toefl-site .toefl-faq-group > summary,
    .toefl-site .toefl-faq-group__questions {
        padding-right: 1rem;
        padding-left: 1rem;
    }
}

/* ==========================================================================
   TOEFL Calculator
   ========================================================================== */

.toefl-site .toefl-calculator {
    scroll-margin-top: 0;
    padding: 6rem 1.25rem;
    background: var(--background);
}

.toefl-site .toefl-calculator__inner {
    width: min(100%, 80rem);
    margin: 0 auto;
}

.toefl-site .toefl-calculator__panel {
    position: relative;
    overflow: hidden;
    padding: 1.5rem;
    border: 2px solid var(--ink);
    border-radius: 2.5rem;
    background: white;
    box-shadow: 0 2.5rem 5rem -3.125rem color-mix(in srgb, var(--primary) 60%, transparent);
}

.toefl-site .toefl-calculator__orb {
    position: absolute;
    width: 24rem;
    height: 24rem;
    border-radius: 50%;
    filter: blur(4rem);
    pointer-events: none;
}

.toefl-site .toefl-calculator__orb--lilac {
    top: -6rem;
    right: -6rem;
    background: var(--lilac-soft);
}

.toefl-site .toefl-calculator__orb--lime {
    bottom: -6rem;
    left: -6rem;
    background: color-mix(in srgb, var(--lime) 30%, transparent);
}

.toefl-site .toefl-calculator__header,
.toefl-site .toefl-calculator__layout {
    position: relative;
}

.toefl-site .toefl-calculator__header {
    max-width: 42rem;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.toefl-site .toefl-calculator__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0.375rem 1rem;
    border-radius: var(--radius-full);
    color: var(--ink);
    background: var(--lime);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    line-height: 1.5;
    text-transform: uppercase;
}

.toefl-site .toefl-calculator__eyebrow svg {
    width: 0.875rem;
    height: 0.875rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-calculator__title {
    margin: 1.25rem 0 0;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: clamp(2.25rem, 9vw, 3.75rem);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 0.95;
}

.toefl-site .toefl-calculator__title em {
    color: var(--lilac);
    font-style: italic;
}

.toefl-site .toefl-calculator__introduction {
    margin: 1rem 0 0;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    line-height: 1.6;
}

.toefl-site .toefl-calculator__layout {
    display: grid;
    gap: 2.5rem;
    margin: 0;
}

.toefl-site .toefl-calculator__controls {
    display: grid;
    min-width: 0;
    gap: 2rem;
}

.toefl-site .toefl-calculator__fieldset {
    min-width: 0;
    margin: 0;
    padding: 1.5rem;
    border: 2px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: 1.75rem;
    background: var(--cream);
}

.toefl-site .toefl-calculator__fieldset > .toefl-calculator__step {
    float: left;
    margin-bottom: 1.25rem;
}

.toefl-site .toefl-calculator__fieldset > .toefl-calculator__levels,
.toefl-site .toefl-calculator__fieldset > .toefl-calculator__objective {
    clear: both;
    margin-top: 0;
}

.toefl-site .toefl-calculator__step {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.15;
}

.toefl-site .toefl-calculator__step > span {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--lime);
    background: var(--ink);
    font-family: var(--font-sans);
    font-size: 0.875rem;
    font-weight: 800;
}

.toefl-site .toefl-calculator__result > .toefl-calculator__step > span {
    color: var(--ink);
    background: var(--lime);
}

.toefl-site .toefl-calculator__levels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    margin-top: 1.25rem;
}

.toefl-site .toefl-calculator__level {
    position: relative;
    min-width: 0;
    cursor: pointer;
}

.toefl-site .toefl-calculator__level input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.toefl-site .toefl-calculator__level-content {
    display: flex;
    min-height: 4.75rem;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 0.75rem 0.5rem;
    border: 2px solid color-mix(in srgb, var(--ink) 15%, transparent);
    border-radius: var(--radius-2xl);
    color: var(--ink);
    background: white;
    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

.toefl-site .toefl-calculator__level:hover input:not(:checked) + .toefl-calculator__level-content {
    border-color: var(--ink);
    transform: translateY(-0.125rem);
}

.toefl-site .toefl-calculator__level input:checked + .toefl-calculator__level-content {
    border-color: var(--ink);
    color: white;
    background: var(--ink);
}

.toefl-site .toefl-calculator__level:hover input:checked + .toefl-calculator__level-content {
    transform: none;
}

.toefl-site .toefl-calculator__level input:focus-visible + .toefl-calculator__level-content,
.toefl-site .toefl-calculator__range-controls button:focus-visible,
.toefl-site .toefl-calculator__range-controls input:focus-visible,
.toefl-site .toefl-calculator__actions a:focus-visible {
    outline: 3px solid var(--lime);
    outline-offset: 3px;
}

.toefl-site .toefl-calculator__level-content strong {
    overflow-wrap: anywhere;
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1;
}

.toefl-site .toefl-calculator__level-content small {
    display: block;
    min-width: 0;
    margin-top: 0.25rem;
    overflow: hidden;
    color: color-mix(in srgb, currentColor 55%, transparent);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.25;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.toefl-site .toefl-calculator__level input:checked + .toefl-calculator__level-content small {
    color: color-mix(in srgb, white 60%, transparent);
}

.toefl-site .toefl-calculator__level-hint {
    margin: 1rem 0 0;
    color: var(--tangerine);
    font-size: 0.75rem;
    font-weight: 600;
}

.toefl-site .toefl-calculator__objective {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.toefl-site .toefl-calculator__objective > span {
    color: color-mix(in srgb, var(--ink) 50%, transparent);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.toefl-site .toefl-calculator__objective p {
    margin: 0;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: 2.25rem;
    line-height: 1;
    text-align: right;
}

.toefl-site .toefl-calculator__objective small {
    color: color-mix(in srgb, var(--ink) 50%, transparent);
    font-family: var(--font-sans);
    font-size: 0.875rem;
    font-weight: 400;
    white-space: nowrap;
}

.toefl-site .toefl-calculator__range-controls {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1rem;
}

.toefl-site .toefl-calculator__range-controls button {
    display: inline-flex;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 2.75rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 2px solid var(--ink);
    border-radius: 50%;
    color: var(--ink);
    background: white;
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        opacity 0.2s ease;
}

.toefl-site .toefl-calculator__range-controls button:hover:not(:disabled) {
    background: var(--lime);
}

.toefl-site .toefl-calculator__range-controls button:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.toefl-site .toefl-calculator__range-controls button svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-calculator__range-controls input {
    width: 100%;
    min-width: 0;
    height: 0.5rem;
    accent-color: var(--lilac);
    cursor: pointer;
}

.toefl-site .toefl-calculator__range-help {
    margin: 0.5rem 0 0;
    color: var(--lilac);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
}

.toefl-site .toefl-calculator__scale {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.75rem;
    color: color-mix(in srgb, var(--ink) 60%, transparent);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.35;
    text-transform: uppercase;
}

.toefl-site .toefl-calculator__scale span:nth-child(even) {
    text-align: right;
}

.toefl-site .toefl-calculator__benefits {
    display: grid;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    font-size: 0.875rem;
    line-height: 1.45;
    list-style: none;
}

.toefl-site .toefl-calculator__benefits li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.toefl-site .toefl-calculator__benefits svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    margin-top: 0.125rem;
    fill: none;
    stroke: var(--lilac);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-calculator__result {
    min-width: 0;
}

.toefl-site .toefl-calculator__empty {
    display: flex;
    min-height: 26.25rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 0.75rem;
    padding: 2.5rem;
    border: 2px dashed color-mix(in srgb, var(--ink) 25%, transparent);
    border-radius: 2rem;
    background: var(--cream);
    text-align: center;
}

.toefl-site .toefl-calculator__empty svg {
    width: 2rem;
    height: 2rem;
    fill: none;
    stroke: var(--lilac);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-calculator__empty p {
    margin: 1rem 0 0;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: 1.5rem;
    line-height: 1.1;
}

.toefl-site .toefl-calculator__empty span {
    max-width: 20rem;
    margin-top: 0.5rem;
    color: color-mix(in srgb, var(--ink) 60%, transparent);
    font-size: 0.875rem;
    line-height: 1.5;
}

.toefl-site .toefl-calculator__recommendation {
    margin-top: 0.75rem;
    padding: 2rem;
    border: 2px solid var(--ink);
    border-radius: 2rem;
    color: var(--ink);
    background: var(--lilac-soft);
    box-shadow: 10px 10px 0 var(--ink);
    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

.toefl-site .toefl-calculator__recommendation[data-tone="lime"] {
    background: var(--lime);
}

.toefl-site .toefl-calculator__recommendation[data-tone="tangerine"] {
    background: color-mix(in srgb, var(--tangerine) 30%, white);
}

.toefl-site .toefl-calculator__recommendation[data-tone="ink"] {
    color: white;
    background: var(--ink);
    box-shadow: 10px 10px 0 var(--lilac);
}

.toefl-site .toefl-calculator__recommendation-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.toefl-site .toefl-calculator__tag {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-full);
    color: white;
    background: var(--ink);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    line-height: 1.35;
    text-transform: uppercase;
}

.toefl-site .toefl-calculator__recommendation[data-tone="ink"] .toefl-calculator__tag {
    color: var(--ink);
    background: var(--lime);
}

.toefl-site .toefl-calculator__tag svg {
    width: 0.75rem;
    height: 0.75rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-calculator__recommendation-heading > p {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    text-align: right;
    opacity: 0.7;
}

.toefl-site .toefl-calculator__recommendation-heading > p span,
.toefl-site .toefl-calculator__recommendation-heading > p strong {
    display: block;
}

.toefl-site .toefl-calculator__recommendation-block {
    margin-top: 1.5rem;
}

.toefl-site .toefl-calculator__recommendation-block:first-of-type {
    margin-top: 2rem;
}

.toefl-site .toefl-calculator__recommendation-block p {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    line-height: 1.4;
    opacity: 0.6;
    text-transform: uppercase;
}

.toefl-site .toefl-calculator__recommendation-block strong {
    display: block;
    margin-top: 0.5rem;
    font-family: var(--font-display);
    font-size: 1.875rem;
    font-weight: 400;
    line-height: 1;
}

.toefl-site .toefl-calculator__recommendation-block + .toefl-calculator__recommendation-block strong {
    margin-top: 0.25rem;
    font-family: var(--font-sans);
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.35;
}

.toefl-site .toefl-calculator__recommendation-text {
    margin: 1.5rem 0 0;
    font-size: 0.875rem;
    line-height: 1.65;
    opacity: 0.9;
}

.toefl-site .toefl-calculator__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2rem;
}

.toefl-site .toefl-calculator__primary,
.toefl-site .toefl-calculator__whatsapp {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
}

.toefl-site .toefl-calculator__primary {
    min-height: 3.5rem;
    padding: 1rem 1.75rem;
    border: 0;
    border-radius: var(--radius-full);
    color: white;
    background: var(--ink);
    font-size: 0.875rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}

.toefl-site .toefl-calculator__primary:not(:disabled) {
    cursor: pointer;
}

.toefl-site .toefl-calculator__primary:disabled {
    cursor: not-allowed;
}

.toefl-site .toefl-calculator__recommendation:not([data-tone="ink"]) .toefl-calculator__primary:not(:disabled):hover,
.toefl-site .toefl-calculator__recommendation:not([data-tone="ink"]) .toefl-calculator__primary:focus-visible {
    color: white;
    background: var(--primary);
}

.toefl-site .toefl-calculator__primary:not(:disabled):hover {
    transform: translateY(-2px);
}

.toefl-site .toefl-calculator__primary:focus-visible {
    outline: 3px solid var(--primary);
    outline-offset: 3px;
}

.toefl-site .toefl-calculator__recommendation[data-tone="ink"] .toefl-calculator__primary {
    color: var(--ink);
    background: var(--lime);
}

.toefl-site .toefl-calculator__recommendation[data-tone="ink"] .toefl-calculator__primary:not(:disabled):hover,
.toefl-site .toefl-calculator__recommendation[data-tone="ink"] .toefl-calculator__primary:focus-visible {
    background: var(--lime);
    box-shadow: 0 0.75rem 1.875rem -0.75rem color-mix(in srgb, var(--lime) 75%, transparent);
}

.toefl-site .toefl-calculator__recommendation[data-tone="ink"] .toefl-calculator__primary:focus-visible {
    outline-color: var(--lime);
}

.toefl-site .toefl-calculator__whatsapp {
    color: currentColor;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.toefl-site .toefl-calculator__primary svg,
.toefl-site .toefl-calculator__whatsapp svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
}

.toefl-site .toefl-calculator__primary svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-calculator__noscript {
    grid-column: 1 / -1;
    margin: 0;
    padding: 1rem;
    border: 2px solid var(--ink);
    border-radius: var(--radius-xl);
    color: var(--ink);
    background: var(--lime);
    font-weight: 600;
    line-height: 1.5;
}

.toefl-site .toefl-calculator__noscript a {
    color: inherit;
    font-weight: 800;
    text-underline-offset: 0.2em;
}

@media (min-width: 40rem) {
    .toefl-site .toefl-calculator {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-calculator__panel {
        padding: 3rem;
    }

    .toefl-site .toefl-calculator__step {
        font-size: 1.25rem;
    }

    .toefl-site .toefl-calculator__level-content {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }

    .toefl-site .toefl-calculator__level-content small {
        font-size: 0.6875rem;
        letter-spacing: 0.1em;
    }

    .toefl-site .toefl-calculator__scale {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .toefl-site .toefl-calculator__scale span {
        text-align: left;
    }

    .toefl-site .toefl-calculator__scale span:last-child {
        text-align: right;
    }

    .toefl-site .toefl-calculator__recommendation {
        padding: 2.5rem;
    }

    .toefl-site .toefl-calculator__recommendation-block strong {
        font-size: 2.25rem;
    }
}

@media (min-width: 64rem) {
    .toefl-site .toefl-calculator {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }
}

@media (min-width: 75rem) {
    .toefl-site .toefl-calculator__layout {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    }

    .toefl-site .toefl-calculator__result {
        position: sticky;
        top: 8.5rem;
        align-self: start;
    }
}

@media (max-width: 39.999rem) {
    .toefl-site .toefl-calculator__objective {
        align-items: flex-start;
        flex-direction: column;
    }

    .toefl-site .toefl-calculator__objective p {
        text-align: left;
    }

    .toefl-site .toefl-calculator__actions,
    .toefl-site .toefl-calculator__primary {
        width: 100%;
    }
}

@media (max-width: 22.5rem) {
    .toefl-site .toefl-calculator {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }

    .toefl-site .toefl-calculator__panel,
    .toefl-site .toefl-calculator__fieldset,
    .toefl-site .toefl-calculator__recommendation,
    .toefl-site .toefl-calculator__empty {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .toefl-site .toefl-calculator__level-content small {
        font-size: 0.5625rem;
    }

    .toefl-site .toefl-calculator__range-controls {
        gap: 0.5rem;
    }

    .toefl-site .toefl-calculator__primary {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
        font-size: 0.75rem;
    }
}

/* ==========================================================================
   TOEFL Winners
   ========================================================================== */

.toefl-site .toefl-winners {
    padding: 6rem 1.25rem;
    background: var(--background);
}

.toefl-site .toefl-winners__inner {
    width: min(100%, 80rem);
    margin: 0 auto;
}

.toefl-site .toefl-winners__panel {
    overflow: hidden;
    padding: 2rem 0;
    border-radius: 2.5rem;
    color: white;
    background: var(--ink);
}

.toefl-site .toefl-winners__header {
    display: grid;
    gap: 2rem;
    padding: 0 2rem;
}

.toefl-site .toefl-winners__heading {
    min-width: 0;
}

.toefl-site .toefl-winners__eyebrow {
    display: inline-flex;
    margin: 0;
    padding: 0.375rem 0.875rem;
    border-radius: var(--radius-full);
    color: var(--ink);
    background: var(--lime);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.5;
    text-transform: uppercase;
}

.toefl-site .toefl-winners__title {
    margin: 1rem 0 0;
    color: white;
    font-family: var(--font-display);
    font-size: clamp(2.25rem, 9vw, 3.75rem);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 0.95;
}

.toefl-site .toefl-winners__title em {
    color: var(--lime);
    font-style: italic;
}

.toefl-site .toefl-winners__introduction {
    max-width: 32rem;
    margin: 1rem 0 0;
    color: color-mix(in srgb, white 70%, transparent);
    line-height: 1.6;
}

.toefl-site .toefl-winners__stats {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
    margin: 0;
}

.toefl-site .toefl-winners__stats > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-2xl);
    background: color-mix(in srgb, white 10%, transparent);
    text-align: center;
}

.toefl-site .toefl-winners__stats dt {
    order: 2;
    margin-top: 0.125rem;
    color: color-mix(in srgb, white 60%, transparent);
    font-size: 0.625rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    line-height: 1.35;
    text-transform: uppercase;
}

.toefl-site .toefl-winners__stats dd {
    order: 1;
    margin: 0;
    color: var(--lime);
    font-family: var(--font-display);
    font-size: 1.875rem;
    line-height: 1;
}

.toefl-site .toefl-winners__viewport {
    margin-top: 3rem;
    padding: 0 2rem;
    overflow: hidden;
    border-radius: var(--radius-sm);
}

.toefl-site .toefl-winners__viewport:focus-visible {
    outline: 3px solid var(--lime);
    outline-offset: -3px;
}

.toefl-site .toefl-winners__track {
    display: flex;
    width: max-content;
    gap: 1.25rem;
    animation: toefl-winners-carousel 45s linear infinite;
    will-change: transform;
}

.toefl-site .toefl-winners__viewport:hover .toefl-winners__track,
.toefl-site .toefl-winners__viewport:focus-within .toefl-winners__track {
    animation-play-state: paused;
}

.toefl-site .toefl-winners__group {
    display: flex;
    width: max-content;
    flex: 0 0 auto;
    gap: 1.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.toefl-site .toefl-winners__group > li {
    width: 15rem;
    flex: 0 0 15rem;
    min-width: 0;
}

.toefl-site .toefl-winner-card {
    height: 100%;
    overflow: hidden;
    border-radius: 1.75rem;
    background: color-mix(in srgb, white 5%, transparent);
    backdrop-filter: blur(8px);
    transition: background-color 0.2s ease;
}

.toefl-site .toefl-winner-card:hover {
    background: color-mix(in srgb, white 10%, transparent);
}

.toefl-site .toefl-winner-card figure {
    height: 100%;
    margin: 0;
}

.toefl-site .toefl-winner-card__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 5;
}

.toefl-site .toefl-winner-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.toefl-site .toefl-winner-card__score {
    position: absolute;
    top: 1rem;
    right: 1rem;
    margin: 0;
    padding: 0.5rem 0.75rem;
    border-radius: var(--radius-2xl);
    color: var(--ink);
    background: var(--lime);
    box-shadow: 4px 4px 0 var(--ink);
    text-align: center;
}

.toefl-site .toefl-winner-card__score strong,
.toefl-site .toefl-winner-card__score span {
    display: block;
}

.toefl-site .toefl-winner-card__score strong {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1;
}

.toefl-site .toefl-winner-card__score span {
    margin-top: 0.125rem;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.25;
    text-transform: uppercase;
}

.toefl-site .toefl-winner-card figcaption {
    padding: 1.25rem;
}

.toefl-site .toefl-winner-card figcaption strong,
.toefl-site .toefl-winner-card figcaption span {
    display: block;
}

.toefl-site .toefl-winner-card figcaption strong {
    color: white;
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.1;
}

.toefl-site .toefl-winner-card figcaption span {
    margin-top: 0.25rem;
    color: color-mix(in srgb, white 50%, transparent);
    font-size: 0.75rem;
    line-height: 1.4;
}

@keyframes toefl-winners-carousel {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - 0.625rem));
    }
}

@media (min-width: 40rem) {
    .toefl-site .toefl-winners {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-winners__panel {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .toefl-site .toefl-winners__header,
    .toefl-site .toefl-winners__viewport {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }

    .toefl-site .toefl-winners__group > li {
        width: 17.5rem;
        flex-basis: 17.5rem;
    }
}

@media (min-width: 64rem) {
    .toefl-site .toefl-winners {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }

    .toefl-site .toefl-winners__group > li {
        width: 18.625rem;
        flex-basis: 18.625rem;
    }
}

@media (min-width: 75rem) {
    .toefl-site .toefl-winners__header {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
    }
}

/* TOEFL Winners — certificate photos */

.toefl-site .toefl-winners__photos {
    display: flex;
    width: min(100%, 80rem);
    align-items: center;
    justify-content: center;
    margin: -4rem auto 0;
    padding: 0.75rem 1.25rem 5rem;
    overflow: hidden;
}

.toefl-site .toefl-winners__photo {
    width: 7rem;
    height: 5rem;
    flex: 0 0 auto;
    margin: 0;
    overflow: hidden;
    border: 2px solid var(--ink);
    border-radius: 1rem;
    box-shadow: 4px 4px 0 var(--ink);
    transition: transform 0.2s ease;
}

.toefl-site .toefl-winners__photo + .toefl-winners__photo {
    margin-left: -1.75rem;
}

.toefl-site .toefl-winners__photo:nth-child(1) {
    z-index: 1;
    rotate: -3deg;
}

.toefl-site .toefl-winners__photo:nth-child(2) {
    z-index: 2;
}

.toefl-site .toefl-winners__photo:nth-child(3) {
    z-index: 3;
    rotate: 3deg;
}

.toefl-site .toefl-winners__photo:hover {
    z-index: 4;
    transform: translateY(-0.25rem);
}

.toefl-site .toefl-winners__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (min-width: 23rem) {
    .toefl-site .toefl-winners__photo {
        width: 8rem;
        height: 5.75rem;
    }
}

@media (min-width: 40rem) {
    .toefl-site .toefl-winners__photos {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-winners__photo {
        width: 13rem;
        height: 9.25rem;
    }

    .toefl-site .toefl-winners__photo + .toefl-winners__photo {
        margin-left: -2.25rem;
    }
}

@media (min-width: 64rem) {
    .toefl-site .toefl-winners__photo {
        width: 15rem;
        height: 10.625rem;
    }

    .toefl-site .toefl-winners__photo + .toefl-winners__photo {
        margin-left: -2.75rem;
    }
}

/* ==========================================================================
   TOEFL — Reseñas de alumnos
   ========================================================================== */

.toefl-site .toefl-reviews {
    padding: 1rem 1.25rem 6rem;
    background: var(--background);
}

.toefl-site .toefl-reviews__inner {
    width: min(100%, 80rem);
    margin: 0 auto;
}

.toefl-site .toefl-reviews__panel {
    padding: 2rem 1.25rem;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: 2.5rem;
    background: var(--cream);
}

.toefl-site .toefl-reviews__header {
    display: grid;
    gap: 1.5rem;
}

.toefl-site .toefl-reviews__heading h2 {
    margin: 0;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: clamp(2.25rem, 9vw, 3.75rem);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 0.95;
}

.toefl-site .toefl-reviews__heading p {
    max-width: 36rem;
    margin: 1rem 0 0;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    line-height: 1.6;
}

.toefl-site .toefl-reviews__google-summary {
    display: flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: 1.5rem;
    background: white;
    box-shadow: 0 10px 30px -20px rgba(0, 0, 0, 0.5);
}

.toefl-site .toefl-reviews__google-logo {
    width: 1.5rem;
    height: 1.5rem;
    flex: 0 0 auto;
}

.toefl-site .toefl-reviews__google-summary > div > span {
    display: block;
    color: color-mix(in srgb, var(--ink) 60%, transparent);
    font-size: 0.75rem;
    font-weight: 700;
}

.toefl-site .toefl-reviews__rating {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.toefl-site .toefl-reviews__rating strong {
    color: var(--ink);
    font-size: 1.5rem;
}

.toefl-site .toefl-reviews__stars,
.toefl-site .toefl-review-card__stars {
    color: #e9a400;
    letter-spacing: 0.05em;
}

.toefl-site .toefl-reviews__google-summary a {
    color: #075fbd;
    font-size: 0.75rem;
    font-weight: 700;
    text-decoration: none;
}

.toefl-site .toefl-reviews__google-summary a:hover {
    text-decoration: underline;
}

.toefl-site .toefl-reviews__viewport {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-top: 2.5rem;
    overflow: hidden;
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
}

.toefl-site .toefl-reviews__viewport[data-dragging="true"] {
    cursor: grabbing;
}

.toefl-site .toefl-reviews__viewport:focus-visible {
    outline: 3px solid var(--ink);
    outline-offset: 0.25rem;
}

.toefl-site .toefl-reviews__track {
    --toefl-reviews-gap: 1.25rem;
    --toefl-reviews-visible: 1;
    display: grid;
    width: 100%;
    grid-template-columns: repeat(var(--toefl-reviews-visible), minmax(0, 1fr));
    gap: var(--toefl-reviews-gap);
    margin: 0;
    padding: 0.25rem;
    list-style: none;
    will-change: transform;
}

.toefl-site .toefl-reviews__slide {
    min-width: 0;
}

.toefl-site .toefl-reviews__slide[hidden] {
    display: none;
}

.toefl-site .toefl-review-card {
    display: flex;
    height: 100%;
    min-height: 19rem;
    flex-direction: column;
    margin: 0;
    padding: 1.25rem;
    border: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: 1rem;
    background: white;
    box-shadow: 0 8px 24px -18px rgba(0, 0, 0, 0.6);
}

.toefl-site .toefl-review-card__author {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
}

.toefl-site .toefl-review-card__avatar {
    display: inline-grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 50%;
    color: white;
    font-weight: 800;
}

/* Fotografías facilitadas por el cliente para las reseñas TOEFL. */
.toefl-site .toefl-review-card__avatar--photo {
    display: block;
    object-fit: cover;
    object-position: center;
}

.toefl-site .toefl-review-card__avatar--blue {
    background: #1559a8;
}

.toefl-site .toefl-review-card__avatar--lilac {
    background: #6640a6;
}

.toefl-site .toefl-review-card__avatar--tangerine {
    background: #a74400;
}

.toefl-site .toefl-review-card__avatar--lime {
    color: var(--ink);
    background: #c8e720;
}

.toefl-site .toefl-review-card__avatar--rose {
    background: #9c285a;
}

.toefl-site .toefl-review-card__avatar--teal {
    background: #08756f;
}

.toefl-site .toefl-review-card figcaption {
    min-width: 0;
    color: var(--ink);
    font-size: 0.875rem;
    font-weight: 800;
    line-height: 1.3;
}

.toefl-site .toefl-review-card__google {
    width: 1.25rem;
    height: 1.25rem;
}

.toefl-site .toefl-review-card__stars {
    margin-top: 1rem;
}

.toefl-site .toefl-review-card blockquote {
    margin: 0.75rem 0 0;
    color: color-mix(in srgb, var(--ink) 75%, transparent);
    font-size: 0.875rem;
    line-height: 1.65;
}

.toefl-site .toefl-reviews__footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
}

.toefl-site .toefl-reviews__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}

.toefl-site .toefl-reviews__controls button {
    display: inline-grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border: 2px solid var(--ink);
    border-radius: 50%;
    color: var(--ink);
    background: white;
    cursor: pointer;
}

.toefl-site .toefl-reviews__controls button:hover:not(:disabled) {
    color: white;
    background: var(--ink);
}

.toefl-site .toefl-reviews__controls button:focus-visible,
.toefl-site .toefl-reviews__google-link:focus-visible,
.toefl-site .toefl-reviews__google-summary a:focus-visible {
    outline: 3px solid var(--lilac);
    outline-offset: 3px;
}

.toefl-site .toefl-reviews__controls button:disabled {
    cursor: not-allowed;
    opacity: 0.35;
}

.toefl-site .toefl-reviews__controls svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-reviews__status {
    min-width: 7.5rem;
    margin: 0;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    font-size: 0.75rem;
    font-weight: 700;
    text-align: center;
}

.toefl-site .toefl-reviews__google-link {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border: 1px solid color-mix(in srgb, var(--ink) 15%, transparent);
    border-radius: var(--radius-full);
    color: #075fbd;
    background: white;
    font-size: 0.875rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.toefl-site .toefl-reviews__google-link:hover {
    transform: translateY(-0.125rem);
}

@media (min-width: 40rem) {
    .toefl-site .toefl-reviews {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-reviews__panel {
        padding: 3rem;
    }

    .toefl-site .toefl-reviews__track {
        --toefl-reviews-visible: 2;
    }

    .toefl-site .toefl-reviews__footer {
        flex-direction: row;
        justify-content: space-between;
    }
}

@media (min-width: 64rem) {
    .toefl-site .toefl-reviews {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }

    .toefl-site .toefl-reviews__header {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .toefl-site .toefl-reviews__track {
        --toefl-reviews-visible: 4;
    }

}

/* ==========================================================================
   Fase 12: preparación TOEFL online e internacional
   ========================================================================== */

/* Fase 12 — Estructura y contenido textual. */
.toefl-site .toefl-online-world {
    padding: 6rem 1.25rem;
    background: var(--background);
}

.toefl-site .toefl-online-world__inner {
    display: grid;
    width: min(100%, 80rem);
    gap: 2.5rem;
    margin: 0 auto;
}

.toefl-site .toefl-online-world__content {
    min-width: 0;
}

.toefl-site .toefl-online-world__eyebrow {
    display: inline-flex;
    margin: 0;
    padding: 0.375rem 0.875rem;
    border-radius: var(--radius-full);
    color: white;
    background: var(--lilac);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    line-height: 1.5;
    text-transform: uppercase;
}

.toefl-site .toefl-online-world__title {
    max-width: 42rem;
    margin: 1rem 0 0;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 10vw, 3.75rem);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 0.98;
}

.toefl-site .toefl-online-world__title em {
    color: var(--lilac);
    font-style: italic;
}

.toefl-site .toefl-online-world__description {
    max-width: 34rem;
    margin: 1rem 0 0;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    line-height: 1.65;
}

/* Fase 12 — Ubicaciones configurables y enlaces disponibles. */
.toefl-site .toefl-online-world__countries {
    margin-top: 2rem;
}

.toefl-site .toefl-online-world__countries > p {
    margin: 0;
    color: color-mix(in srgb, var(--ink) 50%, transparent);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    line-height: 1.4;
    text-transform: uppercase;
}

.toefl-site .toefl-online-world__countries ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.75rem 0 0;
    padding: 0;
    list-style: none;
}

.toefl-site .toefl-online-world__countries li {
    display: inline-flex;
    min-width: 0;
}

.toefl-site .toefl-online-world__location,
.toefl-site .toefl-online-world__location-link {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    border: 1px solid color-mix(in srgb, var(--ink) 15%, transparent);
    border-radius: var(--radius-full);
    color: var(--ink);
    background: white;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
}

.toefl-site .toefl-online-world__location-link {
    cursor: pointer;
    transition:
        border-color 160ms ease,
        background-color 160ms ease,
        color 160ms ease,
        transform 160ms ease;
}

.toefl-site .toefl-online-world__location-link:hover {
    border-color: var(--lilac);
    color: var(--ink);
    background: var(--lilac-soft);
    text-decoration: none;
    transform: translateY(-1px);
}

.toefl-site .toefl-online-world__location-link:focus-visible {
    outline: 2px solid var(--lilac);
    outline-offset: 3px;
    text-decoration: none;
}

.toefl-site .toefl-online-world__location-link:active {
    transform: translateY(0);
}

.toefl-site .toefl-online-world__countries svg {
    width: 0.875rem;
    height: 0.875rem;
    flex: 0 0 auto;
    fill: none;
    stroke: var(--lilac);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.75;
}

/* Fase 12 — Imagen y badge internacional. */
.toefl-site .toefl-online-world__visual {
    position: relative;
    min-width: 0;
    margin: 0 0 1.5rem;
}

.toefl-site .toefl-online-world__media {
    overflow: hidden;
    aspect-ratio: 4 / 3;
    border-radius: 2rem;
    background: var(--lilac-soft);
}

.toefl-site .toefl-online-world__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.toefl-site .toefl-online-world__badge {
    position: absolute;
    bottom: -1.5rem;
    left: -0.5rem;
    display: inline-flex;
    max-width: calc(100% - 0.5rem);
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1rem;
    border: 2px solid var(--ink);
    border-radius: 1rem;
    color: var(--ink);
    background: var(--lime);
    box-shadow: 6px 6px 0 var(--ink);
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1.3;
    animation: toefl-float-countries 7s ease-in-out infinite;
}

.toefl-site .toefl-online-world__badge svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

/* Fase 12 — Ajustes responsive. */
@media (min-width: 40rem) {
    .toefl-site .toefl-online-world {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-online-world__badge {
        left: -1.5rem;
        padding: 1rem 1.25rem;
        font-size: 0.875rem;
    }
}

@media (min-width: 52rem) {
    .toefl-site .toefl-online-world__inner {
        grid-template-columns: minmax(0, 1fr) minmax(20rem, 1fr);
        align-items: center;
    }
}

@media (min-width: 64rem) {
    .toefl-site .toefl-online-world {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }
}

@media (max-width: 22.5rem) {
    .toefl-site .toefl-online-world__location,
    .toefl-site .toefl-online-world__location-link {
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        font-size: 0.75rem;
    }

    .toefl-site .toefl-online-world__badge {
        left: 0;
        box-shadow: 4px 4px 0 var(--ink);
    }

    .toefl-site .toefl-online-world__badge {
        left: 0;
        box-shadow: 4px 4px 0 var(--ink);
    }
}

/* ==========================================================================
   Fase 13: inscripción y Centro Oficial Examinador TOEFL
   ========================================================================== */

.toefl-site .toefl-exam-center {
    padding: 6rem 1.25rem;
    background: var(--background);
}

.toefl-site .toefl-exam-center__inner {
    width: min(100%, 80rem);
    margin: 0 auto;
}

.toefl-site .toefl-exam-center__header {
    display: grid;
    gap: 1.5rem;
}

.toefl-site .toefl-exam-center__eyebrow,
.toefl-site .toefl-exam-center__sub-eyebrow {
    display: inline-flex;
    margin: 0;
    color: var(--lilac);
    font-size: 0.6875rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    line-height: 1.5;
    text-transform: uppercase;
}

.toefl-site .toefl-exam-center__eyebrow {
    padding: 0.375rem 0.875rem;
    border-radius: var(--radius-full);
    color: white;
    background: var(--lilac);
    font-size: 0.75rem;
    letter-spacing: 0.14em;
}

.toefl-site .toefl-exam-center__title {
    max-width: 52rem;
    margin: 1rem 0 0;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 8vw, 3.75rem);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 0.98;
}

.toefl-site .toefl-exam-center__title em,
.toefl-site .toefl-exam-center__location h3 em {
    color: var(--lilac);
    font-style: italic;
}

.toefl-site .toefl-exam-center__description {
    max-width: 36rem;
    margin: 1rem 0 0;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    line-height: 1.65;
}

.toefl-site .toefl-exam-center__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.toefl-site .toefl-exam-center__action,
.toefl-site .toefl-exam-center__directions {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.25rem;
    border: 2px solid var(--ink);
    border-radius: var(--radius-full);
    color: var(--ink);
    font-size: 0.8125rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.toefl-site .toefl-exam-center__action--primary,
.toefl-site .toefl-exam-center__directions {
    color: white;
    background: var(--ink);
}

.toefl-site .toefl-exam-center__action:hover,
.toefl-site .toefl-exam-center__directions:hover {
    transform: translateY(-0.25rem);
}

.toefl-site .toefl-exam-center__action--primary:hover,
.toefl-site .toefl-exam-center__directions:hover {
    color: var(--ink);
    background: white;
}

.toefl-site .toefl-exam-center__discount {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2.5rem;
    padding: 1.25rem 1.5rem;
    border: 2px solid var(--ink);
    border-radius: 1.5rem;
    background: var(--lime);
    box-shadow: 8px 8px 0 var(--ink);
    font-size: 0.875rem;
}

.toefl-site .toefl-exam-center__discount svg,
.toefl-site .toefl-exam-center__directions svg {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-exam-center__discount strong {
    text-transform: uppercase;
}

.toefl-site .toefl-exam-center__discount span {
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    font-weight: 600;
}

.toefl-site .toefl-exam-center__tiers {
    display: grid;
    gap: 1.25rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}

.toefl-site .toefl-exam-center__tier {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 2rem;
    overflow: hidden;
    border: 2px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: 2rem;
    background: white;
}

.toefl-site .toefl-exam-center__tier--lilac {
    border-color: color-mix(in srgb, var(--lilac) 50%, transparent);
    background: var(--lilac-soft);
}

.toefl-site .toefl-exam-center__tier--lime {
    border-color: var(--ink);
    background: var(--lime);
    box-shadow: 8px 8px 0 var(--ink);
}

.toefl-site .toefl-exam-center__tier-badge-slot {
    display: flex;
    min-height: 1.625rem;
    justify-content: flex-end;
}

.toefl-site .toefl-exam-center__tier-badge {
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-full);
    color: white;
    background: var(--ink);
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    line-height: 1.8;
    text-transform: uppercase;
}

.toefl-site .toefl-exam-center__tier-label {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 0.5rem;
    margin: 0.75rem 0 0;
    padding: 0.25rem 0.75rem;
    border: 1px solid color-mix(in srgb, var(--ink) 20%, transparent);
    border-radius: var(--radius-full);
    background: color-mix(in srgb, white 70%, transparent);
    font-size: 0.6875rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    line-height: 1.5;
    text-transform: uppercase;
}

.toefl-site .toefl-exam-center__tier-label svg {
    width: 0.75rem;
    height: 0.75rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.toefl-site .toefl-exam-center__price {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    margin: 1.75rem 0 0;
}

.toefl-site .toefl-exam-center__price strong {
    font-family: var(--font-display);
    font-size: 3rem;
    font-weight: 400;
    line-height: 1;
}

.toefl-site .toefl-exam-center__price del {
    color: color-mix(in srgb, var(--ink) 40%, transparent);
    font-size: 1.125rem;
}

.toefl-site .toefl-exam-center__tier-note {
    flex: 1;
    margin: 1.25rem 0 0;
    color: color-mix(in srgb, var(--ink) 75%, transparent);
    font-size: 0.875rem;
    line-height: 1.55;
}

.toefl-site .toefl-exam-center__tier > a {
    display: flex;
    min-height: 3.25rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1.75rem;
    padding: 0.75rem 1rem;
    border: 2px solid color-mix(in srgb, var(--ink) 15%, transparent);
    border-radius: var(--radius-full);
    color: color-mix(in srgb, var(--ink) 50%, transparent);
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.toefl-site .toefl-exam-center__tier:not(.toefl-exam-center__tier--white) > a {
    border-color: var(--ink);
    color: white;
    background: var(--ink);
}

.toefl-site .toefl-exam-center__tier > a:hover {
    transform: translateY(-0.25rem);
    border-color: var(--ink);
    color: var(--ink);
    background: white;
}

.toefl-site .toefl-exam-center__tier > a svg {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-exam-center__tutorial {
    display: grid;
    gap: 2rem;
    margin-top: 3rem;
    padding: 2rem;
    border: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: 2.25rem;
    background: var(--cream);
}

.toefl-site .toefl-exam-center__tutorial h3,
.toefl-site .toefl-exam-center__location h3 {
    margin: 0.75rem 0 0;
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 6vw, 2.25rem);
    font-weight: 400;
    line-height: 1.05;
}

.toefl-site .toefl-exam-center__tutorial > div > p:last-child {
    margin: 0.75rem 0 0;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    font-size: 0.875rem;
    line-height: 1.6;
}

.toefl-site .toefl-exam-center__video {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    border-radius: 1rem;
    background: var(--ink);
}

.toefl-site .toefl-exam-center__video button,
.toefl-site .toefl-exam-center__video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.toefl-site .toefl-exam-center__video button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem;
    color: white;
    background: radial-gradient(circle at center, #252b3a 0%, var(--ink) 65%);
    cursor: pointer;
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 700;
}

.toefl-site .toefl-exam-center__video button::after {
    position: absolute;
    inset: 0;
    background: color-mix(in srgb, var(--ink) 28%, transparent);
    content: "";
    transition: background-color 0.2s ease;
}

.toefl-site .toefl-exam-center__video button:hover::after {
    background: color-mix(in srgb, var(--ink) 40%, transparent);
}

.toefl-site .toefl-exam-center__video button > img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.toefl-site .toefl-exam-center__play {
    position: relative;
    z-index: 1;
    display: grid;
    width: 3.5rem;
    height: 3.5rem;
    place-items: center;
    border-radius: 50%;
    color: var(--ink);
    background: var(--lime);
    box-shadow: 4px 4px 0 #000;
    transition: transform 0.2s ease;
}

.toefl-site .toefl-exam-center__video-label {
    position: relative;
    z-index: 1;
    text-shadow: 0 1px 3px var(--ink);
}

.toefl-site .toefl-exam-center__video button:hover .toefl-exam-center__play {
    transform: scale(1.08);
}

.toefl-site .toefl-exam-center__play svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: currentColor;
    stroke: currentColor;
}

.toefl-site .toefl-exam-center__video[data-video-state="playing"] button {
    display: none;
}

.toefl-site .toefl-exam-center__location {
    display: grid;
    margin-top: 2rem;
    overflow: hidden;
    border: 2px solid var(--ink);
    border-radius: 2.25rem;
    background: white;
}

.toefl-site .toefl-exam-center__location-info {
    min-width: 0;
    padding: 2rem;
}

.toefl-site .toefl-exam-center__details {
    display: grid;
    gap: 0.75rem;
    margin: 1.5rem 0 0;
}

.toefl-site .toefl-exam-center__details > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.125rem 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: 1rem;
    background: var(--cream);
}

.toefl-site .toefl-exam-center__details svg {
    grid-row: 1 / 3;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: 0.125rem;
    fill: none;
    stroke: var(--lilac);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.toefl-site .toefl-exam-center__details dt {
    font-size: 0.875rem;
    font-weight: 700;
}

.toefl-site .toefl-exam-center__details dd {
    margin: 0;
    color: color-mix(in srgb, var(--ink) 60%, transparent);
    font-size: 0.875rem;
}

.toefl-site .toefl-exam-center__map {
    display: block;
    width: 100%;
    height: 12rem;
    margin-top: 1.5rem;
    border: 2px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: 1rem;
}

.toefl-site .toefl-exam-center__directions {
    gap: 0.5rem;
    margin-top: 1.5rem;
}

.toefl-site .toefl-exam-center__location-summary {
    min-width: 0;
    background: white;
}

.toefl-site .toefl-exam-center__photos {
    display: flex;
    min-height: 14rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 2rem 1rem;
    background: white;
}

.toefl-site .toefl-exam-center__photo {
    display: block;
    width: min(38vw, 10rem);
    height: auto;
    aspect-ratio: 9 / 7;
    object-fit: cover;
    border: 2px solid var(--ink);
    border-radius: 1rem;
    box-shadow: 4px 4px 0 var(--ink);
    transition: transform 0.2s ease;
}

.toefl-site .toefl-exam-center__photo + .toefl-exam-center__photo {
    margin-left: -1.75rem;
}

.toefl-site .toefl-exam-center__photo--1 { transform: rotate(-3deg); }
.toefl-site .toefl-exam-center__photo--3 { transform: rotate(3deg); }
.toefl-site .toefl-exam-center__photo:hover { transform: translateY(-0.25rem); }

.toefl-site .toefl-exam-center__stats {
    display: grid;
    gap: 1px;
    margin: 1px 0 0;
    padding: 0;
    list-style: none;
}

.toefl-site .toefl-exam-center__stats li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.75rem;
    background: white;
}

.toefl-site .toefl-exam-center__stats li > strong {
    color: var(--lilac);
    font-family: var(--font-display);
    font-size: 1.875rem;
    font-weight: 400;
    line-height: 1;
}

.toefl-site .toefl-exam-center__stats span {
    font-size: 0.6875rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.toefl-site .toefl-exam-center__stats p {
    margin: 0.25rem 0 0;
    color: color-mix(in srgb, var(--ink) 65%, transparent);
    font-size: 0.875rem;
    line-height: 1.45;
}

@media (min-width: 40rem) {
    .toefl-site .toefl-exam-center {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-exam-center__tutorial,
    .toefl-site .toefl-exam-center__location-info {
        padding: 2.5rem;
    }

    .toefl-site .toefl-exam-center__photo {
        width: 10rem;
    }
}

@media (min-width: 52rem) {
    .toefl-site .toefl-exam-center__header {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
    }

    .toefl-site .toefl-exam-center__tiers {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .toefl-site .toefl-exam-center__tutorial {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: center;
    }
}

@media (min-width: 64rem) {
    .toefl-site .toefl-exam-center {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }

    .toefl-site .toefl-exam-center__location {
        grid-template-columns: 1.05fr 1fr;
    }

    .toefl-site .toefl-exam-center__photos {
        min-height: 13rem;
    }
}

@media (max-width: 22.5rem) {
    .toefl-site .toefl-exam-center__actions,
    .toefl-site .toefl-exam-center__action {
        width: 100%;
    }

    .toefl-site .toefl-exam-center__discount {
        padding: 1rem;
        box-shadow: 4px 4px 0 var(--ink);
    }

    .toefl-site .toefl-exam-center__tier,
    .toefl-site .toefl-exam-center__tutorial,
    .toefl-site .toefl-exam-center__location-info {
        padding: 1.25rem;
    }

    .toefl-site .toefl-exam-center__tier-label {
        font-size: 0.625rem;
        letter-spacing: 0.08em;
    }

    .toefl-site .toefl-exam-center__photos {
        min-height: 11rem;
        padding-right: 0.5rem;
        padding-left: 0.5rem;
    }

    .toefl-site .toefl-exam-center__photo {
        width: 7.5rem;
    }
}

/* ==========================================================================
   Fase 14: vídeos TOEFL 2026
   ========================================================================== */

.toefl-site .toefl-videos {
    padding: 6rem 1.25rem;
    background: var(--background);
}

.toefl-site .toefl-videos__inner {
    width: min(100%, 80rem);
    margin: 0 auto;
}

.toefl-site .toefl-videos__header {
    display: grid;
    gap: 1.5rem;
}

.toefl-site .toefl-videos__eyebrow {
    display: inline-flex;
    margin: 0;
    padding: 0.375rem 0.875rem;
    border-radius: var(--radius-full);
    color: white;
    background: var(--lilac);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    line-height: 1.5;
    text-transform: uppercase;
}

.toefl-site .toefl-videos__title {
    max-width: 46rem;
    margin: 1rem 0 0;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 8vw, 3.125rem);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 1;
}

.toefl-site .toefl-videos__title em {
    color: var(--lilac);
    font-style: italic;
}

.toefl-site .toefl-videos__description {
    max-width: 36rem;
    margin: 1rem 0 0;
    color: color-mix(in srgb, var(--ink) 70%, transparent);
    line-height: 1.65;
}

.toefl-site .toefl-videos__channel {
    display: inline-flex;
    width: fit-content;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border: 2px solid var(--ink);
    border-radius: var(--radius-full);
    color: var(--ink);
    font-size: 0.8125rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.toefl-site .toefl-videos__channel:hover {
    transform: translateY(-0.25rem);
    color: white;
    background: var(--ink);
}

.toefl-site .toefl-videos__channel:focus-visible,
.toefl-site .toefl-video-card__player button:focus-visible {
    outline: 3px solid var(--lime);
    outline-offset: 3px;
}

.toefl-site .toefl-videos__channel svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-videos__grid {
    display: grid;
    gap: 1.25rem;
    margin: 3rem 0 0;
    padding: 0;
    list-style: none;
}

.toefl-site .toefl-videos__grid > li {
    min-width: 0;
}

.toefl-site .toefl-video-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: 1.375rem;
    background: white;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.toefl-site .toefl-video-card:hover {
    transform: translateY(-0.25rem);
    box-shadow: 0 1.25rem 2.5rem -1.5625rem color-mix(in srgb, var(--lilac) 50%, transparent);
}

.toefl-site .toefl-video-card__player {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--ink);
}

.toefl-site .toefl-video-card__player button,
.toefl-site .toefl-video-card__player iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.toefl-site .toefl-video-card__player button {
    padding: 0;
    background: var(--ink);
    cursor: pointer;
}

.toefl-site .toefl-video-card__player button > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.2s ease;
}

.toefl-site .toefl-video-card__overlay {
    position: absolute;
    inset: 0;
    background: color-mix(in srgb, var(--ink) 25%, transparent);
    transition: background-color 0.2s ease;
}

.toefl-site .toefl-video-card__play {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 3.5rem;
    height: 3.5rem;
    place-items: center;
    border-radius: 50%;
    color: var(--ink);
    background: var(--lime);
    box-shadow: 4px 4px 0 var(--ink);
    transform: translate(-50%, -50%);
    transition: transform 0.2s ease;
}

.toefl-site .toefl-video-card__play svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: currentColor;
    stroke: currentColor;
}

.toefl-site .toefl-video-card__player button:hover .toefl-video-card__overlay {
    background: color-mix(in srgb, var(--ink) 40%, transparent);
}

.toefl-site .toefl-video-card__player button:hover .toefl-video-card__play {
    transform: translate(-50%, -50%) scale(1.08);
}

.toefl-site .toefl-video-card__player[data-video-state="playing"] button {
    display: none;
}

.toefl-site .toefl-video-card h3 {
    margin: 0;
    padding: 1rem;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.4;
}

@media (min-width: 40rem) {
    .toefl-site .toefl-videos {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-videos__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 64rem) {
    .toefl-site .toefl-videos {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }

    .toefl-site .toefl-videos__header {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
    }

    .toefl-site .toefl-videos__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 22.5rem) {
    .toefl-site .toefl-videos__channel {
        width: 100%;
    }
}

/* ==========================================================================
   Fase 16: Contacto y reserva de plaza
   ========================================================================== */

.toefl-site .toefl-contact {
    padding: 6rem 1rem;
}

.toefl-site .toefl-contact__inner {
    width: min(100%, 80rem);
    margin: 0 auto;
}

.toefl-site .toefl-contact__header {
    max-width: 48rem;
    margin: 0 auto;
    text-align: center;
}

.toefl-site .toefl-contact__eyebrow {
    display: inline-block;
    margin: 0;
    padding: 0.45rem 0.9rem;
    border-radius: var(--radius-full);
    color: var(--background);
    background: var(--lilac);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.toefl-site .toefl-contact__header h2 {
    margin: 1rem 0 0;
    font-family: var(--font-display);
    font-size: clamp(2.25rem, 6vw, 3.75rem);
    font-weight: 400;
    line-height: 1.05;
}

.toefl-site .toefl-contact__header h2 em {
    color: var(--lilac);
    font-style: italic;
}

.toefl-site .toefl-contact__header > p:last-child {
    max-width: 36rem;
    margin: 1rem auto 0;
    color: var(--muted-foreground);
    line-height: 1.65;
}

.toefl-site .toefl-contact__channels {
    display: grid;
    margin: 3rem 0 0;
    padding: 0;
    gap: 1.25rem;
    list-style: none;
}

.toefl-site .toefl-contact__channels > li {
    min-width: 0;
}

.toefl-site .toefl-contact-card {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    padding: 1.75rem;
    border: 2px solid color-mix(in srgb, var(--ink) 15%, transparent);
    border-radius: 1.75rem;
    color: var(--ink);
    background: var(--background);
    text-decoration: none;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.toefl-site a.toefl-contact-card:hover,
.toefl-site button.toefl-contact-card:hover {
    border-color: var(--ink);
    box-shadow: 8px 8px 0 var(--ink);
    transform: translateY(-0.375rem);
}

.toefl-site .toefl-contact-card--lime {
    border-color: var(--ink);
    background: var(--lime);
    box-shadow: 8px 8px 0 var(--ink);
}

.toefl-site .toefl-contact-card--lilac {
    border-color: var(--ink);
    background: var(--lilac-soft);
    box-shadow: 8px 8px 0 var(--lilac);
}

.toefl-site .toefl-contact-card--disabled {
    cursor: not-allowed;
}

.toefl-site .toefl-contact-card:focus-visible,
.toefl-site .toefl-contact__center a:focus-visible {
    outline: 3px solid var(--lilac);
    outline-offset: 4px;
}

.toefl-site .toefl-contact-card__icon {
    display: grid;
    width: 3.5rem;
    height: 3.5rem;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--lilac) 35%, transparent);
    border-radius: 1rem;
    color: var(--ink);
    background: var(--lilac-soft);
    transition: transform 0.2s ease;
}

.toefl-site .toefl-contact-card--lime .toefl-contact-card__icon,
.toefl-site .toefl-contact-card--lilac .toefl-contact-card__icon {
    border-color: color-mix(in srgb, var(--ink) 15%, transparent);
    background: var(--background);
}

.toefl-site a.toefl-contact-card:hover .toefl-contact-card__icon,
.toefl-site button.toefl-contact-card:hover .toefl-contact-card__icon {
    transform: scale(1.1);
}

.toefl-site .toefl-contact-card__icon svg,
.toefl-site .toefl-contact-card__cta svg,
.toefl-site .toefl-contact__center address svg,
.toefl-site .toefl-contact__form-preview button svg {
    width: 1.5rem;
    height: 1.5rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-contact-card > strong {
    margin-top: 1.5rem;
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 400;
    line-height: 1.15;
}

.toefl-site .toefl-contact-card > p {
    flex: 1;
    margin: 0.5rem 0 0;
    color: var(--muted-foreground);
    font-size: 0.875rem;
    line-height: 1.5;
}

.toefl-site .toefl-contact-card > small {
    margin-top: 1.25rem;
    color: var(--lilac);
    font-size: 0.6875rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.toefl-site .toefl-contact-card__cta {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0.75rem;
    padding-top: 1rem;
    border-top: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    font-size: 0.875rem;
    font-weight: 900;
}

.toefl-site .toefl-contact-card__cta svg {
    width: 1rem;
    height: 1rem;
    transition: transform 0.2s ease;
}

.toefl-site a.toefl-contact-card:hover .toefl-contact-card__cta svg,
.toefl-site button.toefl-contact-card:hover .toefl-contact-card__cta svg {
    transform: translateX(0.25rem);
}

.toefl-site button.toefl-contact-card {
    width: 100%;
    margin: 0;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.toefl-site .toefl-contact__panel {
    overflow: hidden;
    margin-top: 3.5rem;
    border: 2px solid var(--ink);
    border-radius: 2.5rem;
    background: var(--cream);
}

.toefl-site .toefl-contact__center,
.toefl-site .toefl-contact__form-preview {
    padding: 2rem;
}

.toefl-site .toefl-contact__center h3 {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.875rem;
    font-weight: 400;
}

.toefl-site .toefl-contact__center address {
    display: grid;
    margin-top: 1.5rem;
    gap: 1rem;
    font-style: normal;
}

.toefl-site .toefl-contact__center address p {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin: 0;
    font-size: 0.875rem;
}

.toefl-site .toefl-contact__center address svg {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
    color: var(--lilac);
}

.toefl-site .toefl-contact__center address span {
    display: grid;
    gap: 0.2rem;
}

.toefl-site .toefl-contact__center address small {
    color: var(--muted-foreground);
}

.toefl-site .toefl-contact__center address a {
    color: var(--ink);
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s ease;
}

.toefl-site .toefl-contact__center address a:hover {
    color: var(--lilac);
}

.toefl-site .toefl-contact__center iframe {
    display: block;
    width: 100%;
    height: 14rem;
    margin-top: 2rem;
    border: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    border-radius: 1rem;
}

.toefl-site .toefl-contact__form-preview {
    border-top: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    background: var(--background);
}

.toefl-site .toefl-contact__form-status {
    margin: 1rem 0 0;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-lg);
    color: var(--ink);
    background: var(--lilac-soft);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.4;
}

.toefl-site .toefl-contact__form-status[hidden] {
    display: none;
}

.toefl-site .toefl-contact__form-status[data-state="success"] {
    background: color-mix(in srgb, var(--lime) 35%, var(--background));
}

.toefl-site .toefl-contact__form-status[data-state="error"] {
    background: color-mix(in srgb, var(--tangerine) 28%, var(--background));
}

.toefl-site .toefl-contact__form-preview fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.toefl-site .toefl-contact__fields {
    display: grid;
    gap: 1rem;
}

.toefl-site .toefl-contact__fields label,
.toefl-site .toefl-contact__message {
    display: block;
}

.toefl-site .toefl-contact__fields label > span,
.toefl-site .toefl-contact__message > span {
    color: var(--muted-foreground);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.toefl-site .toefl-contact__fields input,
.toefl-site .toefl-contact__message textarea {
    box-sizing: border-box;
    display: block;
    width: 100%;
    margin-top: 0.5rem;
    padding: 0.75rem 1rem;
    border: 1px solid color-mix(in srgb, var(--ink) 15%, transparent);
    border-radius: 1rem;
    color: var(--muted-foreground);
    background: var(--background);
    font: inherit;
    font-size: 0.875rem;
}

.toefl-site .toefl-contact__fields input[aria-invalid="true"],
.toefl-site .toefl-contact__message textarea[aria-invalid="true"] {
    border-color: var(--tangerine);
}

.toefl-site .toefl-contact__fields input:focus-visible,
.toefl-site .toefl-contact__message textarea:focus-visible,
.toefl-site .toefl-contact__terms input:focus-visible {
    outline: 3px solid var(--lilac);
    outline-offset: 2px;
}

.toefl-site .toefl-contact__message {
    margin-top: 1rem;
}

.toefl-site .toefl-contact__message textarea {
    min-height: 7rem;
    resize: none;
}

.toefl-site .toefl-contact__terms {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-top: 1rem;
    color: var(--muted-foreground);
    font-size: 0.75rem;
    line-height: 1.45;
}

.toefl-site .toefl-contact__terms input {
    margin-top: 0.125rem;
    accent-color: var(--lilac);
}

.toefl-site .toefl-contact__terms a {
    color: inherit;
    text-decoration-color: var(--lilac);
    text-underline-offset: 0.15em;
}

.toefl-site .toefl-contact__terms a:focus-visible {
    border-radius: 0.125rem;
    outline: 3px solid var(--lilac);
    outline-offset: 3px;
}

.toefl-site .toefl-contact__recaptcha {
    min-height: 102px;
    margin-top: 1rem;
    padding: 0.75rem;
    overflow: hidden;
    border-radius: 1rem;
    background: var(--lilac-soft);
}

.toefl-site .toefl-contact__recaptcha .g-recaptcha {
    width: 304px;
    max-width: 100%;
    transform-origin: left top;
}

.toefl-site .toefl-contact__honeypot {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.toefl-site .toefl-contact__form-preview button {
    display: flex;
    width: 100%;
    min-height: 3.5rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1.5rem;
    padding: 0.875rem 1.5rem;
    border: 2px solid var(--ink);
    border-radius: var(--radius-full);
    color: color-mix(in srgb, var(--background) 65%, var(--ink));
    background: color-mix(in srgb, var(--ink) 70%, var(--background));
    box-shadow: 5px 5px 0 color-mix(in srgb, var(--lilac) 60%, transparent);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: not-allowed;
}

.toefl-site .toefl-contact__form-preview button:not(:disabled) {
    color: var(--background);
    background: var(--ink);
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.toefl-site .toefl-contact__form-preview button:not(:disabled):hover {
    background: color-mix(in srgb, var(--ink) 88%, var(--lilac));
    box-shadow: 7px 7px 0 var(--lilac);
    transform: translate(-2px, -2px);
}

.toefl-site .toefl-contact__form-preview button:focus-visible {
    outline: 3px solid var(--lilac);
    outline-offset: 3px;
}

.toefl-site .toefl-contact__form-preview button svg {
    width: 1rem;
    height: 1rem;
}

.toefl-site .toefl-contact__required-note {
    margin: 0.75rem 0 0;
    color: var(--muted-foreground);
    font-size: 0.6875rem;
    text-align: center;
}

@media (min-width: 40rem) {
    .toefl-site .toefl-contact {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-contact__channels,
    .toefl-site .toefl-contact__fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .toefl-site .toefl-contact__center,
    .toefl-site .toefl-contact__form-preview {
        padding: 3.5rem;
    }
}

@media (min-width: 64rem) {
    .toefl-site .toefl-contact {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }

    .toefl-site .toefl-contact__channels {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .toefl-site .toefl-contact__panel {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .toefl-site .toefl-contact__panel--form-only {
        grid-template-columns: minmax(0, 1fr);
    }

    .toefl-site .toefl-contact__form-preview {
        border-top: 0;
        border-left: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
    }

    .toefl-site .toefl-contact__panel--form-only .toefl-contact__form-preview {
        border-left: 0;
    }
}

@media (min-width: 80rem) {
    .toefl-site .toefl-contact__channels {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 22.5rem) {
    .toefl-site .toefl-contact {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }

    .toefl-site .toefl-contact__center,
    .toefl-site .toefl-contact__form-preview,
    .toefl-site .toefl-contact-card {
        padding: 1.5rem;
    }

    .toefl-site .toefl-contact__recaptcha {
        min-height: 81px;
    }

    .toefl-site .toefl-contact__recaptcha .g-recaptcha {
        transform: scale(0.72);
    }
}

@media (min-width: 22.5625rem) and (max-width: 30rem) {
    .toefl-site .toefl-contact__recaptcha {
        min-height: 88px;
    }

    .toefl-site .toefl-contact__recaptcha .g-recaptcha {
        transform: scale(0.82);
    }
}

/* ==========================================================================
   Fase 17: artículos del blog relacionados con TOEFL
   ========================================================================== */

.toefl-site .toefl-blog {
    padding: 5rem 1.25rem 6rem;
    background: var(--background);
}

.toefl-site .toefl-blog__inner {
    width: min(100%, 80rem);
    margin: 0 auto;
}

.toefl-site .toefl-blog__header {
    max-width: 47rem;
    margin-bottom: 2.5rem;
}

.toefl-site .toefl-blog__eyebrow {
    display: inline-flex;
    margin: 0 0 1rem;
    padding: 0.4rem 0.85rem;
    border-radius: var(--radius-full);
    color: white;
    background: var(--lilac);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1.25;
    text-transform: uppercase;
}

.toefl-site .toefl-blog__header h2 {
    margin: 0;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 400;
    line-height: 1.05;
}

.toefl-site .toefl-blog__header > p:last-child {
    max-width: 43rem;
    margin: 1rem 0 0;
    color: color-mix(in srgb, var(--ink) 72%, transparent);
    font-size: 1rem;
    line-height: 1.65;
}

.toefl-site .toefl-blog__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.toefl-site .toefl-blog__grid > li {
    min-width: 0;
}

.toefl-site .toefl-blog-card {
    --toefl-blog-accent: var(--lilac);
    --toefl-blog-surface-start: color-mix(in srgb, var(--lilac) 62%, white);
    --toefl-blog-surface-end: color-mix(in srgb, var(--lilac) 28%, white);
    display: flex;
    min-height: 100%;
    flex-direction: column;
    align-items: center;
    padding: 1.5rem;
    border: 2px solid var(--ink);
    border-radius: var(--radius-3xl);
    background: linear-gradient(135deg, var(--toefl-blog-surface-start), var(--toefl-blog-surface-end));
    box-shadow: 8px 8px 0 var(--ink);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.toefl-site .toefl-blog-card--lime {
    --toefl-blog-accent: var(--lime);
    --toefl-blog-surface-start: color-mix(in srgb, var(--lime) 72%, white);
    --toefl-blog-surface-end: color-mix(in srgb, var(--lime) 30%, white);
}

.toefl-site .toefl-blog-card--tangerine {
    --toefl-blog-accent: var(--tangerine);
    --toefl-blog-surface-start: color-mix(in srgb, var(--tangerine) 64%, white);
    --toefl-blog-surface-end: color-mix(in srgb, var(--tangerine) 26%, white);
}

.toefl-site .toefl-blog-card:hover {
    transform: translateY(-0.2rem);
    box-shadow: 10px 10px 0 var(--ink);
}

.toefl-site .toefl-blog-card__top {
    display: grid;
    width: 100%;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.toefl-site .toefl-blog-card__media {
    display: block;
    width: 7.25rem;
    overflow: hidden;
    aspect-ratio: 1;
    border: 3px solid var(--toefl-blog-accent);
    border-radius: 50%;
    color: var(--ink);
    background: color-mix(in srgb, var(--toefl-blog-accent) 35%, white);
    text-decoration: none;
}

.toefl-site .toefl-blog-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.25s ease;
}

.toefl-site .toefl-blog-card:hover .toefl-blog-card__media img {
    transform: scale(1.025);
}

.toefl-site .toefl-blog-card__image-fallback {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: clamp(2rem, 8vw, 3.5rem);
    letter-spacing: 0.04em;
}

.toefl-site .toefl-blog-card__top h3 {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.2;
}

.toefl-site .toefl-blog-card__top h3 a {
    color: var(--ink);
    text-decoration: none;
    text-decoration-thickness: 0.12em;
    text-underline-offset: 0.18em;
}

.toefl-site .toefl-blog-card__top h3 a:hover {
    text-decoration: underline;
    text-decoration-color: var(--toefl-blog-accent);
}

.toefl-site .toefl-blog-card__cta {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transform: translateY(0);
    margin: auto auto 0;
    padding: 0.7rem 1.25rem;
    border: 2px solid var(--ink);
    border-radius: var(--radius-full);
    color: white;
    background: var(--ink);
    box-shadow: 4px 4px 0 var(--lilac);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.toefl-site .toefl-blog-card__cta:hover {
    transform: translate(2px, 2px);
    box-shadow: 2px 2px 0 var(--lilac);
}

.toefl-site .toefl-blog-card__cta:active {
    transform: translate(4px, 4px);
    box-shadow: 0 0 0 var(--lilac);
}

.toefl-site .toefl-blog-card__cta svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-blog-card__media:focus-visible,
.toefl-site .toefl-blog-card__top h3 a:focus-visible,
.toefl-site .toefl-blog-card__cta:focus-visible {
    outline: 3px solid var(--ring);
    outline-offset: 4px;
}

@media (min-width: 40rem) {
    .toefl-site .toefl-blog {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .toefl-site .toefl-blog__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 64rem) {
    .toefl-site .toefl-blog {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }

    .toefl-site .toefl-blog__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 22.5rem) {
    .toefl-site .toefl-blog {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }

    .toefl-site .toefl-blog-card {
        padding: 1.25rem;
    }

    .toefl-site .toefl-blog-card__top {
        grid-template-columns: 5.75rem minmax(0, 1fr);
        gap: 0.75rem;
    }

    .toefl-site .toefl-blog-card__media {
        width: 5.75rem;
    }

    .toefl-site .toefl-blog-card__top h3 {
        font-size: 0.9375rem;
    }
}

/* ==========================================================================
   TOEFL — Modal de prueba de nivel y asesoramiento
   ========================================================================== */

.toefl-site.toefl-level-test-open {
    overflow: hidden;
}

.toefl-site .toefl-level-test[hidden],
.toefl-site .toefl-level-test [hidden] {
    display: none;
}

.toefl-site .toefl-level-test {
    position: fixed;
    z-index: 10000;
    inset: 0;
}

.toefl-site .toefl-level-test__backdrop {
    display: grid;
    width: 100%;
    height: 100%;
    padding: 1rem;
    place-items: center;
    overflow: hidden;
    background: color-mix(in srgb, var(--ink) 72%, transparent);
}

.toefl-site .toefl-level-test__dialog {
    display: flex;
    width: min(46rem, 100%);
    max-height: calc(100dvh - 2rem);
    flex-direction: column;
    overflow: hidden;
    border: 2px solid var(--ink);
    border-radius: 2rem;
    color: var(--ink);
    background: var(--background);
    box-shadow: none;
}

.toefl-site .toefl-level-test__header {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border-bottom: 2px solid var(--ink);
    background: linear-gradient(120deg, var(--lilac-soft), var(--background));
}

.toefl-site .toefl-level-test__header p,
.toefl-site .toefl-level-test__header h2 {
    margin: 0;
}

.toefl-site .toefl-level-test__header p {
    color: var(--lilac);
    font-size: 0.6875rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.toefl-site .toefl-level-test__header h2 {
    margin-top: 0.25rem;
    font-family: var(--font-display);
    font-size: clamp(1.45rem, 4vw, 2rem);
    line-height: 1.05;
}

.toefl-site .toefl-level-test__close,
.toefl-site .toefl-level-test__calendar-header button {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    padding: 0;
    place-items: center;
    border: 2px solid var(--ink);
    border-radius: 50%;
    color: var(--ink);
    background: var(--background);
    cursor: pointer;
}

.toefl-site .toefl-level-test__close svg,
.toefl-site .toefl-level-test__calendar-header svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.toefl-site .toefl-level-test__body {
    min-height: 0;
    padding: 1.25rem 1.5rem 1.5rem;
    overflow-y: auto;
    scrollbar-gutter: stable;
}

.toefl-site .toefl-level-test__progress {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0 0 1.5rem;
    padding: 0;
    gap: 0.5rem;
    list-style: none;
}

.toefl-site .toefl-level-test__progress li {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    color: var(--muted-foreground);
    font-size: 0.7rem;
    font-weight: 800;
    text-align: center;
}

.toefl-site .toefl-level-test__progress li:not(:last-child)::after {
    position: absolute;
    z-index: 0;
    top: 0.875rem;
    left: 50%;
    width: calc(100% + 0.5rem);
    height: 3px;
    background: var(--border);
    content: "";
    transform: translateY(-50%);
}

.toefl-site .toefl-level-test__progress li.is-complete::after {
    background: var(--lilac);
}

.toefl-site .toefl-level-test__progress-marker {
    position: relative;
    z-index: 1;
    display: grid;
    width: 1.75rem;
    height: 1.75rem;
    flex: 0 0 auto;
    place-items: center;
    border: 2px solid currentColor;
    border-radius: 50%;
    background: var(--background);
}

.toefl-site .toefl-level-test__progress-label {
    line-height: 1.2;
}

.toefl-site .toefl-level-test__progress [aria-current="step"] {
    color: var(--ink);
}

.toefl-site .toefl-level-test__progress [aria-current="step"] .toefl-level-test__progress-marker {
    background: var(--lime);
}

.toefl-site .toefl-level-test__progress .is-complete {
    color: var(--lilac);
}

.toefl-site .toefl-level-test__step h3 {
    margin: 0 0 1.25rem;
    font-family: var(--font-display);
    font-size: 1.4rem;
}

.toefl-site .toefl-level-test__step fieldset {
    margin: 0 0 1.25rem;
    padding: 0;
    border: 0;
}

.toefl-site .toefl-level-test__step legend,
.toefl-site .toefl-level-test__field > span {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.8rem;
    font-weight: 800;
}

.toefl-site .toefl-level-test__choices {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.toefl-site .toefl-level-test__choices label {
    position: relative;
    cursor: pointer;
}

.toefl-site .toefl-level-test__choices input {
    position: absolute;
    opacity: 0;
}

.toefl-site .toefl-level-test__choices span {
    display: block;
    padding: 0.7rem 1rem;
    border: 2px solid color-mix(in srgb, var(--ink) 18%, transparent);
    border-radius: var(--radius-full);
    background: var(--background);
    font-size: 0.82rem;
    font-weight: 800;
}

.toefl-site .toefl-level-test__choices input:checked + span {
    border-color: var(--ink);
    color: var(--background);
    background: var(--ink);
}

.toefl-site .toefl-level-test__choices input:focus-visible + span,
.toefl-site .toefl-level-test button:focus-visible,
.toefl-site .toefl-level-test input:focus-visible,
.toefl-site .toefl-level-test select:focus-visible,
.toefl-site .toefl-level-test textarea:focus-visible {
    outline: 3px solid var(--ring);
    outline-offset: 3px;
}

.toefl-site .toefl-level-test__info {
    margin: 0 0 1.25rem;
    padding: 0.85rem 1rem;
    border-left: 4px solid var(--lilac);
    border-radius: 0.75rem;
    background: var(--lilac-soft);
    font-size: 0.85rem;
    line-height: 1.5;
}

.toefl-site .toefl-level-test__field {
    display: block;
    margin-bottom: 1.15rem;
}

.toefl-site .toefl-level-test__field input,
.toefl-site .toefl-level-test__field select,
.toefl-site .toefl-level-test__field textarea {
    width: 100%;
    min-height: 3rem;
    box-sizing: border-box;
    padding: 0.75rem 0.9rem;
    border: 2px solid color-mix(in srgb, var(--ink) 18%, transparent);
    border-radius: 0.9rem;
    color: var(--ink);
    background: var(--background);
    font: inherit;
}

.toefl-site .toefl-level-test__field textarea {
    min-height: 5.5rem;
    resize: vertical;
}

.toefl-site .toefl-level-test__field [aria-invalid="true"] {
    border-color: var(--destructive);
}

.toefl-site .toefl-level-test__field-error,
.toefl-site .toefl-level-test__submit-error {
    display: block;
    margin: 0.4rem 0 0;
    color: #a52929;
    font-size: 0.78rem;
    font-weight: 700;
}

.toefl-site .toefl-level-test__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.toefl-site .toefl-level-test__primary,
.toefl-site .toefl-level-test__secondary {
    min-height: 3rem;
    padding: 0.75rem 1.25rem;
    border: 2px solid var(--ink);
    border-radius: var(--radius-full);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 900;
    cursor: pointer;
}

.toefl-site .toefl-level-test__primary {
    color: var(--background);
    background: var(--ink);
    box-shadow: 4px 4px 0 var(--lilac);
}

.toefl-site .toefl-level-test__secondary {
    color: var(--ink);
    background: var(--background);
}

.toefl-site .toefl-level-test button:disabled {
    cursor: not-allowed;
    opacity: 0.4;
}

.toefl-site .toefl-level-test__calendar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.65rem;
}

.toefl-site .toefl-level-test__calendar-shell {
    width: min(100%, 28rem);
    margin-inline: auto;
}

.toefl-site .toefl-level-test__calendar-shell > h3 {
    margin-bottom: 0.85rem;
}

.toefl-site .toefl-level-test__calendar-header button {
    width: 2.4rem;
    height: 2.4rem;
}

.toefl-site .toefl-level-test__weekdays,
.toefl-site .toefl-level-test__days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.35rem;
}

.toefl-site .toefl-level-test__weekdays {
    margin-bottom: 0.4rem;
    text-align: center;
    font-size: 0.72rem;
    font-weight: 900;
}

.toefl-site .toefl-level-test__days button,
.toefl-site .toefl-level-test__days > span {
    min-width: 0;
    aspect-ratio: 1;
}

.toefl-site .toefl-level-test__days button {
    position: relative;
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--ink) 18%, transparent);
    border-radius: 50%;
    color: var(--ink);
    background: var(--background);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 800;
    cursor: pointer;
}

.toefl-site .toefl-level-test__days button.is-loading {
    cursor: wait;
    opacity: 0.72;
}

.toefl-site .toefl-level-test__days button.is-loading::after {
    position: absolute;
    inset: 2px;
    border: 2px solid color-mix(in srgb, var(--lilac) 28%, var(--border));
    border-top-color: var(--lilac);
    border-radius: 50%;
    content: "";
    animation: toefl-level-test-spin 0.9s linear infinite;
}

.toefl-site .toefl-level-test__days button.is-unavailable {
    cursor: not-allowed;
}

.toefl-site .toefl-level-test__calendar-feedback {
    display: flex;
    min-height: 2rem;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    padding-top: 0.35rem;
    color: var(--muted-foreground);
    font-size: 0.72rem;
    font-weight: 700;
    text-align: center;
}

.toefl-site .toefl-level-test__calendar-feedback button {
    padding: 0.2rem 0.55rem;
    border: 1px solid currentColor;
    border-radius: var(--radius-full);
    color: var(--ink);
    background: var(--background);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.toefl-site .toefl-level-test__days button:hover:not(:disabled),
.toefl-site .toefl-level-test__slots button:hover:not(:disabled) {
    color: var(--ink);
    background: var(--lime);
}

.toefl-site .toefl-level-test__loading {
    display: flex;
    min-height: 14rem;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    font-weight: 800;
}

.toefl-site .toefl-level-test__loading span {
    width: 1.75rem;
    height: 1.75rem;
    border: 3px solid var(--lilac-soft);
    border-top-color: var(--lilac);
    border-radius: 50%;
    animation: toefl-level-test-spin 0.8s linear infinite;
}

@keyframes toefl-level-test-spin {
    to { transform: rotate(360deg); }
}

.toefl-site .toefl-level-test__times > p {
    margin: 0 0 1rem;
    font-weight: 800;
    text-align: center;
}

.toefl-site .toefl-level-test__periods,
.toefl-site .toefl-level-test__slots {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.6rem;
}

.toefl-site .toefl-level-test__periods {
    margin-bottom: 1rem;
}

.toefl-site .toefl-level-test__periods button,
.toefl-site .toefl-level-test__slots button {
    min-height: 2.6rem;
    padding: 0.55rem 0.9rem;
    border: 2px solid color-mix(in srgb, var(--ink) 18%, transparent);
    border-radius: var(--radius-full);
    color: var(--ink);
    background: var(--background);
    font: inherit;
    font-size: 0.8rem;
    font-weight: 800;
    cursor: pointer;
}

.toefl-site .toefl-level-test__periods .is-selected,
.toefl-site .toefl-level-test__slots .is-selected {
    border-color: var(--ink);
    color: var(--background);
    background: var(--ink);
}

.toefl-site .toefl-level-test__fields {
    display: grid;
    gap: 0 1rem;
}

.toefl-site .toefl-level-test__summary {
    padding: 1rem;
    border: 2px solid color-mix(in srgb, var(--ink) 14%, transparent);
    border-radius: 1rem;
    background: var(--cream);
}

.toefl-site .toefl-level-test__summary p {
    margin: 0.25rem 0;
    font-size: 0.85rem;
}

.toefl-site .toefl-level-test__success {
    padding: 1.5rem 0;
    text-align: center;
}

.toefl-site .toefl-level-test__success > svg {
    width: 4.5rem;
    height: 4.5rem;
    padding: 1rem;
    border: 3px solid var(--ink);
    border-radius: 50%;
    color: var(--ink);
    background: var(--lime);
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

.toefl-site .toefl-level-test__success .toefl-level-test__actions {
    justify-content: center;
}

@media (min-width: 40rem) {
    .toefl-site .toefl-level-test__fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .toefl-site .toefl-level-test__weekdays,
    .toefl-site .toefl-level-test__days {
        grid-template-columns: repeat(7, 3rem);
        justify-content: space-between;
        column-gap: 0;
        row-gap: 0.35rem;
    }
}

@media (max-width: 30rem) {
    .toefl-site .toefl-level-test__backdrop {
        padding: 0;
    }

    .toefl-site .toefl-level-test__dialog {
        max-height: 100dvh;
        border-right: 0;
        border-left: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .toefl-site .toefl-level-test__header,
    .toefl-site .toefl-level-test__body {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .toefl-site .toefl-level-test__progress li {
        justify-content: center;
        font-size: 0;
    }

    .toefl-site .toefl-level-test__calendar-shell {
        width: min(100%, 19.5rem);
    }

    .toefl-site .toefl-level-test__progress-marker {
        font-size: 0.7rem;
    }

    .toefl-site .toefl-level-test__progress-label {
        display: none;
    }

    .toefl-site .toefl-level-test__actions > button {
        flex: 1 1 auto;
    }
}

/* ==========================================================================
   TOEFL — Movimiento reducido
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    .toefl-site *,
    .toefl-site *::before,
    .toefl-site *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    .toefl-site .toefl-marquee__track {
        display: block;
        width: 100%;
        animation: none !important;
    }

    .toefl-site .toefl-level-test__days button.is-loading::after {
        border-color: color-mix(in srgb, var(--lilac) 45%, var(--border));
        animation: none;
    }

    .toefl-site .toefl-hero__badge--mobility {
        animation: none !important;
        transform: rotate(-3deg);
    }

    .toefl-site .toefl-hero__badge--countries {
        animation: none !important;
        transform: rotate(4deg);
    }

    .toefl-site .toefl-online-world__badge {
        animation: none !important;
        transform: none;
    }

    .toefl-site .toefl-marquee__group {
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.75rem 1.5rem;
        padding: 1.25rem;
        white-space: normal;
    }

    .toefl-site .toefl-marquee__group + .toefl-marquee__group {
        display: none;
    }

    .toefl-site .toefl-new-2026__action,
    .toefl-site .toefl-new-2026__play,
    .toefl-site .toefl-new-2026__video-overlay {
        transition: none;
    }

    .toefl-site .toefl-course-card,
    .toefl-site .toefl-course-card__disclosure--options,
    .toefl-site .toefl-course-card__cta,
    .toefl-site .toefl-courses__advisor a {
        transition: none;
    }

    .toefl-site .toefl-course-card:hover,
    .toefl-site .toefl-course-card__disclosure--options:hover,
    .toefl-site .toefl-course-card__cta:hover,
    .toefl-site .toefl-courses__advisor a:hover {
        transform: none;
    }

    .toefl-site .toefl-calculator__level-content,
    .toefl-site .toefl-calculator__range-controls button,
    .toefl-site .toefl-calculator__recommendation {
        transition: none;
    }

    .toefl-site .toefl-calculator__level:hover .toefl-calculator__level-content {
        transform: none;
    }

    .toefl-site .toefl-calculator__primary {
        transition: none;
    }

    .toefl-site .toefl-calculator__primary:not(:disabled):hover {
        transform: none;
    }

    .toefl-site .toefl-scores__cta--calculator {
        transition: none;
    }

    .toefl-site .toefl-scores__cta--calculator:hover {
        transform: none;
    }

    .toefl-site .toefl-winners__viewport {
        overflow-x: auto;
        scrollbar-color: var(--lime) var(--ink);
    }

    .toefl-site .toefl-winners__track {
        animation: none !important;
        will-change: auto;
    }

    .toefl-site .toefl-winners__group[aria-hidden="true"] {
        display: none;
    }

    .toefl-site .toefl-winner-card {
        transition: none;
    }

    .toefl-site .toefl-winners__photo {
        transition: none;
    }

    .toefl-site .toefl-winners__photo:hover {
        transform: none;
    }

    .toefl-site .toefl-reviews__google-link {
        transition: none;
    }

    .toefl-site .toefl-reviews__google-link:hover {
        transform: none;
    }

    .toefl-site .toefl-exam-center__action,
    .toefl-site .toefl-exam-center__directions,
    .toefl-site .toefl-exam-center__tier > a,
    .toefl-site .toefl-exam-center__play,
    .toefl-site .toefl-exam-center__photo {
        transition: none;
    }

    .toefl-site .toefl-exam-center__action:hover,
    .toefl-site .toefl-exam-center__directions:hover,
    .toefl-site .toefl-exam-center__tier > a:hover,
    .toefl-site .toefl-exam-center__video button:hover .toefl-exam-center__play,
    .toefl-site .toefl-exam-center__photo:hover {
        transform: none;
    }

    .toefl-site .toefl-videos__channel,
    .toefl-site .toefl-video-card,
    .toefl-site .toefl-video-card__player button > img,
    .toefl-site .toefl-video-card__overlay,
    .toefl-site .toefl-video-card__play {
        transition: none;
    }

    .toefl-site .toefl-videos__channel:hover,
    .toefl-site .toefl-video-card:hover {
        transform: none;
    }

    .toefl-site .toefl-video-card__player button:hover .toefl-video-card__play {
        transform: translate(-50%, -50%);
    }

    .toefl-site .toefl-faqs summary svg {
        transition: none;
    }

    .toefl-site .toefl-faq-group > summary {
        transition: none;
    }

    .toefl-site .toefl-contact-card,
    .toefl-site .toefl-contact-card__icon,
    .toefl-site .toefl-contact-card__cta svg,
    .toefl-site .toefl-contact__center address a,
    .toefl-site .toefl-nav__secondary-link,
    .toefl-site .toefl-nav__link,
    .toefl-site .toefl-nav__cta,
    .toefl-site .toefl-hero__cta--primary {
        transition: none;
    }

    .toefl-site .toefl-nav__cta:hover,
    .toefl-site .toefl-hero__cta--primary:hover {
        transform: none;
    }

    .toefl-site a.toefl-contact-card:hover,
    .toefl-site a.toefl-contact-card:hover .toefl-contact-card__icon,
    .toefl-site a.toefl-contact-card:hover .toefl-contact-card__cta svg {
        transform: none;
    }

    .toefl-site .toefl-blog-card,
    .toefl-site .toefl-blog-card__media img,
    .toefl-site .toefl-blog-card__cta {
        transition: none;
    }

    .toefl-site .toefl-blog-card:hover,
    .toefl-site .toefl-blog-card:hover .toefl-blog-card__media img,
    .toefl-site .toefl-blog-card__cta:hover,
    .toefl-site .toefl-blog-card__cta:active {
        transform: none;
    }

    .toefl-site .toefl-footer a {
        transition: none;
    }
}
