html {
    overflow-x: clip;          
    scroll-padding-top: 100px;
}
.grid-container.container {
    padding: 0 24px; 
}

.page-template-page-top .site-main > * {
    margin-bottom: 0;
}
.page-template-page-top.separate-containers .site-main {
    margin: 0;
}

section {
    min-height: clamp(60vh, 90vh, 601px);
    padding-top: clamp(30px, 6vw, 90px) !important;
    padding-bottom: clamp(30px, 6vw, 90px) !important;
}

.section-grey {
    background-color:  #F2F2F2;
}
.section-lightblue {
    background-color: #E4F4FF;
}
.section-white {
    background-color: white;
}

.section-grid-wrapper {
    margin-top: 0;
    justify-content: center;
    display: grid;
    align-items: center;
}

.section-curve {
    position: relative;
    isolation: isolate;
}
.section-curve:nth-of-type(2) {
    z-index: 3;
}
.section-curve:nth-of-type(3) {
    z-index: 2;
}
.section-curve:nth-of-type(4) {
    z-index: 1;
}
.section-curve-down::after, .section-curve-up::before, .section-curve-up-footer::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    width: 100%;
    height: 120px;
    background: inherit;
    pointer-events: none;
}
.section-curve-down::after {
    bottom: -80px;
    left: 50%;
    width: 140%;
    height: 120px;
    transform: translateX(-50%);
    border-radius: 0 0 50% 50% / 0 0 100% 100%;
}
.section-curve-up::before {
    top: -133px;
    left: -34px;
    width: 166%;
    height: 265px;
    border-radius: 51% 50% 0 0 / 175px 123px 57px 91px;
    transform: none;
}
.section-curve-up-footer::before {
    top: -68px;
    z-index: 1;
    left: 50%;
    width: 112%;
    height: 120px;
    transform: translateX(-50%);
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}
.section-curve-down + div > section {
    padding-top: clamp(223px, 13vw, 200px) !important;
}