/* Custom Variables and Global Styles */
:root {
    --radius: 0.5rem;
    --background: oklch(0.18 0.015 40);
    --foreground: oklch(0.95 0.02 75);
    --card: oklch(0.22 0.02 40);
    --card-foreground: oklch(0.95 0.02 75);
    --popover: oklch(0.22 0.02 40);
    --popover-foreground: oklch(0.95 0.02 75);
    --primary: oklch(0.78 0.11 55); 
    --primary-foreground: oklch(0.18 0.015 40);
    --secondary: oklch(0.7 0.08 25); 
    --secondary-foreground: oklch(0.18 0.015 40);
    --muted: oklch(0.26 0.018 40);
    --muted-foreground: oklch(0.7 0.025 60);
    --accent: oklch(0.72 0.12 35);
    --accent-foreground: oklch(0.18 0.015 40);
    --destructive: oklch(0.6 0.22 27);
    --destructive-foreground: oklch(0.98 0 0);
    --border: oklch(0.3 0.02 50 / 60%);
    --input: oklch(0.3 0.02 50 / 60%);
    --ring: oklch(0.78 0.11 55);

    --gradient-warm: linear-gradient(135deg, oklch(0.78 0.11 55), oklch(0.7 0.09 25));
    --gradient-glow: radial-gradient(ellipse at top, oklch(0.78 0.11 55 / 0.25), transparent 60%);
    --shadow-soft: 0 30px 80px -20px oklch(0 0 0 / 0.6);
    --shadow-glow: 0 0 60px oklch(0.78 0.11 55 / 0.3);
    --transition-smooth: cubic-bezier(0.22, 1, 0.36, 1);
}

body {
    background-color: var(--background);
    color: var(--foreground);
    font-family: 'Inter', system-ui, sans-serif;
    font-feature-settings: "ss01", "cv11";
    margin: 0;
    overflow-x: hidden;
}

h1, h2, h3, h4 { 
    font-family: 'Fraunces', Georgia, serif; 
    letter-spacing: -0.02em; 
}

.font-display { font-family: 'Fraunces', Georgia, serif; }
.font-mono { font-family: 'JetBrains Mono', monospace; }

.text-balance { text-wrap: balance; }
.bg-gradient-warm { background: var(--gradient-warm); }
.bg-gradient-glow { background: var(--gradient-glow); }
.shadow-soft { box-shadow: var(--shadow-soft); }
.shadow-glow { box-shadow: var(--shadow-glow); }
.transition-smooth { transition: all 0.5s var(--transition-smooth); }

.grain {
    position: relative;
}
.grain::after {
    content: "";
    position: absolute; inset: 0; pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
    opacity: 0.08; mix-blend-mode: overlay;
}

@keyframes scroll { 
    to { transform: translateX(-50%); } 
}
.animate-scroll {
    animation: scroll 30s linear infinite;
}

/* Base Tailwind overrides or additional helpers if needed */
.max-w-7xl { max-width: 80rem; }
