/* Mobile-first correction layer loaded after page styles. */
:root {
    --m-space: 16px;
    --m-radius: 8px;
    --m-border: rgba(15, 23, 42, .10);
    --m-text: #111827;
    --m-muted: #64748b;
    --m-surface: #ffffff;
    --m-page: #f8fafc;
}

html {
    -webkit-text-size-adjust: 100%;
}

body.site-body {
    overflow-x: hidden;
}

img,
svg,
video,
iframe {
    max-width: 100%;
}

.page-wrap {
    min-width: 0;
}

@media (max-width: 991.98px) {
    body.site-body {
        background: var(--m-page);
    }

    .site-header {
        top: 0;
        z-index: 1040;
    }

    .navbar-premium {
        padding: 8px 0 !important;
        background: rgba(255, 255, 255, .97) !important;
        border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
        box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
        backdrop-filter: saturate(160%) blur(16px);
    }

    .navbar-premium > .container {
        width: 100%;
        max-width: none !important;
        min-height: 58px;
        padding-left: var(--m-space) !important;
        padding-right: var(--m-space) !important;
    }

    .navbar-brand.brand {
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    .brand-logo {
        width: 96px !important;
        height: 46px !important;
        border-radius: var(--m-radius) !important;
    }

    .premium-toggler {
        width: 44px !important;
        height: 44px !important;
        flex: 0 0 44px;
        border-radius: var(--m-radius) !important;
        background: #fff !important;
        border-color: rgba(15, 23, 42, .14) !important;
        box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
    }

    .premium-toggler:focus {
        box-shadow: 0 0 0 3px rgba(37, 99, 235, .20);
    }

    .premium-toggler span {
        width: 22px;
        height: 2px;
    }

    .offcanvas-premium {
        width: min(92vw, 390px) !important;
        max-width: 390px;
        background: #0b1220 !important;
        color: #e5e7eb;
        border-left: 1px solid rgba(255, 255, 255, .10);
    }

    .offcanvas-premium .offcanvas-header {
        min-height: 68px;
        padding: 14px 16px;
        background: rgba(255, 255, 255, .04);
        border-color: rgba(255, 255, 255, .08) !important;
    }

    .offcanvas-premium .offcanvas-body {
        padding: 12px 16px 28px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    #mobilePrimaryAccordion,
    #mobileTrainingAccordion,
    #trainingsAccordion {
        margin-top: 0 !important;
    }

    #mobilePrimaryAccordion + #mobileTrainingAccordion {
        margin-top: 6px !important;
    }

    .offcanvas-premium .accordion-item {
        border-bottom: 1px solid rgba(255, 255, 255, .08);
    }

    .offcanvas-premium .accordion-button {
        min-height: 48px;
        padding: 14px 0 !important;
        border-radius: var(--m-radius);
        color: #f8fafc;
        line-height: 1.25;
    }

    .offcanvas-premium .accordion-button:not(.collapsed) {
        color: #93c5fd;
        background: transparent;
    }

    .offcanvas-premium .accordion-body {
        padding: 8px 0 12px !important;
    }

    .m-link,
    .m-sublink {
        min-height: 44px;
        display: flex;
        align-items: center;
        line-height: 1.28;
        overflow-wrap: anywhere;
    }

    .m-link {
        padding: 14px 0 !important;
        font-weight: 650;
    }

    .m-sublink {
        padding: 10px 0 10px 20px !important;
        border-radius: var(--m-radius);
        color: #dbeafe !important;
    }

    .m-sublink:hover,
    .m-link:hover {
        color: #fff !important;
        background: rgba(255, 255, 255, .06);
    }

    .m-social {
        display: flex;
        justify-content: center;
        gap: 10px;
    }

    .m-social a {
        width: 44px;
        height: 44px;
        margin: 0 !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: var(--m-radius);
        background: rgba(255, 255, 255, .06);
    }

    .page-wrap > section:first-child,
    .page-wrap > main:first-child {
        margin-top: 0 !important;
    }

    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl,
    .nyt-container,
    .cd-container,
    .pti-container,
    .xp-container,
    .hn-container,
    .prx,
    .ptypeP,
    .ptypesP,
    .pstats {
        width: 100%;
        max-width: 100% !important;
        padding-left: var(--m-space) !important;
        padding-right: var(--m-space) !important;
    }

    .row {
        --bs-gutter-x: 1rem;
        --bs-gutter-y: 1rem;
    }

    section,
    main {
        scroll-margin-top: 78px;
    }

    :is(.hero-premium, .about-hero, .blog-hero, .contact-hero, .offer-hero, .ifrs-hero, .training-hero, .xp-partners, .tr-list, .ev-list, .ev-detail, .cert-verify, .cd-hero, .trainers-page, .pti, .ptypeP, .ptypesP, .pstats, .ptest, .auth-page, .auth-wrap) {
        padding-top: 34px !important;
        padding-bottom: 28px !important;
    }

    :is(.section-premium, .section-alt, .about-values, .about-metrics, .post-impact, .up-slider-section, .tr-slider-section, .home-blog-premium, .hn-section, .home-event-video, .section-test-cta, .offer-request, .contact-premium, .cd-body, .article-content, .related-articles, .ifrs-section, .manag-section, .tot-section, .markx-section, .leadx-section) {
        padding-top: 34px !important;
        padding-bottom: 34px !important;
    }

    :is(.hero-title, .about-hero h1, .blog-hero h1, .contact-hero h1, .offer-hero h1, .ifrs-left h1, .tr-head h1, .ev-head h1, .ev-hero h1, .nyt-logo, .nyt-article-header h1, .article-hero h1, .cert-verify h1, .cd-title, .tp-title h1, .pti-page-head h1, .prx-title, .ptypeP-title, .ptypesP-title, .pstats-title) {
        font-size: 2rem !important;
        line-height: 1.14 !important;
        letter-spacing: 0 !important;
        overflow-wrap: anywhere;
    }

    :is(.section-title, .post-impact-head h2, .up-slider-head h2, .tr-slider-head h2, .home-blog-head h2, .hev-head h2, .cta-test-title, .ifrs-section h2, .ifrs-header h2, .manag-header h2, .tot-header h2, .markx-header h2, .xp-header h2, .contact-card h2, .contact-info-card h3, .offer-card h2, .pti-how-head h2, .prx-h2, .prx-h3, .cd-card h2, .ev-body h2) {
        font-size: 1.45rem !important;
        line-height: 1.22 !important;
        letter-spacing: 0 !important;
        overflow-wrap: anywhere;
    }

    :is(.hero-text, .about-hero p, .blog-hero p, .contact-hero p, .offer-hero p, .ifrs-subtitle, .section-sub, .post-impact-head p, .home-blog-head p, .pti-page-head p, .pti-how-lead, .prx-summary, .nyt-article-sub, .article-hero p, .cd-sub, .xp-header p) {
        max-width: none !important;
        font-size: 1rem !important;
        line-height: 1.62 !important;
    }

    :is(.hero-premium .row, .ifrs-hero-inner, .manag-hero-inner, .tot-hero-inner, .markx-hero-inner, .leadx-hero-inner, .pms-hero-wrap, .cd-hero-wrap, .prx-hero, .ptypeP-hero, .ptypesP-hero) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 20px !important;
    }

    :is(.hero-cta, .ifrs-actions, .cta-premium, .tp-actions, .auth-actions, .mybtn-row, .pr-actions, .prx-controls, .ptypesP-toolbar, .footer-form-row, .offer-card form .phone-input) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    :is(.btn, .btn-premium, .btn-ifrs-primary, .btn-ifrs-outline, .btn-main, .btn-ghost, .btn-outline-premium, .cd-btn-main, .ev-more, .see-all, .hn-more, .mybtn, .btnPrimary, .btnGhost, .prx-btn, .prx-modalbtn, .tlink, .open-modal-btn) {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        white-space: normal;
        text-align: center;
        line-height: 1.25;
        overflow-wrap: anywhere;
        border-radius: var(--m-radius) !important;
    }

    :is(.hero-cta .btn, .ifrs-actions a, .cta-premium .btn, .contact-form button, .offer-card button, .tr-footer a, .cd-price-card a, .ev-reg .btn-premium, .test-action button, .auth-card .btn, .pr-actions a, .prx-controls a, .ptypesP-toolbar a) {
        width: 100% !important;
    }

    .hero-metrics,
    .ifrs-metrics {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px !important;
        margin-top: 18px !important;
    }

    .metric,
    .mx-metric,
    .metric-box {
        min-width: 0;
        padding: 10px 8px !important;
        text-align: center;
        border-radius: var(--m-radius) !important;
    }

    .metric-val,
    .mx-metric .top {
        font-size: 1.25rem !important;
        line-height: 1.1;
    }

    .metric-label,
    .mx-metric .bottom {
        font-size: .74rem !important;
        line-height: 1.25;
    }

    :is(.hero-intel, .hero-card, .impact-card, .up-slide-card, .tr-card, .blog-featured, .blog-mini, .blog-card, .blog-sidebar, .related-card, .value-card, .team-card, .ifrs-card, .ifrs-card-soft, .ifrs-cred-card, .ifrs-price-card, .download-card, .markx-card, .manag-card, .tot-card, .leadx-card, .prx-card, .pti-how-card, .pti-spec-item, .pstats-card, .qitem, .pfq-item, .seoCard, .railCard, .card, .contact-card, .contact-info-card, .offer-card, .ev-card, .tp-card, .cd-card, .cd-price-card, .auth-card, .cert-result, .xp-inner, .hn-card, .prx-avatarcard, .prx-kpi) {
        min-width: 0;
        border-radius: var(--m-radius) !important;
        box-shadow: 0 12px 30px rgba(15, 23, 42, .08) !important;
    }

    :is(.hero-intel, .hero-card, .impact-card, .blog-featured, .blog-mini, .blog-card, .blog-sidebar, .related-card, .value-card, .team-card, .ifrs-card, .ifrs-card-soft, .ifrs-cred-card, .ifrs-price-card, .download-card, .markx-card, .manag-card, .tot-card, .leadx-card, .prx-card, .pti-how-card, .pstats-card, .qitem, .pfq-item, .seoCard, .railCard, .contact-card, .contact-info-card, .offer-card, .ev-card, .tp-card, .cd-card, .cd-price-card, .auth-card) {
        padding: 16px !important;
    }

    :is(.post-impact-grid, .home-blog-grid, .blog-list-mini, .ifrs-accordion, .manag-accordion, .tot-accordion, .markx-benefits-grid, .leadx-grid, .manag-grid, .tot-grid, .ifrs-grid-2, .download-card, .ev-grid, .tr-grid, .tp-grid, .xp-grid, .hn-grid, .cd-grid, .pti-how-grid, .pti-spec, .prx-grid, .prx-kpis, .prx-bullets--grid, .pstats-grid, .pstats-kpis, .pstats-list, .grid2, .ptypeP-grid, .ptypesP-grid, .ptypesP-seoGrid) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .ifrs-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .ifrs-grid .pill {
        min-width: 0;
        padding: 12px !important;
        border-radius: var(--m-radius) !important;
    }

    .ifrs-left,
    .ifrs-right,
    .cd-hero-left,
    .prx-hero__left,
    .prx-hero__right {
        max-width: 100% !important;
        min-width: 0;
    }

    .price-value,
    .ifrs-price-card .price-value {
        flex-wrap: wrap;
        align-items: baseline;
    }

    .price-value strong,
    .ifrs-price-card strong,
    .cd-price {
        font-size: 2rem !important;
    }

    :is(.hero-intel button, .hi-options button, .prx-tab, .tocLink, .prx-toc__item, .chip, .prx-chip, .prx-pill, .b, .tag, .tp-badge, .up-tags .tag, .tr-tags span, .article-tags a, .article-categories a, .tag-cloud a) {
        max-width: 100%;
        min-height: 36px;
        white-space: normal;
        overflow-wrap: anywhere;
        border-radius: var(--m-radius) !important;
    }

    .hi-options {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .hi-options button {
        justify-content: flex-start;
        text-align: left;
        padding: 12px !important;
    }

    .hi-result {
        margin-top: 12px !important;
    }

    .post-impact-head,
    .up-slider-head,
    .tr-slider-head,
    .home-blog-head,
    .hev-head,
    .xp-header,
    .tr-head,
    .ev-head,
    .section-head,
    .pti-page-head,
    .pti-how-head {
        text-align: left !important;
        margin-bottom: 18px !important;
    }

    .up-slider-head,
    .tr-slider-head,
    .home-blog-head,
    .tp-topbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 12px !important;
    }

    .swiper,
    .swiper-wrapper,
    .swiper-slide {
        min-width: 0;
    }

    .swiper-slide {
        height: auto;
    }

    .up-slide-card,
    .tr-card {
        height: 100%;
    }

    .up-footer,
    .blog-card-footer,
    .article-footer,
    .article-categories,
    .article-tags,
    .cd-meta,
    .ev-meta,
    .tr-info,
    .up-meta,
    .tp-meta,
    .tp-badges,
    .tr-badges,
    .prx-sub,
    .pstats-row,
    .pstats-kpis,
    .footer-bottom {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .up-footer,
    .tr-footer,
    .footer-bottom {
        justify-content: flex-start !important;
    }

    .blog-featured img,
    .blog-card img,
    .related-card img,
    .hn-img img,
    .ev-img img,
    .ev-cover img,
    .nyt-featured-img img,
    .nyt-item-thumb img,
    .article-image img,
    .cd-trainer img,
    .tr-trainer img,
    .tp-avatar-img,
    .xp-inner img {
        max-width: 100%;
        object-fit: cover;
    }

    .blog-featured img,
    .blog-card img,
    .related-card img,
    .hn-img img,
    .ev-img img,
    .nyt-featured-img img,
    .article-image img {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .nyt-header {
        text-align: left !important;
        padding-top: 28px !important;
    }

    .nyt-nav {
        justify-content: flex-start !important;
        overflow-x: auto;
        gap: 14px !important;
        padding-bottom: 10px;
        -webkit-overflow-scrolling: touch;
    }

    .nyt-nav a {
        flex: 0 0 auto;
        min-height: 38px;
        display: inline-flex;
        align-items: center;
    }

    .nyt-grid,
    .nyt-item {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
    }

    .nyt-list {
        border-left: 0 !important;
        padding-left: 0 !important;
    }

    .nyt-item-thumb img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9;
        border-radius: var(--m-radius);
    }

    .nyt-article,
    .article-content,
    .ev-detail {
        padding-top: 30px !important;
    }

    .nyt-article-container {
        max-width: 100% !important;
        padding-left: var(--m-space) !important;
        padding-right: var(--m-space) !important;
    }

    .nyt-article-body,
    .article-text,
    .ev-body {
        font-size: 1rem !important;
        line-height: 1.72 !important;
        overflow-wrap: anywhere;
    }

    .nyt-article-body p:first-of-type::first-letter {
        float: none !important;
        font-size: inherit !important;
        line-height: inherit !important;
        padding: 0 !important;
    }

    .ev-video iframe,
    .hev-video iframe {
        width: 100% !important;
        aspect-ratio: 16 / 9;
        height: auto !important;
        border-radius: var(--m-radius) !important;
    }

    .tp-search,
    .tp-filters,
    .tp-filters select,
    .ptypesP-search,
    .ptypesP-filters,
    .prx-input,
    .prx-select {
        width: 100% !important;
        min-width: 0 !important;
    }

    .tp-avatar-wrap {
        width: 100% !important;
        height: auto !important;
        margin: 12px auto !important;
    }

    .tp-avatar-img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 4 / 3;
        border-radius: var(--m-radius) !important;
    }

    .xp-inner {
        height: 108px !important;
    }

    .cert-verify form,
    .verify-form,
    .contact-form,
    .offer-card form,
    .auth-card form,
    .aitm-modal-form {
        width: 100%;
        max-width: 100%;
    }

    :is(input, select, textarea, button) {
        max-width: 100%;
    }

    :is(.contact-form input, .contact-form textarea, .contact-form select, .offer-card input, .offer-card textarea, .offer-card select, .auth-card input, .auth-card textarea, .auth-card select, .verify-form input, .footer-form input, .aitm-modal input, .aitm-modal textarea, .aitm-modal select, .prx-input, .prx-select, .ptypesP-search input, .tp-search input) {
        min-height: 44px;
        font-size: 16px !important;
        border-radius: var(--m-radius) !important;
    }

    textarea {
        min-height: 120px;
    }

    .phone-input {
        align-items: stretch !important;
    }

    .phone-input span {
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    .footer-premium {
        margin-top: 0 !important;
        padding: 34px 0 20px !important;
    }

    .footer-brand {
        align-items: flex-start !important;
    }

    .footer-form,
    .footer-form-row {
        width: 100%;
    }

    .footer-form input,
    .footer-form button {
        width: 100%;
        min-width: 0 !important;
    }

    .footer-social a {
        width: 44px;
        height: 44px;
        border-radius: var(--m-radius) !important;
    }

    .wa-float {
        right: 14px !important;
        bottom: 14px !important;
        width: 48px;
        height: 48px;
        padding: 0 !important;
        justify-content: center;
        border-radius: 50% !important;
    }

    .wa-float i {
        font-size: 20px !important;
    }

    .aitm-modal {
        padding: 12px;
        align-items: flex-start !important;
    }

    .aitm-modal-box {
        width: 100% !important;
        max-width: 100% !important;
        max-height: calc(100dvh - 24px);
        margin: 0 !important;
        overflow-y: auto;
        border-radius: var(--m-radius) !important;
        padding: 18px !important;
    }

    .aitm-modal-close {
        width: 44px !important;
        height: 44px !important;
        top: 8px !important;
        right: 8px !important;
    }

    .success-toast {
        left: 16px !important;
        right: 16px !important;
        bottom: 16px !important;
        width: auto !important;
        border-radius: var(--m-radius) !important;
    }

    .pti-subheader,
    .pr-subheader,
    .prx-toc,
    .ptypesP-filters,
    .prx-tabs {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .pti-subheader::-webkit-scrollbar,
    .pr-subheader::-webkit-scrollbar,
    .prx-toc::-webkit-scrollbar,
    .ptypesP-filters::-webkit-scrollbar,
    .prx-tabs::-webkit-scrollbar,
    .nyt-nav::-webkit-scrollbar {
        display: none;
    }

    .prx-toc {
        display: flex !important;
        gap: 8px !important;
        padding: 10px var(--m-space) !important;
        margin-left: calc(var(--m-space) * -1) !important;
        margin-right: calc(var(--m-space) * -1) !important;
    }

    .prx-toc__item,
    .prx-tab {
        flex: 0 0 auto;
    }

    .prx-avatar {
        width: 100% !important;
        height: auto !important;
        max-height: 260px;
        object-fit: contain;
    }

    .ptest {
        min-height: auto !important;
    }

    .ptest-body,
    .test-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: var(--m-space) !important;
        padding-right: var(--m-space) !important;
    }

    .test-progress {
        margin-top: 18px !important;
    }

    .questions-container,
    .question-card,
    .tcard {
        min-width: 0;
        width: 100%;
        max-width: 100%;
    }

    .test-action {
        position: sticky;
        bottom: 0;
        z-index: 10;
        padding: 12px 0;
        background: linear-gradient(180deg, rgba(248, 250, 252, 0), var(--m-page) 30%);
    }

    .test-action button {
        min-height: 48px;
        width: 100%;
    }

    .prime-modal {
        padding: 16px !important;
    }

    .prime-card {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: var(--m-radius) !important;
    }

    .page-wrap table {
        width: 100%;
    }

    .page-wrap :not(.table-responsive) > table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 575.98px) {
    :root {
        --m-space: 14px;
    }

    .brand-logo {
        width: 88px !important;
        height: 42px !important;
    }

    :is(.hero-title, .about-hero h1, .blog-hero h1, .contact-hero h1, .offer-hero h1, .ifrs-left h1, .tr-head h1, .ev-head h1, .ev-hero h1, .nyt-logo, .nyt-article-header h1, .article-hero h1, .cert-verify h1, .cd-title, .tp-title h1, .pti-page-head h1, .prx-title, .ptypeP-title, .ptypesP-title, .pstats-title) {
        font-size: 1.7rem !important;
    }

    :is(.section-title, .post-impact-head h2, .up-slider-head h2, .tr-slider-head h2, .home-blog-head h2, .hev-head h2, .cta-test-title, .ifrs-section h2, .ifrs-header h2, .manag-header h2, .tot-header h2, .markx-header h2, .xp-header h2, .contact-card h2, .contact-info-card h3, .offer-card h2, .pti-how-head h2, .prx-h2, .prx-h3, .cd-card h2, .ev-body h2) {
        font-size: 1.28rem !important;
    }

    .hero-metrics,
    .ifrs-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .metric,
    .mx-metric {
        padding: 9px 6px !important;
    }

    .metric-val,
    .mx-metric .top {
        font-size: 1.05rem !important;
    }

    .metric-label,
    .mx-metric .bottom {
        font-size: .68rem !important;
    }

    .ifrs-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .footer-premium .row > [class*="col-"] {
        width: 100%;
    }

    .footer-bottom {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr);
    }

    .offcanvas-premium {
        width: min(94vw, 360px) !important;
    }
}
