:root{--bg-primary:#f8f6f0;--bg-secondary:#eeeae3;--bg-card:#fdfbf8;--color-text-main:#1a1a1a;--color-text-muted:#5a5a5a;--color-accent:#4a151b;--color-accent-light:#7a222e;--font-heading:"Playfair Display", serif;--font-body:"Inter", sans-serif;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:2rem;--spacing-xl:4rem;--spacing-xxl:8rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 24px #0000001f}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--color-text-main);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);margin-bottom:var(--spacing-md);color:var(--color-text-main);font-weight:600;line-height:1.2}a{color:inherit;text-decoration:none;transition:color .2s}a:hover{color:var(--color-accent)}button{cursor:pointer;font-family:var(--font-body)}.container{width:100%;max-width:1200px;padding:0 var(--spacing-md);margin:0 auto}.text-accent{color:var(--color-accent)}.bg-accent{background-color:var(--color-accent);color:#fff}.section{padding:var(--spacing-xxl) 0}.btn-primary{background-color:var(--color-accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.75rem 1.5rem;font-weight:500;transition:all .3s;display:inline-block}.btn-primary:hover{background-color:var(--color-accent-light);box-shadow:var(--shadow-md);color:#fff;transform:translateY(-2px)}.flex-center{justify-content:center;align-items:center;display:flex}.grid-2{gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.card{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeIn}
