/* ==========================================================================
   Intégrate 2026 — rediseño de landing (Figma "Integrate 2026", nodo 225:1518)
   Todo va prefijado con "i26-" y envuelto en .i26 para no chocar con
   style.css / Bootstrap 4 que ya usa el resto del sitio.
   ========================================================================== */

/* fuente propia con nombre único: style.css redefine '@font-face Montserrat'
   apuntando a Monda-Bold.ttf para las clases viejas (.mon-b, etc). Si
   usáramos el nombre 'Montserrat' aquí chocaría con esa regla y el peso
   400 se vería con la fuente equivocada. Por eso se aloja localmente bajo
   un nombre propio que no puede chocar con nada del sitio viejo. */
@import url('fonts-montserrat-i26.css');

.i26 {
    --i26-rose: #ff006e;
    --i26-magenta: #fe01fe;
    --i26-violet: #9f00c6;
    --i26-violet-deep: #2b0054;
    --i26-violet-mid: #401a65;
    --i26-violet-ribbon: #6d008a;
    --i26-violet-registro: #9168ff;
    --i26-violet-soft: #8f65ff;
    --i26-yellow: #ffd200;
    --i26-white: #ffffff;
    font-family: 'MontserratI26', sans-serif;
    overflow-x: hidden;
    overflow-y: hidden;
    position: relative;
}

.i26 * {
    box-sizing: border-box;
}

.i26 a {
    text-decoration: none;
}

.i26 img {
    max-width: 100%;
    display: block;
}

/* --------------------------------------------------------------------------
   Utilidades compartidas: etiqueta/título/descripción de sección, botones
   -------------------------------------------------------------------------- */

.i26-reveal {
    max-width: 900px;
}

.i26-sec-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    font-size: 20px;
    color: var(--i26-rose);
    letter-spacing: 3.5px;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.i26-sec-label::before {
    content: '';
    width: 24px;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--i26-rose), var(--i26-magenta));
    flex-shrink: 0;
}

.i26-sec-title {
    font-weight: 900;
    font-size: 62px;
    line-height: 1;
    letter-spacing: -1.5px;
    text-transform: uppercase;
    margin: 0 0 14px 0;
}

.i26-sec-desc {
    font-weight: 600;
    font-size: 20px;
    line-height: 1.44;
    margin: 0;
}

.i26-grad-text {
    background: linear-gradient(90deg, var(--i26-yellow), var(--i26-magenta));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.i26-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 15px;
    padding: 15px 30px;
    border: none;
    cursor: pointer;
    white-space: nowrap;
}

.i26-btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--i26-rose) 0%, var(--i26-violet) 100%);
    box-shadow: 0 8px 16px rgba(255, 0, 110, .5), inset 0 1px 0 rgba(255, 255, 255, .2);
    transition: transform .25s ease, box-shadow .25s ease;
}

.i26-btn-primary:hover {
    color: #fff;
    transform: scale(1.02);
    box-shadow: 0 16px 24px rgba(255, 0, 110, .65), inset 0 1px 0 rgba(255, 255, 255, .2);
}

.i26-btn-whatsapp {
    color: #4ade80;
    background: rgba(37, 211, 102, .12);
    border: 1px solid rgba(37, 211, 102, .35);
    backdrop-filter: blur(6px);
}

.i26-btn-whatsapp:hover {
    color: #4ade80;
    background: rgba(37, 211, 102, .2);
}

.i26-btn-whatsapp img {
    width: 18px;
    height: 18px;
}

/* --------------------------------------------------------------------------
   MENÚ (Figma node 132:357)
   -------------------------------------------------------------------------- */

html:has(.i26-nav) {
    scroll-behavior: smooth;
}

.i26-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #8028b7;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
}

.i26-nav-inner {
    max-width: 1560px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.i26-nav-logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.i26-nav-logo img {
    height: 42px;
    width: auto;
}

.i26-nav-menu {
    display: flex;
    align-items: center;
    gap: 40px;
}

.i26-nav-links {
    display: flex;
    align-items: center;
    gap: 16px;
}

.i26-nav-link {
    padding: 10px 30px;
    border-radius: 50px;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    white-space: nowrap;
    transition: background-color .2s ease;
}

.i26-nav-link:hover {
    color: #fff;
    background: #ff0b8e;
}

.i26-nav-cta {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 24px;
    border-radius: 40px;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: -.48px;
    white-space: nowrap;
    background:
        linear-gradient(236.99deg, rgb(255, 185, 90) 10.257%, rgb(241, 80, 44) 51.463%, rgb(235, 44, 85) 95.814%),
        linear-gradient(147.69deg, rgb(146, 44, 236) 25.571%, rgb(119, 26, 117) 90.654%);
    transition: transform .25s ease, filter .25s ease;
}

.i26-nav-cta:hover {
    color: #fff;
    transform: scale(1.03);
    filter: brightness(1.08);
}

.i26-nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    cursor: pointer;
    flex-shrink: 0;
}

.i26-nav-toggle span {
    width: 24px;
    height: 2px;
    border-radius: 2px;
    background: #fff;
    transition: transform .25s ease, opacity .25s ease;
}

.i26-nav-toggle.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.i26-nav-toggle.is-open span:nth-child(2) {
    opacity: 0;
}

.i26-nav-toggle.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

#evento,
#que-encontraras,
#formacion-laboral,
#testimonios,
#ubicacion,
#registro {
    scroll-margin-top: 90px;
}

