/**
 * Landing móvil / tablet (< 992px)
 * Ritmo, márgenes y tipografía unificados (sin cambiar HTML).
 */

@media (max-width: 991.98px) {
    :root {
        --section-y: clamp(2.25rem, 6vw, 3.25rem);
        --section-y-tight: clamp(1.5rem, 4vw, 2.25rem);
        --section-inline-padding: clamp(0.875rem, 3.5vw, 1.25rem);
        --fondo2-content-max: min(100%, 36rem);
        --mobile-title-size: clamp(0.8125rem, 3.15vw, 0.9375rem);
        --mobile-subtitle-size: clamp(1rem, 2.75vw, 1.125rem);
        --mobile-subhead-size: clamp(0.8125rem, 2.35vw, 0.9375rem);
        --mobile-row-y: clamp(1.75rem, 5vw, 2.5rem);
        /* Hero móvil: ~80% viewport — aire sin pantalla completa */
        --hero-mobile-min-h: clamp(32rem, 80svh, 40rem);
    }

    /* —— Ritmo vertical y contenedor —— */
    .site-main--stack > section.min-vh-100:not(.section-hero) {
        min-height: auto !important;
    }

    .site-main--stack > section.parallax-container:not(.section-hero) {
        min-height: auto !important;
    }

    .site-main--stack > section:not(.section-hero) .landing-row.min-vh-100,
    .site-main--stack > section:not(.section-hero) .landing-row.py-5 {
        min-height: auto !important;
        padding-block: var(--mobile-row-y) !important;
    }

    /* Hero: ~80% viewport + texto centrado (aire sin 100vh) */
    .site-main--stack > section.section-hero,
    .section-hero,
    .section-hero.min-vh-100 {
        position: relative !important;
        z-index: 5 !important;
        isolation: isolate;
        min-height: var(--hero-mobile-min-h) !important;
        height: auto !important;
        overflow: hidden;
        background-color: transparent !important;
    }

    .section-fondo2 {
        position: relative;
        z-index: 1;
    }

    .section-hero .stack-pin-spacer {
        display: none !important;
        height: 0 !important;
    }

    .section-hero .stack-pin-layer {
        position: relative !important;
        min-height: var(--hero-mobile-min-h) !important;
        height: auto !important;
        overflow: hidden;
        background-color: transparent;
    }

    .section-hero .landing-container,
    body.home .section-hero .landing-container,
    body.front-page .section-hero .landing-container {
        position: relative;
        z-index: 3;
        min-height: var(--hero-mobile-min-h) !important;
        padding-top: calc(var(--header-bar-min-height) + clamp(1.5rem, 4svh, 2.25rem));
        padding-bottom: clamp(2rem, 5svh, 3rem);
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .section-hero .landing-row,
    body.home .section-hero .landing-row,
    body.front-page .section-hero .landing-row {
        align-items: center !important;
        justify-content: center !important;
        min-height: calc(var(--hero-mobile-min-h) - var(--header-bar-min-height)) !important;
        height: auto !important;
        padding-top: clamp(0.5rem, 2svh, 1rem) !important;
        padding-bottom: clamp(1.25rem, 3.5svh, 2rem) !important;
        width: 100%;
        max-width: 100%;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .section-hero .landing-col {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: center !important;
    }

    body.home .section-hero .parallax-moving-layer,
    body.front-page .section-hero .parallax-moving-layer,
    .section-hero .parallax-moving-layer {
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 100% !important;
        min-height: 100% !important;
        transform: none !important;
        z-index: 0 !important;
    }

    .section-hero::before {
        z-index: 1 !important;
    }

    .site-main .landing-container {
        padding-inline: var(--section-inline-padding);
    }

    .site-main .row.g-4,
    .site-main .row.g-lg-5 {
        --bs-gutter-x: 0.85rem;
        --bs-gutter-y: 1.15rem;
    }

    .site-main .landing-col > .display-6,
    .site-main .landing-col > .landing-title,
    .site-main .landing-col > h2 {
        margin-bottom: 1.25rem !important;
    }

    /* —— Títulos de sección: Inter, tipo oración —— */
    .site-main h2.display-6,
    .site-main h2.landing-title,
    .site-main .landing-title,
    .site-main .section-faq__title {
        font-family: var(--font-sans) !important;
        font-size: clamp(1.22rem, 4.75vw, 1.55rem) !important;
        font-weight: 700 !important;
        line-height: 1.32 !important;
        letter-spacing: -0.015em !important;
        text-transform: none !important;
        text-align: center !important;
        text-wrap: balance;
        color: var(--ab-text) !important;
        margin-top: 0 !important;
        margin-bottom: 1.25rem !important;
        padding-inline: 0.15rem;
        max-width: 36rem;
        margin-inline: auto !important;
    }

    /* —— Subtítulos / leads (único criterio) —— */
    .site-main .lead:not(.landing-lead-lg):not(.section-fondo2__lead):not(.cuaderno-cta-line):not(.section-media__lead),
    .site-main .landing-col > p.lead:not(.landing-lead-lg):not(.section-fondo2__lead):not(.cuaderno-cta-line):not(.section-media__lead) {
        font-family: var(--font-sans) !important;
        font-size: var(--mobile-subtitle-size) !important;
        font-weight: 500 !important;
        line-height: 1.55 !important;
        letter-spacing: 0.01em !important;
        text-transform: none !important;
        text-align: center !important;
        text-wrap: balance;
        color: var(--ab-text-muted) !important;
        max-width: 22rem;
        margin-inline: auto !important;
        margin-bottom: 0 !important;
    }

    /* Subtítulos / leads destacados: sans (Inter), negrita */
    .landing-lead-lg,
    .section-media .section-media__lead,
    .card-multimedia-bg .section-media__lead {
        font-family: var(--font-sans) !important;
        font-size: clamp(1.65rem, 5.4vw, 2.35rem) !important;
        font-weight: 700 !important;
        line-height: 1.62 !important;
        color: var(--ab-white) !important;
        max-width: none;
        margin-inline: auto !important;
        text-align: center !important;
    }

    .section-fondo2 .section-fondo2__lead {
        font-family: var(--font-sans) !important;
        font-size: clamp(1.65rem, 5.4vw, 2.35rem) !important;
        font-weight: 700 !important;
        line-height: 1.62 !important;
        color: var(--ab-text) !important;
        max-width: none;
        margin-inline: auto !important;
        text-align: center !important;
    }

    .card-multimedia-bg p.landing-lead-lg {
        font-family: var(--font-sans) !important;
        font-size: clamp(1.35rem, 4.56vw, 1.62rem) !important;
        font-weight: 700 !important;
        line-height: 1.55 !important;
        color: var(--ab-text) !important;
        max-width: 22rem;
        margin-inline: auto !important;
    }

    /* CTA bajo cuadernos: bold y destacado */
    .section-fondo2 .cuaderno-cta-line,
    .section-pilares h2.landing-title,
    .section-cuadernos h2.landing-title {
        font-family: var(--font-sans) !important;
        font-size: clamp(2.1rem, 5.8vw, 2.375rem) !important;
        font-weight: 700 !important;
        line-height: 1.45 !important;
        color: var(--ab-text) !important;
        max-width: 36rem;
        margin-inline: auto !important;
    }

    .section-escritura h2.landing-title {
        font-family: var(--font-sans) !important;
        font-size: clamp(2.1rem, 5.8vw, 2.375rem) !important;
        font-weight: 700 !important;
        line-height: 1.45 !important;
        color: var(--ab-text) !important;
        width: 100% !important;
        max-width: none !important;
        margin-inline: auto !important;
        text-wrap: pretty;
    }

    .section-fondo2 .section-fondo2__lead.text-start,
    .section-media .section-media__lead.text-lg-start {
        text-align: center !important;
    }

    /* Subtítulos de bloque (h3 bajo títulos de sección) */
    .site-main .landing-col h3.fs-5:not(.cuadernos-catalog__subtitle) {
        font-family: var(--font-sans) !important;
        font-size: var(--mobile-subhead-size) !important;
        font-weight: 600 !important;
        letter-spacing: -0.01em !important;
        line-height: 1.4 !important;
        text-transform: none !important;
        text-align: center !important;
        color: var(--ab-text) !important;
        text-wrap: balance;
        margin-top: 1rem !important;
        margin-bottom: 0 !important;
    }

    /* Vídeos: taglines al tamaño de títulos de sección */
    .site-main .section-videos__tagline {
        font-size: clamp(2.1rem, 5.8vw, 2.375rem) !important;
        font-weight: 700 !important;
        line-height: 1.45 !important;
        letter-spacing: 0.1em !important;
        text-transform: uppercase !important;
        max-width: min(36rem, 96vw) !important;
        margin-bottom: 0 !important;
    }

    .site-main .section-videos__taglines {
        gap: clamp(1.25rem, 4vw, 2rem);
        margin-bottom: 1.25rem;
    }

    /* —— Hero: tipografía grande y ancha (proporcional a la referencia) —— */
    .section-hero .hero-kicker {
        font-size: clamp(0.9375rem, 4.2vw, 1.25rem) !important;
        letter-spacing: 0.2em !important;
        margin-bottom: clamp(1.35rem, 4.5vw, 2.25rem) !important;
    }

    .section-hero .hero-title {
        font-size: clamp(2.3rem, 8.2vw, 2.875rem) !important;
        line-height: 1.05 !important;
    }

    .section-hero .hero-subtitle {
        font-size: clamp(1.0625rem, 5.2vw, 1.375rem) !important;
        letter-spacing: 0.01em !important;
    }

    @container hero-copy (min-width: 20rem) {
        .section-hero .hero-title {
            font-size: clamp(2rem, 8vw, 3rem) !important;
        }
    }

    .section-hero .hero-title-wrap {
        margin-bottom: clamp(0.85rem, 2.5vw, 1.1rem) !important;
    }

    .section-hero .hero-subtitle-wrap {
        margin-top: clamp(0.35rem, 1.5vw, 0.65rem);
    }

    .section-hero .hero-text-block {
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
        padding-inline: 0;
        box-sizing: border-box;
        text-align: center;
        container-type: inline-size;
        container-name: hero-copy;
        transform: none;
    }

    .section-hero .hero-title-wrap,
    .section-hero .hero-subtitle-wrap,
    .section-hero .hero-cta-wrap {
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
        text-align: center;
    }

    .section-hero .hero-title__line {
        text-align: center;
    }

    .section-hero .hero-title__line--typed {
        display: block;
        width: 100%;
        text-align: center;
    }

    .section-hero .hero-kicker,
    .section-hero .hero-title,
    .section-hero .hero-title__text,
    .section-hero .hero-subtitle {
        color: #fff !important;
    }

    .section-hero .hero-cta-wrap {
        margin-top: clamp(1.5rem, 5vw, 2.25rem);
    }

    .section-hero .btn-hero-curso {
        width: min(100%, 18rem);
    }

    /* —— Sección tablet + cuadernos —— */
    .section-fondo2 {
        --fondo2-tablet-w: min(94vw, 18.85rem);
        --fondo2-thumb-slot-w: min(99vw, 19.5rem);
        --fondo2-thumb-media-h: min(44vh, 18.2rem);
        --fondo2-thumb-max-h: min(49vh, 20.8rem);
        --fondo2-tablet-max-h: min(52vh, 21.5rem);
    }

    .section-fondo2__group {
        --fondo2-tablet-h: min(62vh, 34rem);
        --fondo2-phone-h: min(57vh, 29.5rem);
        --fondo2-thumb-h: calc(var(--fondo2-phone-h) * 0.92);
        --fondo2-practice-thumb-h: calc(var(--fondo2-thumb-h) * 1.3);
        --fondo2-thumb-box-h: var(--fondo2-practice-thumb-h);
        --fondo2-thumb-box-w: min(calc(var(--fondo2-practice-thumb-h) * 400 / 464), 100%);
        --fondo2-visual-w: calc(var(--fondo2-tablet-h) * 9 / 16);
        --fondo2-row-gap: clamp(1.35rem, 3.5vh, 2rem);
        --fondo2-col-gap: clamp(0.85rem, 2.5vw, 1.35rem);
        max-width: var(--fondo2-content-max);
    }

    .section-fondo2 .landing-container {
        min-height: auto;
        justify-content: flex-start;
        padding-top: clamp(1.5rem, 5svh, 2.5rem);
        padding-bottom: clamp(1rem, 3svh, 1.5rem);
    }

    .section-fondo2 .landing-row {
        padding-top: 0.35rem !important;
        padding-bottom: clamp(0.75rem, 3svh, 1.25rem) !important;
    }

    /* Una columna: evita hueco entre tablet y cuaderno (lead ya no estira la fila) */
    .section-fondo2__row {
        grid-template-columns: 1fr;
        row-gap: clamp(0.65rem, 2vh, 1rem);
        align-items: center;
    }

    /* Fila superior: texto arriba, tablet abajo (orden de lectura) */
    .section-fondo2__row--top {
        grid-template-areas:
            'fondo2-lead'
            'fondo2-tablet';
    }

    .section-fondo2__row--top .section-fondo2__slot--lead {
        grid-area: fondo2-lead;
    }

    .section-fondo2__row--top .section-fondo2__slot--tablet {
        grid-area: fondo2-tablet;
    }

    .section-fondo2__grid {
        gap: clamp(0.65rem, 2vh, 1rem);
    }

    .section-fondo2__slot--lead .section-fondo2__lead {
        min-height: auto !important;
        transform: none !important;
        display: block !important;
    }

    .section-fondo2__slot--lead {
        padding-bottom: 0 !important;
        align-items: center;
    }

    .section-fondo2__group {
        --fondo2-tablet-h: min(42vh, 20rem);
        --fondo2-phone-h: min(38vh, 17.5rem);
        --fondo2-row-gap: clamp(0.65rem, 2vh, 1rem);
    }

    .section-fondo2__content {
        gap: 0.4rem;
    }

    .section-fondo2__stage {
        --fondo2-inner-w: min(28rem, 100%);
        --fondo2-grid-gap-x: 0.35rem;
        --fondo2-grid-gap-y: clamp(0.85rem, 2vh, 1.25rem);
    }

    .fondo2-burst--tablet .section-fondo2__stack--device {
        width: fit-content;
        max-width: min(92vw, 100%);
    }

    .fondo2-burst--tablet,
    .fondo2-burst--practice {
        align-items: center;
    }

    .fondo2-burst--lead {
        align-items: center;
    }

    .fondo2-burst--preview {
        align-items: center;
    }

    .fondo2-burst--preview .section-fondo2__stack {
        align-items: center;
        margin-inline: auto;
    }

    .section-fondo2__stack {
        align-items: center;
    }

    .section-fondo2 .fondo2-burst--lead .section-fondo2__lead {
        font-family: var(--font-sans) !important;
        font-size: clamp(1.56rem, 6vw, 2.1rem) !important;
        font-weight: 700 !important;
        max-width: min(29rem, 94vw);
        margin-inline: auto;
        text-align: center !important;
        color: var(--ab-text) !important;
    }

    .section-fondo2 .cuaderno-cta-line {
        width: min(42rem, 100%);
        max-width: min(42rem, 100%);
        font-size: clamp(2.25rem, 6.7vw, 2.5rem) !important;
        margin-top: 0.5rem !important;
        padding-top: 0.65rem !important;
    }

    .section-pilares h2.landing-title,
    .section-cuadernos h2.landing-title {
        font-size: clamp(2.25rem, 6.7vw, 2.5rem) !important;
        max-width: min(42rem, 100%);
    }

    .section-cuadernos h2.landing-title {
        max-width: min(52rem, 100%);
    }

    .section-escritura h2.landing-title {
        font-size: clamp(2.25rem, 6.7vw, 2.5rem) !important;
        max-width: none !important;
    }

    .site-main .section-videos__tagline {
        /* En móvil: más pequeño que el título gráfico superior ("Intuitivo y simple"). */
        font-size: clamp(.6rem, 5.4vw, 2.05rem) !important;
        line-height: 1.38 !important;
        letter-spacing: 0.08em !important;
    }

    .section-fondo2 .badge-pages {
        font-size: clamp(0.6875rem, 2.6vw, 0.8125rem) !important;
        padding: 0.4rem 0.75rem !important;
    }

    /* —— Pilares / carrusel —— */
    #pilaresCarousel {
        max-width: min(17.5rem, 88vw);
        margin-inline: auto;
    }

    .section-carousel .landing-container {
        display: block;
        min-height: auto !important;
        height: auto !important;
        justify-content: flex-start;
    }

    .section-carousel .landing-row {
        min-height: auto !important;
        height: auto !important;
        align-items: stretch;
        padding-block: var(--mobile-row-y) !important;
    }

    .section-carousel .landing-col {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        width: 100%;
        padding-block: 0.35rem;
    }

    .section-carousel .landing-col {
        max-width: 100%;
    }

    .section-carousel .landing-container {
        max-width: 100% !important;
        padding-inline: 0 !important;
    }

    .section-carousel .landing-col {
        padding-inline: 0;
    }

    .main-carousel {
        width: 100%;
        max-width: none;
        padding-inline: clamp(2.75rem, 11vw, 3.5rem);
        --carousel-visible: 1;
        --carousel-gap: 0;
        --carousel-slide-w: 100%;
        --carousel-img-max-h: min(32rem, 82vw);
    }

    .main-carousel__arrow--prev {
        left: var(--section-inline-padding);
    }

    .main-carousel__arrow--next {
        right: var(--section-inline-padding);
    }

    .main-carousel__slide {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }

    .main-carousel__track {
        gap: var(--carousel-gap);
    }

    .main-carousel__img {
        height: var(--carousel-img-max-h);
    }

    .main-carousel__dots,
    .section-carousel .carousel-indicators {
        margin-bottom: 0 !important;
    }

    /* —— Multimedia / pilares / escritura —— */
    .section-media .landing-container,
    .section-pilares .landing-container,
    .section-escritura .landing-container {
        min-height: auto !important;
    }

    .section-media .landing-row,
    .section-pilares .landing-row,
    .section-escritura .landing-row {
        padding-block: var(--mobile-row-y) !important;
    }

    .section-escritura .escritura-content-block {
        width: 100%;
        max-width: min(56rem, 96vw) !important;
        margin-inline: auto;
    }

    .section-escritura .escritura-reveal-host {
        max-width: none !important;
    }

    .section-escritura .escritura-reveal-media {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }

    /* —— Vídeos —— */
    /*
     * home.css pone position:static en secciones <992px y rompe .section-videos__bg (absolute).
     * Grid apila fondo + contenido como en section-has-partitura.
     */
    #section-videos.section-videos,
    .section-videos {
        position: relative !important;
        isolation: isolate;
        display: grid;
        grid-template-areas: 'videos-stack';
        align-items: stretch;
    }

    .section-videos > .section-videos__bg,
    .section-videos > .landing-container {
        grid-area: videos-stack;
    }

    .section-videos > .section-videos__bg {
        position: relative;
        inset: auto;
        width: 100%;
        height: 100%;
        min-height: 100%;
        align-self: stretch;
        z-index: 0;
        overflow: visible;
        background-color: transparent;
    }

    .section-videos > .landing-container {
        position: relative;
        z-index: 1;
    }

    .section-videos__symbol {
        position: absolute;
        top: -4%;
        bottom: -6%;
        left: 50%;
        transform: translateX(-60%);
        width: auto;
        height: calc(100% + 10%);
        max-width: none !important;
        object-fit: contain;
        backface-visibility: visible;
        -webkit-backface-visibility: visible;
        will-change: auto;
    }

    .section-videos .landing-container {
        padding-inline: var(--section-inline-padding) !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    .section-videos .landing-row {
        padding-block: var(--mobile-row-y) !important;
        margin-inline: 0 !important;
        width: 100%;
    }

    .section-videos .row.mb-4,
    .section-videos .row.mb-lg-5 {
        margin-bottom: 1.15rem !important;
        margin-inline: 0 !important;
    }

    .section-videos .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100%;
    }

    .section-videos .col-12 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .bolas-texto {
        /* Título gráfico superior con mayor presencia visual en móvil. */
        max-height: clamp(13.5rem, 34vw, 16.25rem);
        width: auto;
        max-width: 100%;
        object-fit: contain;
        margin-inline: auto;
        display: block;
    }

    /* —— Cuadernos —— */
    .section-cuadernos {
        padding-block: var(--section-y-tight);
    }

    .section-cuadernos .landing-row {
        padding-block: var(--mobile-row-y) !important;
    }

    .section-cuadernos h2.landing-title {
        max-width: min(52rem, 100%);
        padding-inline: 0.25rem;
    }

    .cuadernos-catalog__header {
        margin-bottom: 0 !important;
    }

    .section-cuadernos .landing-col {
        align-items: stretch !important;
        width: 100%;
        gap: 0.75rem !important;
    }

    .section-cuadernos .cuadernos-catalog__header .landing-title,
    .section-cuadernos h2.landing-title {
        margin-bottom: 0.65rem !important;
    }

    .cuadernos-catalog {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: 0 !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        align-self: stretch;
    }

    /* Móvil: 2 cuadernos arriba; texto mixto y luego imagen */
    .cuadernos-catalog__mosaic {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            'tl tr'
            'br br'
            'bl bl';
        column-gap: clamp(1.25rem, 5vw, 2rem);
        row-gap: clamp(1.75rem, 5vw, 2.5rem);
        align-items: stretch;
        width: 100%;
    }

    .cuadernos-catalog__cell--tl {
        grid-area: tl;
    }

    .cuadernos-catalog__cell--tr {
        grid-area: tr;
    }

    .cuadernos-catalog__cell--bl {
        grid-area: bl;
    }

    .cuadernos-catalog__cell--br {
        grid-area: br;
    }

    .cuadernos-catalog__cell {
        justify-content: center;
        align-items: center;
        min-width: 0;
        overflow: visible;
    }

    .cuadernos-catalog__cell--tl,
    .cuadernos-catalog__cell--tr {
        justify-self: center;
    }

    .cuadernos-catalog__cell--bl {
        display: flex !important;
        flex-direction: column;
        align-items: stretch !important;
        justify-content: center;
        justify-self: stretch;
        align-self: stretch;
        width: 100%;
        min-width: 0;
        padding-block: 0.15rem;
        padding-inline: 0;
    }

    .cuadernos-catalog__cell--br {
        justify-self: stretch;
        align-self: center;
        padding-inline: clamp(0.5rem, 3vw, 1rem);
        padding-bottom: 0.15rem;
    }

    .site-main .section-cuadernos .cuadernos-catalog__cell--br .cuadernos-catalog__subtitle {
        font-family: var(--font-sans) !important;
        font-size: clamp(1.55rem, 6vw, 1.87rem) !important;
        font-weight: 600 !important;
        line-height: 1.45 !important;
        text-align: center !important;
        text-transform: none !important;
        letter-spacing: -0.01em !important;
        max-width: min(26rem, 94vw);
        margin-inline: auto;
    }

    .section-cuadernos img.cuaderno-catalogo {
        /* +40 % sobre 11.5/36vw/18.5 rem · 16.1 rem */
        --cuaderno-catalogo-h: clamp(16.1rem, 50.4vw, 25.9rem);
        --cuaderno-catalogo-w: min(22.54rem, 100%);
        width: auto !important;
        max-width: var(--cuaderno-catalogo-w) !important;
        height: var(--cuaderno-catalogo-h) !important;
        max-height: none !important;
        margin-inline: auto !important;
        object-fit: contain !important;
        object-position: center bottom !important;
    }

    /* Mixto: misma altura que arriba; ancho acorde al grupo (no achicar por fila completa). */
    .section-cuadernos img.cuaderno-catalogo--mixto {
        --cuaderno-catalogo-h: clamp(16.1rem, 50.4vw, 25.9rem);
        --cuaderno-catalogo-w: min(30.8rem, 94vw);
        width: auto !important;
        max-width: var(--cuaderno-catalogo-w) !important;
        height: var(--cuaderno-catalogo-h) !important;
        max-height: none !important;
        margin-inline: auto !important;
        object-fit: contain !important;
        object-position: center bottom !important;
    }

    /* —— Pago + FAQ —— */
    .section-pago .landing-row,
    .section-faq .landing-row {
        padding-block: var(--mobile-row-y) !important;
    }

    .section-pago__panel {
        padding: 1.25rem 1.1rem;
    }

    .section-pago__brand {
        width: 3.5rem;
        height: 2.25rem;
        padding: 0.3rem 0.45rem;
    }

    .section-pago__brand--amex {
        width: 4rem;
    }

    .section-faq .section-faq__title {
        margin-bottom: 1.15rem !important;
    }

    .section-faq__content {
        max-width: 100%;
    }

    .faq-accordion .accordion-button {
        font-size: clamp(1.125rem, 3vw, 1.1875rem) !important;
        font-style: normal !important;
        padding: 0.95rem 1rem;
    }

    .faq-accordion .accordion-body {
        font-size: clamp(1rem, 2.75vw, 1.0625rem) !important;
        font-style: normal !important;
        line-height: 1.65;
    }

    /* —— Testimonios: móvil — solo tarjeta de testimonio (texto), sin foto —— */
    #section-testimonios.section-testimonios {
        display: block !important;
        padding-block: var(--section-y-tight);
        background: #fff !important;
        background-color: #fff !important;
    }

    #section-testimonios .landing-row {
        padding-block: var(--mobile-row-y) !important;
        min-height: auto !important;
    }

    #section-testimonios .testimonial-overlap {
        width: 100%;
        max-width: min(26rem, 100%);
        margin-inline: auto;
    }

    #section-testimonios .testimonial-overlap__photo {
        display: none !important;
    }

    #section-testimonios .testimonial-overlap__quote {
        flex: 1 1 auto;
        width: 100%;
        max-width: 100%;
        margin-left: 0 !important;
    }

    /* —— Cita Annabell — full-width banda —— */
    .section-quote {
        --quote-photo-w: min(14.5rem, 58vw);
    }

    .section-quote__inner {
        flex-direction: column;
        gap: clamp(1.5rem, 5vw, 2rem);
        padding: clamp(2rem, 6vw, 2.75rem) clamp(1rem, 4vw, 1.5rem);
    }

    .section-quote__copy {
        max-width: min(17.5rem, 100%);
    }

    .section-quote__text {
        font-size: clamp(1.95rem, 6vw, 2.45rem) !important;
        line-height: 1.28 !important;
        letter-spacing: 0.05em !important;
        margin-bottom: 1.375rem !important;
    }

    .section-quote__name {
        font-size: 1.0625rem;
    }

    .section-quote__role-line {
        font-size: 0.9375rem;
    }

    /* Centrado de mockups e imágenes */
    .site-main .landing-col img.img-fluid,
    .site-main .landing-col > .img-fluid,
    .site-main .tablet-frame,
    .site-main .video-horizontal-frame {
        margin-inline: auto;
    }

    /* Video piano centrado en móviles pequeños */
    .section-videos__visual {
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
        display: flex;
        justify-content: center;
    }

    .video-horizontal-frame--piano {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

}
