:root{--color-primary: #2C352D;--color-primary-light: #4A5D4E;--color-secondary: #D4AF37;--color-background: #E8E3DD;--color-surface: #F4F1ED;--color-accent: #E5C3C6;--color-text: #1A1C1A;--color-text-light: #5A5D5A;--shadow-sm: 0 5px 15px rgba(0, 0, 0, .03);--shadow-md: 0 15px 35px rgba(0, 0, 0, .05);--shadow-lg: 0 25px 50px rgba(0, 0, 0, .08);--radius-md: 24px 4px 24px 4px;--radius-lg: 40px 8px 40px 8px;--radius-xl: 60px 12px 60px 12px;--transition: all .4s cubic-bezier(.25, .8, .25, 1);--font-heading: "Playfair Display", serif;--font-body: "Outfit", sans-serif;--font-serif: "Playfair Display", serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-background);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.06'/%3E%3C/svg%3E");color:var(--color-text);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;color:var(--color-primary);margin-bottom:1rem;letter-spacing:.5px}a{color:inherit;text-decoration:none;transition:var(--transition)}button{font-family:var(--font-body);cursor:pointer;border:none;background:none;transition:var(--transition)}.btn-primary{background-color:var(--color-primary);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;letter-spacing:.5px}.btn-primary:hover{background-color:var(--color-primary-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary);padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;letter-spacing:.5px}.btn-secondary:hover{background-color:var(--color-primary);color:#fff}.glass{background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.animate-fade-in{animation:fadeInUp 1s cubic-bezier(.25,.8,.25,1) forwards}.animate-float{animation:float 6s ease-in-out infinite}.hover-zoom{overflow:hidden}.hover-zoom img{transition:transform .6s ease}.hover-zoom:hover img{transform:scale(1.05)}
