/* ====================================================
   layout.css — Page structure and scroll snap
   ==================================================== */

html {
    scroll-snap-type: y mandatory;
    overflow-y: scroll;
    height: 100vh;
}

body {
    overflow-x: clip;
    overflow-y: visible;
    height: 100%;
}

/* Page wrapper */
.page {
    position: relative;
    min-height: 100vh;
    padding: 0;
    background-color: var(--a-color-white);
    overflow: visible;
}

/* Main content area */
.main {
    position: relative;
    width: 100%;
}

/* All sections should snap */
section {
    scroll-snap-align: start;
    scroll-snap-stop: always;
    position: relative;
    height: 100vh;
    padding: 144px 24px 24px;
    box-sizing: border-box;
}

/* Responsive section padding */
@media (max-width: 991px) {
    section {
        padding: 128px 16px 16px;
    }
}

@media (max-width: 768px) {
    section {
        padding: 120px 12px 12px;
    }
}

/* Desktop optimizations */
@media (min-width: 1280px) {
    section {
        padding: 160px 32px 32px;
    }
}

@media (min-width: 1440px) {
    section {
        padding: 176px 40px 40px;
    }
}

@media (min-width: 1920px) {
    section {
        padding: 192px 48px 48px;
    }
}

@media (min-width: 2560px) {
    section {
        padding: 224px 64px 64px;
    }
}

@media (min-width: 3840px) {
    section {
        padding: 256px 80px 80px;
    }
}