/* Botón flotante de WhatsApp (solo móvil, Figma node 301:1352) */
.i26-wa-float {
    display: none;
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 900;
    width: 62px;
    height: 62px;
    border-radius: 31px;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1fda6a 0%, #128c3e 100%);
    box-shadow: 0 8px 14px rgba(37, 211, 102, .55);
}

.i26-wa-float img {
    width: 30px;
    height: 30px;
}

@media (max-width: 767px) {
    nav.i26-nav {
        padding: 12px 26px;
    }
    .i26-wa-float {
        display: flex;
    }
}

@media (max-width: 991px) {
    .i26-nav-toggle {
        display: flex;
    }

    .i26-nav-menu {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        padding: 16px 24px 24px;
        background: #8028b7;
        box-shadow: 0 15px 20px rgba(0, 0, 0, .35);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
        transition: opacity .25s ease, transform .25s ease, visibility .25s;
    }

    .i26-nav-menu.is-open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .i26-nav-links {
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
    }

    .i26-nav-link {
        text-align: center;
        padding: 12px 20px;
    }

    .i26-nav-cta {
        width: 100%;
        margin-top: 4px;
    }
}

/* --------------------------------------------------------------------------
   HERO
   -------------------------------------------------------------------------- */

.i26-hero {
    position: relative;
    padding: 90px 0 60px;
    overflow: hidden;
}

.i26-hero-bg {
    position: absolute;
    inset: 0;
    background-image: url('../img/bg-escritorio-2026.jpg');
    background-size: cover;
    background-position: top center;
    z-index: 0;
}

.i26-hero-container {
    position: relative;
    z-index: 2;
    max-width: 1560px;
    margin: 0 auto;
    padding: 0 24px;
}

/* -- Showcase: panel con logo UVP + ilustraciones + wordmark + ribbon + stats -- */
.i26-showcase {
    position: relative;
    width: 100%;
    height: 670px;
    margin: 0 auto 40px;
}

.i26-showcase-panel {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: 50px;
    background: #fff;
    isolation: isolate;
}

.i26-showcase-art {
    position: absolute;
    z-index: 1;
    display: block;
    object-fit: contain;
    pointer-events: none;
}

.i26-showcase-art-headphones {
    top: 12px;
    left: 3px;
    width: 236px;
    height: 202px;
    animation: i26-showcase-float-down 4.5s ease-in-out infinite;
}

.i26-showcase-art-books {
    bottom: 37px;
    left: 18px;
    width: 207px;
    height: 183px;
    animation: i26-showcase-float-up 6s ease-in-out infinite;
}

.i26-showcase-art-pencil {
    top: 58px;
    left: 906px;
    width: 151px;
    height: 155px;
    animation: i26-showcase-float-down 4.5s ease-in-out infinite;
}

.i26-showcase-art-student {
    top: 124px;
    right: 123px;
    width: 465px;
    height: 514px;
}
.i26-showcase-panel .i26-showcase-art-books,
.i26-showcase-panel .i26-showcase-art-student {
    display: none;
}

@media (min-width: 1480px) {

    .i26-showcase-panel .i26-showcase-art-books,
    .i26-showcase-panel .i26-showcase-art-student {
        display: block;
    }
}

.i26-showcase-art-elements {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    width: 53.22%;
    height: 100%;
    overflow: hidden;
    border-radius: 0 50px 50px 0;
    pointer-events: none;
    display: none;
}

@media (min-width: 1287px) {
    .i26-showcase-art-elements {
        display: block;
    }
}

.i26-showcase-art-elements img {
    position: absolute;
    top: 0;
    left: 9.9%;
    display: block;
    width: 90.1%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.i26-showcase-art-backpack {
    right: 406px;
    bottom: -185px;
    width: 321px;
    height: 297px;
    animation: i26-showcase-float-up 6s ease-in-out infinite;
}

/* Sin la chica ni los libros de fondo, la mochila se recorre a la derecha
   para ocupar el espacio que dejan libre, y se hace más chica. Por debajo
   de 1120px ya no cabe bien ahí, así que se oculta (vuelve a aparecer,
   centrada, en el tier mobile de abajo). */
@media (min-width: 1121px) and (max-width: 1479px) {
    .i26-showcase-art-backpack {
        right: 5%;
        bottom: -144px;
        width: 250px;
        height: 231px;
    }
}

@media (max-width: 1120px) {
    .i26-showcase-panel .i26-showcase-art-backpack {
        display: none;
    }
}

@keyframes i26-showcase-float-down {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(50px); }
}

@keyframes i26-showcase-float-up {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-50px); }
}

/* Versión suave (menor recorrido) para los items decorativos en móvil */
@keyframes i26-showcase-float-down-sm {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(14px); }
}

@keyframes i26-showcase-float-up-sm {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-14px); }
}

.i26-showcase-content {
    position: absolute;
    z-index: 2;
    top: 39px;
    left: 214px;
    display: flex;
    width: 664px;
    flex-direction: column;
    align-items: center;
}

.i26-university-logos {
    display: block;
    width: 194px;
    height: 80px;
    object-fit: contain;
}

.i26-showcase-wordmark {
    display: flex;
    width: 100%;
    height: 228px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 45px;
}

