:root {
    --color-primary: #3b82f6;
    --color-white: #ffffff;
    --color-text-dark: #0f172b;
    --color-text-light: #d3d3d3;
    --color-text-subtle: #919193;
    --color-text-placeholder: #afbcd5;
    --font-family-inter: 'Inter', sans-serif;
    --font-family-jakarta: 'Plus Jakarta Sans', sans-serif;

    /* Features page colors */
    --color-background: #0f172b;
    --color-text-primary: #ffffff;
    --color-text-secondary: #afbcd5;
    --color-showcase-bg: #05070c;

    /* Responsive breakpoints */
    --breakpoint-sm: 640px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;
    --breakpoint-2xl: 1440px;

    /* Responsive spacing */
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 32px;
    --spacing-2xl: 48px;
    --spacing-3xl: 64px;
}

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

body {
    font-family: var(--font-family-jakarta);
    background-color: #0f172b;
    color: var(--color-white);
    line-height: 1.6;
    overflow-x: hidden;
}

/* Hero section background */
.hero-background {
    /* Use correct relative path from css/ → images/landing/ */
    background-image: url('../images/landing/Hero_background.png');
    background-color: #0A1121;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
}

.page-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

.main-content {
    min-height: 100vh;
    padding-bottom: var(--spacing-3xl);
}

a {
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s ease;
}

a:hover {
    opacity: 0.8;
}

button {
    background: none;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* Responsive utilities */
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

/* Responsive grid system */
.grid {
    display: grid;
    gap: var(--spacing-lg);
}

.grid-cols-1 { grid-template-columns: 1fr; }
.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }

/* Hide/show utilities */
.hidden { display: none !important; }
.visible { display: block !important; }

/* Mobile-first responsive breakpoints */
@media (max-width: 640px) {
    :root {
        --spacing-md: 12px;
        --spacing-lg: 16px;
        --spacing-xl: 20px;
        --spacing-2xl: 32px;
        --spacing-3xl: 40px;
    }

    .page-container {
        padding: 0 var(--spacing-sm);
    }

    .grid-cols-2,
    .grid-cols-3 {
        grid-template-columns: 1fr;
    }

    .hidden-mobile { display: none !important; }
    .visible-mobile { display: block !important; }
}

@media (min-width: 641px) and (max-width: 768px) {
    .grid-cols-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    .hidden-tablet { display: none !important; }
    .visible-tablet { display: block !important; }
}

@media (min-width: 769px) {
    .page-container {
        padding: 0 var(--spacing-lg);
    }

    .hidden-desktop { display: none !important; }
    .visible-desktop { display: block !important; }
}

@media (min-width: 1024px) {
    .hidden-lg { display: none !important; }
    .visible-lg { display: block !important; }
}
