*{box-sizing:border-box}*:before,*:after{box-sizing:inherit}html,body{margin:0;padding:0}body{min-height:100vh;background:var(--bg);color:var(--fg);font-family:var(--font-body);line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit}.theme-minimalista{--bg: #fafaf7;--fg: #0a0a0a;--accent: #8a9b82;--font-body: "Inter", sans-serif;--font-display: "Fraunces", serif}.theme-romantica{--bg: #f7f1e8;--fg: #5d4a3a;--accent: #c4a572;--accent-2: #e8c5b8;--font-body: "Cormorant Garamond", serif;--font-display: "Great Vibes", cursive}.theme-clasica{--bg: #ffffff;--fg: #1c1c1c;--accent: #d4c5a0;--font-body: "Montserrat", sans-serif;--font-display: "Playfair Display", serif}.theme-black{--bg: #0a0a0a;--fg: #f5f5f0;--accent: #d4af37;--accent-2: #b8860b;--font-body: "Inter", sans-serif;--font-display: "Bodoni Moda", serif}.touch-target{min-width:44px;min-height:44px}.safe-area-inset{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.fluid-h1,.fluid-h2,.fluid-h3{margin:0;line-height:1.1;font-family:var(--font-display);letter-spacing:.01em}.fluid-h1{font-size:clamp(2.25rem,9vw,5.75rem)}.fluid-h2{font-size:clamp(1.75rem,6vw,3.75rem)}.fluid-h3{font-size:clamp(1.3rem,4.5vw,2.25rem)}.js-enabled .reveal-on-scroll{opacity:0;transform:translateY(16px);transition:opacity .48s cubic-bezier(.22,1,.36,1),transform .48s cubic-bezier(.22,1,.36,1);will-change:transform,opacity}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:no-preference){@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes scaleBlurIn{0%{opacity:0;transform:scale(.92);filter:blur(8px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes shimmer{0%{background-position:200% 50%}to{background-position:-200% 50%}}@keyframes drawLine{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.anim-fade-up.is-visible{animation:fadeInUp .6s cubic-bezier(.22,1,.36,1) both}.anim-slide-left.is-visible{animation:slideInLeft .6s cubic-bezier(.22,1,.36,1) both}.anim-slide-right.is-visible{animation:slideInRight .6s cubic-bezier(.22,1,.36,1) both}.anim-scale-blur.is-visible{animation:scaleBlurIn .7s cubic-bezier(.22,1,.36,1) both}.anim-draw-line.is-visible{animation:drawLine .7s cubic-bezier(.22,1,.36,1) both;transform-origin:top}.anim-float{animation:float 6s ease-in-out infinite}.stagger-children>.reveal-on-scroll:nth-child(1){--stagger-delay: 0ms}.stagger-children>.reveal-on-scroll:nth-child(2){--stagger-delay: 80ms}.stagger-children>.reveal-on-scroll:nth-child(3){--stagger-delay: .16s}.stagger-children>.reveal-on-scroll:nth-child(4){--stagger-delay: .24s}.stagger-children>.reveal-on-scroll:nth-child(5){--stagger-delay: .32s}.stagger-children>.reveal-on-scroll:nth-child(6){--stagger-delay: .4s}.stagger-children>.reveal-on-scroll:nth-child(7){--stagger-delay: .48s}.stagger-children>.reveal-on-scroll:nth-child(8){--stagger-delay: .56s}.stagger-children>.reveal-on-scroll:nth-child(9){--stagger-delay: .64s}.stagger-children>.reveal-on-scroll:nth-child(10){--stagger-delay: .72s}.stagger-children>.reveal-on-scroll:nth-child(11){--stagger-delay: .8s}.stagger-children>.reveal-on-scroll:nth-child(12){--stagger-delay: .88s}.stagger-children>.reveal-on-scroll.is-visible{animation-delay:var(--stagger-delay, 0ms)}}.anim-shimmer{background:linear-gradient(110deg,var(--accent) 25%,#fff2cf 50%,var(--accent) 75%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}@media(prefers-reduced-motion:no-preference){.anim-shimmer{animation:shimmer 3s linear infinite}}@media(prefers-reduced-motion:reduce){.js-enabled .reveal-on-scroll{opacity:1;transform:none;transition:none}.anim-float,.anim-shimmer,.anim-draw-line.is-visible,.anim-fade-up.is-visible,.anim-slide-left.is-visible,.anim-slide-right.is-visible,.anim-scale-blur.is-visible{animation:none!important}}
