@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&display=swap');
:root{--ink:#806336;--muted:#92795b;--gold:#b39050;--petal:#edd8cb;--line:#dcc8a7;--paper:#f9eddf;--sage:#7c866c}
html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:radial-gradient(ellipse at 0 20%,#edd7bb66,transparent 60%),radial-gradient(ellipse at 100% 65%,#edcfca55,transparent 50%),var(--paper);font-size:14px;color:var(--ink)}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.3' filter='url(%23n)'/%3E%3C/svg%3E");z-index:10}
main{max-width:none;padding:0}.screen{animation:royal-reveal .65s ease both}h1,h2,h3{color:var(--ink)}h2{font-size:clamp(38px,6vw,58px);font-weight:400;line-height:1.1}.kicker{font-size:9px;letter-spacing:2.6px;line-height:1.8;margin-bottom:20px;color:var(--gold)}p{color:var(--muted)}.ornament{font:48px Georgia,serif;color:var(--gold);display:block;margin:15px auto 25px}.royal-section{padding:86px 26px;text-align:center;position:relative;scroll-margin-top:70px}.royal-section>p{font-size:13px;line-height:1.9}.royal-section:after{content:'❦';display:block;color:#b8996577;font:23px Georgia,serif;margin:55px auto -35px}.royal-section:last-child:after,.hero:after{display:none}
.entrance{height:100svh;min-height:570px;position:relative;overflow:hidden;display:grid;place-items:center;background:#f0d9bd}.gate-art{position:absolute;inset:0;margin:auto;width:min(100%,680px);height:100%;overflow:hidden;perspective:1200px}.gate-half{position:absolute;width:50%;height:100%;background-image:url('assets/royal-entrance.webp');background-size:200% 100%;transition:transform 1.15s ease,opacity .8s ease}.gate-left{left:0;background-position:left center;transform-origin:left center}.gate-right{right:0;background-position:right center;transform-origin:right center}.gate-opening .gate-left{transform:rotateY(-100deg);opacity:0}.gate-opening .gate-right{transform:rotateY(100deg);opacity:0}.gate-copy{position:absolute;top:6%;width:100%;z-index:1;text-align:center}.gate-copy .kicker{font-size:8px;color:#76572e;margin-bottom:8px}.gate-names{font:clamp(24px,6vw,35px) 'Cormorant Garamond',Georgia,serif;letter-spacing:1px;margin:0;color:#76572e}.gate-names i{color:#af8640}.open-seal{position:absolute;top:58%;left:50%;transform:translate(-50%,-50%);width:116px;height:116px;border-radius:50%;border:1px solid #ad8747;background:#fff3dde8;box-shadow:0 0 0 6px #fff4df66,0 10px 35px #73562b33;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:#806336;z-index:2;transition:opacity .4s}.open-seal>span{font:30px 'Cormorant Garamond',Georgia,serif}.open-seal i{font-size:19px;color:#ad8747}.open-seal small{font-size:8px;letter-spacing:2px;color:var(--ink)}.open-seal b{font-size:15px;font-weight:400}.gate-opening .open-seal,.gate-opening .gate-copy,.gate-opening .gate-date{opacity:0}.gate-date{position:absolute;bottom:3%;width:100%;text-align:center;font-size:9px;letter-spacing:2px;color:#76572e;z-index:1}
.royal-nav{max-width:1100px;border:0;border-bottom:1px solid #d9c39766;padding:15px 30px;background:#f9eddfed;position:sticky;top:0;z-index:8}.royal-nav>a{font-size:25px}.royal-nav nav{display:flex;gap:25px}.royal-nav nav a{font:9px Manrope,Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase;text-decoration:none;color:var(--ink)}
.hero{min-height:calc(100svh - 65px);padding:45px 24px 55px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#fff9efaa,transparent 75%)}.hero-arch{position:relative;width:min(100%,560px);padding:40px 25px 35px;border:1px solid #b3945a80;border-radius:260px 260px 20px 20px;box-shadow:inset 0 0 0 7px #f9eddf,inset 0 0 0 8px #d7bf9655}.hero-arch:before{content:'❦';display:block;font:35px Georgia,serif;color:var(--gold);margin-bottom:10px}.hero h1{font:500 clamp(45px,8vw,68px) 'Cormorant Garamond',Georgia,serif;line-height:1.05;margin:24px 0 28px}.hero h1 em{display:inline;font-size:.6em;font-weight:400;padding:0 6px}.hero .kicker{font-size:8px;letter-spacing:1.8px}.hero-location{font:11px Cinzel,Georgia,serif;letter-spacing:4px;color:var(--ink)}.hero .ornament{font-size:32px;margin:25px auto}.hero-date{font:11px Cinzel,Georgia,serif;letter-spacing:2px}.scroll-cue{display:inline-block;color:var(--muted);font:20px Parisienne,cursive;text-decoration:none;margin-top:22px}.scroll-cue span{display:block;font:18px Georgia,serif;margin-top:14px}.crest{height:123px;width:123px;position:relative;display:flex;align-items:center;justify-content:center;gap:0;margin:4px auto 32px}.crest svg{position:absolute;inset:0;fill:none;stroke:var(--gold);stroke-width:.9}.crest>span{font:43px 'Cormorant Garamond',Georgia,serif;z-index:1}.crest i{font:24px Parisienne,cursive;margin:20px -8px 0;color:var(--gold);z-index:2}.petals{position:absolute;inset:0;pointer-events:none;overflow:hidden}.petals i{position:absolute;top:-10px;left:calc(var(--n)*8.3%);width:7px;height:11px;border-radius:85% 0 85% 20%;background:#c78d8a55;animation:petal-fall calc(15s + var(--n)*.9s) linear infinite;animation-delay:calc(var(--n)*-1.8s)}
.blessings{max-width:820px;margin:auto}.blessings .blessing-line{font:26px Parisienne,cursive;color:var(--sage);margin:30px 0 20px}.family-frame{max-width:420px;margin:40px auto 0;padding:25px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.family-frame>p:first-child{font:21px Parisienne,cursive;margin:0}.family-frame h3{font-size:29px;margin:12px 0 16px}.family-frame p{font-size:12px;line-height:2.2}.little-family{color:var(--sage)}
.save-date{background:linear-gradient(#ead6b544,#f8e8d733);padding:60px 24px}.date-frame{max-width:530px;margin:auto;padding:45px 22px;border:1px solid #c5a673;border-radius:190px 190px 12px 12px;outline:1px solid #d1b98e;outline-offset:8px}.date-frame .ornament{font-size:38px;margin-bottom:20px}.date-frame .kicker{margin:10px 0}.date-frame h2{font:52px Parisienne,cursive;margin:5px auto 30px}.date-display{font:58px 'Cormorant Garamond',Georgia,serif;color:var(--ink);margin:0;line-height:1.2}.date-display i{font-size:35px;color:var(--gold)}.date-month{font:13px Cinzel,Georgia,serif;letter-spacing:4px;margin:15px 0 20px}.date-frame .hero-location{font-size:10px}.fine-rule{display:block;width:100px;height:1px;background:var(--line);margin:30px auto}.date-frame .kicker:last-of-type{font-size:8px;letter-spacing:1.5px}.countdown{display:flex;justify-content:center;gap:0;max-width:320px;margin:20px auto 0}.countdown>div{flex:1;border-right:1px solid var(--line)}.countdown>div:last-child{border:0}.countdown b{display:block;font:36px 'Cormorant Garamond',Georgia,serif;font-weight:500}.countdown small{font-size:8px;letter-spacing:1.7px}
.celebrations{max-width:1050px;margin:auto}.section-intro{margin:25px auto 45px}.celebration-list{display:grid;gap:55px}.celebration{border:1px solid #d1b88c80;border-radius:190px 190px 12px 12px;overflow:hidden;background:#fcf3e8;max-width:580px;margin:auto;width:100%;box-shadow:0 12px 50px #9b75340a}.celebration-art{aspect-ratio:1.5;overflow:hidden;border-radius:190px 190px 0 0}.celebration-art img{width:100%;height:100%;object-fit:cover;display:block}.celebration-copy{padding:30px 26px 24px}.celebration-copy .kicker{font-size:8px;margin:0 0 13px}.celebration-copy h3{font-size:38px;margin:8px 0 18px}.celebration-copy .poem{font:26px Parisienne,cursive;line-height:1.35;color:var(--sage);margin:15px 0 25px}.event-date{font:11px Cinzel,Georgia,serif;line-height:2.1;color:var(--ink)}.event-date span{font:12px Manrope,Arial,sans-serif}.event-setting{font-size:10px;color:var(--muted);margin:15px 0 24px}.celebration details{border-top:1px solid var(--line);text-align:left;padding-top:18px}.celebration summary{list-style:none;display:flex;justify-content:space-between;gap:10px;cursor:pointer;font-size:11px;letter-spacing:.3px}.celebration summary::-webkit-details-marker{display:none}.celebration summary span{font-size:17px;line-height:1}.celebration details[open] summary span{transform:rotate(45deg)}.celebration details>div{font-size:12px;line-height:1.8;padding-top:15px}.celebration details>div p{font-size:11px}.sangeet .poem{color:#7a657f}
.video-section{background:#e9d4b52b}.video-section h2{font-size:44px}.video-wrap{max-width:400px;background:#fff9ef;border:1px solid #bd9c64;padding:7px;box-shadow:0 15px 45px #8c65301a;border-radius:180px 180px 10px 10px;overflow:hidden;margin:30px auto}.video-wrap video{border-radius:172px 172px 5px 5px;aspect-ratio:478/850;object-fit:contain}.primary{background:#937143;border-color:#937143;border-radius:4px;font-size:11px;letter-spacing:.6px;padding:17px 20px;box-shadow:0 5px 15px #8c653014}.primary:disabled{box-shadow:none}.rsvp-section{max-width:640px;margin:auto}.rsvp-section>p{font-size:12px}.rsvp-section h2{font:500 48px Cinzel,Georgia,serif;letter-spacing:5px;margin:18px 0 25px}#rsvp-form{background:#fff9f1a6;border:1px solid #d4bc96;border-radius:10px;padding:30px 28px;margin-top:34px;box-shadow:0 12px 45px #8b67300a}#rsvp-form input:not([type=radio]):not([type=checkbox]){border-color:#deceb5;background:#fffdf9;border-radius:4px;color:#6f5737}#rsvp-form label,#rsvp-form legend{color:#7b603a}#rsvp-form .choice span{background:#fff9f1;border-color:#decdb1;border-radius:5px}#rsvp-form .choice input:checked+span{background:#ead6bf;border-color:#92703e;box-shadow:inset 0 0 0 1px #92703e;color:#72542d}#rsvp-form small{color:#9b866c}.privacy{font-size:10px!important}.existing-response{padding:35px 25px;border:1px solid var(--line);max-width:470px;margin:35px auto}.existing-response h3{font-size:28px}.existing-response p{font-size:12px}.text{color:var(--ink)}#form-error,#video-error{font-size:12px;color:#9a433e}.location-section{padding-top:45px}.location-section h2{font:500 42px Cinzel,Georgia,serif;letter-spacing:3px}.location-line{color:var(--gold);margin:22px 0}.map-button{font-size:9px;letter-spacing:1.4px;border-radius:3px;margin-top:15px}
#thanks-screen,#complete-screen{max-width:620px;margin:auto;padding:60px 25px;text-align:center}#thanks-screen h2,#complete-screen h2{font-size:42px}.attire-card{background:#fff7e9;border-color:var(--line)}.attire-card .context{text-align:left;margin:10px 0;color:var(--ink);font-size:10px}.venue-card{background:#f8ecd9;border-color:#ccb087}.completion-seal{border-color:var(--gold)}footer{max-width:650px;padding:50px 25px 60px;border-top:1px solid var(--line)}.footer-monogram{font:45px 'Cormorant Garamond',Georgia,serif}.footer-monogram i{font:28px Parisienne,cursive;color:var(--gold)}footer .script{font-size:27px;color:var(--sage);margin:15px 0 25px}.footer-date{font:10px Cinzel,Georgia,serif;letter-spacing:2px;line-height:2.5}.family-signoff p{font-size:11px}
@keyframes petal-fall{0%{transform:translateY(-20px) rotate(0);opacity:0}10%{opacity:.7}90%{opacity:.7}100%{transform:translateY(900px) translateX(45px) rotate(260deg);opacity:0}}@keyframes royal-reveal{from{opacity:0}to{opacity:1}}
@media(min-width:800px){.hero{min-height:780px}.hero-arch{padding-top:45px;padding-bottom:45px}.celebration{max-width:850px;display:grid;grid-template-columns:1.05fr 1fr;border-radius:170px 12px 12px 12px}.celebration-art{aspect-ratio:auto;border-radius:170px 0 0 0;min-height:510px}.celebration-copy{display:flex;flex-direction:column;justify-content:center;padding:35px}.celebration:nth-child(2){direction:rtl;border-radius:12px 170px 12px 12px}.celebration:nth-child(2) .celebration-art{border-radius:0 170px 0 0}.celebration:nth-child(2) .celebration-copy{direction:ltr}.gate-copy{top:5%}.gate-art{max-width:640px}.royal-nav{padding-left:40px;padding-right:40px}}
@media(max-width:480px){.royal-section{padding:65px 24px}.royal-section>p{font-size:12px}.royal-nav{padding:13px 22px}.royal-nav nav{gap:18px}.royal-nav nav a{font-size:8px}.hero{min-height:calc(100svh - 60px);padding:30px 22px 45px}.hero-arch{padding:30px 15px 35px}.hero h1{font-size:46px;white-space:nowrap}.hero h1 em{font-size:27px;padding:0 3px}.hero .kicker{font-size:7px;letter-spacing:1.2px}.crest{width:110px;height:110px;margin-bottom:26px}.hero-location{font-size:10px;letter-spacing:3px}.hero-date{font-size:10px;letter-spacing:1.5px}.gate-copy{top:7%}.gate-copy .kicker{font-size:7px;letter-spacing:1.7px}.gate-date{font-size:8px;letter-spacing:1.5px}.open-seal{width:100px;height:100px}.gate-names{font-size:27px}.family-frame{padding-left:5px;padding-right:5px}.date-frame{padding:38px 18px}.date-frame h2{font-size:45px}.date-display{font-size:55px}.date-month{font-size:11px}.celebrations{padding-left:24px;padding-right:24px}.celebration-copy{padding:25px 22px}.celebration-copy h3{font-size:36px}.celebration-art{border-radius:160px 160px 0 0}.video-section h2{font-size:38px}.video-wrap{margin:28px 0;border-radius:160px 160px 8px 8px}.video-wrap video{border-radius:152px 152px 4px 4px}.rsvp-section{padding-left:22px;padding-right:22px}#rsvp-form{padding:25px 18px}.rsvp-section h2{font-size:41px}.location-section h2{font-size:34px}.royal-section:after{margin-top:45px;margin-bottom:-25px}}
@media(max-width:350px){.hero h1{font-size:38px}.hero h1 em{font-size:23px}.hero .kicker{font-size:6px}.hero-arch{padding-left:10px;padding-right:10px}.royal-nav nav{gap:12px}.royal-nav nav a{font-size:7px}.royal-section{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.petals{display:none}.gate-half,.screen{animation:none!important;transition:none!important}}

.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(#f9eddf 5%,#f9eddf99 50%,#f9eddf22),url("assets/royal-wedding.webp") center bottom/cover;opacity:.17;pointer-events:none}.hero-arch{z-index:1;background:#fff7eb77}.video-section .video-wrap{border-radius:12px}.video-section .video-wrap video{border-radius:6px}
