:root {
    --mkt-font: 'Manrope', 'Noto Sans', sans-serif;
    --mkt-primary: #1E40AF;
    --mkt-primary-dark: #1e3a8a;
    --mkt-secondary: #0F766E;
    --mkt-bg: #FCFCFD;
    --mkt-surface: #ffffff;
    --mkt-border: #e2e4e9;
    --mkt-text: #111317;
    --mkt-text-secondary: #64748b;
    --mkt-radius: 0.5rem;
    --mkt-radius-lg: 0.75rem;
    --mkt-radius-xl: 1rem;
    --mkt-radius-2xl: 1.5rem;
    --mkt-shadow: 0 1px 3px 0 rgba(0,0,0,0.04), 0 1px 2px -1px rgba(0,0,0,0.03);
    --mkt-shadow-soft: 0 4px 6px -1px rgba(0,0,0,0.02), 0 2px 4px -1px rgba(0,0,0,0.02);
    --mkt-shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.06), 0 4px 6px -2px rgba(0,0,0,0.04);
    --mkt-shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.08), 0 10px 10px -5px rgba(0,0,0,0.03);
    --mkt-max-width: 80rem;
    --transition-fast: 100ms ease;
    --transition-slow: 250ms ease;
    --radius-full: 9999px;
}

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

html {
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

body {
    min-width: 320px;
    font-family: var(--mkt-font);
    font-size: 1rem;
    line-height: 1.5;
    color: var(--mkt-text);
    background: var(--mkt-bg);
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

p {
    color: var(--mkt-text-secondary);
    line-height: 1.6;
}

a {
    color: var(--mkt-primary);
    text-decoration: none;
}

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

button, input, select, textarea {
    font: inherit;
}

button {
    cursor: pointer;
}

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

:focus-visible {
    outline: 2px solid var(--mkt-primary);
    outline-offset: 2px;
}

::selection {
    background: rgba(30, 64, 175, 0.15);
    color: var(--mkt-text);
}

.error-page {
    display: grid;
    gap: 1rem;
    min-height: 50vh;
    align-content: center;
    padding: 4rem 0;
}
