:root{--color-olive:#5c6b4f;--color-olive-dark:#3d4a33;--color-olive-light:#8a9a7b;--color-cream:#faf6f0;--color-ivory:ivory;--color-gold:#c5a55a;--color-gold-light:#dcc88e;--color-stone:#a89f91;--color-charcoal:#2c2c2c;--color-warm-white:#fdf9f3;--font-heading:"Playfair Display", Georgia, serif;--font-body:"Lato", -apple-system, BlinkMacSystemFont, sans-serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-full:9999px;--transition-fast:.15s ease;--transition-base:.3s ease;--transition-slow:.5s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body{font-family:var(--font-body);color:var(--color-charcoal);background-color:var(--color-cream);min-height:100vh;font-weight:400;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}::selection{background-color:var(--color-gold);color:var(--color-warm-white)}::selection{background-color:var(--color-gold);color:var(--color-warm-white)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes envelopeFlapOpen{0%{transform:rotateX(0)}to{transform:rotateX(180deg)}}@keyframes cardSlideOut{0%{opacity:.8;transform:translateY(0)}40%{opacity:1}to{opacity:1;transform:translateY(-120%)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes sway{0%,to{transform:rotate(0)}25%{transform:rotate(3deg)}75%{transform:rotate(-3deg)}}.animate-fade-in{animation:.8s forwards fadeIn}.animate-fade-in-up{animation:.8s forwards fadeInUp}.animate-slide-up{animation:.6s forwards slideUp}.animate-float{animation:3s ease-in-out infinite float}.animate-sway{animation:4s ease-in-out infinite sway}
