/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Smooth scrolling for anchor links */
html {
    scroll-behavior: smooth;
    scroll-snap-type: y mandatory;
}

html.dev-mode::before {
    content: "DEV MODE " attr(data-browser) " Device: " attr(data-device);
    display: block;
    height: 25px; /* Height of fixed header */
    top: 0;
    color: red;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    text-align: center;
    position: fixed;
    z-index: 9999;
}

body {
    font-family: var(--font-primary);
    line-height: 1.6;
    color: #333;
    overflow-x: hidden;
    font-size: var(--font-size-base);
}

/* Typography */
h1, h2, h3 {
    font-family: var(--font-heading);
    font-weight: 500;
    margin-bottom: 1rem;
}

h2 {
    font-size: var(--font-size-section-title);
}

small {
    font-size: var(--font-size-small);
}