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

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

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

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

img,
video {
    height: auto;
}

body {
    overflow-wrap: break-word;
}

.blob-a,
.blob-b,
[class*="blur-3xl"].pointer-events-none {
    max-width: 100vw;
}

.brands-track {
    will-change: transform;
}

.home-team-photo {
    width: clamp(14.5rem, 70vw, 18rem);
}

.team-photo-accent {
    width: clamp(15rem, 74vw, 23rem);
}

.home-team-photo img,
.team-photo-accent img {
    object-position: center top;
}

.home-team-photo::before,
.team-photo-accent::before,
.team-photo-accent::after {
    pointer-events: none;
}

@media (max-width: 1023px) {
    .home-team-photo {
        margin-inline: auto;
    }
}

@media (max-width: 640px) {
    h1 {
        font-size: clamp(2.45rem, 12vw, 3.75rem) !important;
        line-height: 1.06 !important;
    }

    h2 {
        font-size: clamp(2rem, 10vw, 3rem) !important;
        line-height: 1.12 !important;
    }

    h3 {
        line-height: 1.18 !important;
    }

    p,
    li,
    label,
    input,
    select,
    textarea {
        max-width: 100%;
    }

    .home-team-photo {
        width: min(82vw, 16rem);
        transform: rotate(-0.75deg);
    }

    .team-photo-accent {
        width: min(84vw, 18rem);
        transform: rotate(0.75deg);
    }

    .home-team-photo::before,
    .team-photo-accent::before {
        inset: 8px 8px -7px -7px;
    }

    .team-photo-accent::after {
        width: 3.75rem;
        height: 1.1rem;
        top: -8px;
    }

    a[class*="rounded-2xl"],
    a[class*="rounded-full"],
    button[class*="rounded-2xl"],
    button[class*="rounded-full"] {
        max-width: 100%;
        white-space: normal;
    }

    .price-badge {
        max-width: 100%;
        white-space: normal;
    }
}

@media (max-width: 380px) {
    section[class*="px-6"],
    div[class*="px-6"] {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    h1 {
        font-size: clamp(2.2rem, 11.5vw, 3.25rem) !important;
    }

    .home-team-photo {
        width: min(78vw, 14.5rem);
    }

    .team-photo-accent {
        width: min(80vw, 16rem);
    }
}
