* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

@font-face {
    font-family: 'Inter';
    src: url('../assets/fonts/Inter/Inter-VariableFont_opsz,wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../assets/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

/*
  MD Nichrome @font-face rules
  Using local files from assets/fonts/MD Nichrome/
*/
@font-face {
    font-family: 'MD Nichrome';
    src: url('../assets/fonts/MD Nichrome/MDNichrome-Regular.woff2') format('woff2'),
         url('../assets/fonts/MD Nichrome/MDNichrome-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'MD Nichrome';
    src: url('../assets/fonts/MD Nichrome/MDNichrome-Bold.woff2') format('woff2'),
         url('../assets/fonts/MD Nichrome/MDNichrome-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'MD Nichrome';
    src: url('../assets/fonts/MD Nichrome/MDNichrome-Dark.woff2') format('woff2'),
         url('../assets/fonts/MD Nichrome/MDNichrome-Dark.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}


html {
    scroll-behavior: smooth;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    overflow-x: hidden;
}

.section {
    width: 100%;
    height: 100vh;
    position: relative;
}

/* Mobile scroll snap - Instagram reels style */
@media (max-width: 767px) {
    html {
        -webkit-overflow-scrolling: touch;
    }
    
    /* Wrapper for sections with scroll-snap */
    .sections-wrapper {
        scroll-snap-type: y mandatory;
        overflow-y: auto;
        height: 100vh;
    }
    
    .section {
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }
    
    /* Remove scroll from body when wrapper exists */
    body:has(.sections-wrapper) {
        overflow: hidden;
        height: 100vh;
    }
}

.fixed-text {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--ODDSGATE-EGG, #FDFFDA);
    font-family: "MD Nichrome", sans-serif;
    font-size: clamp(120px, calc((100vw - 80px) * 0.16), 231px);
    font-style: normal;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: 0;
    text-align: center;
    z-index: 100;
    pointer-events: none;
    margin: 0;
    white-space: nowrap;
    width: min(1400px, calc(100vw - 80px));
    box-sizing: border-box;
}

body.scroll-section-three .fixed-text {
    opacity: 0;
    visibility: hidden;
}

/* Bootstrap Breakpoints - Mobile First Approach */

/* Mobile pequeno - smartphones estreitos (xs: < 576px) */
@media (max-width: 575px) {
    .fixed-text {
        font-size: clamp(40px, 12vw, 60px);
        letter-spacing: 1px;
        width: calc(100vw - 40px);
    }
}

/* Mobile grande / Tablet pequeno (sm: ≥ 576px) */
@media (min-width: 576px) and (max-width: 767px) {
    .fixed-text {
        font-size: clamp(60px, 14vw, 80px);
        letter-spacing: 1.5px;
        width: calc(100vw - 60px);
    }
}

/* Tablet (md: ≥ 768px) */
@media (min-width: 768px) and (max-width: 991px) {
    .fixed-text {
        font-size: clamp(80px, 12vw, 120px);
        letter-spacing: 2px;
    }
}

/* Desktop pequeno (lg: ≥ 992px) */
@media (min-width: 992px) and (max-width: 1199px) {
    .fixed-text {
        font-size: clamp(120px, calc((100vw - 80px) * 0.14), 180px);
    }
}

/* Desktop (xl: ≥ 1200px) */
@media (min-width: 1200px) and (max-width: 1399px) {
    .fixed-text {
        font-size: clamp(180px, calc((100vw - 80px) * 0.16), 231px);
    }
}