html,
body.corporate-site {
    max-width: 100%;
    overflow-x: hidden;
}

body.corporate-site main {
    min-width: 0;
    overflow: clip;
}

body.corporate-site img,
body.corporate-site video,
body.corporate-site iframe,
body.corporate-site svg,
body.corporate-site canvas {
    max-width: 100%;
}

body.corporate-site .row > * {
    min-width: 0;
}

/* Desktop navigation: aligned with navbar-expand-lg from 992px upward. */
@media (min-width: 992px) {
    .corporate-navbar > .container {
        max-width: 1380px;
    }

    .corporate-navbar .navbar-brand img {
        height: 46px;
    }

    .corporate-navbar .nav-link {
        margin: 0;
        padding: .78rem .48rem !important;
        font-size: .82rem;
        white-space: nowrap;
    }

    .corporate-navbar .nav-link::after {
        right: .48rem;
        left: .48rem;
    }

    .corporate-navbar .nav-actions {
        flex: 0 0 auto;
        gap: .45rem !important;
        margin-left: .45rem;
    }

    .corporate-navbar .nav-actions .btn {
        padding: .68rem .82rem;
        font-size: .82rem;
        white-space: nowrap;
    }

    .public-products-menu {
        width: min(900px, calc(100vw - 48px));
        max-height: min(650px, calc(100vh - 150px));
        overflow-y: auto;
    }

    .public-solutions-menu {
        width: min(660px, calc(100vw - 48px));
        max-height: min(540px, calc(100vh - 150px));
        overflow-y: auto;
    }
}

/* The navbar is collapsed only below 992px. Dropdown/mobile navigation
   rules must never affect normal desktop/laptop widths. */
@media (max-width: 991.98px) {
    .corporate-navbar {
        padding: .55rem 0;
    }

    .corporate-navbar .navbar-brand img {
        height: 44px;
    }

    .corporate-navbar .navbar-collapse {
        max-height: calc(100vh - 90px);
        margin-top: .7rem;
        padding: .75rem;
        overflow-y: auto;
        overscroll-behavior: contain;
        background: #fff;
        border: 1px solid #e1e8f0;
        border-radius: 16px;
        box-shadow: 0 18px 45px rgba(8, 35, 68, .13);
    }

    .corporate-navbar .navbar-nav {
        width: 100%;
        align-items: stretch !important;
    }

    .corporate-navbar .nav-item {
        width: 100%;
    }

    .corporate-navbar .nav-link {
        width: 100%;
        margin: 0;
        padding: .7rem .65rem !important;
        border-radius: 9px;
        font-size: .92rem;
    }

    .corporate-navbar .nav-link:hover,
    .corporate-navbar .nav-link:focus {
        background: #f5f8fc;
    }

    .corporate-navbar .nav-link::after {
        display: none;
    }

    .corporate-navbar .dropdown-menu,
    .corporate-navbar .public-products-menu,
    .corporate-navbar .public-solutions-menu,
    .corporate-navbar .public-resources-menu {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: 48vh;
        margin: .25rem 0 .45rem !important;
        padding: .55rem !important;
        overflow-x: hidden;
        overflow-y: auto;
        transform: none !important;
        border: 1px solid #e4eaf2;
        border-radius: 12px;
        box-shadow: none !important;
    }

    .public-products-menu-head {
        align-items: flex-start;
        flex-direction: column;
        gap: .45rem;
        padding: .35rem .35rem .7rem;
    }

    .public-products-menu-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding-top: .55rem;
    }

    .public-products-menu-grid > a,
    .public-solutions-menu > a,
    .public-resources-menu > a {
        min-width: 0;
        padding: .65rem;
    }

    .public-products-menu-grid span,
    .public-solutions-menu span,
    .public-resources-menu span {
        min-width: 0;
    }

    .public-products-menu-grid strong,
    .public-products-menu-grid small,
    .public-solutions-menu span,
    .public-resources-menu strong,
    .public-resources-menu small {
        overflow-wrap: anywhere;
    }

    .public-solutions-menu-footer {
        margin: .35rem .35rem 0;
        padding: .7rem .25rem .15rem;
    }

    .corporate-navbar .nav-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        width: 100%;
        gap: .55rem !important;
        margin-top: .75rem;
        padding-top: .75rem;
        border-top: 1px solid #e7edf4;
    }

    .corporate-navbar .nav-actions .btn {
        width: 100%;
        margin: 0;
        padding: .7rem .65rem;
        font-size: .88rem;
        white-space: normal;
    }
}

