:root {
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'JetBrains Mono', monospace;

    --bg-main: var(--brand-canvas, #f8fafc);
    --bg-surface: var(--brand-surface, #ffffff);
    --bg-card: var(--brand-surface, #ffffff);
    --border-color: var(--brand-border, #e2e8f0);

    --text-primary: var(--brand-text-main, #0f172a);
    --text-secondary: var(--brand-text-sub, #475569);
    --text-muted: #64748b;

    --primary-accent: var(--brand-accent, #0f172a);
    --project-accent: var(--primary-accent);
    --accent-glow: color-mix(in srgb, var(--project-accent) 12%, transparent);

    --container-max: 1320px;
    --transition-smooth: 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    background-color: var(--bg-main);
    color: var(--text-primary);
    font-family: var(--font-sans);
    line-height: 1.6;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

img, video {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font: inherit;
    background: none;
    border: none;
    cursor: pointer;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--text-primary);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

h1 {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
}

h2 {
    font-size: clamp(2rem, 3.5vw, 3rem);
}

h3 {
    font-size: clamp(1.5rem, 2.5vw, 2.25rem);
}

p {
    color: var(--text-secondary);
    font-size: 1.05rem;
}

.mono-label {
    font-family: var(--font-mono);
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--project-accent, var(--brand-accent));
}

.site-container {
    width: 100%;
    max-width: var(--container-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}