/* Cross-browser & mobile compatibility base */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overflow-x: clip;
    max-width: 100%;
}

body {
    overflow-x: clip;
    max-width: 100%;
    width: 100%;
    overscroll-behavior-x: none;
}

.site-main,
.footer-modern {
    max-width: 100%;
    overflow-x: clip;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

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

button,
input,
select,
textarea {
    font: inherit;
}

a,
button {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

@media (max-width: 767.98px) {
    input,
    select,
    textarea,
    .form-control,
    .form-select,
    .form-field {
        font-size: 16px !important;
    }

    .container-wide,
    .container-narrow,
    .container,
    .container-fluid {
        max-width: 100%;
    }

    .hero-carousel,
    .section-block,
    .nav-shell {
        max-width: 100%;
    }

    .nav-shell {
        overflow: visible;
    }

    .section-block {
        overflow-x: clip;
    }

    .marquee-strip {
        max-width: 100%;
        overflow-x: hidden;
    }

    .clients-section {
        max-width: 100%;
        overflow-x: visible;
    }

    .hero-visual-wrap,
    .values-orbit,
    .services-mosaic,
    .portfolio-showcase {
        max-width: 100%;
        overflow-x: clip;
    }

    .marquee-track,
    .clients-marquee-track {
        max-width: none;
    }

    p,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    .section-lead,
    .hero-subtitle {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

@supports (padding: max(0px)) {
    .nav-shell {
        padding-top: max(1rem, env(safe-area-inset-top));
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
    }

    .mobile-panel {
        padding-top: max(5.5rem, calc(5.5rem + env(safe-area-inset-top)));
        padding-bottom: max(2rem, env(safe-area-inset-bottom));
    }

    .admin-topbar {
        padding-top: max(1rem, env(safe-area-inset-top));
    }
}
