:root {
    /* Cores Primárias (Teal Profundo Olimcar -> Cyan/Neon) */
    --color-primary-50: rgba(28, 199, 190, 0.1);
    --color-primary-100: rgba(28, 199, 190, 0.2);
    --color-primary-500: #1CC7BE; /* green-light */
    --color-primary-600: #14e0d4; /* green-glow */
    --color-primary-700: #007E7A; /* green */
    --color-primary-800: #046A72;

    /* Cores Neutras / Backgrounds (SaaS Premium -> Dark Mode) */
    --color-bg-body: #05201f; /* dark */
    --color-bg-card: rgba(9, 32, 31, 0.55); /* card-bg */
    --color-surface: #0a2b29; /* dark-2 */
    --color-surface-hover: rgba(28, 199, 190, 0.1);

    /* Cores de Texto (Hierarchy) */
    --color-text-main: #eafaf8; /* text */
    --color-text-muted: rgba(234, 250, 248, 0.72); /* muted */
    --color-text-light: rgba(234, 250, 248, 0.5);

    /* Semânticas & Acentos */
    --color-success: #1CC7BE;
    --color-warning: #ECB11F; /* yellow */
    --color-danger: #e5484d;
    --color-info: #2f6fed;
    
    /* Tipografia */
    --font-sans: 'Montserrat', -apple-system, sans-serif;
    --font-heading: 'Montserrat', -apple-system, sans-serif;
    --font-display: 'Rajdhani', sans-serif;

    /* Bordas e Elementos */
    --color-border: rgba(28, 199, 190, 0.28); /* card-border */
    --radius-sm: 4px;
    --radius-md: 12px;
    --radius-lg: 22px; /* Combina com o card premium */
    --radius-full: 9999px;
    
    /* Layered Shadows (Premium Feel) */
    --shadow-sm: 0 4px 14px rgba(0, 0, 0, 0.2);
    --shadow-md: 0 10px 30px rgba(0, 0, 0, 0.35);
    --shadow-lg: 0 30px 80px rgba(0, 0, 0, 0.45);
    
    /* Transições */
    --transition-fast: 150ms cubic-bezier(0.23, 1, 0.32, 1);
    --transition-normal: 250ms cubic-bezier(0.23, 1, 0.32, 1);
}

/* Reset Básico */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-sans);
    background-color: var(--color-bg-body);
    color: var(--color-text-main);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 1.2;
    color: var(--color-text-main);
}

.premium-title {
    font-family: var(--font-display, "Rajdhani", sans-serif);
    font-size: clamp(36px, 5vw, 56px);
    font-weight: 800;
    letter-spacing: 1px;
    background: linear-gradient(120deg, #ffffff 0%, #ffffff 50%, var(--color-warning) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    line-height: 1.1;
    margin-bottom: 1.5rem;
}

a {
    color: var(--color-primary-600);
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:hover {
    color: var(--color-primary-700);
}

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

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}