.i26-integrate-wordmark {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.i26-prepa-wordmark {
    display: block;
    width: 332px;
    height: 64px;
    object-fit: contain;
}

.i26-campus-label {
    display: flex;
    height: 31px;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 10px;
    color: #111;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: -.25px;
}

.i26-campus-label img {
    display: block;
    width: 31px;
    height: 31px;
}

.i26-event-ribbon {
    display: flex;
    width: 533px;
    flex-direction: column;
    margin-top: 43px;
    box-shadow: 8px 7px 4px rgba(0, 0, 0, .28);
    text-align: center;
    text-transform: uppercase;
}

.i26-event-ribbon span {
    display: block;
    min-height: 35px;
    padding: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 6.7px;
    line-height: 19px;
}

.i26-event-ribbon span:first-child {
    background: #f0f;
    color: #fff;
}

.i26-event-ribbon span:last-child {
    background: #ffdf01;
    color: #520179;
}

.i26-event-stats {
    display: flex;
    width: 100%;
    height: 80px;
    align-items: center;
    justify-content: center;
    gap: 27px;
    margin-top: 36px;
    color: #050505;
    text-align: center;
}

.i26-event-stat {
    display: flex;
    height: 80px;
    flex: 0 0 104px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
}

.i26-event-stat-first {
    flex-basis: 114px;
}

.i26-event-stat strong {
    font-size: 38px;
    font-weight: 900;
    line-height: 38px;
    white-space: nowrap;
}

.i26-event-stat span {
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .7px;
    line-height: 1.15;
    text-transform: uppercase;
}

.i26-event-stat-first span {
    max-width: 114px;
}

.i26-stat-divider {
    width: 1px;
    height: 80px;
    background: rgba(0, 0, 0, .65);
}

/* -- Hero real: eyebrow + título + texto + botones + tarjeta -- */
.i26-hero-grid {
    display: flex;
    gap: 50px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.i26-hero-col {
    width: 100%;
    max-width: 560px;
    min-width: 280px;
}

.i26-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 19px;
    border-radius: 50px;
    background: rgba(255, 210, 0, .12);
    border: 1px solid rgba(255, 210, 0, .4);
    backdrop-filter: blur(4px);
    margin-bottom: 20px;
}

.i26-live-dot {
    width: 8px;
    height: 8px;
    border-radius: 4px;
    background: var(--i26-yellow);
    flex-shrink: 0;
}

.i26-hero-eyebrow span {
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--i26-yellow);
}

.i26-hero-title {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: 0;
}

.i26-hero-logo {
    max-width: 372px !important;
    width: 100%;
    margin: 0 0 20px;
}

.i26-hero-body {
    max-width: 500px;
    color: #fff;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.49;
    margin: 0 0 24px;
}

.i26-hero-body b,
.i26-hero-body strong {
    font-weight: 700;
}

.i26-hero-btns {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.i26-hero-card {
    position: relative;
    width: 100%;
    max-width: 560px;
    min-height: 452px;
    padding: 37px 33px;
    border-radius: 36px;
    border: 1px solid rgba(255, 255, 255, .22);
    background: rgba(255, 255, 255, .1);
    backdrop-filter: blur(14px);
    box-shadow: 0 16px 48px rgba(0, 0, 0, .5), inset 0 1px 0 1px rgba(255, 255, 255, .25);
    overflow: hidden;
}

.i26-hero-card::after {
    content: '';
    position: absolute;
    right: -80px;
    top: -80px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 0, 110, .2), rgba(255, 0, 110, 0) 70%);
    pointer-events: none;
}

.i26-event-date-row {
    display: flex;
    align-items: center;
    min-height: 70px;
    gap: 6px;
}

.i26-event-date-big {
    font-weight: 900;
    font-size: 56px;
    color: #fff;
    line-height: 1;
}

.i26-event-month {
    align-self: center;
    margin-top: 8px;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--i26-yellow);
}

.i26-event-divider {
    height: 1px;
    width: 100%;
    margin-top: 6px;
    background: linear-gradient(90deg, rgba(255, 210, 0, .6), rgba(255, 0, 110, .4) 50%, rgba(255, 0, 110, 0));
}

.i26-event-details {
    display: flex;
    width: 100%;
    flex-direction: column;
    position: relative;
    z-index: 1;
}

.i26-event-detail-row {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding-top: 6px;
}

.i26-event-detail-row:first-child {
    min-height: 48px;
    padding-top: 14px;
}

.i26-event-detail-row:last-child {
    padding-bottom: 16px;
}

.i26-event-detail-icon {
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .15);
    backdrop-filter: blur(4px);
}

.i26-event-detail-row span,
.i26-event-detail-row a {
    color: rgba(255, 255, 255, .75);
    font-weight: 500;
    font-size: 12px;
    line-height: 1.25;
}

.i26-event-detail-row a:hover {
    color: #fff;
}

.i26-free-badge {
    display: inline-flex;
    margin-top: 6px;
    padding: 7px 15px;
    border-radius: 50px;
    border: 1px solid rgba(255, 210, 0, .4);
    background: linear-gradient(133deg, rgba(255, 210, 0, .2), rgba(255, 0, 110, .15));
    color: var(--i26-yellow);
    font-weight: 700;
    font-size: 9px;
    letter-spacing: 1.2px;
    line-height: 1.4;
    text-transform: uppercase;
    white-space: nowrap;
}

/* --------------------------------------------------------------------------
   RIBBON
   -------------------------------------------------------------------------- */

.i26-ribbon {
    background: rgba(109, 0, 138, .95);
    border-top: 1px solid rgba(255, 255, 255, .1);
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    padding: 19px 24px;
}

.i26-ribbon-inner {
    max-width: 1120px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 0 32px;
    align-items: center;
    justify-content: center;
}

.i26-ribbon-item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, .9);
    font-weight: 600;
    font-size: 18px;
}

