@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%}body{color:#40384c;background:#fffaf3;min-height:100%;margin:0;font-family:DM Sans,sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.invitation{--ink:#40384c;--muted:#71687a;--pink:#f36f9b;--pink-soft:#ffdce8;--blue:#4aa8df;--blue-soft:#d9f2ff;--yellow:#ffc94a;--mint:#61d5be;--purple:#9676df;--accent:#8e70d2;--accent-soft:#eee7ff;background:#fffaf3;min-height:100vh;transition:background .75s;position:relative;overflow:hidden}.invitation.theme-girl{--accent:#e75287;--accent-soft:#ffe0eb;background:linear-gradient(150deg,#fff8fa,#fff0f5 54%,#fff9ef)}.invitation.theme-boy{--accent:#328fc8;--accent-soft:#dff3ff;background:linear-gradient(150deg,#f7fcff,#eaf7ff 54%,#fff9ef)}.eyebrow{color:var(--accent);letter-spacing:.2em;text-transform:uppercase;margin:0 0 11px;font-size:12px;font-weight:700;transition:color .5s}.intro{z-index:20;text-align:center;background:radial-gradient(circle at 15% 15%,#ffc94a85,#0000 24%),radial-gradient(circle at 86% 24%,#f36f9b70,#0000 28%),radial-gradient(circle at 62% 86%,#61d5be6b,#0000 27%),linear-gradient(145deg,#e4f6ff,#fff6d9 52%,#ffe7f0);place-content:center;justify-items:center;padding:24px;transition:opacity .75s .5s,visibility .75s .5s;display:grid;position:fixed;inset:0;overflow:hidden}.is-open .intro{opacity:0;visibility:hidden;pointer-events:none}.intro-orb{filter:blur(1px);opacity:.55;border-radius:50%;animation:6s ease-in-out infinite orb-float;position:absolute}.orb-one{background:#ffbdd4;width:160px;height:160px;top:24%;left:-50px}.orb-two{background:#9edcff;width:120px;height:120px;animation-delay:-2s;top:15%;right:-30px}.orb-three{background:#ffe181;width:90px;height:90px;animation-delay:-4s;bottom:8%;right:8%}.intro-copy{z-index:2;position:relative}.intro h1{color:#4b4057;letter-spacing:-.045em;max-width:680px;margin:0;font-family:Fraunces,serif;font-size:clamp(37px,7vw,64px);line-height:.98}.intro-copy>p:last-child{color:#776a80;font-size:15px}.envelope-stage{z-index:3;cursor:pointer;perspective:900px;width:min(430px,89vw);height:310px;margin:6px auto -3px;animation:3.2s ease-in-out infinite envelope-float;position:relative}.envelope-stage:focus-visible{outline-offset:-28px;border-radius:28px;outline:4px solid #8e70d26b}.envelope-stage:after{content:"";filter:blur(12px);background:#503d5c2b;border-radius:50%;height:30px;animation:3.2s ease-in-out infinite envelope-shadow;position:absolute;bottom:17px;left:17%;right:17%}.envelope{z-index:2;filter:drop-shadow(0 23px 27px #4a365833);height:220px;position:absolute;bottom:38px;left:5%;right:5%}.envelope>span{display:block;position:absolute}.envelope-back{background:linear-gradient(145deg,#f5e7d7,#e7d2bd);border-radius:14px;inset:0}.envelope-card{color:#a87842;background:linear-gradient(145deg,#fffdf8,#fff6e9);border:1px solid #aa86552e;border-radius:10px;place-items:center;height:82%;font-family:Fraunces,serif;font-size:28px;transition:transform .65s cubic-bezier(.2,.85,.34,1);top:8%;left:8%;right:8%;display:grid!important}.envelope-card:before,.envelope-card:after{content:"✦";color:var(--yellow);font-size:16px;position:absolute}.envelope-card:before{top:25px;left:28px}.envelope-card:after{color:var(--pink);bottom:24px;right:28px}.envelope-stage:hover .envelope-card{transform:translateY(-16px)}.envelope-flap{z-index:4;clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:top;background:linear-gradient(155deg,#f8eadb,#e3ccb6);border-radius:14px;transition:transform .55s,z-index .1s .28s;inset:0}.envelope-front{z-index:5;clip-path:polygon(0 0,50% 59%,100% 0,100% 100%,0 100%);background:linear-gradient(150deg,#f2e1d0,#e2cbb5);border-radius:14px;inset:0}.envelope-left{z-index:6;clip-path:polygon(0 0,53% 100%,0 100%);background:#eddbc9;border-radius:14px;inset:0}.envelope-right{z-index:6;clip-path:polygon(100% 0,47% 100%,100% 100%);background:#e4cfba;border-radius:14px;inset:0}.envelope-seal{z-index:8;color:#fff8e8;background:conic-gradient(from 30deg,#c7984f,#e7c277,#a9783f,#e7c277,#c7984f);border:4px double #ffffffa6;border-radius:50%;place-items:center;width:70px;height:70px;font-family:Fraunces,serif;font-size:20px;transition:transform .35s,opacity .3s;top:56%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 18px #56391d3d;display:grid!important}.is-opening .envelope-stage{animation:.9s forwards envelope-exit}.is-opening .envelope-flap{z-index:1;transform:rotateX(178deg)}.is-opening .envelope-card{transform:translateY(-120px)scale(1.08)}.is-opening .envelope-seal{opacity:0;transform:translate(-50%,-50%)scale(1.55)rotate(20deg)}.open-cta{z-index:4;background:linear-gradient(90deg,var(--pink),var(--purple),var(--blue));color:#fff;cursor:pointer;background-size:180% 100%;border:0;border-radius:999px;padding:15px 28px;font-weight:700;transition:transform .2s;animation:4s linear infinite button-gradient;position:relative;box-shadow:0 14px 35px #5d437d42}.open-cta:hover{transform:translateY(-3px)scale(1.025)}.color-flash{z-index:19;pointer-events:none;opacity:0;background:conic-gradient(from 45deg,#ff77a7,#ffd449,#62dbc4,#4cb5ef,#a17df0,#ff77a7);position:fixed;inset:0}.is-opening .color-flash{animation:.95s ease-out forwards color-flash}.confetti{z-index:50;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti i{border-radius:3px;width:10px;height:19px;animation:cubic-bezier(.17,.72,.38,1) forwards confetti-fall;position:absolute;top:-28px}.invite-page{z-index:2;opacity:0;max-width:850px;min-height:100vh;margin:0 auto;padding:48px 28px 60px;transition:opacity .8s .28s,transform .8s .28s;position:relative;transform:translateY(22px)}.is-open .invite-page{opacity:1;transform:translateY(0)}.decorations{pointer-events:none;position:absolute;inset:0}.decorations i{opacity:.16;background:var(--accent);border-radius:50%;transition:background .6s,transform .6s;position:absolute}.decorations i:first-child{width:130px;height:130px;top:20%;left:-70px}.decorations i:nth-child(2){background:var(--yellow);width:52px;height:52px;top:10%;right:3%}.decorations i:nth-child(3){width:88px;height:88px;top:56%;right:-45px}.decorations i:nth-child(4){background:var(--mint);width:38px;height:38px;bottom:7%;left:8%}.theme-girl .decorations i:first-child{transform:translate(34px)scale(1.1)}.theme-boy .decorations i:nth-child(3){transform:translate(-30px)scale(1.15)}.topline{justify-content:space-between;align-items:center;gap:14px;margin-bottom:35px;display:flex;position:relative}.monogram{background:var(--accent-soft);width:54px;height:54px;color:var(--accent);border-radius:50%;place-items:center;font-family:Fraunces,serif;font-size:18px;font-weight:700;transition:color .5s,background .5s;display:grid}.date-chip{color:var(--muted);letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffab;border:1px solid #3f39501c;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:700}.hero{text-align:center;position:relative}.hero h2{letter-spacing:-.05em;margin:0;font-family:Fraunces,serif;font-size:clamp(58px,11vw,94px);line-height:.9}.pink-word{color:var(--pink)}.blue-word{color:var(--blue)}.hero h2 em{color:var(--yellow);font-size:.46em;display:inline-block;transform:translateY(-.26em)rotate(-7deg)}.lead{max-width:585px;color:var(--muted);margin:25px auto 0;font-size:17px;line-height:1.67}.lead strong{color:var(--ink)}.details{grid-template-columns:1fr 1fr;gap:14px;margin-top:36px;display:grid;position:relative}.detail-card{min-height:108px;color:inherit;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffba;border:1px solid #3f39501a;border-radius:24px;align-items:center;gap:16px;padding:21px;text-decoration:none;transition:transform .25s,border-color .4s;display:flex;box-shadow:0 12px 34px #4836580f}.detail-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent);transform:translateY(-3px)}.detail-icon{background:var(--accent-soft);width:50px;height:50px;color:var(--accent);border-radius:16px;flex:0 0 50px;place-items:center;font-size:23px;transition:color .5s,background .5s;display:grid}.detail-card small{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:700;display:block}.detail-card strong{font-family:Fraunces,serif;font-size:19px;line-height:1.27;display:block}.map-card b{color:var(--accent);margin-top:5px;font-size:12px;display:block}.team-picker{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #3f39501a;border-radius:30px;margin-top:42px;padding:32px 24px;position:relative}.team-picker h3{letter-spacing:-.025em;margin:0;font-family:Fraunces,serif;font-size:38px}.team-picker>p:not(.eyebrow):not(.team-message){color:var(--muted);margin:8px 0 22px;font-size:14px}.team-options{grid-template-columns:1fr 1fr;gap:15px;display:grid}.team-card{color:var(--ink);cursor:pointer;border:2px solid #0000;border-radius:25px;padding:14px 14px 20px;transition:transform .25s,box-shadow .25s,border-color .25s,order .5s;position:relative;overflow:hidden}.team-card:after{content:"";background:#ffffff47;border-radius:50%;height:90px;position:absolute;inset:auto -18% -26% 20%}.girl-card{background:linear-gradient(135deg,#ffdce8,#ffb7cf)}.boy-card{background:linear-gradient(135deg,#dcf3ff,#aaddf9)}.theme-girl .girl-card,.theme-boy .boy-card{order:-1;transform:translateY(-4px)}.team-card:hover{transform:translateY(-4px)scale(1.01);box-shadow:0 14px 30px #4136521f}.team-card[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}.team-card img{z-index:1;aspect-ratio:1;object-fit:cover;border:5px solid #fffc;border-radius:50%;width:min(178px,92%);margin:0 auto 10px;transition:transform .3s;display:block;position:relative;box-shadow:0 10px 24px #3f39501f}.team-card:hover img{transform:scale(1.035)rotate(-1deg)}.team-card span{z-index:1;font-family:Fraunces,serif;font-size:23px;font-weight:700;display:block;position:relative}.team-message{min-height:21px;color:var(--accent);margin:16px 0 0;font-size:13px;font-weight:700;transition:color .5s}.dress-code{text-align:center;background:linear-gradient(135deg,#d9f2ffb3,#ffdce8b8);border:1px solid #3f39501a;border-radius:30px;margin-top:24px;padding:31px 24px;position:relative;box-shadow:0 12px 34px #4836580f}.dress-code h3{letter-spacing:-.02em;max-width:560px;margin:0 auto 21px;font-family:Fraunces,serif;font-size:31px}.dress-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.dress-options p{color:var(--muted);background:#ffffffab;border-radius:20px;margin:0;padding:18px 14px;line-height:1.45}.dress-options span{margin-bottom:5px;font-size:24px;display:block}.dress-options strong{color:var(--ink);font-family:Fraunces,serif;font-size:20px;display:block}.final-reveal{color:var(--accent);margin:20px 0 0;font-family:Fraunces,serif;font-size:18px;font-weight:700}.rsvp-area{text-align:center;padding:31px 0 8px;position:relative}.rsvp-button{background:var(--accent);color:#fff;box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 27%,transparent);cursor:pointer;border:0;border-radius:999px;padding:16px 27px;font-weight:700;transition:transform .25s,background .5s}.rsvp-button:hover{transform:translateY(-3px)}.rsvp-button span{margin-left:5px}.rsvp-area p{color:var(--muted);margin:18px 0 0;font-family:Fraunces,serif;font-size:17px}.modal-backdrop{z-index:70;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#31283e85;place-items:center;padding:22px;animation:.25s fade-in;display:grid;position:fixed;inset:0}.dialog{background:#fffdf9;border-radius:29px;width:min(480px,100%);padding:30px;animation:.28s dialog-in;position:relative;box-shadow:0 32px 85px #2a1f3852}.dialog-close{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:27px;line-height:1;position:absolute;top:16px;right:17px}.dialog h3{letter-spacing:-.025em;margin:0;font-family:Fraunces,serif;font-size:36px}.dialog-intro{color:var(--muted);margin:8px 0 23px;font-size:14px;line-height:1.5}.dialog form{gap:15px;display:grid}.dialog label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.dialog label span{text-transform:none;font-weight:500}.dialog input,.dialog select{width:100%;color:var(--ink);background:#fff;border:1px solid #3f395026;border-radius:13px;outline:0;margin-top:7px;padding:13px 14px;display:block}.dialog input:focus,.dialog select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.whatsapp-send{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2bcf73,#139d50);border:0;border-radius:15px;margin-top:3px;padding:15px 13px;font-weight:700;transition:transform .2s;box-shadow:0 11px 23px #149d5033}.whatsapp-send:hover{transform:translateY(-2px)}@keyframes orb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}@keyframes envelope-float{0%,to{transform:translateY(8px)rotate(-.6deg)}50%{transform:translateY(-9px)rotate(.6deg)}}@keyframes envelope-shadow{0%,to{opacity:.16;transform:scaleX(.92)}50%{opacity:.08;transform:scaleX(.74)}}@keyframes envelope-exit{0%{transform:translateY(0)scale(1)}45%{transform:translateY(-15px)scale(1.03)}to{opacity:0;transform:translateY(28px)scale(.82)}}@keyframes button-gradient{to{background-position:180% 0}}@keyframes color-flash{0%{opacity:0;border-radius:50%;transform:scale(.25)rotate(-25deg)}38%{opacity:.92}to{opacity:0;border-radius:0;transform:scale(1.65)rotate(25deg)}}@keyframes confetti-fall{to{transform:translate3d(var(--drift),110vh,0) rotate(var(--spin));opacity:.1}}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(14px)scale(.98)}}@media (max-width:640px){.intro{padding:18px}.intro-copy>p:last-child{margin-bottom:0}.envelope-stage{height:270px;margin-top:0}.envelope{height:190px;bottom:30px}.envelope-seal{width:62px;height:62px}.invite-page{padding:34px 17px 46px}.details{grid-template-columns:1fr}.detail-card{min-height:91px;padding:17px}.team-picker{padding:27px 14px}.team-options{gap:9px}.team-card{padding:9px 8px 16px}.team-card img{border-width:4px}.team-card span{font-size:18px}.dress-code{padding:27px 14px}.dress-options{grid-template-columns:1fr}.dialog{padding:28px 21px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
