:root{--rr-deep: #6e5151;--rr-rosewood: #5a4040;--rr-mauve: #8e7070;--rr-rose: #b29494;--rr-nude: #d4a39d;--rr-gold: #d4a39d;--rr-blush: #f4e1e1;--rr-cream: #dde4ea;--rr-blue-gray-medium: #c6d0da;--rr-ivory: #faf8f5;--rr-rosedust: #c8a8a8;--rr-dark-cocoa: #4e3532;--rr-dark-contact: #130c0b;--pl-whatsapp: #b57d76;--pl-whatsapp-hover: #a36c65}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--rr-ivory);color:var(--rr-deep);line-height:1.6}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;background:none;font:inherit}ul,ol{list-style:none}.font-display{font-family:Playfair Display,Georgia,serif}.font-body{font-family:Inter,sans-serif}::selection{background:var(--rr-mauve);color:var(--rr-ivory)}.text-gradient-gold{background:linear-gradient(90deg,var(--rr-rosewood) 0%,var(--rr-gold) 50%,var(--rr-rosewood) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-soft{0%,to{box-shadow:0 0 #c4a27573}50%{box-shadow:0 0 0 16px #c4a27500}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-fade-up{animation:fadeUp .85s cubic-bezier(.22,1,.36,1) both}.animate-fade-in{animation:fadeIn .6s ease both}.animate-pulse-soft{animation:pulse-soft 2.5s ease-in-out infinite}.animate-float{animation:float 4s ease-in-out infinite}.grain-overlay{position:relative}.grain-overlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");opacity:.05;pointer-events:none;mix-blend-mode:multiply}.btn-primary{background:linear-gradient(135deg,var(--rr-rosewood) 0%,var(--rr-deep) 100%);color:var(--rr-ivory);padding:.875rem 2rem;border-radius:999px;font-weight:500;font-size:.95rem;letter-spacing:.02em;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;display:inline-flex;align-items:center;gap:.5rem}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 44px -12px #2c1b1866}.btn-whatsapp-elegant{background:linear-gradient(135deg,var(--pl-whatsapp) 0%,var(--pl-whatsapp-hover) 100%);color:#fff;padding:.875rem 2rem;border-radius:999px;font-weight:600;font-size:.95rem;letter-spacing:.02em;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;display:inline-flex;align-items:center;gap:.5rem}.btn-whatsapp-elegant:hover{transform:translateY(-2px);box-shadow:0 20px 44px -12px #b57d7666}.btn-outline{background:transparent;color:var(--rr-deep);padding:.875rem 2rem;border-radius:999px;border:1.5px solid var(--rr-rose);font-weight:500;font-size:.95rem;transition:all .3s;display:inline-flex;align-items:center;gap:.5rem}.btn-outline:hover{background:var(--rr-deep);color:var(--rr-cream);border-color:var(--rr-deep)}.divider-ornament{display:inline-flex;align-items:center;gap:.75rem;color:var(--rr-mauve);font-family:Playfair Display,serif;font-style:italic;font-size:.85rem;letter-spacing:.15em;text-transform:uppercase}.divider-ornament:before,.divider-ornament:after{content:"";width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--rr-rose))}.divider-ornament:after{background:linear-gradient(90deg,var(--rr-rose),transparent)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--rr-cream)}::-webkit-scrollbar-thumb{background:var(--rr-rosedust);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--rr-rosewood)}.section-padding{padding:5rem 0}@media (min-width: 768px){.section-padding{padding:7rem 0}}.container{max-width:76rem;margin:0 auto;padding:0 1.5rem}@media (min-width: 1024px){.container{padding:0 2.5rem}}.App{min-height:100vh;background:var(--rr-ivory)}