.i26-ribbon-item:hover {
    color: rgba(255, 255, 255, .9);
}

.i26-ribbon-sep {
    color: rgba(255, 255, 255, .2);
    font-size: 20px;
}

/* --------------------------------------------------------------------------
   QUÉ ENCONTRARÁS
   -------------------------------------------------------------------------- */

.i26-find {
    background: #fff;
    padding: 90px 24px;
}

.i26-find-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.i26-find-top {
    display: flex;
    gap: 40px;
    align-items: flex-end;
    flex-wrap: wrap;
    margin-bottom: 48px;
}

.i26-find-text {
    flex: 1 1 380px;
    min-width: 280px;
}

.i26-find-photo {
    flex: 1 1 420px;
    min-width: 280px;
    border-radius: 50px;
    overflow: hidden;
}

@media (max-width: 991px) {

    .i26-find-text,
    .i26-find-photo {
        flex-basis: auto;
        min-width: 0;
        width: 100%;
    }
}

.i26-find-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.i26-find-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.i26-find-card {
    position: relative;
    border-radius: 22px;
    padding: 30px 26px;
    overflow: hidden;
    background: #401a65;
    border: 1px solid rgba(255, 255, 255, .15);
    box-shadow: 0 8px 32px rgba(0, 0, 0, .4), inset 0 1px 0 1px rgba(255, 255, 255, .2);
    transition: box-shadow .3s ease;
}

.i26-find-card:hover {
    box-shadow: 0 24px 56px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 210, 0, .25), inset 0 1px 0 1px rgba(255, 255, 255, .3);
}

.i26-find-card::before {
    content: '';
    position: absolute;
    inset: 0;
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, .06);
    pointer-events: none;
}

.i26-icon-wrap {
    position: relative;
    z-index: 1;
    width: 54px;
    height: 54px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    margin-bottom: 18px;
    border: 1px solid rgba(255, 255, 255, .15);
    background: linear-gradient(135deg, rgba(255, 0, 110, .25), rgba(159, 0, 198, .25));
    transition: transform .3s ease;
}

.i26-icon-wrap img {
    max-width: 26px;
}

.i26-find-card:hover .i26-icon-wrap {
    transform: scale(1.1) rotate(-5deg);
}

.i26-find-card h3 {
    position: relative;
    z-index: 1;
    color: #fff;
    font-weight: 800;
    font-size: 16px;
    margin: 0 0 10px;
}

.i26-find-card p {
    position: relative;
    z-index: 1;
    color: rgba(255, 255, 255, .7);
    font-weight: 600;
    font-size: 16px;
    line-height: 1.34;
    margin: 0;
}

/* --------------------------------------------------------------------------
   FORMACIÓN LABORAL
   -------------------------------------------------------------------------- */

.i26-laboral {
    background: url(../img/fondo-escritorio-2-2026.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 90px 24px;
}

.i26-laboral-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.i26-areas-header {
    max-width: 1008px;
    margin: 0 auto 48px;
    text-align: left;
}

.i26-laboral .i26-sec-desc {
    color: #fff;
    font-weight: 500;
}

.i26-areas-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.i26-area-card {
    position: relative;
    height: 300px;
}

/* -- flip 3D: contenedor con perspectiva + cara que rota en hover/foco -- */
.i26-area-flip {
    position: relative;
    width: 100%;
    height: 100%;
    perspective: 1600px;
}

.i26-area-front,
.i26-area-back {
    position: absolute;
    inset: 0;
    border-radius: 22px;
    overflow: hidden;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transition: transform .6s cubic-bezier(.25, .8, .25, 1);
    transform-style: preserve-3d;
}

.i26-area-front {
    transform: rotateY(0deg);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 33px 25px;
    background: #401a65;
    border: 1px solid rgba(255, 255, 255, .16);
    box-shadow: 0 8px 32px rgba(0, 0, 0, .4), inset 0 1px 0 1px rgba(255, 255, 255, .2);
}

.i26-area-card:hover .i26-area-front,
.i26-area-card:focus-within .i26-area-front {
    transform: rotateY(-180deg);
}

.i26-area-card:hover .i26-area-back,
.i26-area-card:focus-within .i26-area-back {
    transform: rotateY(0deg);
}

.i26-area-front::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, .07);
    backdrop-filter: blur(10px);
    pointer-events: none;
}

.i26-area-blob {
    position: absolute;
    bottom: -60px;
    right: -60px;
    width: 160px;
    height: 160px;
    border-radius: 80px;
    pointer-events: none;
}

.i26-area-emoji {
    position: relative;
    z-index: 1;
    font-size: 52px;
    margin-bottom: 16px;
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, .4));
}

