:root {
    --color-geral: #017769;
    --color-grupo-z: #af34b2;
    --color-olimpica: #b89401;

    --primary-color: var(--color-geral);
    --accent-color: #014f46;
    --secondary-color: #333333;
    --text-color: #1a1a1a;
    --bg-color: #ffffff;

    /* Header theme variables — defaults for the Geral (teal) theme */
    --header-bg:          var(--bg-color);
    --header-text:        var(--text-color);
    --header-text-muted:  #888888;
    --header-accent:      var(--primary-color);
    --header-border:      rgba(0, 0, 0, 0.06);
    --header-ticker-bg:   #f2f2f2;
    --header-shadow:      var(--shadow);

    --font-primary: 'Inter', system-ui, -apple-system, sans-serif;
    --font-body: 'Inter', system-ui, -apple-system, sans-serif;
    --font-headings: 'Oswald', sans-serif;

    --grey-light: #F5F5F5;
    --grey-medium: #DDDDDD;

    --fs-xs: 0.6875rem;
    --fs-sm: 0.75rem;
    --fs-base: 0.8125rem;
    --fs-md: 0.875rem;
    --fs-lg: 1rem;
    --fs-xl: 1.25rem;
    --fs-2xl: 1.375rem;
    --fs-3xl: 1.5rem;
    --fs-display: 2.25rem;

    --bp-desktop: 1200px;
    --bp-tablet: 768px;
    --bp-mobile: 420px;

    --gap: 30px;
    --container: 1140px;

    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);

    --s-1: 0.25rem; 
    --s-2: 0.5rem;   
    --s-3: 0.75rem;  
    --s-4: 1rem;     
    --s-5: 1.25rem;
    --s-6: 1.5rem;   
    --s-7: 1.75rem;  /* 28px */
    --s-8: 2rem;     /* 32px */
    --s-9: 2.25rem;  /* 36px */
    --s-10: 2.5rem;  /* 40px */
    --s-11: 2.75rem;
    --s-12: 3rem;    /* 48px */
    --s-13: 3.25rem;
    --s-14: 3.5rem;  /* 56px */
    --s-15: 3.75rem;
    --s-16: 4rem;    /* 64px */
    --s-17: 4.25rem;
    --s-18: 4.5rem;
    --s-19: 4.75rem;
    --s-20: 5rem;   
}

@media (min-width: 768px) {
    :root {
        --fs-base: 0.875rem;
        --fs-md: 1rem;
        --fs-lg: 1.25rem;
        --fs-xl: 1.375rem;
        --fs-2xl: 1.5rem;
        --fs-3xl: 1.75rem;
        --fs-display: 2.8rem;
    }
}

@media (min-width: 1200px) {
    :root {
        --fs-base: 0.875rem;
        --fs-md: 1rem;
        --fs-lg: 1.375rem;
        --fs-xl: 1.5rem;
        --fs-2xl: 1.75rem;
        --fs-3xl: 2rem;
        --fs-display: 3.5rem;
    }
}
