@import"https://fonts.googleapis.com/css2?family=Italiana&family=Montserrat:wght@400;500;600&family=Parisienne&display=swap";:root{font-family:Montserrat,sans-serif;color:#5d3d47;background:#fff9f3;font-synthesis:none;text-rendering:optimizeLegibility;--pink: #d997a8;--deep-pink: #a95f76;--blush: #f6dbe0;--ivory: #fffaf2;--gold: #c99a43;--gold-light: #ead3a0;--ink: #593c46}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}button,a{font:inherit}button{border:0}.invitation{min-height:100vh;overflow:hidden;position:relative;background:radial-gradient(circle at 15% 15%,rgba(246,219,224,.75),transparent 28%),radial-gradient(circle at 85% 78%,rgba(235,207,214,.55),transparent 30%),linear-gradient(145deg,#fffdf8,#fff5f4 52%,#fdf7ec)}.ambient{position:fixed;inset:0;pointer-events:none;z-index:3;overflow:hidden}.spark{position:absolute;bottom:-10px;width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 9px 2px #d5a44f8c;animation:rise linear infinite;opacity:0}.floating-fairy{position:absolute;font-size:clamp(1.8rem,5vw,3.2rem);filter:drop-shadow(0 3px 8px rgba(165,102,123,.25));opacity:.72;animation:float 5s ease-in-out infinite}.fairy-one{top:14%;left:4%}.fairy-two{right:5%;top:58%;animation-delay:-2.4s;transform:scaleX(-1)}.welcome{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;z-index:4}.welcome-card{width:min(92vw,620px);text-align:center;padding:clamp(42px,8vw,80px) clamp(24px,7vw,68px);border:1px solid rgba(201,154,67,.48);border-radius:46% 46% 24px 24px/18% 18% 24px 24px;background:#fffdf8d1;box-shadow:0 24px 70px #804b5c24,inset 0 0 0 7px #ffffffa3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:reveal .9s ease both}.eyebrow,.section-kicker{margin:0 0 14px;color:var(--gold);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;font-weight:600}.number-one,.hero-number{font-family:Italiana,serif;color:transparent;-webkit-text-stroke:1px var(--gold);line-height:.82;text-shadow:0 5px 24px rgba(201,154,67,.18)}.number-one{font-size:clamp(7rem,25vw,11rem);margin:14px 0 0}.welcome h1,.hero h1{font-family:Parisienne,cursive;color:var(--deep-pink);font-weight:400;margin:0;line-height:1}.welcome h1{font-size:clamp(2.7rem,9vw,5rem)}.welcome-card>p{margin:22px 0 30px;font-family:Italiana,serif;font-size:1.12rem}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;border-radius:999px;color:#fff;background:linear-gradient(135deg,#b66b82,#d79aaa);box-shadow:0 10px 26px #a95f7642;text-decoration:none;font-weight:600;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.primary-button:hover{transform:translateY(-3px);box-shadow:0 14px 30px #a95f7659}.primary-button:focus-visible,.text-link:focus-visible{outline:3px solid rgba(201,154,67,.55);outline-offset:4px}.music-control{position:fixed;z-index:20;right:20px;bottom:20px;width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(201,154,67,.55);border-radius:50%;color:#fff;background:linear-gradient(135deg,#b66b82,#d79aaa);box-shadow:0 10px 30px #84495c4d;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.music-control:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 14px 34px #84495c61}.music-control:focus-visible{outline:3px solid rgba(201,154,67,.55);outline-offset:4px}.music-control svg{width:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.music-control.is-playing svg{animation:musicPulse 1.8s ease-in-out infinite}.music-bars{position:absolute;right:-2px;top:-3px;width:22px;height:22px;display:flex;align-items:end;justify-content:center;gap:2px;padding:5px;border-radius:50%;background:var(--ivory);border:1px solid var(--gold-light)}.music-bars i{display:block;width:2px;height:4px;border-radius:2px;background:var(--gold)}.is-playing .music-bars i{animation:equalizer .8s ease-in-out infinite alternate}.is-playing .music-bars i:nth-child(2){animation-delay:-.45s}.is-playing .music-bars i:nth-child(3){animation-delay:-.2s}.content{position:relative;z-index:2}.enter{animation:reveal .8s ease both}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:80px 22px;position:relative}.hero:before{content:"";position:absolute;width:min(78vw,660px);aspect-ratio:1;border:1px solid rgba(201,154,67,.38);border-radius:50%;box-shadow:inset 0 0 70px #ffffffb3,0 0 0 12px #ffffff42}.hero>*{position:relative}.hero-number{font-size:clamp(9rem,30vw,17rem);margin:-6px 0 -26px;opacity:.85}.hero h1{font-size:clamp(3.4rem,11vw,7rem);text-shadow:0 3px 0 #fff}.surname{margin:8px 0 22px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-family:Italiana,serif;font-size:clamp(.9rem,2.5vw,1.15rem)}.hero-message{font-family:Italiana,serif;font-size:clamp(1rem,3vw,1.3rem);line-height:1.7}.parents{margin-top:28px;display:grid;gap:8px}.parents span,.parents small{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em}.parents strong{color:var(--deep-pink);font-family:Italiana,serif;font-size:clamp(1.2rem,4vw,1.55rem);font-weight:400}.parents i{color:var(--gold);font-family:Parisienne,cursive;font-size:1.5em;padding:0 5px}.floral-corner{position:absolute;color:var(--pink);font-size:clamp(4rem,13vw,8rem);opacity:.18}.floral-left{left:5%;top:12%;transform:rotate(-22deg)}.floral-right{right:5%;bottom:10%;transform:rotate(28deg)}.countdown-section,.details,.rsvp{padding:88px 20px;text-align:center}.countdown-section{background:linear-gradient(135deg,#a4566ef2,#cf8f9ff0);color:#fff;position:relative}.countdown-section .section-kicker{color:#f5ddb0}h2{margin:0 0 34px;font-family:Italiana,serif;font-size:clamp(2rem,6vw,3.3rem);font-weight:400}.countdown{width:min(100%,720px);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.time-box{padding:21px 8px;border:1px solid rgba(255,255,255,.35);border-radius:18px;background:#ffffff1c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.time-box strong{display:block;font-family:Italiana,serif;font-size:clamp(1.8rem,7vw,3.4rem);font-weight:400}.time-box span{font-size:clamp(.58rem,1.8vw,.72rem);letter-spacing:.12em;text-transform:uppercase}.details{width:min(1080px,100%);margin:auto}.details h2,.rsvp h2{color:var(--deep-pink)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.detail-card{padding:40px 28px;background:#ffffffbf;border:1px solid rgba(201,154,67,.32);border-radius:26px;box-shadow:0 18px 45px #734c5917}.icon-wrap{width:58px;height:58px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;background:var(--blush);color:var(--deep-pink)}.icon-wrap svg,.whatsapp svg{width:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.detail-card h3{color:var(--deep-pink);margin:0 0 14px;font-family:Italiana,serif;font-size:1.55rem;font-weight:400}.detail-card p{min-height:48px;margin:0 0 8px;line-height:1.55}.detail-card strong{display:block;color:var(--gold);margin-bottom:22px}.text-link{color:var(--deep-pink);text-underline-offset:5px;font-weight:600}.rsvp{margin:0 auto 70px;width:min(calc(100% - 36px),850px);border-radius:34px;background:#f8dfe3a3;border:1px solid rgba(201,154,67,.3);position:relative}.rsvp-fairy{display:block;font-size:3.5rem;margin-bottom:16px;animation:float 4s ease-in-out infinite}.rsvp>p:not(.section-kicker){margin:-16px auto 28px;max-width:560px;line-height:1.65}.whatsapp svg{width:22px}footer{text-align:center;padding:30px 20px 42px;color:var(--deep-pink)}footer>span{color:var(--gold)}footer p{font-family:Parisienne,cursive;font-size:1.7rem;margin:10px 0}footer small{color:#8e7880}@keyframes reveal{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:.75}to{opacity:0;transform:translateY(-105vh) translate(30px) scale(1.25)}}@keyframes float{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-16px) rotate(4deg)}}@keyframes equalizer{0%{height:3px}to{height:11px}}@keyframes musicPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media(max-width:640px){.fairy-one{top:8%;left:1%}.fairy-two{right:1%}.hero{padding-inline:18px}.hero:before{width:92vw}.countdown{gap:7px}.time-box{padding:17px 3px;border-radius:13px}.time-box span{letter-spacing:.06em}.detail-grid{grid-template-columns:1fr}.detail-card p{min-height:0}.music-control{right:14px;bottom:14px;width:54px;height:54px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
