@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Inter:wght@300;400;500;600&family=Amiri:ital,wght@0,400;0,700;1,400&display=swap";:root{--burgundy: #800020;--burgundy-dark: #5c0017;--burgundy-light: #a3294a;--gold: #c9a84c;--gold-light: #e8d48b;--gold-dark: #a68a3e;--cream: #fdf8f0;--cream-dark: #f5ead6;--rose: #e8c4c4;--rose-light: #f2dede;--rose-dark: #c9a0a0;--charcoal: #2c2c2c;--charcoal-light: #4a4a4a;--white: #ffffff;--error: #dc3545;--success: #28a745;--gradient-burgundy: linear-gradient(135deg, var(--burgundy), var(--burgundy-light));--gradient-gold: linear-gradient(135deg, var(--gold), var(--gold-light));--gradient-top-border: linear-gradient(90deg, var(--burgundy), var(--gold), var(--burgundy));--font-heading: "Playfair Display", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-tagline: "Amiri", Georgia, serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-hover: 0 12px 32px rgba(0, 0, 0, .15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--charcoal);background-color:var(--cream);line-height:1.6;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.3;color:var(--burgundy)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}a{color:var(--burgundy);text-decoration:none;transition:color .2s}a:hover{color:var(--burgundy-light)}img{max-width:100%;height:auto}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--rose-dark);border-radius:4px}.floating-hearts{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.floating-heart{position:absolute;color:var(--gold-light);opacity:.12;animation:floatHeart linear infinite;font-size:1.2rem}@keyframes floatHeart{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.12}90%{opacity:.12}to{transform:translateY(-10vh) rotate(360deg);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.floating-hearts{display:none}}@media(max-width:480px){html{font-size:14px}h1{font-size:1.6rem}h2{font-size:1.3rem}}
