@media (max-width: 1120px) {
    :root {
        --header-height: 78px;
    }

    .main-nav {
        gap: 17px;
    }

    .main-nav > a:not(.button) {
        font-size: .75rem;
    }

    .brand img {
        width: 155px;
    }

    .hero-grid,
    .inner-hero-grid {
        grid-template-columns: 1.05fr .95fr;
        gap: 50px;
    }

    .orbit-one { width: 400px; height: 400px; }
    .orbit-two { width: 315px; height: 315px; }

    .method-timeline {
        gap: 4px;
    }

    .benefit-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1px;
    }

    .benefit-grid li,
    .benefit-grid li:last-child {
        border: 1px solid rgba(255, 255, 255, .15);
    }

    .award-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Navegación y controles táctiles móviles */
@media (max-width: 1023px) {
    .main-nav {
        justify-content: flex-start;
        padding: max(104px, calc(env(safe-area-inset-top) + 92px)) 30px 42px;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .mobile-nav-branding {
        display: grid;
        width: 100%;
        justify-items: start;
        margin-bottom: 20px;
    }

    .mobile-nav-cuburu {
        display: block;
        width: min(70vw, 310px);
        height: auto;
    }

    .mobile-nav-home {
        display: block;
        width: max-content;
        max-width: 100%;
    }

    .mobile-nav-partner-wrap {
        display: grid;
        width: 100%;
        justify-items: start;
        margin-top: auto;
        padding-top: 28px;
        padding-bottom: max(4px, env(safe-area-inset-bottom));
    }

    .mobile-nav-partner {
        display: grid;
        width: min(28vw, 124px);
        min-height: 48px;
        place-items: center;
        padding: 7px 9px;
        border-radius: 10px;
        background: #fff;
    }

    .mobile-nav-partner img {
        display: block;
        width: 100%;
        height: auto;
        max-height: 38px;
    }

    .home-page .home-first-section {
        padding-top: calc(var(--header-height) + 44px);
        scroll-margin-top: var(--header-height);
        transition: none;
    }

    .home-page .hero-transition-layer {
        overflow: hidden;
    }

    .home-page .hero-split-half {
        will-change: auto;
        transition: none;
    }

    .home-page .hero-split-half-top,
    .home-page .hero-split-half-bottom {
        transform: none !important;
    }

    .mobile-swipe-surface {
        touch-action: pan-y;
    }

    .home-page .service-grid {
        display: flex;
        gap: 16px;
        padding: 6px 2px 22px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-padding-inline: 2px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .resources-page .resource-grid {
        display: flex;
        gap: 16px;
        padding: 6px 2px 22px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-padding-inline: 2px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .leadership-page .course-grid {
        display: flex;
        gap: 16px;
        padding: 6px 2px 22px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-padding-inline: 2px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .home-page .service-grid::-webkit-scrollbar,
    .resources-page .resource-grid::-webkit-scrollbar,
    .leadership-page .course-grid::-webkit-scrollbar {
        display: none;
    }

    .home-page .service-card-reveal {
        flex: 0 0 100%;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    .resources-page .resource-card-reveal {
        flex: 0 0 100%;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    .leadership-page .course-card-reveal {
        flex: 0 0 100%;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    .mobile-service-controls,
    .mobile-resource-controls,
    .mobile-course-controls {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
        margin-top: 2px;
    }

    .mobile-service-controls button,
    .mobile-resource-controls button,
    .mobile-course-controls button {
        display: grid;
        width: 50px;
        height: 50px;
        place-items: center;
        padding: 0;
        color: #fff;
        font-size: 1.35rem;
        line-height: 1;
        background: var(--turquoise);
        border: 0;
        border-radius: 50%;
        box-shadow: 0 12px 28px rgba(0, 165, 157, .22);
        cursor: pointer;
    }

    .mobile-service-controls button:active,
    .mobile-resource-controls button:active,
    .mobile-course-controls button:active {
        transform: scale(.95);
    }

    .clients-mobile-marquee .logo-marquee-track {
        animation-play-state: running !important;
    }

    .award-marquee .logo-marquee-track {
        animation-play-state: running !important;
    }

    .clients-mobile-marquee .logo-marquee,
    .project-selector-marquee {
        touch-action: pan-y;
    }

    .solution-panels {
        touch-action: pan-y;
    }
}

@media (max-width: 1023px) {
    :root {
        --container: calc(100% - 40px);
    }

    .header-inner {
        width: calc(100% - 40px);
    }

    .main-nav {
        padding-right: 28px;
        padding-left: 28px;
    }

    .section {
        padding-top: 74px;
        padding-bottom: 74px;
    }

    .resources-catalog .resource-card-copy {
        min-height: 190px;
        align-items: center;
        justify-content: center;
        padding: 22px 18px 24px;
        text-align: center;
    }

    .resources-catalog .resource-card .card-label {
        margin-bottom: 9px;
        font-size: .78rem;
        letter-spacing: .15em;
    }

    .resources-catalog .resource-card h3 {
        max-width: 310px;
        margin-bottom: 0;
        font-size: 1.58rem;
        line-height: 1.18;
    }

    .resources-catalog .resource-card .text-link {
        margin-top: 22px;
        font-size: .94rem;
    }

    .leadership-intro .editorial-grid > div,
    .leadership-intro .editorial-copy {
        width: 100%;
        text-align: center;
    }

    .leadership-intro .editorial-grid > div:first-child .eyebrow,
    .leadership-intro .editorial-grid > div:first-child h2 {
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }

    .service-card p,
    .solution-description,
    .steps-list p,
    .project-detail-card p,
    .course-card p {
        font-size: 1rem;
        line-height: 1.62;
    }

    .service-card h3,
    .project-detail-card h3,
    .course-card h3 {
        line-height: 1.18;
    }
}

@media (max-width: 1023px) {
    .leadership-hero-mark {
        border-radius: 28px;
    }

    .leadership-hero-partner {
        min-height: 104px;
        padding: 16px 30px 18px;
    }

    .leadership-hero-partner img {
        max-height: 76px;
    }
}

@media (max-width: 1023px) {
    :root {
        --container: min(100% - 36px, 760px);
    }

    .menu-toggle {
        display: block;
        position: relative;
        z-index: 2;
    }

    .menu-toggle[aria-expanded="true"] span:nth-of-type(2) {
        transform: translateY(7px) rotate(45deg);
    }

    .menu-toggle[aria-expanded="true"] span:nth-of-type(3) {
        opacity: 0;
    }

    .menu-toggle[aria-expanded="true"] span:nth-of-type(4) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .main-nav {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1;
        display: flex;
        width: 100vw;
        height: 100vh;
        align-items: flex-start;
        justify-content: center;
        flex-direction: column;
        padding: 120px 36px 50px;
        gap: 4px;
        background: rgba(13, 15, 29, .99);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-18px);
        transition: opacity .25s ease, transform .25s var(--ease);
    }

    .main-nav.is-open {
        opacity: 1;
        pointer-events: auto;
        transform: none;
    }

    .main-nav > a:not(.button) {
        width: 100%;
        padding: 12px 0;
        font-size: clamp(1.35rem, 5vw, 2rem);
    }

    .main-nav > a:not(.button)::after {
        bottom: 8px;
    }

    .nav-cta {
        margin-top: 24px;
    }

    .hero-home {
        min-height: auto;
        padding-top: calc(var(--header-height) + 70px);
    }

    .hero-grid,
    .inner-hero-grid,
    .feature-grid,
    .about-grid,
    .contact-grid,
    .contact-stack,
    .statement-grid,
    .editorial-grid,
    .testimonials-grid,
    .solution-panel {
        grid-template-columns: 1fr;
    }

    .contact-stack {
        max-width: 760px;
        gap: 46px;
    }

    .hero-copy {
        max-width: 690px;
    }

    .hero-home .hero-copy {
        align-items: center;
    }

    .hero-visual {
        min-height: 430px;
    }

    .logo-marquee-shell {
        padding-top: 18px;
    }

    .logo-card {
        width: 204px;
        min-height: 186px;
    }

    .service-grid,
    .course-grid,
    .resource-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .service-card {
        min-height: 445px;
    }

    .method-timeline {
        grid-template-columns: repeat(3, 1fr);
        gap: 38px 10px;
    }

    .method-timeline::before {
        display: none;
    }

    .method-timeline::after {
        display: none;
    }

    .feature-grid,
    .about-grid {
        gap: 60px;
    }

    .feature-media {
        order: 2;
    }

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

    .statement-anniversary {
        min-height: 320px;
    }

    .leadership-hero-mark {
        min-height: 0;
    }

    .statement-kicker {
        margin-bottom: 0;
    }

    .testimonials-grid {
        gap: 40px;
    }

    .testimonial-intro {
        display: grid;
        grid-template-columns: 1fr auto;
    }

    .testimonial-intro .eyebrow,
    .testimonial-intro h2 {
        grid-column: 1;
    }

    .testimonial-intro .carousel-controls {
        grid-column: 2;
        grid-row: 1 / span 2;
        align-self: end;
    }

    .solution-tabs {
        top: auto;
    }

    .benefit-grid,
    .principles-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .resource-stack {
        min-height: 390px;
    }

    .resource-stack img {
        left: 50%;
    }
}

@media (max-width: 1023px) {
    :root {
        --container: calc(100% - 28px);
        --radius: 18px;
        --radius-lg: 26px;
    }

    body {
        font-size: 16px;
    }

    h1 {
        font-size: clamp(3rem, 15vw, 4.5rem);
    }

    h2 {
        font-size: clamp(2.15rem, 10vw, 3.1rem);
    }

    .section {
        padding: 80px 0;
    }

    .header-inner {
        width: calc(100% - 28px);
    }

    .brand img {
        width: 145px;
    }

    .main-nav {
        padding-inline: 24px;
    }

    .hero-home {
        padding-bottom: 105px;
    }

    .hero-grid,
    .inner-hero-grid {
        gap: 42px;
    }

    .hero-home .hero-copy {
        align-items: center;
    }

    .hero-home .button-row {
        width: 100%;
        justify-content: center;
    }

    .hero-visual {
        min-height: 335px;
    }

    .logo-marquee-shell {
        padding: 10px 0 8px;
    }

    .logo-marquee-track,
    .logo-marquee-group {
        gap: 14px;
    }

    .logo-card {
        width: 166px;
        min-height: 172px;
        padding: 20px 16px 18px;
        border-radius: 24px;
    }

    .logo-card img {
        width: 138px;
        height: 76px;
    }

    .logo-card p {
        margin-top: 14px;
        font-size: .69rem;
        letter-spacing: .12em;
    }

    .orbit-one { width: 320px; height: 320px; }
    .orbit-two { width: 250px; height: 250px; }
    .certainty-card { width: 235px; height: 300px; border-radius: 28px; }
    .certainty-card img { width: 145px; }
    .certainty-card span { font-size: .61rem; }

    .hero-edge {
        bottom: -140px;
        height: 190px;
    }

    .inner-hero {
        min-height: auto;
        padding-top: calc(var(--header-height) + 70px);
    }

    .inner-hero h1 {
        font-size: clamp(3.2rem, 15vw, 4.8rem);
    }

    .heading-inline,
    .cta-band-inner,
    .spotify-panel {
        align-items: flex-start;
        flex-direction: column;
    }

    .heading-inline {
        display: flex;
    }

    .service-grid,
    .course-grid,
    .resource-grid,
    .method-timeline,
    .benefit-grid,
    .principles-list,
    .award-grid {
        grid-template-columns: 1fr;
    }

    .service-card {
        min-height: 420px;
        padding: 30px;
    }

    .method-timeline {
        gap: 0;
    }

    .method-timeline li {
        display: grid;
        padding: 20px 0;
        border-bottom: 1px solid rgba(255, 255, 255, .14);
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 12px;
        text-align: center;
    }

    .method-number,
    .method-icon {
        margin: 0;
        justify-self: center;
    }

    .method-icon {
        width: 58px;
        height: 58px;
        border-width: 2px;
    }

    .method-icon img {
        width: 34px;
        height: 34px;
    }

    .method-timeline strong {
        align-self: center;
        justify-self: center;
        text-align: center;
    }

    .feature-logo-panel {
        min-height: 370px;
        padding: 38px;
    }

    .blanchard-showcase-panel {
        min-height: 470px;
        padding: 30px 0 24px;
    }

    .blanchard-partner-logo {
        min-height: 205px;
        padding: 18px 34px 30px;
    }

    .blanchard-partner-logo img {
        width: min(100%, 340px);
    }

    .award-marquee-shell {
        padding-top: 20px;
    }

    .award-marquee-shell::before,
    .award-marquee-shell::after {
        top: 50px;
        width: 38px;
    }

    .award-marquee-card {
        width: 130px;
        height: 100px;
        padding: 12px;
    }

    .award-marquee-card img {
        max-width: 100px;
        max-height: 70px;
    }

    .about-media {
        padding: 0 0 48px 28px;
    }

    .anniversary-card {
        width: 180px;
        height: 135px;
        padding: 16px;
    }

    .contact-panel a,
    .contact-panel > p {
        gap: 7px;
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-areas:
            "brand brand"
            "nav info";
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 24px;
        row-gap: 42px;
    }

    .footer-brand {
        grid-area: brand;
        text-align: center;
    }

    .footer-brand a,
    .footer-brand img {
        display: block;
        margin-inline: auto;
    }

    .footer-brand img {
        margin-bottom: 18px;
    }

    .footer-brand p {
        margin-inline: auto;
    }

    .footer-nav {
        grid-area: nav;
    }

    .footer-nav,
    .footer-info-column {
        min-width: 0;
        text-align: center;
    }

    .footer-info-column {
        display: grid;
        grid-area: info;
        align-content: start;
        gap: 34px;
    }

    .footer-nav .footer-links,
    .footer-info-column .footer-links {
        justify-items: center;
    }

    .footer-contact,
    .footer-info-column .footer-links {
        font-size: .86rem;
    }

    .footer-contact a {
        overflow-wrap: anywhere;
    }

    .footer-bottom {
        align-items: center;
        flex-direction: column;
        justify-content: center;
        gap: 12px;
        text-align: center;
    }

    .footer-bottom p {
        width: 100%;
    }

    .testimonial-intro {
        display: flex;
    }

    .testimonial-card {
        min-height: 460px;
        padding: 38px 30px;
    }

    .cta-band-inner {
        display: flex;
    }

    .solutions-hero .inner-hero-media img {
        height: min(78vw, 320px);
    }

    .about-hero .about-hero-media img {
        height: min(88vw, 360px);
        object-position: center 69%;
    }

    .statement-anniversary {
        min-height: 250px;
        padding: 30px;
    }

    .solution-tabs {
        position: relative;
        top: auto;
        display: grid;
        padding: 5px;
        overflow: hidden;
        border-radius: 999px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        scroll-snap-type: none;
    }

    .solution-tabs a {
        position: relative;
        width: 100%;
        min-width: 0;
        gap: 3px;
        padding: 8px 5px;
        font-size: .82rem;
        scroll-snap-align: none;
    }

    .solution-tabs .solution-tab-icon {
        width: 24px;
        height: 24px;
    }

    .solution-tabs a + a::before {
        position: absolute;
        top: 28%;
        bottom: 28%;
        left: -1px;
        width: 1px;
        background: rgba(30, 39, 72, .14);
        content: "";
    }

    .solution-tabs a.is-active::before {
        background: rgba(255, 255, 255, .18);
    }

    .solution-overview,
    .steps-panel {
        padding: 30px 24px;
    }

    .solution-title-row {
        align-items: center;
        flex-direction: column;
        text-align: center;
    }

    .steps-list li {
        grid-template-columns: 1fr;
        gap: 8px;
        text-align: center;
    }

    .benefit-grid li,
    .benefit-grid li:last-child {
        min-height: auto;
        border-width: 0 0 1px;
    }

    .benefit-grid .benefit-icon {
        margin-bottom: 22px;
    }

    .principles-list li {
        min-height: 250px;
        grid-template-rows: 82px auto;
        gap: 22px;
    }

    .principles-list .principle-icon {
        width: 82px;
        height: 82px;
    }

    .principles-list .principle-icon img {
        width: 82px;
        height: 82px;
    }

    .course-card {
        min-height: 410px;
    }

    .resource-stack {
        min-height: 340px;
    }

    .resource-stack img {
        left: 50%;
        width: 160px;
    }
}

/* Hero limpio centrado */
@media (max-width: 1023px) {
    .hero-home {
        min-height: 100vh;
        min-height: 100svh;
        padding: 86px 0 70px;
    }

    .hero-home .hero-grid {
        grid-template-columns: 1fr;
    }

    .hero-home .hero-copy {
        max-width: 720px;
    }

    .hero-copy h1,
    .hero-split-content-top h1,
    .inner-hero h1 {
        font-size: clamp(3.6rem, 9vw, 5.6rem);
        line-height: 1.12;
    }

    .hero-lead {
        max-width: 620px;
    }

}

@media (max-width: 1023px) {
    .hero-home {
        padding: 74px 0 58px;
    }

    .hero-home::before {
        background-size: 64px 64px;
    }

    .hero-brand-logo {
        width: min(210px, 64vw);
        margin-bottom: 18px;
    }

    .hero-copy h1,
    .hero-split-content-top h1,
    .inner-hero h1 {
        font-size: clamp(3.35rem, 12.8vw, 4.8rem);
        line-height: 1.12;
    }

    .hero-lead {
        font-size: 1.42rem;
        line-height: 1.48;
        max-width: 88vw;
        margin-top: 18px;
    }

    .hero-home .button-row {
        flex-direction: column;
        align-items: stretch;
        max-width: 310px;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-home .button {
        width: 100%;
        justify-content: center;
    }

    .hero-split-half-top {
        height: 53.05%;
    }

    .hero-split-half-bottom {
        height: 47.05%;
    }

    .hero-transition-layer::after {
        top: 53%;
    }

    .hero-split-content-top {
        bottom: 24px;
    }

    .hero-split-content-bottom {
        top: 20px;
    }

    .hero-split-content-bottom .button-row {
        margin-top: 28px;
    }

    .home-first-section {
        padding-top: 56px;
    }

    .home-first-section .feature-grid {
        gap: 38px;
    }
}

/* Hero lead home refinado */
@media (max-width: 1023px) {
    .hero-home .hero-lead {
        width: min(680px, 90vw);
        max-width: min(680px, 90vw);
        font-size: 14px;
        line-height: 1.45;
        letter-spacing: 0;
    }
}

@media (max-width: 1023px) {
    .hero-home .hero-lead {
        width: 92vw;
        max-width: 92vw;
        font-size: 14px;
        line-height: 1.45;
        letter-spacing: 0;
        margin-top: 14px;
    }
}
/* Mobile card text alignment */
@media (max-width: 1023px) {
    .logo-card,
    .service-card,
    .resource-card,
    .resource-card > a > div,
    .project-card,
    .project-copy,
    .testimonial-card,
    .course-card,
    .solution-overview,
    .steps-panel,
    .steps-list li {
        text-align: center;
        align-items: center;
    }

    .service-card p,
    .resource-card h3,
    .resource-card p,
    .project-copy p,
    .testimonial-card blockquote,
    .testimonial-card figcaption,
    .course-card h3,
    .course-card p,
    .solution-description,
    .steps-list p {
        text-align: center;
        margin-right: auto;
        margin-left: auto;
    }

    .resource-card .text-link,
    .project-card .text-link,
    .course-card .text-link,
    .service-card .text-link {
        justify-content: center;
    }
}

/* Recursos gratuitos: composición móvil sin recortes */
@media (max-width: 1023px) {
    .resources-hero .resource-stack {
        display: block;
        width: 100%;
        max-width: 340px;
        min-height: 270px;
        margin-right: auto;
        margin-left: auto;
        justify-self: center;
        --resource-stack-gap: 34px;
    }

    .resources-hero .resource-stack img {
        display: block;
        left: 50%;
        width: 120px;
        height: auto;
        max-width: none;
        opacity: 1;
        visibility: visible;
    }

    .resources-catalog .resource-card > a {
        grid-template-rows: auto minmax(0, 1fr);
    }

    .resources-catalog .resource-cover {
        height: auto;
        min-height: 0;
        padding: 18px 12px;
        overflow: visible;
    }

    .resources-catalog .resource-cover img {
        width: min(100%, 260px);
        height: auto;
        max-width: 100%;
        max-height: none;
        aspect-ratio: auto;
        object-fit: contain;
    }

    .spotify-panel {
        min-height: auto;
        gap: 30px;
        grid-template-columns: 1fr;
    }

    .spotify-heading {
        width: 100%;
        padding-top: 0;
        text-align: center;
    }

    .spotify-embed,
    .spotify-embed iframe {
        width: 100%;
    }
}
/* Extra mobile panel alignment */
@media (max-width: 1023px) {
    .contact-form-grid {
        grid-template-columns: 1fr;
    }

    .contact-form-wide {
        grid-column: auto;
    }

    .contact-form {
        padding: 24px 18px;
    }

    .contact-aside,
    .contact-heading {
        width: 100%;
        justify-items: center;
        text-align: center;
    }

    .contact-heading .eyebrow,
    .contact-heading h2,
    .contact-heading p {
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }

    .contact-stack .contact-panel a {
        grid-template-columns: 1fr;
        gap: 8px;
        overflow-wrap: anywhere;
    }

    .contact-stack .contact-panel {
        width: min(100%, 300px);
        justify-self: center;
    }

    .contact-stack .contact-panel a:hover,
    .contact-stack .contact-panel a:focus {
        background: transparent;
        box-shadow: none;
    }

    .anniversary-card,
    .benefit-grid li,
    .award-grid figure,
    .spotify-panel,
    .contact-panel,
    .contact-panel a,
    .contact-panel > p {
        text-align: center;
        align-items: center;
        justify-items: center;
    }

    .spotify-panel {
        align-items: center;
    }
}
/* Mobile section heading alignment */
@media (max-width: 1023px) {
    .section-heading,
    .section-heading.center,
    .heading-inline,
    .heading-inline > div,
    .contact-grid > div,
    .feature-copy,
    .about-copy,
    .editorial-copy,
    .statement-grid > div,
    .testimonial-intro,
    .cta-band-inner,
    .spotify-panel > div,
    .inner-hero-grid > div,
    .solution-overview,
    .steps-heading {
        max-width: 100%;
        margin-right: auto;
        margin-left: auto;
        text-align: center;
        align-items: center;
        justify-items: center;
    }

    .section-heading .eyebrow,
    .heading-inline .eyebrow,
    .contact-grid .eyebrow,
    .feature-copy .eyebrow,
    .about-copy .eyebrow,
    .editorial-copy .eyebrow,
    .statement-grid .eyebrow,
    .testimonial-intro .eyebrow,
    .inner-hero .eyebrow,
    .steps-heading .eyebrow,
    .section-heading h2,
    .heading-inline h2,
    .contact-grid h2,
    .feature-copy h2,
    .about-copy h2,
    .editorial-copy h2,
    .statement-grid h2,
    .testimonial-intro h2,
    .inner-hero h1,
    .steps-heading h3,
    .section-heading p,
    .heading-inline p,
    .contact-grid p:not(.eyebrow),
    .feature-copy p:not(.eyebrow),
    .about-copy p,
    .editorial-copy p,
    .statement-grid p,
    .testimonial-intro p,
    .inner-hero p:not(.eyebrow) {
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }

    .heading-inline,
    .cta-band-inner,
    .spotify-panel {
        align-items: center;
    }

    .home-first-section .feature-copy .button {
        align-self: center;
    }

    .button-row,
    .feature-copy .button-row,
    .about-copy .button-row,
    .editorial-copy .button-row,
    .contact-grid .button-row,
    .cta-band-inner .button-row {
        justify-content: center;
    }

    .cta-band-inner.cta-title-aligned {
        display: block;
        width: var(--container);
        padding-right: 12px;
        padding-left: 12px;
        box-sizing: border-box;
    }

    .cta-title-aligned > .eyebrow {
        text-align: center;
    }

    .cta-title-row {
        width: 100%;
        gap: 26px;
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .cta-title-row h2,
    .cta-title-row .button {
        justify-self: center;
        text-align: center;
    }
}

/* Prioridad final: respiración lateral y menú móvil */
@media (max-width: 1023px) {
    body .main-nav {
        align-items: flex-start;
        justify-content: flex-start;
        padding: max(104px, calc(env(safe-area-inset-top) + 92px)) 30px 42px;
        overflow-y: auto;
    }
}

@media (max-width: 1023px) {
    :root {
        --container: calc(100% - 40px);
    }

    .header-inner {
        width: calc(100% - 40px);
    }

    body .main-nav {
        padding-right: 28px;
        padding-left: 28px;
    }

    .section {
        padding-top: 74px;
        padding-bottom: 74px;
    }
}
