/* ── Helvetica Neue local font-faces ── */

@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-Thin.eot');
    src: url('../fonts/HelveticaNeue-Thin.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveticaNeue-Thin.woff2') format('woff2'),
         url('../fonts/HelveticaNeue-Thin.woff') format('woff'),
         url('../fonts/HelveticaNeue-Thin.ttf') format('truetype'),
         url('../fonts/HelveticaNeue-Thin.svg#HelveticaNeue-Thin') format('svg');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-ThinItalic.eot');
    src: url('../fonts/HelveticaNeue-ThinItalic.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveticaNeue-ThinItalic.woff2') format('woff2'),
         url('../fonts/HelveticaNeue-ThinItalic.woff') format('woff'),
         url('../fonts/HelveticaNeue-ThinItalic.ttf') format('truetype'),
         url('../fonts/HelveticaNeue-ThinItalic.svg#HelveticaNeue-ThinItalic') format('svg');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-UltraLight.eot');
    src: url('../fonts/HelveticaNeue-UltraLight.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveticaNeue-UltraLight.woff2') format('woff2'),
         url('../fonts/HelveticaNeue-UltraLight.woff') format('woff'),
         url('../fonts/HelveticaNeue-UltraLight.ttf') format('truetype'),
         url('../fonts/HelveticaNeue-UltraLight.svg#HelveticaNeue-UltraLight') format('svg');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-UltraLightItalic.eot');
    src: url('../fonts/HelveticaNeue-UltraLightItalic.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveticaNeue-UltraLightItalic.woff2') format('woff2'),
         url('../fonts/HelveticaNeue-UltraLightItalic.woff') format('woff'),
         url('../fonts/HelveticaNeue-UltraLightItalic.ttf') format('truetype'),
         url('../fonts/HelveticaNeue-UltraLightItalic.svg#HelveticaNeue-UltraLightItalic') format('svg');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-Light.eot');
    src: url('../fonts/HelveticaNeue-Light.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveticaNeue-Light.woff2') format('woff2'),
         url('../fonts/HelveticaNeue-Light.woff') format('woff'),
         url('../fonts/HelveticaNeue-Light.ttf') format('truetype'),
         url('../fonts/HelveticaNeue-Light.svg#HelveticaNeue-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-LightItalic.eot');
    src: url('../fonts/HelveticaNeue-LightItalic.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveticaNeue-LightItalic.woff2') format('woff2'),
         url('../fonts/HelveticaNeue-LightItalic.woff') format('woff'),
         url('../fonts/HelveticaNeue-LightItalic.ttf') format('truetype'),
         url('../fonts/HelveticaNeue-LightItalic.svg#HelveticaNeue-LightItalic') format('svg');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-Roman.eot');
    src: url('../fonts/HelveticaNeue-Roman.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveticaNeue-Roman.woff2') format('woff2'),
         url('../fonts/HelveticaNeue-Roman.woff') format('woff'),
         url('../fonts/HelveticaNeue-Roman.ttf') format('truetype'),
         url('../fonts/HelveticaNeue-Roman.svg#HelveticaNeue-Roman') format('svg');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-Italic.eot');
    src: url('../fonts/HelveticaNeue-Italic.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveticaNeue-Italic.woff2') format('woff2'),
         url('../fonts/HelveticaNeue-Italic.woff') format('woff'),
         url('../fonts/HelveticaNeue-Italic.ttf') format('truetype'),
         url('../fonts/HelveticaNeue-Italic.svg#HelveticaNeue-Italic') format('svg');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-Medium.eot');
    src: url('../fonts/HelveticaNeue-Medium.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveticaNeue-Medium.woff2') format('woff2'),
         url('../fonts/HelveticaNeue-Medium.woff') format('woff'),
         url('../fonts/HelveticaNeue-Medium.ttf') format('truetype'),
         url('../fonts/HelveticaNeue-Medium.svg#HelveticaNeue-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-MediumItalic.eot');
    src: url('../fonts/HelveticaNeue-MediumItalic.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveticaNeue-MediumItalic.woff2') format('woff2'),
         url('../fonts/HelveticaNeue-MediumItalic.woff') format('woff'),
         url('../fonts/HelveticaNeue-MediumItalic.ttf') format('truetype'),
         url('../fonts/HelveticaNeue-MediumItalic.svg#HelveticaNeue-MediumItalic') format('svg');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-Bold.eot');
    src: url('../fonts/HelveticaNeue-Bold.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveticaNeue-Bold.woff2') format('woff2'),
         url('../fonts/HelveticaNeue-Bold.woff') format('woff'),
         url('../fonts/HelveticaNeue-Bold.ttf') format('truetype'),
         url('../fonts/HelveticaNeue-Bold.svg#HelveticaNeue-Bold') format('svg');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-BoldItalic.eot');
    src: url('../fonts/HelveticaNeue-BoldItalic.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveticaNeue-BoldItalic.woff2') format('woff2'),
         url('../fonts/HelveticaNeue-BoldItalic.woff') format('woff'),
         url('../fonts/HelveticaNeue-BoldItalic.ttf') format('truetype'),
         url('../fonts/HelveticaNeue-BoldItalic.svg#HelveticaNeue-BoldItalic') format('svg');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-Black.eot');
    src: url('../fonts/HelveticaNeue-Black.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveticaNeue-Black.woff2') format('woff2'),
         url('../fonts/HelveticaNeue-Black.woff') format('woff'),
         url('../fonts/HelveticaNeue-Black.ttf') format('truetype'),
         url('../fonts/HelveticaNeue-Black.svg#HelveticaNeue-Black') format('svg');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('../fonts/HelveticaNeue-BlackItalic.eot');
    src: url('../fonts/HelveticaNeue-BlackItalic.eot?#iefix') format('embedded-opentype'),
         url('../fonts/HelveticaNeue-BlackItalic.woff2') format('woff2'),
         url('../fonts/HelveticaNeue-BlackItalic.woff') format('woff'),
         url('../fonts/HelveticaNeue-BlackItalic.ttf') format('truetype'),
         url('../fonts/HelveticaNeue-BlackItalic.svg#HelveticaNeue-BlackItalic') format('svg');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* ── Base resets ── */
*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body { margin: 0; }

/* ── Mobile menu transition ── */
#mobile-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

#mobile-menu.open {
    max-height: 400px;
}

/* ── Burger icon animation ── */
#burger span {
    display: block;
    width: 24px;
    height: 2px;
    background: white;
    border-radius: 2px;
    transition: transform 0.25s ease, opacity 0.25s ease;
    transform-origin: center;
}

#burger.open span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

#burger.open span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

#burger.open span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}