@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
    /* Color Tokens (HSL harmonized palette) */
    --color-primary-hue: 190;
    --color-primary-sat: 100%;
    --color-primary-light: 17%;
    
    --color-primary: hsl(var(--color-primary-hue), var(--color-primary-sat), var(--color-primary-light)); /* #004a59 */
    --color-primary-medium: hsl(var(--color-primary-hue), var(--color-primary-sat), 25%);
    --color-primary-soft: hsl(var(--color-primary-hue), 40%, 93%);
    --color-primary-glow: hsla(var(--color-primary-hue), var(--color-primary-sat), var(--color-primary-light), 0.15);
 
    --color-accent-hue: 36;
    --color-accent-sat: 100%;
    --color-accent-light: 80%;
    --color-accent: hsl(var(--color-accent-hue), var(--color-accent-sat), var(--color-accent-light)); /* #ffd79a */
    --color-accent-dark: hsl(var(--color-accent-hue), 80%, 45%);
 
    --color-dark: #121517;
    --color-dark-soft: #1e2225;
    --color-light: #ffffff;
    --color-light-bg: #f8fafc;
    --color-border: #e2e8f0;
    --color-text-main: #334155;
    --color-text-muted: #64748b;
    --color-text-light: #94a3b8;
 
    /* Semantic Statuses */
    --color-success: #10b981;
    --color-error: #ef4444;
 
    /* Gradients */
    --gradient-premium: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-medium) 100%);
    --gradient-gold: linear-gradient(135deg, var(--color-accent) 0%, #fcd34d 100%);
    --gradient-glass: rgba(255, 255, 255, 0.75);
 
    /* Fonts */
    --font-heading: 'Manrope', sans-serif;
    --font-body: 'Inter', sans-serif;

    /* Border Radius */
    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-full: 9999px;

    /* Shadows */
    --shadow-sm: 0 2px 8px rgba(0, 74, 89, 0.05);
    --shadow-md: 0 8px 24px rgba(0, 74, 89, 0.08);
    --shadow-lg: 0 16px 40px rgba(0, 74, 89, 0.12);
    --shadow-glow: 0 0 25px hsla(var(--color-primary-hue), var(--color-primary-sat), var(--color-primary-light), 0.25);

    /* Transitions */
    --transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-normal: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);

    /* Max Widths */
    --container-width: 1240px;
    --header-height: 120px;
    --header-shrink-height: 70px;
}

@media (max-width: 1023px) {
    :root {
        --header-height: 110px;
    }
}

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

html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
}

body {
    font-family: var(--font-body);
    color: var(--color-text-main);
    background-color: var(--color-light-bg);
    line-height: 1.6;
    overflow-x: hidden;
}
