:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--text-primary:#000;--text-secondary:#000;--color-red:#d1282f;--color-teal:#0d9488;--color-gold:#d97706;--color-warm-gold:#f59e0b;--color-orange:#f97316;--color-soft-blue:#f0f9ff;--color-soft-red:#fef2f2;--color-pink:#db2777;--color-indigo:#1e3a8a;--accent-primary:var(--color-red);--accent-secondary:var(--color-teal);--accent-highlight:var(--color-warm-gold);--accent-vibrant:var(--color-orange);--gradient-hero:linear-gradient(135deg,var(--color-red)0%,#991b1b 100%);--gradient-cta:linear-gradient(90deg,var(--color-red)0%,var(--color-warm-gold)100%);--gradient-teal:linear-gradient(135deg,var(--color-teal)0%,#0f766e 100%);--gradient-subtle:linear-gradient(180deg,var(--color-soft-blue)0%,#fff 100%);--gradient-warm:linear-gradient(135deg,var(--color-warm-gold)0%,var(--color-orange)100%);--font-serif:"Lora",serif;--font-sans:"Inter",sans-serif;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:8rem;--max-width:1400px;--header-height:100px;--header-height-shrunk:80px}@media (prefers-color-scheme:dark){:root{--bg-primary:#121416;--text-primary:#e1e3e5;--text-secondary:#b0b5bb;--accent-primary:#6eaab0;--accent-secondary:#4d7c81;--accent-light:#1e2a2c}}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans),sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:var(--gradient-subtle);background-attachment:fixed;font-size:16px;font-weight:500;line-height:1.7}h1,h2,h3,h4,.serif{font-family:var(--font-serif);color:var(--text-primary);font-weight:700;line-height:1.1}h1{letter-spacing:-.02em;font-size:clamp(2.5rem,8vw,4.5rem)}h2{letter-spacing:-.01em;font-size:clamp(2rem,5vw,3rem)}h3{font-size:1.75rem}a{color:var(--color-indigo);text-decoration:none;transition:all .3s;position:relative}a:hover{color:var(--color-teal)}section{padding:var(--spacing-lg)0;max-width:var(--max-width);padding-left:var(--spacing-sm);padding-right:var(--spacing-sm);margin:0 auto}.container{max-width:var(--max-width);margin:0 auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.8s forwards fadeIn}
