:root{--primary:#d5bdf0;--on-primary:#3a2851;--primary-container:#2d1b44;--on-primary-container:#9882b2;--inverse-primary:#6a5682;--secondary:#d3bbff;--on-secondary:#3a2266;--secondary-container:#51397e;--on-secondary-container:#c3a8f5;--tertiary:#c6c6c6;--on-tertiary:#2f3131;--tertiary-container:#232424;--on-tertiary-container:#8a8b8b;--surface:#13140d;--surface-dim:#13140d;--surface-bright:#393a32;--surface-container-lowest:#0d0f08;--surface-container-low:#1b1c15;--surface-container:#1f2019;--surface-container-high:#292b23;--surface-container-highest:#34352e;--surface-tint:#d5bdf0;--surface-variant:#34352e;--on-surface:#e4e3d7;--on-surface-variant:#ccc4ce;--inverse-surface:#e4e3d7;--inverse-on-surface:#303129;--outline:#958e98;--outline-variant:#4a454e;--error:#ffb4ab;--on-error:#690005;--error-container:#93000a;--on-error-container:#ffdad6;--color-lilas:var(--primary);--color-lilas-light:#e6d7f2;--color-lilas-dark:var(--on-primary);--color-prata:var(--tertiary);--color-prata-dark:var(--on-tertiary-container);--color-perola:var(--on-surface);--color-bg-dark:var(--surface);--color-bg-dark-card:var(--primary-container);--gradient-prata:linear-gradient(135deg, silver 0%, #e8e8e8 40%, #9e9e9e 60%, #d4d4d4 100%);--gradient-lilas:linear-gradient(135deg, #d5bdf0 0%, #c4a8e0 50%, #7b5e9d 100%);--gradient-surface:radial-gradient(circle at center, #2d1b44 0%, #13140d 100%);--glass-bg:#2d1b4440;--glass-blur:24px;--glass-border:1px solid #d5bdf026;--glass-border-hover:1px solid #d5bdf066;--glass-shadow-hover:0 40px 60px -15px #2d1b4466;--font-display:"Playfair Display", Georgia, serif;--font-body:"Montserrat", Arial, sans-serif;--font-script:"Great Vibes", cursive;--font-luxury:"Prata", "Playfair Display", Georgia, serif;--text-display-lg:64px;--text-display-lg-mobile:42px;--text-headline-md:32px;--text-headline-sm:24px;--text-body-lg:18px;--text-body-md:16px;--text-label-caps:12px;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-display:clamp(2.5rem, 8vw, 5rem);--spacing-unit:8px;--spacing-gutter:20px;--spacing-section-gap:120px;--spacing-container-mobile:24px;--spacing-container-desktop:80px;--radius-sm:.5rem;--radius:1rem;--radius-md:1.5rem;--radius-lg:2rem;--radius-xl:3rem;--radius-full:9999px;--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-decelerate:cubic-bezier(0, 0, .2, 1);--ease-accelerate:cubic-bezier(.4, 0, 1, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg-dark);color:var(--color-perola);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.skip-link{background:var(--color-lilas-light);color:var(--color-bg-dark);font-family:var(--font-body);font-size:var(--text-sm);z-index:9999;padding:8px 16px;transition:top .2s;position:absolute;top:-100%;left:0}.skip-link:focus{top:0}.btn{border-radius:var(--radius-full,9999px);min-height:56px;font-family:var(--font-body);font-weight:600;font-size:var(--text-label-caps,12px);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .3s var(--ease-standard,cubic-bezier(.4, 0, .2, 1));border:none;justify-content:center;align-items:center;gap:8px;padding:0 32px;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary-container,#2d1b44);color:var(--primary,#d5bdf0);border:1px solid #d5bdf033}.btn-primary:hover{background:var(--primary,#d5bdf0);color:var(--on-primary,#3a2851)}.btn-primary:active{transform:scale(.95)}.btn-outline{color:var(--primary,#d5bdf0);border:1px solid var(--outline-variant,#4a454e);background:0 0}.btn-outline:hover{border-color:var(--primary,#d5bdf0);background:#d5bdf014}.card-glass{background:var(--glass-bg,#2d1b4440);-webkit-backdrop-filter:blur(var(--glass-blur,20px));border:var(--glass-border,.5px solid #c0c0c04d);border-radius:var(--radius-lg,2rem);transition:all .4s var(--ease-standard);padding:24px;box-shadow:0 8px 32px #00000026}.card-glass:hover{border-color:#d5bdf066;transform:translateY(-4px);box-shadow:0 20px 40px -10px #2d1b444d}.silver-text{background:linear-gradient(90deg,#e2e2ea,#fff,#c6c6ce);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}#loading-screen{background-color:var(--color-bg-dark);z-index:9999;flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}#loading-screen .monogram{font-family:var(--font-display);font-size:var(--text-5xl);color:var(--color-prata);opacity:0;letter-spacing:.1em}#loading-screen .progress-bar-container{background-color:#ffffff1a;border-radius:2px;width:200px;height:2px;overflow:hidden}#loading-screen .progress-bar{background:var(--gradient-lilas);width:0%;height:100%}@media (hover:hover) and (pointer:fine){*{cursor:none!important}.cursor-dot,.cursor-trail{pointer-events:none;z-index:9998;border-radius:50%;position:fixed;top:0;left:0}.cursor-dot{background-color:var(--color-lilas);width:8px;height:8px}.cursor-trail{background-color:#9b7ebd1a;border:1px solid #9b7ebd66;width:40px;height:40px}}@media (hover:none),(pointer:coarse){.cursor-dot,.cursor-trail{display:none!important}}#envelope-overlay{z-index:100;pointer-events:none;background:radial-gradient(circle at center, #2d1b4e4d 0%, transparent 60%), var(--surface,#13140d);visibility:visible;opacity:1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#envelope-overlay.active{pointer-events:auto}.envelope-container{aspect-ratio:4/3;background:var(--primary-container,#2d1b44);border-radius:var(--radius,1rem);perspective:1200px;width:min(90vw,480px);max-height:90vh;transform-style:preserve-3d;border:1px solid #c0c0c833;position:relative;overflow:hidden;box-shadow:0 20px 60px -15px #00000080,0 0 80px #2d1b4e4d,inset 0 1px #ffffff14}.envelope-container:before{content:"";background-image:radial-gradient(var(--primary,#d5bdf0) .5px, transparent .5px);opacity:.06;border-radius:inherit;z-index:0;pointer-events:none;background-size:20px 20px;position:absolute;inset:0}.envelope-body{border-radius:inherit;z-index:1;position:absolute;inset:0;overflow:hidden}.envelope-fold-left,.envelope-fold-right{z-index:2;pointer-events:none;width:50%;height:100%;position:absolute;bottom:0}.envelope-fold-left{background:var(--primary-container,#2d1b44);clip-path:polygon(0 0,0 100%,100% 100%);border-right:1px solid #00000026;left:0}.envelope-fold-right{background:var(--primary-container,#2d1b44);clip-path:polygon(100% 0,0 100%,100% 100%);border-left:1px solid #00000026;right:0}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 100%);z-index:5;transform-origin:top;width:100%;height:52%;transform-style:preserve-3d;backface-visibility:hidden;background:#3c286b;position:absolute;top:0;left:0}.envelope-cord{z-index:6;pointer-events:none;position:absolute;inset:0}.envelope-cord:before{content:"";background:linear-gradient(90deg,#0000 0%,#c0c0c840 15%,#c0c0c866 50%,#c0c0c840 85%,#0000 100%);border-radius:2px;height:2px;position:absolute;top:50%;left:-4px;right:-4px;transform:translateY(-50%)}.envelope-cord:after{content:"";background:linear-gradient(#0000 0%,#c0c0c840 15%,#c0c0c866 50%,#c0c0c840 85%,#0000 100%);border-radius:2px;width:2px;position:absolute;top:-4px;bottom:-4px;left:50%;transform:translate(-50%)}.envelope-cord-knot{z-index:7;background:linear-gradient(135deg,#c0c0c84d,#c0c0c826);border:.5px solid #c0c0c833;border-radius:2px;width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.envelope-seal{appearance:none;z-index:8;cursor:pointer;filter:drop-shadow(0 4px 20px #2d1b4e80)drop-shadow(0 2px 8px #00000080);background:0 0;border:none;justify-content:center;align-items:center;width:80px;height:80px;padding:0;transition:transform .5s cubic-bezier(.34,1.56,.64,1),filter .3s;animation:2.4s cubic-bezier(.4,0,.6,1) infinite seal-pulse;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.envelope-seal img{object-fit:contain;border-radius:50%;width:100%;height:100%}.envelope-seal:hover{filter:drop-shadow(0 6px 30px #d2bcfa80)drop-shadow(0 4px 12px #00000080);animation-play-state:paused;transform:translate(-50%,-50%)scale(1.12)}.envelope-hint{white-space:nowrap;font-family:var(--font-body);font-size:var(--text-label-caps,12px);color:var(--primary,#d5bdf0);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:.5rem;font-weight:600;animation:2.5s ease-in-out infinite hint-breathe;display:flex;position:absolute;bottom:-2.5rem;left:50%;transform:translate(-50%)}.envelope-hint:before,.envelope-hint:after{content:"✦";color:var(--primary,#d5bdf0);font-size:.5rem;animation:2.5s ease-in-out infinite reverse hint-breathe}@keyframes seal-pulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.05)}}@keyframes hint-breathe{0%,to{opacity:.8}50%{opacity:.35}}@media (width<=380px){.envelope-container{width:95vw}.envelope-seal{width:64px;height:64px}.envelope-skip{font-size:var(--text-xs);padding:6px 12px;bottom:1rem;right:1rem}}@media (height<=500px) and (orientation:landscape){.envelope-container{aspect-ratio:4/3;width:auto;height:85vh}.envelope-seal{width:56px;height:56px}.envelope-hint{display:none}}@media (width>=768px){.envelope-container{width:min(80vw,520px)}.envelope-seal{width:100px;height:100px}.envelope-cord:before{height:3px}.envelope-cord:after{width:3px}}@media (width>=1024px){.envelope-container{width:min(70vw,520px)}.envelope-seal{width:110px;height:110px}}.envelope-skip{appearance:none;z-index:10;border-radius:var(--radius-full,9999px);font-family:var(--font-body);font-weight:500;font-size:var(--text-sm);color:var(--primary,#d5bdf0);letter-spacing:.05em;cursor:pointer;background:#2d1b4e4d;border:1px solid #c0c0c833;padding:8px 20px;transition:color .2s,border-color .2s,background .2s;position:absolute;bottom:1.5rem;right:1.5rem}.envelope-skip:hover{color:var(--on-surface,#e4e3d7);background:#2d1b4e80;border-color:#d2bcfa66}.envelope-skip:focus-visible{outline:2px solid var(--primary,#d5bdf0);outline-offset:2px}.envelope-particle{pointer-events:none;will-change:transform, opacity;border-radius:50%;animation:linear infinite particle-float;position:absolute}@keyframes particle-float{0%{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(180deg)}to{transform:translateY(0)rotate(360deg)}}.section-hero{flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;display:flex;position:relative;overflow:hidden}.section-hero .hero-bg{z-index:0;background:radial-gradient(ellipse 80% 60% at 50% 20%, #4b287880 0%, transparent 60%), radial-gradient(ellipse 60% 50% at 80% 70%, #9b7ebd1f 0%, transparent 50%), radial-gradient(ellipse 50% 40% at 15% 60%, #9b7ebd14 0%, transparent 50%), radial-gradient(circle at 50% 50%, #13140df2 0%, var(--surface,#13140d) 100%);position:absolute;inset:0}.section-hero .hero-bg:before,.section-hero .hero-bg:after{content:"";pointer-events:none;position:absolute;inset:0}.section-hero .hero-bg:before{background-image:radial-gradient(1px 1px at 10% 15%,#fffc,#0000),radial-gradient(1px 1px at 25% 35%,#d5bdf0b3,#0000),radial-gradient(1.5px 1.5px at 40% 8%,#ffffffe6,#0000),radial-gradient(1px 1px at 55% 25%,#c0c0c099,#0000),radial-gradient(1.5px 1.5px at 70% 12%,#d5bdf0cc,#0000),radial-gradient(1px 1px at 85% 30%,#ffffffb3,#0000),radial-gradient(1px 1px at 15% 55%,#c0c0c080,#0000),radial-gradient(1.5px 1.5px at 30% 70%,#fff9,#0000),radial-gradient(1px 1px at 50% 80%,#d5bdf0b3,#0000),radial-gradient(1px 1px at 65% 60%,#ffffff80,#0000),radial-gradient(1.5px 1.5px at 80% 75%,#c0c0c0cc,#0000),radial-gradient(1px 1px at 90% 45%,#fff9,#0000),radial-gradient(1px 1px at 5% 85%,#d5bdf080,#0000),radial-gradient(1.5px 1.5px at 45%,#ffffffb3,#0000),radial-gradient(1px 1px at 75% 90%,#c0c0c099,#0000),radial-gradient(1px 1px at 95% 65%,#fff6,#0000),radial-gradient(1px 1px at 20% 92%,#d5bdf099,#0000),radial-gradient(2px 2px at 60% 5%,#ffffffe6,#0000),radial-gradient(1px 1px at 35% 42%,#c0c0c080,#0000),radial-gradient(1.5px 1.5px at 88% 18%,#d5bdf0b3,#0000);animation:4s ease-in-out infinite alternate hero-stars-twinkle}.section-hero .hero-bg:after{background-image:radial-gradient(2px 2px at 18% 22%,#fff,#0000),radial-gradient(2.5px 2.5px at 72% 18%,#d5bdf0,#0000),radial-gradient(2px 2px at 45% 65%,#c0c0c0e6,#0000),radial-gradient(3px 3px at 82% 52%,#fffc,#0000),radial-gradient(2px 2px at 28% 78%,#d5bdf0e6,#0000),radial-gradient(2.5px 2.5px at 58% 38%,#ffffffb3,#0000),radial-gradient(2px 2px at 92% 82%,#c0c0c0cc,#0000),radial-gradient(3px 3px at 8% 45%,#d5bdf099,#0000);animation:3s ease-in-out 1s infinite alternate hero-stars-twinkle}@keyframes hero-stars-twinkle{0%{opacity:.5}50%{opacity:1}to{opacity:.6}}.hero-sparkle{pointer-events:none;z-index:1;color:#d5bdf0b3;font-size:14px;animation:3s ease-in-out infinite hero-sparkle-float;position:absolute}.hero-sparkle:first-child{font-size:10px;animation-delay:0s;top:8%;left:10%}.hero-sparkle:nth-child(2){color:#c0c0c0cc;font-size:16px;animation-delay:.5s;top:15%;right:12%}.hero-sparkle:nth-child(3){font-size:8px;animation-delay:1s;top:30%;left:5%}.hero-sparkle:nth-child(4){color:#c0c0c099;font-size:12px;animation-delay:1.5s;top:60%;right:8%}.hero-sparkle:nth-child(5){font-size:14px;animation-delay:2s;bottom:25%;left:8%}.hero-sparkle:nth-child(6){color:#ffffff80;font-size:10px;animation-delay:.8s;bottom:15%;right:15%}@keyframes hero-sparkle-float{0%,to{opacity:.4;transform:translateY(0)scale(1)}50%{opacity:1;transform:translateY(-8px)scale(1.3)}}.section-hero .hero-content{z-index:2;text-align:center;padding:0 var(--spacing-container-mobile,24px);width:100%;max-width:480px;position:relative}.section-hero .hero-photo-frame{aspect-ratio:3/4;border-radius:var(--radius-lg,2rem);background:linear-gradient(135deg,#c0c0c099,#d5bdf066,#ffffff4d,#d5bdf080,#c0c0c099) 0 0/300% 300%;width:100%;max-width:320px;margin:0 auto;padding:3px;animation:4s ease-in-out infinite hero-shimmer-border;position:relative;overflow:hidden;box-shadow:0 20px 60px -15px #0009,0 0 40px #9b7ebd4d,0 0 80px #2d1b4e66,inset 0 0 20px #d5bdf01a}.section-hero .hero-photo-frame>.hero-photo-gradient,.section-hero .hero-photo-frame>.hero-photo-img{border-radius:calc(var(--radius-lg,2rem) - 3px)}@keyframes hero-shimmer-border{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.section-hero .hero-photo-frame:after{content:"";border-radius:calc(var(--radius-lg,2rem) + 4px);z-index:-1;filter:blur(8px);background:linear-gradient(135deg,#d5bdf04d,#0000 40%,#c0c0c033,#0000 70%,#d5bdf04d);animation:3s ease-in-out infinite alternate hero-glow-pulse;position:absolute;inset:-4px}@keyframes hero-glow-pulse{0%{opacity:.4;transform:scale(1)}to{opacity:.8;transform:scale(1.02)}}.section-hero .hero-photo-img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.section-hero .hero-photo-gradient{z-index:1;pointer-events:none;background:linear-gradient(#0000 45%,#13140d99 75%,#13140df2 100%);position:absolute;inset:0}.section-hero .hero-photo-overlay{bottom:0;z-index:2;text-align:center;padding:32px 24px;position:absolute;inset-inline:0}.section-hero .hero-name{font-family:var(--font-display);background:linear-gradient(135deg,#e8e0f0,#fff,#d5bdf0,#fff,silver) 0 0/200% 200%;-webkit-text-fill-color:transparent;letter-spacing:-.01em;filter:drop-shadow(0 0 20px #d5bdf04d);-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:clamp(2.5rem,10vw,4.5rem);font-weight:700;line-height:1.05;animation:5s ease-in-out infinite hero-name-shimmer}@keyframes hero-name-shimmer{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.section-hero .hero-subtitle-overlay{font-family:var(--font-body);font-size:var(--text-label-caps,12px);color:var(--primary,#d5bdf0);letter-spacing:.3em;text-transform:uppercase;text-shadow:0 0 12px #d5bdf080;font-weight:600}.hero-age-badge{font-family:var(--font-script,"Great Vibes", cursive);color:var(--primary,#d5bdf0);letter-spacing:.15em;text-shadow:0 0 15px #d5bdf066;justify-content:center;align-items:center;gap:12px;margin-bottom:20px;font-size:clamp(1rem,3vw,1.2rem);display:flex}.hero-age-badge .hero-age-number{font-family:var(--font-display);background:linear-gradient(#fff,silver,#9b7ebd);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 15px #c0c0c080);-webkit-background-clip:text;background-clip:text;font-size:clamp(2.8rem,9vw,4rem);font-weight:700;line-height:1}.hero-age-badge .hero-age-star{opacity:.7;font-size:.7em;animation:2.5s ease-in-out infinite hero-sparkle-float}.hero-age-badge .hero-age-star:last-child{animation-delay:.5s}.section-hero .hero-countdown{width:100%;max-width:420px;margin:20px auto 0}.section-hero{min-height:auto;padding:60px 0 80px}.section-hero .hero-scroll-indicator{z-index:1;animation:2s ease-in-out infinite hero-bounce;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.section-hero .hero-chevron{font-size:var(--text-xl);color:var(--primary,#d5bdf0);opacity:.5;line-height:1;display:block;transform:rotate(90deg)}@keyframes hero-bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(10px)}}@media (width>=768px){.section-hero .hero-content{max-width:640px}.section-hero .hero-photo{width:200px;height:200px}.section-hero .hero-photo-initials{font-size:var(--text-5xl)}.hero-countdown .countdown-block{min-width:80px;padding:20px 16px}.section-quote .quote-text{font-size:var(--text-3xl)}.section-details .details-grid{max-width:640px}}.section-ctas{padding:80px var(--spacing-container-mobile,24px);text-align:center;background:var(--surface,#13140d)}.section-ctas .ctas-title{font-family:var(--font-display);font-size:var(--text-headline-md,32px);color:var(--on-surface,#e4e3d7);margin-bottom:40px;font-weight:600}.section-ctas .ctas-buttons{flex-direction:column;gap:16px;max-width:420px;margin:0 auto;display:flex}.btn-magnetic{will-change:transform;justify-content:flex-start;gap:12px;width:100%;padding:0 24px;position:relative}.btn-cta-primary{background:var(--primary-container,#2d1b44);color:var(--primary,#d5bdf0);border:1px solid #d5bdf033}.btn-cta-primary:hover{background:var(--primary,#d5bdf0);color:var(--on-primary,#3a2851)}.btn-cta-secondary{background:var(--glass-bg,#2d1b4440);color:var(--on-surface,#e4e3d7);border:1px solid var(--outline-variant,#4a454e80)}.btn-cta-secondary:hover{background:#2d1b4e80;border-color:#d5bdf066}.btn-magnetic .btn-icon{flex-shrink:0;font-size:20px;line-height:1}.btn-magnetic .btn-text{font-weight:500}@media (width>=768px){.section-ctas .ctas-buttons{max-width:480px}.btn-magnetic{max-width:420px;margin-left:auto;margin-right:auto}}.hero-countdown{text-align:center}.hero-countdown .countdown-title{font-family:var(--font-body);font-size:var(--text-label-caps,12px);color:var(--on-surface-variant,#ccc4ce);text-transform:uppercase;letter-spacing:.2em;margin-bottom:24px;font-weight:600}.hero-countdown .countdown-blocks{background:var(--glass-bg,#2d1b4440);max-width:380px;-webkit-backdrop-filter:blur(var(--glass-blur,20px));border:var(--glass-border,.5px solid #c0c0c04d);border-radius:var(--radius-xl,3rem);grid-template-columns:repeat(4,1fr);gap:0;margin:0 auto;display:grid;overflow:hidden}.hero-countdown .countdown-block{text-align:center;background:0 0;border:none;border-radius:0;min-width:0;padding:24px 8px 20px}.hero-countdown .countdown-block+.countdown-block{border-left:.5px solid #c0c0c833}.hero-countdown .countdown-number{font-family:var(--font-display);background:linear-gradient(90deg,#e2e2ea,#fff,#c6c6ce);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.75rem,6vw,3rem);font-weight:700;line-height:1;display:block}.hero-countdown .countdown-label{font-family:var(--font-body);color:var(--on-surface-variant,#ccc4ce);text-transform:uppercase;letter-spacing:.1em;margin-top:8px;font-size:.625rem;font-weight:600;display:block}.hero-countdown.countdown-last-week .countdown-number{animation:2s ease-in-out infinite countdown-pulse}@keyframes countdown-pulse{0%,to{opacity:1}50%{opacity:.7}}.hero-countdown.countdown-today .countdown-blocks{border-color:#daa5204d;box-shadow:0 0 40px #daa5201a}.hero-countdown .countdown-message{font-family:var(--font-display);font-size:var(--text-headline-sm,24px);color:var(--primary,#d5bdf0);display:none}.hero-countdown.countdown-past .countdown-blocks,.hero-countdown.countdown-past .countdown-title{display:none}.hero-countdown.countdown-past .countdown-message{display:block}.section-quote{padding:80px var(--spacing-container-mobile,24px);text-align:center;background:var(--surface,#13140d)}.section-quote .quote-wrapper{max-width:480px;margin:0 auto;position:relative}.section-quote .quote-text{font-family:var(--font-script);font-size:var(--text-2xl);color:var(--primary,#d5bdf0);line-height:1.6}.section-quote .quote-ornament{font-size:var(--text-5xl);color:var(--outline,#958e98);opacity:.3;-webkit-user-select:none;user-select:none;line-height:1;display:block}.section-quote .quote-ornament-open{margin-bottom:12px}.section-quote .quote-ornament-close{margin-top:12px}.section-details{padding:80px var(--spacing-container-mobile,24px);background:var(--surface,#13140d)}.section-details .details-title{font-family:var(--font-display);font-size:var(--text-headline-md,32px);color:var(--on-surface,#e4e3d7);text-align:center;margin-bottom:32px;font-weight:600}.section-details .details-grid{flex-direction:column;gap:16px;max-width:480px;margin:0 auto;display:flex}.section-details .detail-card{background:var(--glass-bg,#2d1b4440);-webkit-backdrop-filter:blur(var(--glass-blur,20px));border:var(--glass-border,.5px solid #c0c0c04d);border-radius:var(--radius-xl,3rem);text-align:center;transition:all .4s var(--ease-standard);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 24px;display:flex}.section-details .detail-card:hover{background:#2d1b4e66;border-color:#d5bdf066}.section-details .detail-icon{color:var(--primary,#d5bdf0);flex-shrink:0;margin-bottom:8px;font-size:32px;line-height:1}.section-details .detail-info{flex:1;min-width:0}.section-details .detail-label{font-family:var(--font-body);font-size:var(--text-label-caps,12px);color:var(--on-surface-variant,#ccc4ce);text-transform:uppercase;letter-spacing:.15em;margin-bottom:6px;font-weight:600;display:block}.section-details .detail-value{font-family:var(--font-display);font-size:var(--text-headline-sm,24px);color:var(--on-surface,#e4e3d7);word-break:break-word;font-weight:600}.section-details .detail-address{font-family:var(--font-body);font-size:var(--text-sm);color:var(--primary,#d5bdf0);word-break:break-word;margin-top:8px;transition:-webkit-text-decoration .2s,text-decoration .2s}.section-details .detail-address:hover{text-decoration:underline}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.section-details .detail-card{background:#2d1b4ed9}}.section-mensagem{background:#2d1b4e0a;padding:80px 0}.section-mensagem .mensagem-container{max-width:600px;margin:0 auto;padding:0 20px}.section-mensagem .mensagem-eyebrow{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-prata-dark);text-transform:uppercase;letter-spacing:.15em;text-align:center;margin:0 0 32px;font-weight:500}.section-mensagem .mensagem-card{background:#faf7f00f;border:1px solid #c0c0c040;border-radius:20px;padding:48px 40px;position:relative;box-shadow:0 16px 48px #0003,inset 0 1px #ffffff0d}.section-mensagem .mensagem-texto{font-family:var(--font-script);color:var(--color-perola);white-space:pre-line;margin:0 0 24px;font-size:clamp(1.5rem,4vw,2rem);line-height:1.8}.section-mensagem .mensagem-divider{color:#c0c0c080;font-size:var(--text-xs);align-items:center;gap:12px;margin:32px 0;display:flex}.section-mensagem .mensagem-divider:before,.section-mensagem .mensagem-divider:after{content:"";background:#c0c0c04d;flex:1;height:1px}.section-mensagem .mensagem-assinatura{font-family:var(--font-script);color:var(--color-lilas-light);text-align:right;transform-origin:100%;margin:0;font-size:clamp(2rem,5vw,2.8rem);line-height:1.2;transform:rotate(-2deg)}@media (width<=400px){.section-mensagem .mensagem-card{padding:32px 24px}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.section-mensagem .mensagem-card{background:#2d1e3ce0}}@keyframes mensagem-float{0%{transform:translateY(0)rotate(0)}50%{transform:translateY(-12px)rotate(180deg)}to{transform:translateY(0)rotate(360deg)}}.section-mensagem .mensagem-glitter{opacity:.6;pointer-events:none;border-radius:50%;animation:4s ease-in-out infinite mensagem-float;position:absolute}#rsvp-modal{z-index:1000;-webkit-backdrop-filter:blur(4px);background:#1a1025d9;display:none;position:fixed;inset:0}#rsvp-modal.is-open{justify-content:center;align-items:center;display:flex}.rsvp-card{-webkit-backdrop-filter:blur(20px);background:#2d1e45bf;border:1px solid #9b7ebd33;width:90%;max-width:420px;padding:32px;position:relative;box-shadow:0 24px 64px #0006,inset 0 0 0 1px #9b7ebd1a}.rsvp-title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-perola);margin-bottom:24px;padding-right:32px;font-weight:400}.rsvp-close{cursor:pointer;color:var(--color-prata);font-size:var(--text-xl);background:0 0;border:none;border-radius:4px;padding:4px 8px;line-height:1;transition:color .2s,background .2s;position:absolute;top:16px;right:16px}.rsvp-close:hover{color:var(--color-perola);background:#ffffff14}.rsvp-form{flex-direction:column;gap:0;display:flex}.rsvp-field{flex-direction:column;margin-bottom:16px;display:flex}.rsvp-field label{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-prata);letter-spacing:.02em;margin-bottom:6px;font-weight:500;display:block}.rsvp-input{width:100%;color:var(--color-perola);font-family:var(--font-body);font-size:var(--text-base);-moz-appearance:textfield;background:#ffffff12;border:1px solid #c0c0c04d;border-radius:8px;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.rsvp-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rsvp-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rsvp-input::placeholder{color:var(--color-prata-dark);opacity:.7}.rsvp-input:focus{border-color:var(--color-lilas);background:#ffffff1a;outline:none;box-shadow:0 0 0 2px #9b7ebd4d}.rsvp-input.has-error{border-color:#ff646499;box-shadow:0 0 0 2px #ff646433}.rsvp-field-error{font-family:var(--font-body);font-size:var(--text-xs);color:#ff8c8ce6;min-height:16px;margin-top:4px;display:block}.rsvp-submit{width:100%;font-size:var(--text-base);letter-spacing:.02em;justify-content:center;gap:8px;margin-top:8px}.rsvp-feedback{font-family:var(--font-body);font-size:var(--text-sm);text-align:center;color:var(--color-lilas-light);margin-top:12px;display:none}.rsvp-feedback.is-visible{display:block}.rsvp-feedback.is-error{color:#ff8c8ce6}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){#rsvp-modal{background:#1a1025f0}.rsvp-card{background:#1a1025f2;border-color:#9b7ebd4d}}@media (width>=768px){.rsvp-card{padding:40px}.rsvp-title{font-size:var(--text-3xl)}}.section-presents{background:var(--color-bg-dark);padding:80px 0}.presents-container{max-width:900px;margin:0 auto;padding:0 20px}.section-presents .presents-eyebrow{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-prata-dark);text-transform:uppercase;letter-spacing:.15em;text-align:center;margin:0 0 24px;font-weight:500}.section-presents .presents-title{font-family:var(--font-display);color:var(--color-perola);text-align:center;margin:0 0 12px;font-size:clamp(1.8rem,5vw,2.5rem);font-weight:400}.section-presents .presents-nota{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-prata-dark);text-align:center;margin:0 0 48px;line-height:1.6}.section-presents .presents-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:64px;display:grid}.section-presents .present-card{-webkit-backdrop-filter:blur(12px);text-align:center;background:#2d1e4599;border:1px solid #c0c0c033;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:24px 20px;transition:transform .25s,border-color .25s;display:flex;box-shadow:0 4px 24px #9b7ebd26}.section-presents .present-card:hover{border-color:#9b7ebd80;transform:translateY(-2px)}.section-presents .present-card__emoji{margin-bottom:4px;font-size:2.5rem;line-height:1}.section-presents .present-card__categoria{font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-prata-dark);font-weight:500}.section-presents .present-card__nome{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-perola);font-weight:400;line-height:1.3}.section-presents .present-card__descricao{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-prata-dark);line-height:1.5}.section-presents .present-card__cores{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:4px;display:flex}.section-presents .present-card__cor-pill{font-size:var(--text-xs);font-family:var(--font-body);color:var(--color-lilas-light);background:#9b7ebd26;border-radius:12px;padding:2px 10px}.section-presents .presents-pix{text-align:center;margin-top:32px}.section-presents .presents-pix__divider{align-items:center;gap:16px;max-width:300px;margin:0 auto 40px;display:flex}.section-presents .presents-pix__divider-line{background:#c0c0c04d;flex:1;height:1px}.section-presents .presents-pix__divider-icon{color:#c0c0c080;font-size:var(--text-xs)}.section-presents .presents-pix__title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-perola);margin:0 0 24px;font-weight:400}.section-presents .presents-pix__card{-webkit-backdrop-filter:blur(12px);background:#2d1e4599;border:1px solid #c0c0c033;border-radius:20px;flex-direction:column;align-items:center;gap:16px;max-width:320px;margin:0 auto;padding:32px 24px;display:flex}#pix-qr{object-fit:contain;background:#fff;border:2px solid #c0c0c04d;border-radius:8px;width:140px;height:140px}.pix-qr-pending{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-prata-dark);display:none}.section-presents .presents-pix__label{font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-prata-dark);margin:0;font-weight:500}.section-presents .presents-pix__chave{font-family:var(--font-body);font-size:var(--text-xl);color:var(--color-lilas-light);letter-spacing:.05em;word-break:break-all;font-weight:600}.pix-feedback{font-family:var(--font-body);font-size:var(--text-sm);color:#4caf50;opacity:0;min-height:20px;transition:opacity .3s}.section-presents .presents-pix__beneficiario{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-prata-dark);margin:0}.section-presents .presents-back{justify-content:center;margin-top:48px;padding-bottom:32px;display:flex}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.section-presents .present-card,.section-presents .presents-pix__card{background:#2d1e45e0}}@media (width<=400px){.section-presents .present-card{padding:20px 16px}.section-presents .presents-pix__card{padding:24px 16px}}
