@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap";*{box-sizing:border-box}html,body,#root{margin:0;width:100%;min-height:100%}body{background:#faf6ef;color:#3d5249;font-family:DM Sans,sans-serif}button,input{font:inherit}.page{position:relative;min-height:100vh;min-height:100svh;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:30px 20px;background:radial-gradient(circle at 50% 20%,#fff6e6fa,#faeed7bf,#e8f4f080 70%,#d2ebe459),linear-gradient(160deg,#f7f0e3,#f4efe6,#e8f1ee 70%,#d9e8e3)}.page:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:radial-gradient(circle at 20% 30%,rgba(212,165,116,.15) 0%,transparent 2%),radial-gradient(circle at 70% 20%,rgba(212,165,116,.12) 0%,transparent 1.8%),radial-gradient(circle at 40% 70%,rgba(212,165,116,.1) 0%,transparent 1.5%),radial-gradient(circle at 85% 60%,rgba(212,165,116,.13) 0%,transparent 2%),radial-gradient(circle at 10% 80%,rgba(212,165,116,.11) 0%,transparent 1.6%),radial-gradient(circle at 60% 85%,rgba(212,165,116,.14) 0%,transparent 1.9%)}.sunGlow{position:absolute;width:650px;height:650px;top:-270px;right:-120px;border-radius:50%;background:#fac88257;filter:blur(42px);pointer-events:none}.sunDisc{position:absolute;width:120px;height:120px;top:45px;right:75px;border-radius:50%;background:#ffdcaa8c;filter:blur(2px);pointer-events:none;z-index:0}.seagullLeft{width:55px;height:36px;top:12%;left:18%;color:#8db5a5;opacity:.42;transform:translateY(0);animation:seagullFloat 7s ease-in-out infinite alternate}.seagullRight{width:42px;height:28px;top:8%;right:22%;color:#8db5a5;opacity:.35;transform:translateY(0);animation:seagullFloat 9s ease-in-out infinite alternate-reverse}.seagullRight svg{transform:scaleX(-1)}.sparkles{position:absolute;inset:0;pointer-events:none;z-index:0}.sparkles span{position:absolute;width:4px;height:4px;border-radius:50%;background:#ffe6b4b3;animation:sparkle 4s ease-in-out infinite}.sparkles span:nth-child(1){top:18%;left:12%;animation-delay:0s}.sparkles span:nth-child(2){top:28%;right:18%;animation-delay:.7s}.sparkles span:nth-child(3){top:65%;left:22%;animation-delay:1.4s}.sparkles span:nth-child(4){top:75%;right:15%;animation-delay:2.1s}.sparkles span:nth-child(5){top:42%;left:8%;animation-delay:2.8s}.sparkles span:nth-child(6){top:55%;right:10%;animation-delay:3.5s}@keyframes sparkle{0%,to{opacity:0;transform:scale(.6)}50%{opacity:.9;transform:scale(1)}}@keyframes seagullFloat{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.waveBottom{position:fixed;left:0;right:0;bottom:0;width:100%;height:90px;pointer-events:none;z-index:0;color:#7eb8a9;opacity:.55}.waveBottom svg{display:block;width:calc(100% + 32px);height:100%;margin-left:-16px;animation:waveDrift 12s ease-in-out infinite alternate-reverse}@keyframes waveDrift{0%{transform:translate(-8px)}to{transform:translate(8px)}}.backgroundArt{position:absolute;pointer-events:none;z-index:1;color:#6b9e8f;opacity:.55}.backgroundArt svg{display:block;width:100%;height:100%}.plumeriaTopRight{width:82px;height:82px;top:43%;right:17%;color:#f4c6a3;opacity:.7;transform:rotate(12deg)}.plumeriaTopLeft{width:76px;height:76px;top:30%;left:15%;color:#f4c6a3;opacity:.66;transform:rotate(-15deg)}.hibiscusRight{width:92px;height:98px;top:52%;right:-2px;color:#e88c7a;opacity:.55;transform:rotate(-80deg)}.bougainvilleaLeft{width:180px;height:200px;left:-25px;bottom:25%;color:#d67a8a;opacity:.58;transform:rotate(38deg)}.starfishBottomLeft{width:46px;height:46px;bottom:14%;left:17%;color:#e88c7a;opacity:.38;transform:rotate(-22deg)}.starfishBottomRight{width:44px;height:44px;bottom:15px;right:235px;color:#e88c7a;opacity:.36;transform:rotate(18deg)}.palmRightSide{width:200px;height:155px;right:-45px;top:32%;color:#6b9e8f;opacity:.35;transform:translateY(-50%) rotate(-102deg)}.palmTopLeft{width:290px;height:225px;left:1%;top:-35px;color:#6b9e8f;opacity:.32;transform:rotate(168deg)}.coralBottomLeft{width:210px;height:210px;bottom:-20px;left:2%;color:#e88c7a;opacity:.36;transform:rotate(-2deg)}.coralBottomRight{width:195px;height:195px;bottom:-20px;right:2%;color:#d67a8a;opacity:.34;transform:rotate(2deg)}.card{position:relative;z-index:10;width:min(100%,620px);padding:74px 65px 68px;text-align:center;background:radial-gradient(circle at 80% 15%,rgba(255,235,200,.45) 0%,transparent 35%),radial-gradient(circle at 20% 85%,rgba(232,244,240,.35) 0%,transparent 30%),#fffcf6f2;border:1px solid rgba(190,170,140,.35);box-shadow:0 30px 80px #4a3c2d14,0 4px 20px #4a3c2d0a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cardCorner{position:absolute;width:65px;height:90px;pointer-events:none;opacity:.45}.cardCorner svg{width:100%;height:100%}.cardCornerBottom{left:18px;bottom:18px;color:#d4a574;transform:rotate(-5deg)}.eyebrow{margin:0 0 18px;color:#5d9686;font-size:10px;font-weight:600;letter-spacing:.35em;text-transform:uppercase}.floralDivider{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:25px;color:#8db5a5}.floralDivider>span{width:50px;height:1px;background:#e3d5c2}.dividerFlower{width:25px;height:25px}.dividerFlower svg{width:100%;height:100%}h1{margin:0;color:#2f3d37;font-family:Playfair Display,Georgia,serif;font-size:clamp(52px,8vw,76px);font-weight:400;line-height:.95;letter-spacing:-.045em}h1 span{display:block;margin-top:8px;color:#c78d5a;font-size:.58em;font-style:italic;letter-spacing:-.01em}.names{margin:29px 0 22px;color:#3f524a;font-family:Playfair Display,Georgia,serif;font-size:24px}.names span{margin:0 7px;color:#6fa794;font-style:italic}.date{color:#4e6b5e;font-size:14px;font-weight:500;letter-spacing:.12em}.location{margin:12px 0 0;color:#6e8b7d;font-size:12px;letter-spacing:.06em}.location span{margin:0 5px;color:#d4a574}.itinerary{max-width:480px;margin:34px auto 0}.itineraryToggle{width:100%;padding:12px 16px;border:none;border-radius:3px;background:#fffcf7b3;color:#364841;font-family:Playfair Display,Georgia,serif;font-size:15px;font-weight:400;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s}.itineraryToggle:hover{background:#fffaf2f2;transform:none}.itineraryChevron{font-size:11px;color:#8db5a5;line-height:1;transform:translateY(2px)}.itineraryBody{max-height:0;overflow:hidden;opacity:0;transform:translateY(-4px);transition:max-height .35s ease,opacity .3s ease,transform .3s ease,padding .35s ease}.itineraryBody.open{max-height:300px;padding-top:14px;opacity:1;transform:translateY(0)}.itineraryBody ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.itineraryBody li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:10px 14px;border-radius:3px;background:#fffcf78c;color:#5a7a6b;font-size:13px}.itineraryBody li strong{color:#364841;font-family:Playfair Display,Georgia,serif;font-weight:500;font-size:14px;flex-shrink:0}.itineraryBody li span{text-align:right}.itineraryNote{margin:14px 0 0;padding:10px 14px;border-radius:3px;background:#8db5a51f;color:#5a7a6b;font-size:12px;font-style:italic;text-align:center}.rsvp{max-width:480px;margin:42px auto 0;padding-top:30px;border-top:1px solid #ede3d5}.rsvp h2{margin:0;color:#364841;font-family:Playfair Display,Georgia,serif;font-size:25px;font-weight:400}.rsvp>p{max-width:100%;margin:9px auto 20px;color:#7d968b;font-size:12px;line-height:1.65;white-space:nowrap}form{display:flex;gap:8px}input{min-width:0;flex:1;height:46px;padding:0 15px;border:1px solid #d8c9b6;border-radius:3px;outline:none;background:#fffcf6f2;color:#384841;font-size:12px;transition:border-color .2s,box-shadow .2s}input::placeholder{color:#a8b8a0}input:focus{border-color:#8db5a5;box-shadow:0 0 0 3px #6fa79426}button{height:46px;padding:0 18px;border:0;border-radius:3px;background:#5d9686;color:#fff;cursor:pointer;font-size:11px;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:3px;transition:background .2s,transform .2s}button span{font-size:13px}button:hover{background:#4c8273;transform:translateY(-1px)}button:disabled,input:disabled{opacity:.65;cursor:not-allowed}.rsvpError{margin:12px 0 0;color:#c45b5b;font-size:12px;line-height:1.5}.successFlower{width:45px;height:45px;margin:0 auto 9px;color:#6fa794}.successFlower svg{width:100%;height:100%}.success h2{margin:0;color:#364841;font-family:Playfair Display,Georgia,serif;font-size:26px;font-weight:400}.success p{margin:7px 0 0;color:#7d968b;font-size:12px}@media(max-width:900px){.plumeriaTopRight{right:8%}.starfishBottomLeft{left:8%}.bougainvilleaLeft{left:-25px}.plumeriaTopLeft{left:-2%}.starfishBottomRight{right:235px}.palmRightSide{right:-35px;top:32%}.hibiscusRight{top:50%;right:-2px}.palmTopLeft{left:4%;top:-25px}.coralBottomLeft{left:2%}.coralBottomRight{right:2%}.seagullLeft{left:10%}.seagullRight{right:12%}}@media(max-width:600px){.page{min-height:100svh;padding:15px;align-items:center}.card{width:100%;padding:60px 25px 50px}h1{font-size:58px}.names{font-size:21px}.rsvp>p{white-space:normal}.plumeriaTopRight{width:62px;height:62px;top:44%;right:4%;opacity:.55}.starfishBottomLeft{width:28px;height:28px;bottom:14%;left:4%;opacity:.3}.hibiscusRight{width:70px;height:73px;top:48%;right:-8px;opacity:.45;transform:rotate(-80deg)}.bougainvilleaLeft{width:130px;height:146px;left:-20px;bottom:26%;opacity:.48;transform:rotate(-8deg)}.plumeriaTopLeft{width:58px;height:58px;top:36%;left:10%;opacity:.52}.starfishBottomRight{width:26px;height:26px;bottom:5px;right:125px;opacity:.28}.coralBottomLeft{width:120px;height:120px;bottom:-10px;left:0;opacity:.28}.coralBottomRight{width:108px;height:108px;bottom:-10px;right:0;opacity:.26}.waveBottom{height:55px;opacity:.45}.sunDisc{width:70px;height:70px;top:25px;right:30px}.seagullLeft{width:32px;height:21px;top:8%;left:5%;opacity:.3}.seagullRight{width:26px;height:17px;top:5%;right:8%;opacity:.25}.cardCorner{width:50px;height:70px}.cardCornerBottom{left:15px;bottom:15px}.floralDivider>span{width:38px}form{flex-direction:column}input,button{width:100%}}@media(max-width:390px){.page{padding:10px}.card{padding:52px 20px 42px}h1{font-size:51px}.names{margin-top:24px;font-size:19px}.rsvp{margin-top:34px;padding-top:25px}.eyebrow{font-size:9px}}
