html,
body {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
}

html {
    overflow-x: clip !important;
}

body {
    position: relative;
    min-width: 0;
    overflow-x: clip !important;
}

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

body > header,
body > main,
body > footer,
main,
main > section,
.isg-header-v3,
.isg-topbar-v3,
.isg-navbar-v3,
.isg-footer-v4 {
    width: 100%;
    max-width: 100%;
}

main,
main > section,
.isg-hero,
.isg-home-hero,
[class*="isg-hero"] {
    overflow-x: clip;
}

.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl,
.container-fluid {
    width: 100%;
    min-width: 0;
}

.row,
.row > *,
[class*="col-"] {
    min-width: 0;
}

img,
picture,
video,
canvas,
iframe,
svg {
    display: block;
    max-width: 100%;
    height: auto;
}

.isg-navbar-v3-inner,
.isg-navbar-actions-v3,
.isg-desktop-menu-v3,
.isg-topbar-v3-inner,
.isg-topbar-contact-v1 {
    min-width: 0;
    max-width: 100%;
}

.isg-navbar-v3-inner {
    width: 100%;
}

.isg-desktop-menu-v3 {
    flex: 1 1 auto;
}

.isg-navbar-actions-v3 {
    flex: 0 0 auto;
}

.isg-navbar-brand-v3 {
    flex: 0 1 auto;
    min-width: 0;
}

.isg-navbar-brand-v3 img {
    width: auto;
    max-width: min(215px, 42vw);
    height: auto;
}

.isg-mobile-menu-v3 {
    width: min(390px, 92vw) !important;
    max-width: 100vw !important;
}

.isg-hero-grid,
.isg-home-hero-grid,
.isg-capability-grid,
.isg-footer-main-v4,
[class*="isg-hero-grid"] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.isg-hero-grid > *,
.isg-home-hero-grid > *,
.isg-capability-grid > *,
.isg-footer-main-v4 > *,
[class*="isg-hero-grid"] > * {
    min-width: 0;
    max-width: 100%;
}

.isg-code-window,
.isg-code-card,
.isg-tech-card,
.isg-hero-visual,
.isg-hero-image,
[class*="isg-code"],
[class*="isg-visual"] {
    max-width: 100% !important;
}

.isg-code-window pre,
.isg-code-card pre,
pre,
code {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

h1,
h2,
h3,
p,
a,
span {
    overflow-wrap: break-word;
}

.isg-footer-trust-v4 {
    align-items: center;
}

.isg-footer-social-v5 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.isg-footer-social-v5 > strong {
    color: #d9e8f5;
    font-size: 0.74rem;
    font-weight: 800;
}

.isg-footer-social-icons-v5 {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.isg-footer-social-icons-v5 a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 31px;
    border: 1px solid rgba(103, 232, 249, 0.2);
    border-radius: 9px;
    color: #a5f3fc;
    background: rgba(103, 232, 249, 0.07);
    text-decoration: none;
    transition:
        color 150ms ease,
        background-color 150ms ease,
        transform 150ms ease;
}

.isg-footer-social-icons-v5 a:hover {
    color: #062039;
    background: #67e8f9;
    transform: translateY(-2px);
}

@media (max-width: 1199.98px) {
    .isg-desktop-menu-v3 {
        display: none !important;
    }

    .isg-hero-grid,
    .isg-home-hero-grid,
    [class*="isg-hero-grid"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .isg-hero-visual,
    .isg-hero-image,
    [class*="isg-hero-visual"] {
        width: 100%;
        max-width: 760px !important;
        margin-right: auto;
        margin-left: auto;
    }
}

@media (max-width: 767.98px) {
    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        padding-right: 16px;
        padding-left: 16px;
    }

    .isg-hero,
    .isg-home-hero,
    [class*="isg-hero"] {
        min-height: 0 !important;
    }

    .isg-hero h1,
    .isg-home-hero h1,
    [class*="isg-hero"] h1 {
        max-width: 100%;
        font-size: clamp(2.25rem, 12vw, 4rem) !important;
        line-height: 1.02;
    }

    .isg-code-window,
    .isg-code-card,
    [class*="isg-code"] {
        width: 100% !important;
        transform: none !important;
    }

    .isg-footer-social-v5 {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 420px) {
    .isg-navbar-brand-v3 img {
        max-width: 145px;
    }

    .isg-language-button-v3 {
        min-width: 0 !important;
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    .isg-hero h1,
    .isg-home-hero h1,
    [class*="isg-hero"] h1 {
        font-size: clamp(2rem, 11.5vw, 3.1rem) !important;
    }
}

@supports not (overflow: clip) {
    html,
    body {
        overflow-x: hidden !important;
    }

    main,
    main > section,
    [class*="isg-hero"] {
        overflow-x: hidden;
    }
}