.i26-area-tag {
    position: relative;
    z-index: 1;
    display: inline-block;
    padding: 5px 13px;
    border-radius: 50px;
    border: 1px solid;
    font-weight: 800;
    font-size: 10px;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.i26-area-name {
    position: relative;
    z-index: 1;
    color: #fff;
    font-weight: 800;
    font-size: 16px;
    margin-bottom: 10px;
}

.i26-area-hint {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 5px;
    color: rgba(255, 255, 255, .4);
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

/* colores de acento por categoría (tag + blob decorativo + borde de la cara trasera) */
.i26-area-yellow .i26-area-tag { background: rgba(255, 210, 0, .2); border-color: rgba(255, 210, 0, .35); color: #ffd200; }
.i26-area-yellow .i26-area-blob { background: radial-gradient(circle, rgba(255, 210, 0, .2), rgba(255, 210, 0, 0) 70%); }
.i26-area-yellow .i26-area-back { border-color: #ffd200; }

.i26-area-magenta .i26-area-tag { background: rgba(254, 1, 254, .15); border-color: rgba(254, 1, 254, .3); color: #fe88fe; }
.i26-area-magenta .i26-area-blob { background: radial-gradient(circle, rgba(254, 1, 254, .2), rgba(254, 1, 254, 0) 70%); }
.i26-area-magenta .i26-area-back { border-color: #fe01fe; }

.i26-area-rose .i26-area-tag { background: rgba(255, 0, 110, .15); border-color: rgba(255, 0, 110, .3); color: #ff6ea3; }
.i26-area-rose .i26-area-blob { background: radial-gradient(circle, rgba(255, 0, 110, .2), rgba(255, 0, 110, 0) 70%); }
.i26-area-rose .i26-area-back { border-color: #ff006e; }

.i26-area-violet .i26-area-tag { background: rgba(159, 0, 198, .2); border-color: rgba(159, 0, 198, .35); color: #cf66f0; }
.i26-area-violet .i26-area-blob { background: radial-gradient(circle, rgba(159, 0, 198, .2), rgba(159, 0, 198, 0) 70%); }
.i26-area-violet .i26-area-back { border-color: #9f00c6; }

/* -- cara trasera: lo que aprenderás + CTA -- */
.i26-area-back {
    transform: rotateY(180deg);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 28px 27px 27px;
    background: linear-gradient(135deg, rgba(64, 0, 86, .85), rgba(22, 1, 42, .9));
    backdrop-filter: blur(12px);
    border-style: solid;
    border-width: 1px;
    border-top-width: 2px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .5), inset 0 1px 0 0 rgba(255, 255, 255, .15);
}

.i26-area-back-top {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.i26-area-back-header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.i26-area-back-icon {
    font-size: 28px;
    line-height: 1;
}

.i26-area-back-name {
    color: #fff;
    font-weight: 800;
    font-size: 15px;
    line-height: 18px;
}

.i26-area-back-desc {
    color: rgba(255, 255, 255, .75);
    font-weight: 600;
    font-size: 16px;
    line-height: 21.45px;
    margin: 0;
}

.i26-area-back-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--i26-yellow);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-top: 16px;
}

/* --------------------------------------------------------------------------
   TESTIMONIOS
   -------------------------------------------------------------------------- */

.i26-testi {
    background: #fff;
    padding: 100px 24px;
}

.i26-testi-inner {
    max-width: 1400px;
    margin: 0 auto;
}

.i26-testi-photos {
    display: flex;
    gap: 20px;
    margin-bottom: 56px;
}

.i26-testi-photos>div {
    flex: 1;
    aspect-ratio: 4096/2300;
    border-radius: 50px;
    overflow: hidden;
}

.i26-testi-photos img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.i26-testi-head {
    max-width: 708px;
    margin: 0 auto 56px;
    text-align: center;
}

.i26-testi-head .i26-sec-label {
    justify-content: center;
}

.i26-testi-head .i26-sec-title {
    color: #1a1a1a;
}

.i26-testi-head .i26-sec-desc {
    color: #1a1a1a;
    max-width: 560px;
    margin: 0 auto;
}

.i26-testi-grid {
    display: flex;
    gap: 20px;
}

.i26-testi-card {
    position: relative;
    flex: 1;
    padding: 31px;
    border-radius: 22px;
    overflow: hidden;
    background: var(--i26-violet-soft);
    border: 1px solid rgba(255, 255, 255, .15);
    box-shadow: inset 0 1px 0 1px rgba(255, 255, 255, .2);
}

.i26-testi-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, .07);
    backdrop-filter: blur(10px);
    pointer-events: none;
}

.i26-quote-mark {
    position: relative;
    z-index: 1;
    font-weight: 900;
    font-size: 56px;
    line-height: .7;
    color: var(--i26-rose);
    margin-bottom: 8px;
}

.i26-testi-text {
    position: relative;
    z-index: 1;
    font-weight: 600;
    font-style: italic;
    font-size: 16px;
    line-height: 1.53;
    color: rgba(255, 255, 255, .85);
    margin: 0 0 20px;
}

.i26-testi-author {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 14px;
}

.i26-testi-av {
    width: 46px;
    height: 46px;
    border-radius: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 900;
    font-size: 18px;
    flex-shrink: 0;
    box-shadow: 0 4px 8px rgba(159, 0, 198, .4);
}

.i26-testi-stars {
    color: var(--i26-yellow);
    font-size: 12px;
    letter-spacing: 1px;
    margin-bottom: 4px;
}

.i26-testi-name {
    color: #fff;
    font-weight: 800;
    font-size: 14px;
}

.i26-testi-role {
    color: #fff;
    font-weight: 600;
    font-size: 13px;
}

/* --------------------------------------------------------------------------
   PARA PADRES
   -------------------------------------------------------------------------- */

.i26-padres-wrap {
    padding: 62px 24px 140px;
    background: url(../img/bg-escritorio-2026.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.i26-padres {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 64px;
    padding: 90px 56px;
    border-radius: 52px;
    overflow: hidden;
    background: rgba(255, 255, 255, .06);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, .14);
    box-shadow: 0 20px 60px rgba(0, 0, 0, .45), inset 0 1px 0 1px rgba(255, 255, 255, .18);
}

.i26-padres::before,
.i26-padres::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    z-index: 0;
    pointer-events: none;
}

.i26-padres::before {
    right: -120px;
    top: -120px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(255, 0, 110, .12), rgba(255, 0, 110, 0) 70%);
}

.i26-padres::after {
    left: -80px;
    bottom: -100px;
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(159, 0, 198, .12), rgba(159, 0, 198, 0) 70%);
}

.i26-padres-text {
    position: relative;
    z-index: 1;
    align-self: center;
    color: #fff;
}

.i26-padres-text .i26-sec-desc {
    color: #fff;
}

.i26-padres-list {
    position: relative;
    z-index: 1;
    align-self: center;
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.i26-padres-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.i26-chk {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, .85);
    font-weight: 900;
    font-size: 13px;
    background: linear-gradient(135deg, var(--i26-rose), var(--i26-violet));
    box-shadow: 0 4px 6px rgba(255, 0, 110, .4);
}

.i26-padres-list span {
    color: rgba(255, 255, 255, .85);
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5;
}

.i26-padres-list b,
.i26-padres-list strong {
    font-weight: 800;
}

/* --------------------------------------------------------------------------
   REGISTRO
   -------------------------------------------------------------------------- */

.i26-registro {
    background: var(--i26-violet-registro);
    padding: 100px 24px;
}

.i26-registro-head {
    text-align: center;
    margin: 0 auto 52px;
}

.i26-registro-head .i26-sec-label {
    justify-content: center;
}

.i26-registro-head .i26-sec-title {
    color: #fff;
}

.i26-registro-head .i26-sec-desc {
    color: #fff;
    max-width: 420px;
    margin: 0 auto;
}

.i26-registro-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 52px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.i26-registro-mascota {
    flex: 0 1 420px;
    text-align: center;
    position: relative;
}

.i26-registro-mascota img {
    max-width: 320px;
    margin: 0 auto;
}

.i26-form-wrap {
    position: relative;
    flex: 1 1 600px;
    max-width: 700px;
    padding: 50px 49px;
    border-radius: 52px;
    background: #fff;
    border: 1px solid rgba(255, 255, 255, .16);
    box-shadow: 0 24px 64px rgba(0, 0, 0, .5);
    overflow: hidden;
}

/* style.css trae reglas viejas para #contact-form / #contact-form input (fondo, padding,
   tipografía) que chocan porque reutilizamos el mismo id para no romper el submit por JS.
   Se neutralizan aquí con selectores igual o más específicos. */
#contact-form {
    background-image: none !important;
    padding-right: 0 !important;
    width: 100%;
    min-height: 0;
}

#contact-form .i26-f-field input,
#contact-form .i26-f-field select {
    color: #16012a;
    font-size: 14px;
    font-family: 'MontserratI26', sans-serif;
    padding: 14px 17px;
    border: 1px solid #212529;
    margin: 0;
    width: 100%;
}

#contact-form .i26-f-field input::placeholder {
    color: rgba(22, 1, 42, .55);
    font-size: 14px;
    font-family: 'MontserratI26', sans-serif;
}

.i26-form-head {
    text-align: center;
    margin-bottom: 30px;
}

.i26-form-head h2 {
    font-weight: 900;
    font-size: 32px;
    color: var(--i26-rose);
    text-transform: uppercase;
    margin: 0 0 6px;
}

.i26-form-head p {
    font-weight: 600;
    font-size: 18px;
    color: #111;
    margin: 0;
}

.i26-form-sec {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 22px 0 14px;
}

.i26-form-sec span {
    font-weight: 800;
    font-size: 18px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--i26-rose);
    white-space: nowrap;
}

