/* Final public UI quality gate: narrowly scoped responsive and interaction fixes. */
.tools-showcase__intro,
.tools-showcase__grid,
.comparison-stage__copy,
.updates-hub__intro,
.updates-hub__cards,
.updates-ticker,
.updates-newsletter {
    min-width: 0;
}

body > .portal-visual-hero,
main:not(.shell) > .portal-visual-hero,
main:not(.shell) > .portal-hero-media {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.cookie-consent__close,
body .survey-modal__close {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
}

.site-header .icon-button,
.mobile-menu .icon-button {
    min-width: 44px;
    min-height: 44px;
}

@media (max-width: 1200px) {
    .updates-hub__main,
    .tools-showcase__inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .updates-ticker {
        grid-template-columns: minmax(0, 1fr);
    }

    .benefit-faq__top {
        grid-template-columns: minmax(0, 1fr);
    }

    .benefit-faq__copy {
        max-width: 720px;
    }

    .category-nav__inner {
        justify-content: flex-start;
        gap: 12px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }

    .category-nav__inner::-webkit-scrollbar {
        display: none;
    }
}

@media (max-width: 1050px) {
    .portal-actions {
        min-width: 44px;
    }

    .portal-actions .portal-survey-cta {
        width: 44px;
        min-width: 44px;
        padding-inline: 0 !important;
    }
}

@media (max-width: 1100px) {
    .other-tools__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

@media (max-width: 850px) {
    .advisor-page .intro,
    .advisor-page .workspace {
        grid-template-columns: minmax(0, 1fr);
    }

    .advisor-page .intro > *,
    .advisor-page .workspace > * {
        min-width: 0;
    }

    .advisor-page .intro h1 {
        font-size: clamp(36px, 10vw, 76px);
        overflow-wrap: anywhere;
        hyphens: auto;
    }
}

@media (max-width: 900px) {
    .updates-ticker__items {
        display: flex;
        min-width: 0;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x mandatory;
    }

    .updates-ticker__items article {
        min-width: 240px;
        scroll-snap-align: start;
    }
}

@media (max-width: 720px) {
    .updates-hub__intro h2 {
        font-size: clamp(32px, 10vw, 39px);
        overflow-wrap: anywhere;
        hyphens: auto;
    }

    .updates-hub__intro > a {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        justify-content: space-between;
        gap: 16px;
    }

    .benefit-faq__copy h2,
    .benefit-faq__questions h2 {
        font-size: clamp(32px, 10vw, 40px);
        overflow-wrap: anywhere;
        hyphens: auto;
    }
}

@media (max-width: 600px) {
    .master-benefits,
    .master-card-grid--four,
    .master-process,
    .master-related,
    .master-faq__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .master-benefits article,
    .master-benefits article > div,
    .master-card-grid article,
    .master-process li,
    .master-related a {
        min-width: 0;
    }

    .master-benefits h3,
    .master-card-grid h3,
    .master-process h3,
    .master-related strong {
        overflow-wrap: anywhere;
        hyphens: auto;
    }
}

@media (max-width: 560px) {
    .tools-showcase h2 {
        font-size: clamp(32px, 10vw, 38px);
        overflow-wrap: anywhere;
        hyphens: auto;
    }

    .tools-showcase__intro > a,
    .comparison-stage__copy > a {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        gap: 16px;
    }

    .tools-showcase__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .tools-showcase-card {
        min-width: 0;
    }
}

@media (max-width: 650px) {
    .other-tools__grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
