.petals{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.petal{position:absolute;top:-8%;font-size:1.1rem;opacity:.75;will-change:transform;animation:fall linear infinite}@keyframes fall{0%{transform:translateY(-10vh) rotate(0);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translateY(110vh) rotate(360deg);opacity:0}}main{position:relative;z-index:1}.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.2rem 4rem;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:120vmax;height:120vmax;top:-60vmax;left:50%;transform:translate(-50%);background:radial-gradient(circle,rgba(201,162,39,.14),transparent 55%);pointer-events:none}.hero-mandala{width:clamp(80px,16vw,130px);color:var(--gold);opacity:.9;margin-bottom:1.4rem}.hero-eyebrow{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.4em;font-size:clamp(.65rem,2vw,.8rem);font-weight:600;color:var(--gold);margin-bottom:1.2rem}.hero-names{font-family:var(--font-display);color:var(--maroon);font-size:clamp(3rem,13vw,7rem);line-height:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(.5rem,3vw,1.8rem)}.hero-names .amp{font-family:var(--font-serif);font-style:italic;color:var(--gold);font-size:.7em}.hero-tag{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.1rem,3.4vw,1.6rem);color:var(--ink-soft);margin-top:1rem}.hero-date{margin-top:1.6rem;font-family:var(--font-sans);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:clamp(.8rem,2.5vw,1rem);color:var(--maroon-soft)}.hero-venue{margin-top:.35rem;font-family:var(--font-serif);font-size:clamp(1rem,2.6vw,1.25rem);color:var(--ink-soft)}.hero-cta{margin-top:2.2rem;display:flex;gap:.9rem;flex-wrap:wrap;justify-content:center}.scroll-hint{position:absolute;bottom:1.6rem;left:50%;transform:translate(-50%);color:var(--gold);font-size:1.4rem;animation:bob 1.8s ease-in-out infinite}@keyframes bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,8px)}}.countdown{display:flex;gap:clamp(.6rem,2.5vw,1.4rem);justify-content:center;margin-top:2.4rem;flex-wrap:wrap}.count-cell{background:#fff9;border:1px solid rgba(201,162,39,.45);border-radius:14px;padding:.8rem clamp(.7rem,2.5vw,1.3rem);min-width:clamp(64px,18vw,88px);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 10px 24px -18px #4a0a1280}.count-num{font-family:var(--font-display);font-size:clamp(1.7rem,6vw,2.6rem);color:var(--maroon);line-height:1;font-variant-numeric:tabular-nums}.count-label{text-transform:uppercase;letter-spacing:.18em;font-size:.62rem;font-weight:600;color:var(--ink-soft);margin-top:.4rem}.countdown-done{margin-top:2.4rem;font-family:var(--font-serif);font-style:italic;font-size:1.3rem;color:var(--maroon)}.events{background:linear-gradient(180deg,transparent,rgba(244,233,216,.6))}.timeline{display:grid;gap:clamp(1.4rem,3vw,2rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:stretch}.event-card{position:relative;background:#fffdf8;border-radius:var(--radius);padding:2rem 1.6rem 1.7rem;box-shadow:var(--shadow-soft);border:1px solid rgba(201,162,39,.28);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}.event-card:hover{transform:translateY(-6px);box-shadow:0 26px 60px -24px #4a0a128c}.event-card:before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--gold),var(--maroon),var(--gold))}.event-emoji{font-size:2.4rem;line-height:1;margin-bottom:.6rem}.event-name{font-size:2rem;margin-bottom:.15rem}.event-day{font-family:var(--font-sans);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;color:var(--gold);margin-bottom:1rem}.event-meta{list-style:none;display:grid;gap:.6rem;margin-bottom:1.1rem}.event-meta li{display:flex;gap:.6rem;align-items:flex-start;font-size:.98rem;color:var(--ink)}.event-meta .ic{color:var(--maroon-soft);flex:0 0 auto;margin-top:.15rem}.event-blurb{font-family:var(--font-serif);font-style:italic;font-size:1.05rem;color:var(--ink-soft);margin-bottom:1.3rem}.event-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:.6rem}.event-actions .btn{font-size:.82rem;padding:.6rem 1rem}.venue-card{background:linear-gradient(135deg,var(--maroon),var(--maroon-deep));color:var(--cream);border-radius:var(--radius);padding:clamp(2rem,5vw,3rem);text-align:center;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.venue-card:after{content:"❖";position:absolute;font-size:16rem;color:#c9a22714;right:-3rem;bottom:-5rem;pointer-events:none}.venue-card h2{color:var(--gold-light);font-size:clamp(1.8rem,5vw,2.6rem)}.venue-card .venue-sub{font-family:var(--font-serif);font-style:italic;font-size:1.2rem;color:var(--gold-pale);margin-top:.4rem}.venue-card .venue-city{margin-top:1rem;letter-spacing:.12em;color:#fbf6eed9}.venue-halls{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin:1.6rem 0}.venue-hall{border:1px solid rgba(201,162,39,.5);border-radius:999px;padding:.4rem 1rem;font-size:.85rem;color:var(--gold-pale)}.venue-card .btn{margin-top:.5rem}.rsvp-card{background:#fffdf8;border-radius:var(--radius);border:1px solid rgba(201,162,39,.3);box-shadow:var(--shadow-soft);padding:clamp(1.8rem,5vw,3rem);max-width:620px;margin-inline:auto}.form-row{display:grid;gap:1rem;margin-bottom:1rem}@media (min-width: 560px){.form-row.two{grid-template-columns:1fr 1fr}}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--maroon-soft)}.field input,.field select,.field textarea{font-family:var(--font-sans);font-size:1rem;padding:.7rem .9rem;border-radius:12px;border:1.5px solid rgba(107,15,26,.18);background:var(--cream);color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c9a22733}.field textarea{resize:vertical;min-height:84px}.chip-group{display:flex;flex-wrap:wrap;gap:.6rem}.chip{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .95rem;border-radius:999px;border:1.5px solid rgba(107,15,26,.22);background:var(--cream);color:var(--ink-soft);font-family:var(--font-sans);font-weight:600;font-size:.9rem;cursor:pointer;transition:transform .16s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}.chip:hover{border-color:var(--gold);transform:translateY(-1px)}.chip:focus-visible{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c9a22740}.chip.selected{background:linear-gradient(135deg,var(--maroon),var(--maroon-soft));color:var(--cream);border-color:transparent;box-shadow:0 8px 20px -10px #6b0f1ab3}.chip .chip-emoji{font-size:1.05rem;line-height:1}.chip .chip-mark{font-weight:700;opacity:.85}.chip.selected .chip-mark{color:var(--gold-light);opacity:1}.field-hint{font-family:var(--font-serif);font-style:italic;font-size:.85rem;color:var(--ink-soft);margin-top:.55rem}.field-error{font-size:.85rem;font-weight:600;color:var(--maroon);margin-top:.45rem}.select{position:relative}.select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-family:var(--font-sans);font-size:1rem;text-align:left;padding:.7rem .9rem;border-radius:12px;border:1.5px solid rgba(107,15,26,.18);background:var(--cream);color:var(--ink);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.select-trigger:focus-visible,.select.open .select-trigger{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c9a22733}.select-trigger .placeholder{color:var(--ink-soft)}.select-caret{width:18px;height:18px;flex:0 0 auto;color:var(--maroon-soft);transition:transform .2s ease}.select.open .select-caret{transform:rotate(180deg)}.select-list{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;margin:0;padding:.35rem;list-style:none;background:#fffdf8;border:1.5px solid rgba(201,162,39,.4);border-radius:12px;box-shadow:0 18px 40px -16px #4a0a1280;max-height:240px;overflow-y:auto;animation:selectPop .16s ease}@keyframes selectPop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.select-option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem;border-radius:8px;font-size:.98rem;color:var(--ink);cursor:pointer;transition:background .12s ease}.select-option.active{background:#c9a22729}.select-option.selected{color:var(--maroon);font-weight:600}.select-option .select-check{color:var(--gold);font-weight:700}.select-list::-webkit-scrollbar{width:8px}.select-list::-webkit-scrollbar-thumb{background:#c9a22780;border-radius:999px}.rsvp-submit{width:100%;justify-content:center;margin-top:.5rem}.rsvp-status{margin-top:1rem;text-align:center;font-family:var(--font-serif);font-style:italic;font-size:1.1rem}.rsvp-status.ok{color:#2f7d32}.rsvp-status.err{color:var(--maroon)}.rsvp-thankyou{text-align:center;padding:1rem 0}.rsvp-thankyou .big{font-family:var(--font-display);font-size:2.2rem;color:var(--maroon);margin-bottom:.5rem}.footer{position:relative;z-index:1;background:linear-gradient(180deg,var(--maroon-deep),#2e0409);color:var(--gold-pale);text-align:center;padding:3rem 1.2rem 2.4rem}.footer .foot-names{font-family:var(--font-display);font-size:2rem;color:var(--gold-light)}.footer .foot-amp{font-style:italic;color:var(--gold)}.footer .foot-line{margin-top:.6rem;font-family:var(--font-serif);font-style:italic;font-size:1.05rem;color:#f0dfa0cc}.footer .foot-meta{margin-top:1.2rem;font-size:.85rem;letter-spacing:.08em;color:#f0dfa0a6}.footer .foot-heart{color:var(--maroon-soft)}.reveal{opacity:0;transform:translateY(24px)}:root{--maroon: #6b0f1a;--maroon-deep: #4a0a12;--maroon-soft: #8c2230;--gold: #c9a227;--gold-light: #e6c65a;--gold-pale: #f0dfa0;--cream: #fbf6ee;--cream-deep: #f4e9d8;--ink: #3a1e15;--ink-soft: #6a4a3c;--font-display: "Marcellus", "Cormorant Garamond", serif;--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Mukta", system-ui, sans-serif;--shadow-soft: 0 18px 50px -20px rgba(74, 10, 18, .45);--radius: 18px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--ink);background-color:var(--cream);background-image:radial-gradient(circle at 15% 12%,rgba(201,162,39,.1),transparent 45%),radial-gradient(circle at 85% 88%,rgba(107,15,26,.08),transparent 45%);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:.02em;line-height:1.1;color:var(--maroon)}a{color:inherit}img{max-width:100%;display:block}.container{width:min(1100px,92vw);margin-inline:auto}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-sans);font-weight:600;font-size:.92rem;letter-spacing:.02em;padding:.72rem 1.4rem;border-radius:999px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;white-space:nowrap}.btn:active{transform:translateY(1px) scale(.99)}.btn-primary{background:linear-gradient(135deg,var(--maroon),var(--maroon-soft));color:var(--cream);box-shadow:0 10px 24px -10px #6b0f1ab3}.btn-primary:hover{box-shadow:0 14px 30px -10px #6b0f1acc;transform:translateY(-2px)}.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--maroon-deep);box-shadow:0 10px 24px -12px #c9a227e6}.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px #c9a227}.btn-ghost{background:transparent;border-color:var(--gold);color:var(--maroon)}.btn-ghost:hover{background:#c9a2271f;transform:translateY(-2px)}section{position:relative;padding:clamp(3.5rem,8vw,6.5rem) 0}.eyebrow{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.32em;font-size:.72rem;font-weight:600;color:var(--gold);display:block;margin-bottom:.9rem}.section-title{font-size:clamp(2rem,5vw,3rem);text-align:center}.section-head{text-align:center;margin-bottom:clamp(2rem,5vw,3.2rem)}.divider{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:1rem auto 0;color:var(--gold)}.divider:before,.divider:after{content:"";height:1px;width:clamp(40px,12vw,110px);background:linear-gradient(to var(--dir, right),transparent,var(--gold))}.divider:before{--dir: left}.divider .diamond{font-size:.7rem;transform:rotate(0)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