.i26-form-sec::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--i26-rose);
}

.i26-form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-bottom: 14px;
}

.i26-f-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.i26-f-field.i26-f-full {
    grid-column: 1 / -1;
}

.i26-f-field label {
    font-weight: 700;
    font-size: 11px;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: #000;
    margin-bottom: 4px;
}

.i26-f-field input,
.i26-f-field select {
    width: 100%;
    padding: 15px 17px;
    border-radius: 12px;
    border: 1px solid #212529;
    background: rgba(0, 0, 0, .02);
    font-family: 'MontserratI26', sans-serif;
    font-weight: 500;
    font-size: 14px;
    color: #16012a;
}

.i26-f-field input::placeholder {
    color: rgba(22, 1, 42, .55);
}

.i26-f-field input:focus,
.i26-f-field select:focus {
    outline: none;
    border-color: var(--i26-rose);
}

.i26-form-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    margin-top: 8px;
    padding: 18px;
    border: none;
    border-radius: 50px;
    color: #fff !important;
    font-weight: 800;
    font-size: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    background: linear-gradient(135deg, var(--i26-rose) 0%, var(--i26-violet) 50%, var(--i26-magenta) 100%);
    box-shadow: 0 10px 18px rgba(255, 0, 110, .45), inset 0 1px 0 rgba(255, 255, 255, .2);
    transition: transform .25s ease, box-shadow .25s ease;
}

.i26-form-submit:hover {
    transform: scale(1.02);
    box-shadow: 0 20px 27px rgba(255, 0, 110, .59), inset 0 1px 0 rgba(255, 255, 255, .2);
}

.i26-form-privacy {
    text-align: center;
    font-size: 12px;
    color: #111;
    margin-top: 22px;
    line-height: 1.6;
}

.i26-form-privacy a {
    color: #830089;
    text-decoration: underline;
}

/* --------------------------------------------------------------------------
   UBICACIÓN
   -------------------------------------------------------------------------- */

.i26-ubicacion {
    background: #fff;
    padding: 90px 24px;
}

