/* =====================
   GLOBAL RESET & BASE
===================== */
:root {
    /* Fonts */
    --font-body: "Poppins", system-ui, -apple-system, BlinkMacSystemFont,
        "Segoe UI", sans-serif;
    --font-heading: "Poppins", system-ui, -apple-system, BlinkMacSystemFont,
        "Segoe UI", sans-serif;
    
    /* Colors */
    --color-primary: #000;
    --color-primary-rgb: 0, 0, 0;
    --color-white: #fff;
    --color-text: #111;
    --color-text-light: #333;
    --color-bg-light: #ededed;
    --color-bg-dark: #0f0f0f;
    --color-bg-beige: #e6e0d5;
    
    /* Spacing */
    --spacing-xs: 8px;
    --spacing-sm: 12px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 32px;
    --spacing-2xl: 48px;
    --spacing-3xl: 64px;
    --spacing-4xl: 80px;
    
    /* Transitions */
    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.6s ease;
    
    /* Shadows */
    --shadow-sm: 0 6px 20px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 10px 30px rgba(0, 0, 0, 0.12);
    --shadow-lg: 0 12px 30px rgba(0, 0, 0, 0.15);
}
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
    scroll-padding-top: 88px; /* Account for fixed header */
    overflow-x: hidden;
    width: 100%;
}

body {
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    background: #fff;
    color: #333;
    overflow-x: hidden;
    width: 100%;
    position: relative;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body.no-scroll {
    overflow: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
}

/* UI TEXT */
button,
input,
textarea,
select {
    font-family: var(--font-body);
}

/* =========================
   CONTAINER
========================= */
.container {
    width: 100%;
    max-width: 1320px;
    margin-inline: auto;
    padding-inline: 24px;
}
