*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #FFFAF7;--surface: #FFF4EE;--border: #F0DDD4;--text-primary: #2C1A12;--text-secondary: #7A5C4F;--accent: #C4614A;--accent-light: #F5D5CC;--accent-soft: #FAE8E3;--gold: #D4A24C;--gold-light: #FBF0D8;--pink: #E8829A;--pink-light: #FDEEF2;--success: #1F9D55;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-subtle: 0 1px 2px rgba(0,0,0,.05);--shadow-medium: 0 4px 12px rgba(0,0,0,.08);--shadow-warm: 0 8px 32px rgba(196, 97, 74, .12)}html{scroll-behavior:smooth}body{font-family:Lato,sans-serif;background-color:var(--bg);color:var(--text-primary);min-height:100vh;overflow-x:hidden}h1,h2,h3{font-family:Playfair Display,serif}button{cursor:pointer;font-family:Lato,sans-serif}@keyframes floatUp{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:1}90%{opacity:.7}to{transform:translateY(-10vh) rotate(720deg);opacity:0}}@keyframes sway{0%,to{margin-left:0}50%{margin-left:30px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.2)}28%{transform:scale(1)}42%{transform:scale(1.15)}70%{transform:scale(1)}}@keyframes bounce-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes popIn{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}@keyframes glowPulse{0%,to{box-shadow:0 0 #d4a24c00}50%{box-shadow:0 0 20px 6px #d4a24c59}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.petal{position:fixed;pointer-events:none;z-index:0;animation:floatUp linear infinite,sway ease-in-out infinite}.heartbeat{animation:heartbeat 1.8s ease-in-out infinite}.bounce-gentle{animation:bounce-gentle 2s ease-in-out infinite}.pop-in{animation:popIn .5s cubic-bezier(.34,1.56,.64,1) forwards}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--accent-light);border-radius:3px}
