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

:root {
    /* Brand Colors */
    --sand: #FAF6F0;
    /*--primary-teal: #18D3B4;*/
    --primary-teal: #00E0B4;
    --dark-teal: #1F9B86;
    --dark-green: #163E34;
    --white: #FFFFFF;
    --text-dark: #1a1a1a;
    --text-gray: #333333;

    /* Typography */
    --font-heading: 'DM Serif Text', serif;
    --font-body: 'DM Sans', sans-serif;

    /* Spacing */
    --container-max: 1440px;

    /* Transitions */
    --transition: all 0.3s ease;

    /* Border radius */
    --base-border-radius: 15px;
}

html {
    scroll-behavior: smooth;
    /* Prevent horizontal overflow at root level */
    overflow-x: hidden;
    width: 100%;
}

body {
    font-family: var(--font-body);
    color: var(--text-dark);
    line-height: 1.6;
    background-color: var(--white);
    overflow-x: hidden;
    /* Ensure body doesn't exceed viewport width */
    max-width: 100vw;
    position: relative;
}

/* ===== Typography ===== */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 400;
    line-height: 1.2;
}