/* Tablet */
@media (max-width: 991.98px) {
    .topbar,
    .top-strip {
        display: none !important;
    }

    .corporate-hero,
    .public-products-hero,
    .public-product-detail-hero,
    .flow-hero,
    .resource-hero,
    .article-hero {
        padding-top: 4.25rem;
        padding-bottom: 4.25rem;
    }

    .corporate-hero h1,
    .public-products-hero h1,
    .public-product-detail-hero h1,
    .flow-hero h1,
    .resource-hero h1,
    .article-hero h1 {
        font-size: clamp(2.25rem, 7vw, 3.8rem);
        overflow-wrap: anywhere;
    }

    .platform-preview,
    .public-product-visual {
        min-height: 360px;
        margin-top: 2rem;
    }

    .preview-dashboard {
        transform: none;
    }

    .flow-hero-visual,
    .solution-card,
    .public-product-card,
    .flow-info-card,
    .solution-focus-card {
        max-width: 100%;
    }

    .flow-final-cta-inner,
    .public-product-final-cta-inner,
    .resource-cta {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Phone */
@media (max-width: 767.98px) {
    .corporate-navbar > .container,
    body.corporate-site main > .container,
    body.corporate-site section > .container,
    body.corporate-site footer > .container {
        padding-right: 16px;
        padding-left: 16px;
    }

    .corporate-navbar .navbar-brand img {
        height: 40px;
    }

    .public-products-menu-grid {
        grid-template-columns: 1fr;
    }

    .public-products-menu-head strong,
    .public-products-menu-head a {
        white-space: normal;
    }

    .corporate-hero,
    .public-products-hero,
    .public-product-detail-hero,
    .flow-hero,
    .resource-hero,
    .article-hero {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .corporate-hero h1,
    .public-products-hero h1,
    .public-product-detail-hero h1,
    .flow-hero h1,
    .resource-hero h1,
    .article-hero h1 {
        font-size: clamp(2rem, 10vw, 3rem);
        line-height: 1.08;
        letter-spacing: -.035em;
    }

    .hero-lead,
    .public-products-hero p,
    .public-product-detail-hero .lead,
    .flow-hero .lead,
    .resource-hero p,
    .article-hero p {
        font-size: 1rem;
        line-height: 1.65;
    }

    .hero-actions,
    .resource-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        gap: .7rem;
    }

    .hero-actions .btn,
    .resource-actions .btn,
    .flow-final-cta-inner .btn,
    .public-product-final-cta-inner .btn {
        width: 100%;
    }

    .platform-preview,
    .public-product-visual {
        min-height: auto;
    }

    .preview-glow,
    .public-product-visual-glow {
        width: 80vw;
        height: 80vw;
        max-width: 320px;
        max-height: 320px;
    }

    .preview-dashboard,
    .public-product-console {
        width: 100%;
        max-width: 100%;
    }

    .preview-body {
        min-height: 0;
    }

    .preview-sidebar {
        width: 46px;
        flex: 0 0 46px;
    }

    .preview-content {
        min-width: 0;
        padding: .85rem;
    }

    .preview-stats {
        grid-template-columns: 1fr 1fr;
    }

    .preview-grid,
    .flow-hero-visual,
    .resource-grid-2,
    .resource-grid-3,
    .blog-grid {
        grid-template-columns: 1fr !important;
    }

    .solution-card,
    .public-product-card,
    .flow-info-card,
    .solution-focus-card,
    .resource-grid article {
        min-height: 0;
        padding: 1.35rem;
        border-radius: 18px;
    }

    .flow-final-cta-inner,
    .public-product-final-cta-inner,
    .resource-cta {
        padding: 1.5rem;
        border-radius: 20px;
    }

    .template-filter-bar {
        gap: 1rem;
    }

    .template-filter-pills {
        flex-wrap: nowrap;
        padding-bottom: .35rem;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .template-filter-pills a {
        flex: 0 0 auto;
    }

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

    .footer-buttons {
        display: grid;
        grid-template-columns: 1fr;
        gap: .6rem;
    }

    .footer-buttons .btn {
        width: 100%;
    }

    .footer-bottom,
    .footer-bottom > div {
        align-items: flex-start;
        flex-direction: column;
        gap: .6rem;
    }

    .whatsapp-float,
    .go-top {
        transform: scale(.9);
        transform-origin: bottom right;
    }
}

@media (max-width: 479.98px) {
    .corporate-navbar .nav-actions {
        grid-template-columns: 1fr;
    }

    .preview-stats {
        grid-template-columns: 1fr;
    }

    .preview-stats div:nth-child(n + 2) {
        display: none;
    }

    .public-products-orbit {
        width: min(290px, 86vw);
    }

    .template-hero-stack {
        min-height: 225px;
    }

    .template-hero-stack img {
        width: 108px;
        max-height: 205px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.corporate-site *,
    body.corporate-site *::before,
    body.corporate-site *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}


.corporate-navbar .dropdown-menu:not(.show) {
    display: none !important;
}

.corporate-navbar .dropdown-menu.show {
    visibility: visible;
    opacity: 1;
}

@media (min-width: 992px) {
    .corporate-navbar .public-solutions-menu.show {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .corporate-navbar .public-products-menu.show,
    .corporate-navbar .public-resources-menu.show {
        display: block !important;
    }

    .corporate-navbar .dropdown-menu {
        z-index: 1080;
    }
}

@media (max-width: 991.98px) {
    .corporate-navbar .dropdown-menu.show,
    .corporate-navbar .public-products-menu.show,
    .corporate-navbar .public-solutions-menu.show,
    .corporate-navbar .public-resources-menu.show {
        display: block !important;
    }

    /* Make the collapsed navigation button visible even when no navbar-light
       class is present. */
    .corporate-navbar .navbar-toggler {
        display: inline-grid;
        place-items: center;
        width: 46px;
        height: 42px;
        padding: 0;
        border: 1px solid #ccd8e6;
        border-radius: 12px;
        background: #fff;
    }

    .corporate-navbar .navbar-toggler-icon {
        position: relative;
        width: 22px;
        height: 16px;
        background-image: none !important;
        border-top: 2px solid #17304f;
        border-bottom: 2px solid #17304f;
    }

    .corporate-navbar .navbar-toggler-icon::after {
        content: "";
        position: absolute;
        left: 0;
        top: 5px;
        width: 22px;
        border-top: 2px solid #17304f;
    }
}


@media (min-width: 992px) {
    .corporate-navbar .navbar-toggler {
        display: none !important;
    }

    .corporate-navbar .navbar-collapse,
    .corporate-navbar .navbar-collapse.collapse,
    .corporate-navbar .navbar-collapse.collapsing,
    .corporate-navbar .navbar-collapse.show {
        display: flex !important;
        width: auto !important;
        max-height: none !important;
        margin-top: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .corporate-navbar .navbar-nav {
        display: flex !important;
        width: auto !important;
        align-items: center !important;
        flex-direction: row !important;
    }

    .corporate-navbar .nav-item {
        width: auto !important;
    }

    .corporate-navbar .nav-actions {
        display: flex !important;
        width: auto !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: 0 !important;
    }

    .corporate-navbar .nav-actions .btn {
        width: auto !important;
        white-space: nowrap !important;
    }

    .corporate-navbar .dropdown-menu {
        overflow-x: hidden;
    }
}