.i26-ubicacion-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.i26-ubicacion .i26-sec-title {
    color: var(--i26-violet-deep);
}

.i26-loc-card {
    display: grid;
    grid-template-columns: 380px 1fr;
    background: var(--i26-violet-deep);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 52px;
    overflow: hidden;
    box-shadow: 0 16px 48px rgba(0, 0, 0, .45);
    margin-top: 40px;
}

.i26-loc-info {
    position: relative;
    padding: 48px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 18px;
    overflow: hidden;
}

.i26-loc-info::after {
    content: '';
    position: absolute;
    left: -60px;
    bottom: -60px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(159, 0, 198, .2), rgba(159, 0, 198, 0) 70%);
    pointer-events: none;
}

.i26-loc-info h3 {
    position: relative;
    z-index: 1;
    color: #fff;
    font-weight: 900;
    font-size: 30px;
    text-transform: uppercase;
    margin: 0;
    line-height: 1.05;
}

.i26-loc-row {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.i26-loc-icon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .12);
    font-size: 16px;
}

.i26-loc-row span,
.i26-loc-row a {
    color: rgba(255, 255, 255, .7);
    font-weight: 500;
    font-size: 14px;
    line-height: 1.55;
}

.i26-loc-row a:hover {
    color: #fff;
}

.i26-loc-map {
    min-height: 340px;
}

.i26-loc-map img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* --------------------------------------------------------------------------
   FOOTER (propio de la landing; el footer global del layout sigue debajo)
   -------------------------------------------------------------------------- */

.i26-footer {
    background: #1a0a2e;
    padding: 60px 24px 30px;
}

.i26-footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.i26-footer-logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}

.i26-footer-logos img {
    height: 50px;
    width: auto;
}

.i26-footer-text {
    color: rgba(255, 255, 255, .7);
    font-size: 16px;
    text-align: center;
}

.i26-social-links {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
}

.i26-social-links a {
    width: 50px;
    height: 50px;
    border-radius: 25px;
    background: rgba(255, 255, 255, .1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    transition: background .2s ease, box-shadow .2s ease;
}

.i26-social-links a:hover {
    background: var(--i26-rose);
    color: #fff;
    box-shadow: 0 10px 10px rgba(255, 0, 90, .3);
}

.i26-social-links img {
    width: 22px;
    height: 22px;
    filter: brightness(0) invert(1);
}

.i26-copyright {
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, .1);
    padding-top: 31px;
    text-align: center;
    color: rgba(255, 255, 255, .5);
    font-size: 14px;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 991px) {

    #contact-form {
        padding: 0;
    }

    .i26-form-sec::after {
        content: none;
    }

    .i26-form-sec span {
        white-space: normal;
    }

    .i26-sec-title {
        font-size: 46px;
    }

    .i26-hero-grid {
        flex-direction: column;
    }

    .i26-showcase {
        width: 100%;
        height: clamp(480px, 73vw, 670px);
        overflow: hidden;
    }

    .i26-showcase-panel {
        border-radius: 32px;
    }

    .i26-showcase-content {
        top: 28px;
        left: 50%;
        width: 664px;
        transform: translateX(-50%) scale(clamp(0.35, calc((100vw - 88px) / 664px), 0.78));
        transform-origin: top center;
    }

    .i26-showcase-art-headphones {
        top: 15px;
        left: -12px;
        width: 155px;
        height: 132px;
    }

    .i26-showcase-art-books {
        bottom: 8px;
        left: 4px;
        width: 140px;
        height: 124px;
    }

    .i26-showcase-art-pencil {
        top: 30px;
        right: 28%;
        left: auto;
        width: 98px;
        height: 100px;
    }

    .i26-showcase-art-student {
        top: 20%;
        right: -2%;
        width: 47%;
        height: 76%;
    }

    .i26-showcase-art-elements {
        width: 58%;
        border-radius: 0 32px 32px 0;
    }

    .i26-showcase-art-elements img {
        left: 0;
        width: 100%;
    }

    .i26-showcase-panel .i26-showcase-art-backpack {
        display: block;
        right: 24%;
        bottom: -120px;
        width: 150px;
        height: 139px;
    }

    .i26-find-top {
        flex-direction: column;
    }

    .i26-find-grid,
    .i26-areas-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .i26-testi-photos,
    .i26-testi-grid {
        flex-direction: column;
    }

    .i26-padres {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 48px 32px;
    }

    .i26-loc-card {
        grid-template-columns: 1fr;
    }

    .i26-loc-map {
        min-height: 260px;
    }

    .i26-registro-grid {
        flex-direction: column;
    }

    .i26-form-wrap {
        padding: 40px 24px;
    }
}

