html {
    scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

:root {
    --ema-orange: #FF6B00;
    --ema-orange-glow: rgba(255, 107, 0, 0.4);
    --anthracite: #1A1A1A;
    --anthracite-light: #2C2C2C;
    --white: #FFFFFF;
    --glass-bg: rgba(255, 255, 255, 0.05);
    --glass-border: rgba(255, 255, 255, 0.1);
    --transition-smooth: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --nav-height: 40px; /* Force overlap to definitively remove gaps */
}

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

body {
    background-color: var(--white);
    color: var(--anthracite);
    font-family: 'Inter', sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
}

h1,
h2,
h3,
h4,
.hero-title {
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--anthracite);
}

.text-orange {
    color: var(--ema-orange) !important;
}

.bg-orange {
    background-color: var(--ema-orange) !important;
}

.bg-anthracite {
    background-color: var(--anthracite) !important;
}

/* Scroll snap specifically for main sections/headers with anthracite background */
section.bg-anthracite,
header.bg-anthracite {
    scroll-snap-align: start;
    scroll-margin-top: var(--nav-height);
}

/* Scroll Offset for Anchors - Perfect alignment with fixed navbar */
:target {
    scroll-margin-top: var(--nav-height);
}

.relative-z {
    position: relative;
    z-index: 1;
}

.ls-wide {
    letter-spacing: 0.15em;
}

.text-balanced {
    text-wrap: balance;
}

.border-orange {
    border: 1px solid rgba(255, 107, 0, 0.3);
}

html {
    scroll-padding-top: 80px;
}

/* Note (Task 8): rimosso scroll-snap-type globale.
   Prima erano dichiarati due valori conflittuali (mandatory + proximity)
   che causavano "incollamento" forzato tra le sezioni durante lo scroll.
   Le regole scroll-snap-align residue su .bg-anthracite sono innocue senza
   il parent scroll-snap-type. La classe .no-scroll-snap non è più necessaria. */

@media (min-width: 1400px) {
    .container {
        max-width: 1560px !important;
    }
}
