:root {
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --color-background: #ffffff;
    --color-background-alt: #f8f9fa;
    --color-text: #1d1d1f;
    --color-subtitle: #1F2937;
    --color-dark-background: #1a1a1a;
    /* Apple-like deep black */
    --color-text-muted: #5f6368;
    /* Adjusted muted text */
    --color-primary-start: #a566ff;
    --color-primary-end: #702dff;
    --color-primary-gradient: linear-gradient(100deg, var(--color-primary-start) 0%, var(--color-primary-end) 100%);
    --color-hero-bg-start: rgba(230, 235, 255, 0.6);
    /* Lighter violet/blue */
    --color-hero-bg-end: rgba(250, 235, 255, 0.6);
    /* Lighter pink/violet */
    --color-dark-bg: #121216;
    /* Specific dark footer bg */
    --color-white: #ffffff;
    --shadow-soft: 0 5px 15px rgba(0, 0, 0, 0.04);
    --shadow-medium: 0 10px 30px rgba(112, 45, 255, 0.12);
    /* Slightly stronger purple */
    --shadow-cta: 0 8px 25px rgba(112, 45, 255, 0.35);
    /* Shadow for main CTA */
    --border-radius: 16px;
    --text-secondary: var(--text-light-secondary);
    /* Larger radius for premium feel */
    --container-width: 1200px;
    /* Slightly wider container */
    --transition-speed: 0.3s;
    --line-height-base: 1.7;
    --line-height-heading: 1.25;
    --header-height: 70px;
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;
    --font-size-base: 16px;
    --font-size-sm: 0.875rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-h1: 2.5rem;
    --font-size-h2: 2rem;
    --font-size-h3: 1.25rem;
    --font-size-1r: 1rem;
    --border-radius: 999px;
    --border-radius-card: 12px;
    --transition-duration: 0.25s;
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --shadow-button: 0 4px 14px 0 rgba(124, 58, 237, 0.3);
    --color-border: #E5E7EB;
    --color-background-light: #f8f9fa;
    --spacing-lg: 3rem;
    --spacing-xl: 5rem;
    --spacing-md: 1.5rem;
    --color-text-secondary: #6c757d;
    --spacing-sm: 1rem;
    --color-primary: #5800FF;
    --transition-speed: 0.3s;
    --pure-white: #fff;
    --ash-white: #f9fafb;
    --gradient: linear-gradient(120deg, #F0FDFA 0%, #FFFFFF 100%);
    /* Pridaná premenná pre medzery */
    --spacing-base: 1rem;
    /* alebo 16px */
    /* Ďalšie premenné pre spacing, ak chcete škálu */
    --spacing-xs: calc(0.5 * var(--spacing-base));
    /* 8px */
    --spacing-sm: var(--spacing-base);
    /* 16px */
    --spacing-md: calc(1.5 * var(--spacing-base));
    /* 24px */
    --spacing-lg: calc(2.5 * var(--spacing-base));
    /* 40px */
    --spacing-xl: calc(4 * var(--spacing-base));
    /* 64px */
    --spacing-xxl: calc(6 * var(--spacing-base));
    /* 96px */
    --text-light-secondary: #6B7280;
    --danger-color: #dc2626;
    --text-light-main: #1F2937;
    --text-main: var(--text-light-main);
    --bg-light-pure: #fff;
    --bg-light-ash: #f9fafb;
    --bg-main: var(--bg-light-pure);
    --bg-alt: var(--bg-light-ash);
    --text-main: var(--text-light-main);
    --text-secondary: var(--text-light-secondary);
    --border-color: var(--border-light-color);
    --border-light-color: #e5e7eb;
    --border-radius-medium: 8px;
    --accent-cta: #14B8A6;
    --accent-cta-hover: #0D9488;
}

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

html {
    scroll-behavior: smooth;
    font-size: 16px;
    /* Base: 16px, adjust per element */
}

body {
    font-family: var(--font-primary);
    color: var(--color-text);
    background-color: var(--color-background);
    line-height: var(--line-height-base);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    /* Smoother fonts on macOS/iOS */
    -moz-osx-font-smoothing: grayscale;
}

.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 25px;
    /* Increased padding */
}

h1,
h2,
h3,
h4 {
    font-weight: 700;
    /* Bolder headings */
    line-height: var(--line-height-heading);
    margin-bottom: 1.5rem;
    /* Increased margin */
    letter-spacing: -0.5px;
}

h1 {
    font-size: clamp(2.8rem, 6vw, 4rem);
    /* Responsive H1 (min, preferred, max) */
    font-weight: 800;
    letter-spacing: -1.5px;
}

h2 {
    font-size: clamp(2rem, 4.5vw, 2.8rem);
    text-align: center;
    margin-bottom: 4rem;
    font-weight: 700;
}

h3 {
    font-size: 1.5rem;
    font-weight: 600;
}

p {
    margin-bottom: 1.5rem;
    /* Increased paragraph spacing */
    color: var(--color-subtitle);
    font-size: 1.05rem;
    /* Slightly larger body text */
}

p.large-text {
    font-size: 1.2rem;
    /* For impactful statements */
    line-height: 1.8;
}

a {
    color: #14B8A6;
    text-decoration: none;
    transition: color var(--transition-speed) ease;
}

a:hover {
    color: #0D9488;
}

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

ul {
    list-style: none;
    padding-left: 0;
    /* Remove default padding */
}