@media (max-width: 767px) {

    .i26-ubicacion,
    .i26-registro,
    .i26-padres-wrap,
    .i26-laboral,
    .i26-find {
        padding: 40px 24px;
    }

    .i26-sec-title {
        font-size: 40px;
    }

    .i26-sec-desc {
        font-size: 16px;
    }

    /* nav: en el móvil de Figma no hay hamburguesa ni links, solo logo + Registrarme */
    .i26-nav-toggle {
        display: none;
    }

    .i26-nav-links {
        display: none;
    }

    .i26-nav-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        background: none;
        box-shadow: none;
        padding: 0;
        gap: 0;
    }

    .i26-nav-cta {
        width: auto;
        margin-top: 0;
    }

    .i26-nav-inner {
        gap: 0;
        padding: 0;
    }

    .i26-nav-logo img {
        max-width: 120px;
    }

    .i26-hero-container {
        padding: 0;
    }

    /* botones del hero real (Reservar mi lugar / Dudas por WhatsApp): a todo lo ancho */
    .i26-hero-btns {
        flex-direction: column;
    }

    .i26-hero-btns .i26-btn {
        width: 100%;
    }

    .i26-find-grid,
    .i26-areas-grid {
        grid-template-columns: 1fr;
    }

    .i26-hero-card {
        min-height: 0;
        padding: 27px 24px;
    }

    .i26-event-date-big {
        font-size: 48px;
    }

    .i26-event-month {
        font-size: 10px;
        letter-spacing: 1.7px;
    }

    .i26-event-detail-row span,
    .i26-event-detail-row a {
        font-size: 11px;
    }

    .i26-free-badge {
        font-size: 8px;
        letter-spacing: .7px;
        white-space: normal;
    }

    .i26-ribbon-inner {
        justify-content: center;
        gap: 10px 6px;
    }

    .i26-ribbon {
        padding: 19px 16px;
    }

    .i26-ribbon-item {
        font-size: 16px;
    }

    .i26-form-row {
        grid-template-columns: 1fr;
    }

    .i26-padres-wrap {
        background-position: left;
    }

    /* testimonios: carrusel horizontal con scroll-snap, como en Figma mobile */
    .i26-testi {
        padding: 60px 0;
    }


    .i26-testi-photos,
    .i26-testi-grid {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        margin-left: -24px;
        margin-right: -24px;
        padding: 0 24px;
        scrollbar-width: none;
    }

    .i26-testi-photos::-webkit-scrollbar,
    .i26-testi-grid::-webkit-scrollbar {
        display: none;
    }

    .i26-testi-photos>div {
        flex: 0 0 85%;
        scroll-snap-align: center;
    }

    .i26-testi-card {
        flex: 0 0 85%;
        scroll-snap-align: center;
    }

    .i26-testi-head {
        padding: 0 24px;
    }
}

/* -- Showcase mobile: medidas tomadas del diseño de Figma (artboard 360px).
   Desde 768px ya se usa este diseño compacto en vez del recorte de tablet. -- */
@media (max-width: 768px) {
    .i26-showcase {
        width: 100%;
        height: 600px;
    }

    .i26-showcase-panel {
        border-radius: 50px;
    }

    .i26-showcase-art-headphones {
        top: 3.2%;
        left: 0;
        width: 93px;
        height: 79px;
        animation: i26-showcase-float-down-sm 5.5s ease-in-out infinite;
    }

    .i26-showcase-art-pencil {
        top: 3.1%;
        right: 3.8%;
        left: auto;
        width: 78px;
        height: 80px;
        animation: i26-showcase-float-down-sm 5.5s ease-in-out infinite;
    }

    .i26-showcase-panel .i26-showcase-art-backpack {
        right: 24.6%;
        bottom: -80px;
        width: 163px;
        height: 151px;
        animation: i26-showcase-float-up-sm 7s ease-in-out infinite;
    }

    .i26-showcase-content {
        top: 17%;
        left: 0;
        width: 100%;
        transform: none;
    }

    .i26-university-logos {
        width: 100px;
        height: 41px;
    }

    .i26-showcase-wordmark {
        width: 90%;
        max-width: 295px;
        height: auto;
        gap: 4px;
        margin-top: 39px;
    }

    .i26-prepa-wordmark {
        width: 148px;
        height: 28px;
    }

    .i26-campus-label {
        margin-top: 9px;
        gap: 13px;
        font-size: 14px;
    }

    .i26-campus-label img {
        width: 29px;
        height: 29px;
    }

    .i26-event-ribbon {
        width: 90%;
        max-width: 295px;
        margin-top: 39px;
    }

    .i26-event-ribbon span {
        min-height: auto;
        padding: 6px 8px;
        font-size: 11px;
        letter-spacing: 4.5px;
        line-height: normal;
    }

    .i26-event-stats {
        gap: 18px;
        margin-top: 39px;
    }

    .i26-event-stat {
        flex: 0 0 68px;
        height: auto;
    }

    .i26-event-stat-first {
        flex-basis: 73px;
    }

    .i26-event-stat strong {
        font-size: 25px;
        line-height: 25px;
    }

    .i26-event-stat span {
        max-width: 68px;
        font-size: 7px;
    }

    .i26-event-stat-first span {
        max-width: 73px;
    }

    .i26-stat-divider {
        height: 43px;
    }
}

@media (max-width: 480px) {

    .i26-hero,
    .i26-find,
    .i26-laboral,
    .i26-testi,
    .i26-registro,
    .i26-ubicacion {
        padding-left: 16px;
        padding-right: 16px;
    }

    .i26-hero-card {
        padding: 26px 20px;
        border-radius: 28px;
    }

    .i26-form-wrap {
        padding: 24px 18px;
    }

    .i26-event-detail-row {
        gap: 10px;
    }

    .i26-event-detail-icon {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }

    .i26-free-badge {
        padding-inline: 11px;
    }

    .i26-padres {
        padding: 36px 20px;
    }

    /* A este ancho, todo lo que use flex-basis/min-width para acomodarse en columnas
       de tablet debe soltar el mínimo y ocupar el 100% para no desbordar. */
    .i26-hero-col,
    .i26-find-photo,
    .i26-reveal,
    .i26-registro-mascota,
    .i26-form-wrap {
        min-width: 0;
        width: 100%;
        flex-basis: auto;
    }
}