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

body {
    background: var(--gwm-color-bg);
    min-width: 320px;
}

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

.gwm-container {
    width: min(100% - 32px, var(--gwm-container));
    margin-inline: auto;
}

.gwm-container-wide {
    width: min(100% - 32px, var(--gwm-container-wide));
    margin-inline: auto;
}

.gwm-section {
    padding: clamp(56px, 8vw, 112px) 0;
}

.gwm-grid {
    display: grid;
    gap: 24px;
}

.gwm-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gwm-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gwm-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gwm-main {
    min-height: 60vh;
}

@media (max-width: 900px) {
    .gwm-grid-2,
    .gwm-grid-3,
    .gwm-grid-4 {
        grid-template-columns: 1fr;
    }
}