@import url("https://fonts.googleapis.com/css2?family=Anton&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,700;1,800&display=swap");
:root{ --red: #f42222; --yellow: #ffde42; --cream: #fff6dc; --ink: #612219; --line: #f5b879; --paper: #fff4d5; --muted: #82543b; }
*{ box-sizing: border-box; }
body{ margin: 0px; background: var(--red); color: var(--cream); font-family: "DM Sans", Arial, sans-serif; font-size: 14px; line-height: 1.65; min-height: 100vh; }
body::before{ content: ""; position: fixed; inset: 0px; pointer-events: none; background: radial-gradient(at 5% 30%, rgba(255, 76, 55, 0.12), transparent 60%), linear-gradient(110deg, rgba(213, 0, 0, 0.1), transparent 45%, rgba(255, 95, 50, 0.082)); z-index: -1; }
a{ color: inherit; text-decoration: none; }
button,input,select,textarea{ font: inherit; }
button,a,input,select,textarea{ outline-offset: 5px; }
button{ cursor: pointer; }
[hidden]{ display: none !important; }
.page-frame{ position: fixed; inset: 18px; border: 1px solid rgba(255, 201, 137, 0.63); border-radius: 18px; pointer-events: none; z-index: 5; }
.page-frame::before{ content: ""; position: absolute; inset: 6px; border: 1px solid rgba(255, 201, 137, 0.447); border-radius: 14px; }




header{ max-width: 1320px; margin: auto; display: flex; align-items: center; justify-content: space-between; padding: 40px 7% 15px; gap: 30px; }


nav{ display: flex; align-items: center; gap: 9px; }
nav a{ font-size: 10px; padding: 6px 14px; border: 1px solid rgba(255, 244, 208, 0.5); border-radius: 30px; font-weight: 700; letter-spacing: 0.3px; }
nav a[aria-selected="true"]{ background: var(--cream); color: var(--red); border-color: var(--cream); }
nav a:hover{ background: var(--yellow); color: var(--ink); }
main{ max-width: 1320px; margin: auto; }
.opening{ display: grid; grid-template-columns: 1fr 1.08fr; align-items: center; min-height: calc(-210px + 100vh); padding: 60px 10% 35px; gap: 15px; }
.hero-copy{ position: relative; z-index: 2; }
.eyebrow{ display: none; }
h1{ margin: 0px 0px 19px; font-family: Anton, Impact, sans-serif; font-size: clamp(65px, 6.8vw, 99px); font-weight: 400; letter-spacing: 0.3px; line-height: 0.96; }
h1 em{ display: block; font-family: "Playfair Display", Georgia, serif; font-weight: 800; font-size: 1.23em; letter-spacing: -6px; line-height: 0.92; color: var(--yellow); }
.intro{ font-size: 12px; line-height: 1.7; max-width: 385px; margin: 25px 0px 6px; }

.button{ display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; background: var(--yellow); color: rgb(82, 38, 26); border: 1.5px solid rgb(120, 42, 22); border-radius: 30px; padding: 11px 22px; font-family: Anton, Impact, sans-serif; font-size: 13px; letter-spacing: 0.5px; box-shadow: rgb(156, 51, 31) 0px 3px 0px; }
.button:hover{ background: rgb(255, 241, 160); transform: translateY(-1px); }

.hero-art{ position: relative; aspect-ratio: 1 / 1; width: 125%; margin-left: -5%; display: flex; align-items: center; justify-content: center; isolation: isolate; }
.sunburst{ position: absolute; inset: -3%; border-radius: 50%; background: repeating-conic-gradient(from -2deg, rgba(255, 145, 123, 0.42) 0deg, rgba(255, 145, 123, 0.42) 5.5deg, transparent 5.5deg, transparent 15deg); mask-image: radial-gradient(circle, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 61%, transparent 61.5%); z-index: -1; animation: 160s linear 0s infinite normal none running turn; }
.diya{ width: 95%; height: auto; filter: drop-shadow(rgba(166, 44, 34, 0.125) 0px 6px 0px); transform: translateY(10%); }
.event-details{ display: flex; gap: 23px; margin-top: 28px; max-width: 430px; border-top: 1px solid rgba(255, 176, 133, 0.44); padding-top: 15px; }
.event-details p{ margin: 0px; flex: 1 1 0%; }
.event-details span{ font-size: 8px; letter-spacing: 1.5px; color: var(--yellow); display: block; font-weight: 700; margin-bottom: 5px; }
.event-details b{ font-size: 10px; line-height: 1.6; font-weight: 500; display: block; }


footer{ max-width: 1320px; margin: 15px auto 0px; display: flex; justify-content: space-between; padding: 13px 7% 32px; font-size: 8px; letter-spacing: 1.2px; color: rgb(255, 207, 170); }

.section{ padding: 45px 9% 30px; min-height: calc(-170px + 100vh); }

.section-head{ display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.section-head h2{ font-family: Anton, Impact, sans-serif; font-size: 58px; letter-spacing: 0.3px; line-height: 1; margin: 0px; font-weight: 400; }
.section-head h2 em{ font-family: "Playfair Display", Georgia, serif; color: var(--yellow); font-weight: 800; font-size: 1.15em; letter-spacing: -2px; line-height: 1; }
.section-head > p{ max-width: 350px; font-size: 12px; }






h3{ font-family: Anton, Impact, sans-serif; font-weight: 400; font-size: 25px; line-height: 1.2; margin: 0px 0px 14px; }




.rsvp-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-top: 30px; align-items: start; }
form,.tracker{ background: var(--paper); border: 1.5px solid rgb(126, 48, 30); box-shadow: rgb(182, 35, 32) 4px 5px 0px; border-radius: 12px; padding: 28px; color: var(--ink); }
.form-intro{ font-size: 11px; color: var(--muted); margin: 8px 0px 20px; }
label{ display: block; font-size: 11px; font-weight: 700; margin: 16px 0px 6px; }
label small{ display: block; font-size: 9px; font-weight: 400; color: var(--muted); }
label > span{ color: rgb(194, 43, 32); }
input,select,textarea{ display: block; width: 100%; border: 1px solid rgb(194, 154, 114); background: rgb(255, 250, 240); border-radius: 5px; color: rgb(97, 34, 25); padding: 10px; font-size: 12px; }
input::placeholder,textarea::placeholder{ color: rgb(153, 120, 95); }
textarea{ resize: vertical; }
.form-row{ display: grid; grid-template-columns: 1.2fr 1fr; gap: 13px; }

h4{ font-size: 15px; font-weight: 700; margin: 20px 0px 0px; }
.submit{ width: 100%; margin: 25px 0px 0px; justify-content: space-between; }


#form-message,#tracker-message{ font-size: 11px; }
.tracker{ background: var(--yellow); }
.tracker-top{ display: flex; align-items: center; justify-content: space-between; }
.tracker-top .eyebrow{ display: block; font-size: 8px; letter-spacing: 1.4px; margin-bottom: 8px; font-weight: 700; }
.tracker-icon{ font-size: 45px; color: rgb(177, 75, 37); }
.tracker-stats{ display: flex; gap: 25px; padding: 16px 0px; border-block: 1px solid rgb(185, 140, 71); margin: 20px 0px; font-size: 10px; }
.tracker-stats b{ font-family: Anton, Impact, sans-serif; font-size: 26px; font-weight: 400; margin-right: 6px; }
.tracker select{ background: rgb(255, 233, 142); margin-bottom: 20px; }




.contribution{ border-bottom: 1px solid rgb(194, 150, 70); padding: 15px 0px; }
.contribution small{ font-size: 9px; letter-spacing: 0.7px; }
.contribution h4{ font-size: 15px; margin: 5px 0px; }
.contribution p{ font-size: 11px; margin: 0px; }





@keyframes turn { 
  100% { transform: rotate(360deg); }
}
@media (min-width: 1450px) {.opening{ min-height: 650px; }.hero-art{ width: 130%; }}
@media (max-width: 900px) {.opening{ padding-inline: 8%; grid-template-columns: 1fr 1fr; }.hero-art{ width: 125%; margin-left: -8%; }h1{ font-size: 75px; }.intro{ font-size: 11px; }.section{ padding-inline: 7%; }.rsvp-grid{ gap: 18px; }form,.tracker{ padding: 22px; }}
@media (max-width: 650px) {.page-frame{ inset: 9px; border-radius: 11px; }.page-frame::before{ inset: 4px; border-radius: 8px; }header{ padding: 30px 7% 10px; flex-wrap: wrap; gap: 20px; }nav{ width: 100%; gap: 7px; justify-content: space-between; }nav a{ font-size: 9px; padding: 7px 12px; flex: 1 1 0%; text-align: center; white-space: nowrap; }.opening{ display: flex; flex-direction: column; padding: 46px 10% 10px; gap: 5px; min-height: 0px; align-items: stretch; }.hero-copy{ max-width: 390px; }h1{ font-size: 74px; }h1 em{ letter-spacing: -5px; }.intro{ font-size: 12px; margin-top: 24px; }.hero-art{ width: 100%; max-width: 370px; align-self: center; margin: -10px 0px 0px; aspect-ratio: 1.25 / 1; }.sunburst{ inset: -10% 0px; }.diya{ width: 95%; max-width: 350px; }.event-details{ margin-top: 26px; }.event-details b{ font-size: 10px; }footer{ padding: 12px 9% 28px; font-size: 6px; gap: 15px; }.section{ padding: 35px 8% 25px; min-height: 70vh; }.section-head{ display: block; }.section-head h2{ font-size: 52px; }.section-head > p{ max-width: none; font-size: 12px; margin-top: 22px; }.rsvp-grid{ grid-template-columns: 1fr; margin-top: 25px; gap: 25px; }form,.tracker{ padding: 24px 20px; }.form-row{ gap: 10px; }.rsvp .section-head > p br{ display: none; }.button{ font-size: 12px; }}
@media (prefers-reduced-motion: reduce) {.sunburst{ animation: auto ease 0s 1 normal none running none; }}

header,main,footer{ position: relative; z-index: 1; }
.page-frame{ z-index: 0; }

header{ justify-content: flex-end; padding-top: 35px; }
h1 small{ display: block; font-family: "DM Sans", Arial, sans-serif; font-size: 12px; letter-spacing: 1.4px; line-height: 1.8; margin-top: 17px; font-weight: 500; }
.hero-art{ border: 0px; padding: 0px; background: none; color: var(--cream); cursor: pointer; overflow: visible; }
.hero-art:hover .diya{ filter: drop-shadow(rgba(255, 229, 106, 0.314) 0px 0px 14px); }
.diya-hint{ position: absolute; bottom: 4%; font-size: 8px; letter-spacing: 1px; left: 10%; right: 10%; text-align: center; }
.sunburst{ animation-duration: 200s; }
.flame,.flame-core{ transform-box: fill-box; transform-origin: 50% 100%; animation: 1.7s ease-in-out 0s infinite alternate none running flicker; }
.flame-core{ animation-delay: -0.6s; }
.lit .flame{ filter: drop-shadow(rgb(255, 244, 140) 0px 0px 9px); }
@keyframes flicker { 
  0% { transform: rotate(-5deg) scale(0.95, 1.03); }
  40% { transform: rotate(3deg) scale(1.05, 0.97); }
  100% { transform: rotate(-2deg) scale(0.97, 1.09); }
}





footer{ justify-content: center; font-size: 11px; letter-spacing: 0.6px; color: var(--cream); padding-bottom: 30px; }
fieldset{ border-width: 1px 0px 0px; border-style: solid none none; border-color: rgb(217, 182, 142) currentcolor currentcolor; border-image: none; margin: 25px 0px 0px; padding: 0px; }
legend{ font-family: Anton, Impact, sans-serif; font-size: 20px; padding: 8px 10px 8px 0px; }
.kind-options{ display: flex; gap: 12px; }
.kind-options label{ position: relative; flex: 1 1 0%; margin: 0px; }
.kind-options input{ position: absolute; opacity: 0; width: 1px; height: 1px; }
.kind-options span{ display: block; text-align: center; padding: 12px; border: 1px solid rgb(186, 147, 103); border-radius: 7px; background: rgb(255, 249, 235); font-size: 14px; cursor: pointer; }
.kind-options input:checked + span{ background: var(--yellow); border-color: var(--ink); box-shadow: rgb(148, 90, 40) 0px 2px 0px; }
.kind-options input:focus-visible + span{ outline: 2px solid var(--ink); outline-offset: 3px; }





.list-empty{ font-size: 11px; color: rgb(130, 84, 59); margin: 0px; }
.contribution{ padding: 10px 0px; }
.contribution:last-child{ border-bottom: 0px; }
.contribution h5{ font-size: 14px; margin: 0px 0px 3px; }

.outfit-notes{ display: grid; grid-template-columns: 1fr 1fr; gap: 35px; margin: 30px 0px 40px; max-width: 850px; }
.outfit-notes p{ font-size: 12px; margin: 0px; line-height: 1.8; }
.outfit-notes b{ display: block; color: var(--yellow); font-size: 13px; margin-bottom: 5px; }

















dialog{ max-width: 560px; width: calc(100% - 50px); max-height: 85vh; overflow: auto; padding: 38px; background: var(--paper); border: 2px solid rgb(109, 44, 28); border-radius: 14px; color: var(--ink); box-shadow: rgba(106, 35, 29, 0.333) 8px 9px 0px; }
dialog::backdrop{ background: rgba(69, 25, 15, 0.85); backdrop-filter: blur(5px); }
.close-dialog{ position: absolute; right: 15px; top: 9px; font-size: 28px; background: none; border: 0px; color: var(--ink); }



dialog h2{ font-family: Anton, Impact, sans-serif; font-size: 34px; line-height: 1.2; font-weight: 400; margin: 0px 0px 20px; }
dialog h2 em{ font-family: "Playfair Display", Georgia, serif; color: rgb(185, 76, 43); font-size: 30px; font-weight: 700; display: block; margin-top: 8px; }
dialog p{ font-size: 12px; line-height: 1.85; }

.close-and-rsvp{ margin-top: 15px; font-size: 11px; }
@media (max-width: 900px) {.hero-art{ padding: 0px; }.diya-hint{ font-size: 7px; bottom: 0px; }}
@media (max-width: 650px) {header{ padding-top: 28px; gap: 0px; }.opening{ padding-top: 40px; }h1{ font-size: 67px; }h1 small{ font-size: 10px; margin-top: 15px; letter-spacing: 0.8px; }.diya-hint{ bottom: 2%; font-size: 7px; letter-spacing: 0.6px; }.hero-art{ margin-top: 10px; margin-bottom: 15px; }.outfit-notes{ grid-template-columns: 1fr; gap: 20px; margin: 26px 0px 30px; }footer{ font-size: 10px; padding-inline: 12%; }dialog{ padding: 28px 23px; }dialog h2{ font-size: 29px; }dialog h2 em{ font-size: 25px; }}
@media (prefers-reduced-motion: reduce) {.flame,.flame-core,.sunburst{ animation: auto ease 0s 1 normal none running none; }}



















body{ transition: background-color 0.25s; }
body[data-section="dress"]{ background: rgb(191, 7, 91); }
body[data-section="rsvp"]{ background: rgb(17, 76, 64); }
body::before{ background: none; }







h1{ font-size: clamp(62px, 6.5vw, 92px); }
h1 .title-line{ display: flex; align-items: center; gap: 12px; white-space: nowrap; }
h1 small{ font-family: "Playfair Display", Georgia, serif; font-style: italic; font-size: 16px; letter-spacing: 0px; margin: 0px; line-height: 1.2; font-weight: 700; text-transform: lowercase; }
h1 em{ margin-top: 5px; }
.intro{ font-size: 15px; line-height: 1.8; margin: 28px 0px 27px; }
.intro strong{ font-weight: 500; color: var(--yellow); }
.reserve-spot{ font-size: 11px; letter-spacing: 0.4px; padding: 13px 19px; max-width: 100%; }
.event-details{ margin-top: 32px; }
.opening{ min-height: calc(-120px + 100vh); padding-top: 35px; padding-bottom: 55px; }
.diya-hint{ bottom: 1%; font-size: 8px; }
.section-head h2{ font-size: 62px; }
.dress .section-head h2 em{ font-size: 1em; }
.outfit-notes{ margin-top: 28px; }
.rsvp-grid{ margin-top: 35px; }
.rsvp .section-head h2{ font-size: 54px; }
.rsvp .section-head h2 em{ font-size: 1em; }
.tracker-icon.mithai{ font-size: 22px; letter-spacing: 3px; white-space: nowrap; }













.outfit-notes p{ font-size: 13px; }
.rsvp .section-head p{ max-width: 330px; }
.rsvp .tracker{ background: rgb(248, 202, 70); }

dialog{ width: 540px; max-width: calc(-45px + 100vw); min-height: 430px; padding: 70px 68px 58px; text-align: center; border-radius: 38% 40%; border: 3px solid rgb(255, 206, 72); outline: rgb(230, 107, 53) solid 8px; outline-offset: 2px; background: radial-gradient(circle, rgb(255, 243, 209) 0px, rgb(255, 243, 209) 62%, rgb(249, 223, 135) 63%, rgb(249, 223, 135) 70%, rgb(255, 243, 209) 71%); box-shadow: rgb(255, 212, 74) 0px 0px 0px 17px, rgb(181, 61, 78) 0px 0px 0px 20px; overflow: visible; }
dialog .close-dialog{ top: 35px; right: 68px; }

dialog h2{ font-size: 29px; margin: 13px 0px 20px; }
dialog p{ font-size: 12px; line-height: 1.8; margin: 12px 0px; }
dialog .button{ font-size: 10px; margin-top: 15px; }
.section{ padding-top: 55px; padding-bottom: 70px; }
@media (max-width: 900px) {h1 small{ font-size: 12px; }h1 .title-line{ gap: 8px; }.rsvp .section-head h2{ font-size: 46px; }.section-head h2{ font-size: 52px; }.reserve-spot{ font-size: 9px; padding: 12px 15px; }.intro{ font-size: 13px; }}
@media (max-width: 650px) {h1{ font-size: 61px; }h1 small{ font-size: 12px; }h1 .title-line{ gap: 10px; }.opening{ padding-top: 43px; min-height: 0px; }.hero-copy{ max-width: none; }.intro{ font-size: 14px; }.reserve-spot{ font-size: 10px; }.diya-hint{ bottom: 0px; font-size: 6px; left: 0px; right: 0px; }.hero-art{ margin-top: 16px; margin-bottom: 0px; }.section{ padding-top: 40px; }.dress .section-head h2{ font-size: 47px; }.outfit-notes{ margin-top: 25px; }.outfit-notes p{ font-size: 12px; }.rsvp .section-head h2{ font-size: 44px; }.rsvp .section-head p{ font-size: 12px; }dialog{ min-height: 0px; padding: 55px 35px 45px; border-radius: 38% 40%; outline-width: 5px; box-shadow: rgb(255, 212, 74) 0px 0px 0px 12px, rgb(181, 61, 78) 0px 0px 0px 14px; max-width: calc(-42px + 100vw); }dialog .close-dialog{ top: 25px; right: 45px; }dialog h2{ font-size: 23px; }dialog p{ font-size: 11px; }.tracker-icon.mithai{ font-size: 18px; }}
@media (prefers-reduced-motion: reduce) {body{ transition: none; }}
dialog{ isolation: isolate; }
dialog::before{ content: ""; position: absolute; inset: -26px; background: linear-gradient(45deg, rgb(249, 211, 77), rgb(240, 130, 65), rgb(255, 230, 154)); clip-path: polygon(100% 50%, 99.84% 51.31%, 99.36% 52.59%, 98.61% 53.83%, 97.66% 55.01%, 96.6% 56.13%, 95.51% 57.21%, 94.48% 58.24%, 93.6% 59.27%, 92.93% 60.31%, 92.5% 61.39%, 92.33% 62.54%, 92.39% 63.77%, 92.64% 65.1%, 93.01% 66.51%, 93.42% 67.99%, 93.78% 69.49%, 94.01% 70.99%, 94.04% 72.44%, 93.81% 73.79%, 93.3% 75%, 92.51% 76.05%, 91.45% 76.92%, 90.19% 77.62%, 88.77% 78.17%, 87.29% 78.61%, 85.81% 78.99%, 84.4% 79.38%, 83.12% 79.83%, 82.02% 80.39%, 81.11% 81.11%, 80.39% 82.02%, 79.83% 83.12%, 79.38% 84.4%, 78.99% 85.81%, 78.61% 87.29%, 78.17% 88.77%, 77.62% 90.19%, 76.92% 91.45%, 76.05% 92.51%, 75% 93.3%, 73.79% 93.81%, 72.44% 94.04%, 70.99% 94.01%, 69.49% 93.78%, 67.99% 93.42%, 66.51% 93.01%, 65.1% 92.64%, 63.77% 92.39%, 62.54% 92.33%, 61.39% 92.5%, 60.31% 92.93%, 59.27% 93.6%, 58.24% 94.48%, 57.21% 95.51%, 56.13% 96.6%, 55.01% 97.66%, 53.83% 98.61%, 52.59% 99.36%, 51.31% 99.84%, 50% 100%, 48.69% 99.84%, 47.41% 99.36%, 46.17% 98.61%, 44.99% 97.66%, 43.87% 96.6%, 42.79% 95.51%, 41.76% 94.48%, 40.73% 93.6%, 39.69% 92.93%, 38.61% 92.5%, 37.46% 92.33%, 36.23% 92.39%, 34.9% 92.64%, 33.49% 93.01%, 32.01% 93.42%, 30.51% 93.78%, 29.01% 94.01%, 27.56% 94.04%, 26.21% 93.81%, 25% 93.3%, 23.95% 92.51%, 23.08% 91.45%, 22.38% 90.19%, 21.83% 88.77%, 21.39% 87.29%, 21.01% 85.81%, 20.62% 84.4%, 20.17% 83.12%, 19.61% 82.02%, 18.89% 81.11%, 17.98% 80.39%, 16.88% 79.83%, 15.6% 79.38%, 14.19% 78.99%, 12.71% 78.61%, 11.23% 78.17%, 9.81% 77.62%, 8.55% 76.92%, 7.49% 76.05%, 6.7% 75%, 6.19% 73.79%, 5.96% 72.44%, 5.99% 70.99%, 6.22% 69.49%, 6.58% 67.99%, 6.99% 66.51%, 7.36% 65.1%, 7.61% 63.77%, 7.67% 62.54%, 7.5% 61.39%, 7.07% 60.31%, 6.4% 59.27%, 5.52% 58.24%, 4.49% 57.21%, 3.4% 56.13%, 2.34% 55.01%, 1.39% 53.83%, 0.64% 52.59%, 0.16% 51.31%, 0% 50%, 0.16% 48.69%, 0.64% 47.41%, 1.39% 46.17%, 2.34% 44.99%, 3.4% 43.87%, 4.49% 42.79%, 5.52% 41.76%, 6.4% 40.73%, 7.07% 39.69%, 7.5% 38.61%, 7.67% 37.46%, 7.61% 36.23%, 7.36% 34.9%, 6.99% 33.49%, 6.58% 32.01%, 6.22% 30.51%, 5.99% 29.01%, 5.96% 27.56%, 6.19% 26.21%, 6.7% 25%, 7.49% 23.95%, 8.55% 23.08%, 9.81% 22.38%, 11.23% 21.83%, 12.71% 21.39%, 14.19% 21.01%, 15.6% 20.62%, 16.88% 20.17%, 17.98% 19.61%, 18.89% 18.89%, 19.61% 17.98%, 20.17% 16.88%, 20.62% 15.6%, 21.01% 14.19%, 21.39% 12.71%, 21.83% 11.23%, 22.38% 9.81%, 23.08% 8.55%, 23.95% 7.49%, 25% 6.7%, 26.21% 6.19%, 27.56% 5.96%, 29.01% 5.99%, 30.51% 6.22%, 32.01% 6.58%, 33.49% 6.99%, 34.9% 7.36%, 36.23% 7.61%, 37.46% 7.67%, 38.61% 7.5%, 39.69% 7.07%, 40.73% 6.4%, 41.76% 5.52%, 42.79% 4.49%, 43.87% 3.4%, 44.99% 2.34%, 46.17% 1.39%, 47.41% 0.64%, 48.69% 0.16%, 50% 0%, 51.31% 0.16%, 52.59% 0.64%, 53.83% 1.39%, 55.01% 2.34%, 56.13% 3.4%, 57.21% 4.49%, 58.24% 5.52%, 59.27% 6.4%, 60.31% 7.07%, 61.39% 7.5%, 62.54% 7.67%, 63.77% 7.61%, 65.1% 7.36%, 66.51% 6.99%, 67.99% 6.58%, 69.49% 6.22%, 70.99% 5.99%, 72.44% 5.96%, 73.79% 6.19%, 75% 6.7%, 76.05% 7.49%, 76.92% 8.55%, 77.62% 9.81%, 78.17% 11.23%, 78.61% 12.71%, 78.99% 14.19%, 79.38% 15.6%, 79.83% 16.88%, 80.39% 17.98%, 81.11% 18.89%, 82.02% 19.61%, 83.12% 20.17%, 84.4% 20.62%, 85.81% 21.01%, 87.29% 21.39%, 88.77% 21.83%, 90.19% 22.38%, 91.45% 23.08%, 92.51% 23.95%, 93.3% 25%, 93.81% 26.21%, 94.04% 27.56%, 94.01% 29.01%, 93.78% 30.51%, 93.42% 32.01%, 93.01% 33.49%, 92.64% 34.9%, 92.39% 36.23%, 92.33% 37.46%, 92.5% 38.61%, 92.93% 39.69%, 93.6% 40.73%, 94.48% 41.76%, 95.51% 42.79%, 96.6% 43.87%, 97.66% 44.99%, 98.61% 46.17%, 99.36% 47.41%, 99.84% 48.69%); mask-image: radial-gradient(transparent 0px, transparent 65%, rgb(0, 0, 0) 66%); pointer-events: none; z-index: -1; }
dialog::after{ content: ""; position: absolute; inset: -14px; border: 2px dotted rgb(255, 241, 184); border-radius: 50%; pointer-events: none; }



.marigold-top svg:not(:first-child),.marigold-bottom svg:not(:first-child){ display: none; }


.festive-lights{ position: absolute; inset: 0px 0px auto; height: 68px; pointer-events: none; z-index: 2; overflow: hidden; }
.festive-lights svg{ width: 100%; height: 100%; display: block; }
.light-bulb{ filter: drop-shadow(rgba(255, 207, 97, 0.467) 0px 0px 5px); animation: light-glow 4s ease-in-out var(--delay) infinite alternate; }
@keyframes light-glow { 
  0% { opacity: 0.65; filter: drop-shadow(rgba(255, 207, 97, 0.333) 0px 0px 2px); }
  100% { opacity: 1; filter: drop-shadow(rgba(255, 223, 150, 0.667) 0px 0px 7px); }
}
header{ padding-top: 73px; }
.opening{ min-height: calc(-160px + 100vh); padding-top: 30px; }
.diwali-line{ display: flex; align-items: baseline; gap: 14px; position: relative; width: max-content; }
.diwali-line small{ align-self: flex-end; margin: 0px 0px 8px; font-size: 14px; font-family: "Playfair Display", Georgia, serif; letter-spacing: 0px; }
.reserve-spot{ font-family: "DM Sans", Arial, sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 0.2px; padding: 13px 20px; }
.hero-copy .intro{ font-size: 15px; }
.event-details{ margin-top: 32px; }
fieldset{ border: 0px; margin-top: 22px; padding-top: 0px; }
legend{ width: 100%; padding: 5px 0px 10px; line-height: 1.3; }
.rsvp-form-heading{ display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-bottom: 12px; }
.rsvp-form-heading h3{ margin: 0px; }


.tracker-icon.mithai{ width: 135px; flex-shrink: 0; white-space: normal; }
.tracker-top{ align-items: center; gap: 12px; }
.tracker-top h3{ margin-bottom: 0px; }
.tracker{ position: relative; }
.tracker-top .eyebrow{ font-size: 7px; }
.rsvp .section-head h2{ color: rgb(255, 226, 165); }
.rsvp .section-head h2 em{ color: rgb(255, 185, 156); }
.rsvp .section-head p{ color: rgb(248, 219, 193); }

body[data-section="dress"]{ background: rgb(18, 30, 72); color: rgb(246, 198, 217); }
body[data-section="dress"] .section-head h2{ color: rgb(245, 144, 189); }
body[data-section="dress"] .section-head h2 em{ color: rgb(255, 189, 217); }
body[data-section="dress"] .outfit-notes b{ color: rgb(248, 161, 198); }
body[data-section="dress"] nav a[aria-selected="true"]{ background: rgb(246, 161, 199); border-color: rgb(246, 161, 199); color: rgb(21, 33, 74); }
body[data-section="dress"] .button{ background: rgb(246, 157, 197); border-color: rgb(239, 192, 209); box-shadow: rgb(125, 59, 111) 0px 3px 0px; color: rgb(26, 36, 70); }







.festive-fireworks{ display: none; position: absolute; inset: 0px 0px auto; height: 200px; pointer-events: none; overflow: hidden; z-index: 0; }
body[data-section="dress"] .festive-fireworks{ display: block; }
.firework{ position: absolute; width: 5px; height: 5px; top: 110px; left: 17%; color: rgb(246, 139, 187); animation: 6s ease-out 0s infinite normal none running firework-bloom; }
.firework-1{ left: 52%; top: 85px; color: rgb(255, 207, 112); animation-delay: -2s; }
.firework-2{ left: 83%; top: 145px; color: rgb(230, 173, 244); animation-delay: -4s; }
.firework i{ position: absolute; left: 0px; top: 0px; width: 2px; height: 28px; background: linear-gradient(currentcolor, transparent); transform: rotate(var(--angle)) translateY(-14px); transform-origin: 1px 0px; opacity: 0.8; border-radius: 50%; }
@keyframes firework-bloom { 
  0%, 8% { transform: scale(0); opacity: 0; }
  10% { opacity: 0.8; }
  35% { transform: scale(1.6); opacity: 0; }
  100% { transform: scale(1.6); opacity: 0; }
}
.celebration-confetti{ position: fixed; inset: 0px; pointer-events: none; overflow: hidden; z-index: 1000; }
.celebration-confetti i{ position: absolute; left: var(--x); top: -30px; width: 9px; height: 15px; background: var(--color); animation: petals-fall var(--duration) ease-in var(--delay) forwards; }
.celebration-confetti .confetti-petal{ border-radius: 90% 15% 80% 20%; }
.celebration-confetti .confetti-ring{ border: 2px solid var(--color); background: none; border-radius: 50%; width: 12px; height: 12px; }
.celebration-confetti .confetti-diamond{ width: 9px; height: 9px; clip-path: polygon(50% 0px, 100% 50%, 50% 100%, 0px 50%); }
@keyframes petals-fall { 
  0% { transform: translate3d(0px, -10px, 0px) rotate(0deg); opacity: 1; }
  85% { opacity: 1; }
  100% { transform: translate3d(var(--drift),110vh,0) rotate(var(--spin)); opacity: 0; }
}
@media (max-width: 900px) {.diwali-line small{ font-size: 12px; margin-bottom: 7px; }.diwali-line{ gap: 12px; }.tracker-icon.mithai{ width: 105px; }.hero-copy .intro{ font-size: 13px; }.reserve-spot{ font-size: 10px; padding: 13px 15px; }}
@media (max-width: 650px) {header{ padding-top: 67px; }.festive-lights{ height: 55px; }.diwali-line{ gap: 10px; }.diwali-line small{ font-size: 12px; margin-bottom: 8px; }.opening{ padding-top: 36px; }.hero-copy .intro{ font-size: 14px; }.reserve-spot{ font-size: 11px; padding: 13px 17px; }.tracker-icon.mithai{ width: 110px; }.firework{ top: 125px; left: 20%; }.firework-1{ top: 90px; left: 50%; }.firework-2{ top: 145px; left: 85%; }.diya-hint{ font-size: 6px; }}
@media (prefers-reduced-motion: reduce) {.light-bulb,.firework,.celebration-confetti i{ animation: auto ease 0s 1 normal none running none; }.festive-fireworks,.celebration-confetti{ display: none; }}
body[data-section="dress"]{ background: rgb(7, 12, 41); color: rgb(255, 154, 201); }
body[data-section="dress"] .section-head h2,body[data-section="dress"] .section-head h2 em,body[data-section="dress"] .outfit-notes b{ color: rgb(255, 71, 165); }
body[data-section="dress"] .outfit-notes p{ color: rgb(255, 175, 212); }
body[data-section="dress"] nav a[aria-selected="true"],body[data-section="dress"] .button{ background: rgb(255, 83, 171); border-color: rgb(255, 143, 201); color: rgb(9, 13, 43); }


body[data-section="rsvp"]{ background: rgb(3, 41, 31); color: rgb(255, 193, 139); }
.rsvp .section-head h2{ color: rgb(255, 179, 106); }
.rsvp .section-head h2 em{ color: rgb(255, 155, 87); }
.rsvp .section-head p{ color: rgb(255, 210, 172); }
.rsvp-grid{ align-items: stretch; grid-template-columns: 1fr 1fr; }
.rsvp-grid > form,.rsvp-grid > .tracker{ align-self: stretch; height: 100%; min-width: 0px; }
.rsvp-grid h3,.rsvp-grid legend{ color: rgb(150, 62, 29); }
.rsvp-grid label{ color: rgb(129, 57, 31); }


.rsvp-form-heading{ min-height: 82px; }
.tracker-icon.mithai{ width: 145px; }












.festive-lights{ height: 78px; }
.light-bulb{ animation: bright-twinkle 2.8s ease-in-out var(--delay) infinite alternate; filter: drop-shadow(rgb(255, 241, 157) 0px 0px 5px); }
@keyframes bright-twinkle { 
  0%, 15% { opacity: 0.7; filter: brightness(1) drop-shadow(rgba(255, 239, 138, 0.667) 0px 0px 3px); }
  65%, 100% { opacity: 1; filter: brightness(1.25) drop-shadow(rgb(255, 239, 138) 0px 0px 9px); }
}
.festive-fireworks{ height: 360px; overflow: hidden; }
.firework{ left: 8%; top: 190px; animation: 7s ease-out 0s infinite normal none running bright-firework; color: rgb(255, 77, 170); }
.firework-1{ left: 53%; top: 160px; color: rgb(255, 214, 79); animation-delay: -2.3s; }
.firework-2{ left: 88%; top: 245px; color: rgb(255, 120, 216); animation-delay: -4.6s; }
.firework i{ width: 3px; height: 45px; transform: rotate(var(--angle)) translateY(-23px); transform-origin: 1.5px 0px; background: linear-gradient(rgb(255, 245, 223), currentcolor 25%, transparent); filter: drop-shadow(currentcolor 0px 0px 3px); opacity: 1; }
.firework i::after{ content: ""; position: absolute; top: -10px; left: 0px; width: 3px; height: 4px; background: rgb(255, 242, 199); border-radius: 50%; box-shadow: currentcolor 0px -9px 0px; }
.firework::before{ content: "✧"; position: absolute; left: -8px; top: -13px; color: rgb(255, 242, 208); font-size: 24px; filter: drop-shadow(currentcolor 0px 0px 5px); }
@keyframes bright-firework { 
  0%, 8% { transform: scale(0.05); opacity: 0; }
  10% { opacity: 1; }
  22% { transform: scale(1.15); opacity: 1; }
  46%, 100% { transform: scale(2.15); opacity: 0; }
}
@media (max-width: 900px) {.tracker-icon.mithai{ width: 110px; }}
@media (max-width: 650px) {.rsvp-grid{ grid-template-columns: 1fr; }.rsvp-grid > form,.rsvp-grid > .tracker{ height: auto; min-height: 0px; }.firework{ top: 190px; left: 13%; }.firework-1{ top: 155px; left: 50%; }.firework-2{ top: 255px; left: 90%; }.firework i{ height: 34px; transform: rotate(var(--angle)) translateY(-18px); }.tracker-icon.mithai{ width: 130px; }.rsvp-form-heading{ min-height: 68px; }.festive-lights{ height: 65px; }}
@media (prefers-reduced-motion: reduce) {.light-bulb,.firework{ animation: auto ease 0s 1 normal none running none; }.festive-fireworks{ display: none; }}


@media (min-width: 651px) and (max-width: 900px) {.tracker-top{ display: block; position: relative; padding-bottom: 75px; }.tracker-top h3{ font-size: 25px; max-width: none; }.tracker-icon.mithai{ position: absolute; right: 0px; bottom: 0px; width: 115px; }.rsvp-form-heading h3{ font-size: 24px; }}
@media (max-width: 650px) {.tracker-top{ display: flex; padding-bottom: 0px; }.tracker-icon.mithai{ position: static; }}



body{ position: relative; min-height: 100vh; padding-bottom: 120px; }






.diwali-line{ gap: 8px; }
.diwali-line small{ margin-bottom: 5px; }
.reserve-spot{ font-family: "DM Sans", Arial, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.2px; border-width: 1px; padding: 13px 21px; }
.outfit-guide{ display: block; max-width: 760px; margin-top: 30px; margin-bottom: 40px; }
.outfit-guide h3{ font-family: "DM Sans", Arial, sans-serif; font-size: 17px; line-height: 1.7; font-weight: 600; margin-bottom: 18px; color: rgb(255, 121, 186); }
.outfit-guide h3 em{ font-family: "Playfair Display", Georgia, serif; font-size: 22px; font-weight: 700; color: rgb(255, 175, 212); }
.outfit-guide ul{ padding-left: 20px; margin: 0px 0px 24px; }
.outfit-guide li{ font-size: 13px; line-height: 1.9; padding-left: 5px; margin-bottom: 7px; color: rgb(255, 192, 221); }
.outfit-guide li::marker{ color: rgb(255, 86, 171); }
.outfit-guide li b{ display: inline; color: rgb(255, 128, 191); font-size: 13px; }
.outfit-guide h4{ font-family: "DM Sans", Arial, sans-serif; font-size: 15px; color: rgb(255, 121, 186); margin: 24px 0px 12px; }
.hindi-rsvp{ text-align: center; color: rgb(163, 65, 34); font-family: Arial, sans-serif; font-size: 18px; line-height: 1.5; font-weight: 600; }
.hindi-rsvp small{ display: block; font-size: 10px; font-weight: 400; white-space: nowrap; }
.rsvp-form-heading{ min-height: 65px; }
.tracker-icon.mithai{ width: 135px; }
.flower-dialog-outline{ position: absolute; inset: 0px; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
dialog{ width: 560px; height: 560px; max-width: calc(-26px + 100vw); max-height: calc(100dvh - 26px); min-height: 0px; aspect-ratio: 1 / 1; margin: auto; padding: 100px 95px; border: 0px; outline: 0px; border-radius: 0px; background: transparent; box-shadow: none; overflow: visible; isolation: isolate; }
dialog[open]{ display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0px; }
dialog::before,dialog::after{ display: none; }
dialog h2{ font-family: Anton, Impact, sans-serif; font-size: 30px; line-height: 1.2; margin: 0px 0px 15px; font-weight: 400; text-transform: none; }
dialog h2 em{ font-family: "Playfair Display", Georgia, serif; font-size: 31px; font-weight: 700; margin: 4px 0px 0px; color: rgb(175, 77, 48); }
dialog p{ font-size: 12px; line-height: 1.7; margin: 7px 0px; }
dialog .button{ font-family: "DM Sans", Arial, sans-serif; font-size: 10px; font-weight: 700; padding: 10px 17px; margin-top: 15px; }
dialog .close-dialog{ top: 82px; right: 105px; font-size: 26px; }

@media (max-width: 900px) {.hindi-rsvp{ font-size: 16px; }.reserve-spot{ font-size: 11px; }.outfit-guide{ max-width: 650px; }}
@media (max-width: 650px) {body{ padding-bottom: 105px; }.outfit-guide{ margin-top: 26px; margin-bottom: 32px; }.outfit-guide h3{ font-size: 15px; }.outfit-guide h3 em{ font-size: 21px; }.outfit-guide li{ font-size: 12px; line-height: 1.85; }.outfit-guide li b{ font-size: 12px; }.hindi-rsvp{ font-size: 17px; }.rsvp-form-heading{ min-height: 55px; }.tracker-icon.mithai{ width: 125px; }.diwali-line{ gap: 7px; }.diwali-line small{ font-size: 11px; margin-bottom: 5px; }dialog{ width: calc(-22px + 100vw); height: calc(-22px + 100vw); max-width: 400px; max-height: 400px; padding: 62px 52px; }dialog h2{ font-size: 22px; margin-bottom: 10px; }dialog h2 em{ font-size: 24px; }dialog p{ font-size: 10px; line-height: 1.6; margin: 5px 0px; }dialog .button{ font-size: 9px; padding: 9px 13px; margin-top: 11px; }dialog .close-dialog{ top: 46px; right: 63px; font-size: 23px; }}
@media (max-height: 480px) {dialog{ width: 390px; height: 390px; padding: 65px 75px; }dialog h2{ font-size: 22px; }dialog h2 em{ font-size: 23px; }dialog p{ font-size: 10px; line-height: 1.5; }dialog .close-dialog{ top: 44px; right: 71px; }}


html{ overflow-x: clip; }
body{ height: auto; min-height: 100svh; overflow-x: clip; padding-bottom: 16px; }
.page-frame{ position: absolute; inset: 12px; z-index: 0; }
.page-frame::before{ inset: 5px; }



.rsvp.section{ max-width: 1200px; padding: 36px 6% 22px; min-height: 0px; }
.rsvp .section-head{ gap: 24px; }
.rsvp .section-head h2{ font-size: 46px; }
.rsvp .section-head > p{ font-size: 13px; line-height: 1.75; }
.rsvp-grid{ width: 100%; max-width: 1020px; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 22px; margin: 25px auto 0px; align-items: stretch; }
.rsvp-grid > form,.rsvp-grid > .tracker{ width: 100%; height: auto; min-height: 0px; min-width: 0px; padding: 24px; border-radius: 10px; box-shadow: rgba(129, 45, 32, 0.25) 3px 4px 0px; }
.rsvp-form-heading{ min-height: 48px; margin-bottom: 14px; }
.rsvp-form-heading h3{ font-size: 25px; }
.hindi-rsvp{ font-size: 16px; }
.rsvp-grid label{ margin-top: 12px; font-size: 12px; }
.rsvp-grid input,.rsvp-grid select{ min-width: 0px; max-width: 100%; min-height: 44px; padding: 10px 11px; font-size: 14px; }
.rsvp-grid .form-row{ grid-template-columns: minmax(0px, 1.2fr) minmax(0px, 1fr); gap: 12px; }
.rsvp-grid fieldset{ margin: 20px 0px 0px; min-width: 0px; }
.rsvp-grid legend{ font-size: 20px; margin: 0px; padding: 0px 0px 8px; }
.rsvp-grid .form-intro{ font-size: 12px; margin: 0px 0px 15px; }
.rsvp-grid .kind-options{ gap: 10px; }
.rsvp-grid .kind-options label{ margin-top: 0px; }
.rsvp-grid .kind-options span{ padding: 10px; min-height: 44px; font-size: 13px; }
.rsvp-grid .kind-options input{ position: absolute; width: 1px; min-height: 0px; height: 1px; padding: 0px; }
.rsvp-grid .submit{ margin-top: 20px; min-height: 46px; font-family: "DM Sans", Arial, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.1px; }
.tracker-top{ display: flex; position: static; align-items: center; padding: 0px; min-height: 48px; gap: 12px; }
.tracker-top > div{ min-width: 0px; }
.tracker-top h3{ font-size: 25px; line-height: 1.2; max-width: none; }
.tracker-icon.mithai{ position: static; display: block; width: 105px; flex-shrink: 0; }
.tracker-stats{ margin: 18px 0px; padding: 12px 0px; gap: 20px; }
.tracker-stats b{ font-size: 25px; }






.contribution h5,.contribution p,.contribution small{ overflow-wrap: anywhere; }
.rsvp-grid #form-message:empty{ display: none; }
.rsvp-grid #form-message{ margin: 12px 0px 0px; }
.outfit-guide{ padding-inline: 4px; }
.opening .hero-art{ max-width: 100%; width: 100%; margin-left: 0px; }
.opening{ gap: 25px; }

.event-details > p{ min-width: 0px; }
.event-details b{ overflow-wrap: anywhere; }
@media (max-width: 980px) {.rsvp.section{ padding: 32px 7% 18px; }.rsvp .section-head{ display: block; max-width: 600px; margin: 0px auto; }.rsvp .section-head > p{ max-width: none; margin: 18px 0px 0px; }.rsvp .section-head > p br{ display: none; }.rsvp-grid{ grid-template-columns: minmax(0px, 1fr); max-width: 600px; gap: 20px; }.rsvp-grid > form,.rsvp-grid > .tracker{ height: auto; align-self: start; }.tracker-top{ display: flex; position: static; padding: 0px; }.tracker-icon.mithai{ position: static; width: 115px; }.section{ min-height: 0px; }.rsvp-grid .form-row{ grid-template-columns: minmax(0px, 1.3fr) minmax(0px, 1fr); }}
@media (max-width: 650px) {.page-frame{ inset: 8px; border-radius: 12px; }.page-frame::before{ inset: 4px; border-radius: 9px; }header{ padding: 65px 20px 12px; gap: 0px; }nav{ width: 100%; gap: 6px; }nav a{ min-height: 40px; display: flex; align-items: center; justify-content: center; padding: 7px 8px; font-size: 10px; }.rsvp.section{ padding: 25px 22px 12px; }.rsvp .section-head h2{ font-size: 39px; }.rsvp .section-head > p{ font-size: 13px; margin-top: 16px; }.rsvp-grid{ margin-top: 23px; gap: 18px; }.rsvp-grid > form,.rsvp-grid > .tracker{ padding: 19px 17px; border-radius: 9px; box-shadow: rgba(129, 45, 32, 0.2) 2px 3px 0px; }.rsvp-form-heading{ gap: 12px; min-height: 42px; margin-bottom: 14px; }.rsvp-form-heading h3{ font-size: 25px; }.hindi-rsvp{ font-size: 16px; }.hindi-rsvp small{ font-size: 10px; }.rsvp-grid input,.rsvp-grid select{ font-size: 16px; min-height: 46px; }.rsvp-grid .form-row{ grid-template-columns: minmax(0px, 1.3fr) minmax(0px, 1fr); gap: 10px; }.rsvp-grid .form-row label{ font-size: 11px; }.rsvp-grid label{ font-size: 12px; }.rsvp-grid legend{ font-size: 20px; }.rsvp-grid .form-intro{ font-size: 11px; }.rsvp-grid .kind-options span{ font-size: 13px; }.rsvp-grid .submit{ min-height: 47px; font-size: 12px; }.tracker-top h3{ font-size: 24px; }.tracker-top .eyebrow{ font-size: 7px; letter-spacing: 1.1px; }.tracker-icon.mithai{ width: 92px; }.tracker-stats{ gap: 15px; margin: 16px 0px; }.section,.opening{ padding-left: 24px; padding-right: 24px; }.section{ padding-top: 30px; padding-bottom: 16px; }.opening{ padding-top: 55px; gap: 22px; min-height: 0px; }.hero-copy{ min-width: 0px; max-width: 100%; }h1{ font-size: clamp(49px, 15vw, 65px); }.diwali-line{ max-width: 100%; gap: 8px; }.diwali-line small{ font-size: 11px; }.hero-copy .intro{ font-size: 14px; }.reserve-spot{ font-size: 11px; white-space: normal; min-height: 45px; }.hero-art{ aspect-ratio: 1.2 / 1; max-width: 340px !important; margin: 0px auto !important; }.hero-art .diya{ width: 95%; max-width: 100%; }.sunburst{ inset: 0px; }.diya-hint{ font-size: 7px; letter-spacing: 0.3px; left: 0px; right: 0px; bottom: 0px; }.outfit-guide h3{ font-size: 15px; }.outfit-guide li{ font-size: 13px; }.outfit-guide li b{ font-size: 13px; }.outfit-guide ul{ padding-left: 19px; }.dress .section-head h2{ font-size: 43px; }.event-details{ gap: 18px; }.event-details b{ font-size: 12px; }.event-details span{ font-size: 9px; }.firework{ opacity: 0.6; }.festive-fireworks{ height: 250px; }}
@media (max-width: 360px) {.rsvp.section{ padding-inline: 18px; }.rsvp-grid > form,.rsvp-grid > .tracker{ padding: 17px 14px; }.tracker-icon.mithai{ width: 75px; }.tracker-top h3{ font-size: 22px; }.rsvp-grid .form-row{ grid-template-columns: minmax(0px, 1fr); }nav a{ font-size: 9px; padding-inline: 5px; }.hindi-rsvp{ font-size: 14px; }.diwali-line small{ font-size: 10px; }}
@media (max-width: 650px) {.rsvp.section,.section{ padding-top: 52px; }}
.tracker-icon.mithai{ width: 145px; }


body{ padding-bottom: 18px; }
.rsvp.section{ padding-bottom: 32px; }
@media (max-width: 980px) {.tracker-icon.mithai{ width: 125px; }}
@media (max-width: 650px) {.section,.rsvp.section{ padding-top: 26px; padding-bottom: 26px; }.opening{ padding-top: 28px; }.tracker-icon.mithai{ width: 106px; }.tracker-top h3{ font-size: 23px; }.rsvp-grid input::placeholder{ font-size: 13px; }}
@media (max-width: 360px) {.tracker-icon.mithai{ width: 84px; }}





























.diwali-line{ align-items: baseline; gap: 9px; }
.diwali-line small{ align-self: auto; display: block; line-height: 1; transform: none; font-family: "Playfair Display", Georgia, serif; font-style: italic; margin: 0px !important; }
.hero-copy .intro{ max-width: 400px; font-size: 14px; line-height: 1.85; margin: 25px 0px; }
.hero-copy .intro strong{ font-weight: 500; }
.reserve-spot{ gap: 9px; font-family: "DM Sans", Arial, sans-serif; font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: 0px; padding: 11px 18px; }
.reserve-diya{ font-size: 22px; line-height: 1.1; }
.fit-check-intro{ font-size: 13px !important; line-height: 1.7 !important; color: rgb(251, 182, 216) !important; margin: 0px 0px 19px !important; }
.outfit-guide{ margin-top: 20px; margin-bottom: 24px; }
.outfit-guide h3,.outfit-guide h4{ font-family: "Playfair Display", Georgia, serif; font-size: 22px; font-style: italic; font-weight: 700; color: rgb(255, 175, 212); line-height: 1.35; margin: 0px 0px 11px; }
.outfit-guide h4{ margin-top: 20px; }
.outfit-guide ul{ margin-bottom: 17px; }
.outfit-guide li{ font-size: 12px; line-height: 1.75; margin-bottom: 4px; }
.dress .section-head h2{ font-size: 49px; }
.dress.section{ padding-top: 28px; padding-bottom: 20px; }

.user-moodboard:not(.is-grid) .outfit-image-window{ --moodboard-height: 320px; }
.user-moodboard:not(.is-grid) .user-outfit{ flex-basis: 225px; }

.tracker-icon.mithai{ width: 95px; }
.hindi-rsvp{ font-family: "DM Sans", Arial, sans-serif; font-size: 15px; font-weight: 600; }
.hindi-rsvp small{ font-size: 10px; }
.diya-pop{ position: fixed; inset: 0px; display: grid; place-items: center; z-index: 1001; pointer-events: none; background: rgba(48, 26, 43, 0.133); backdrop-filter: blur(2px); }
.diya-pop > span{ font-size: 100px; line-height: 1; filter: drop-shadow(rgb(255, 217, 118) 0px 0px 28px); animation: 0.78s ease-in-out 0s 1 normal both running reserve-diya-pop; }
@keyframes reserve-diya-pop { 
  0% { opacity: 0; transform: translateY(30px) scale(0.3); }
  35%, 65% { opacity: 1; transform: translateY(0px) scale(1.1); }
  100% { opacity: 0; transform: translateY(-25px) scale(0.9); }
}
dialog p{ font-size: 11px; line-height: 1.6; margin: 5px 0px; }
dialog .friends-line{ font-family: "Playfair Display", Georgia, serif; font-size: 13px; font-style: italic; color: rgb(166, 76, 52); line-height: 1.5; margin-top: 8px; }
dialog h2{ margin-bottom: 11px; }
dialog .button{ margin-top: 11px; }
@media (min-width: 641px) and (max-width: 980px) {.rsvp.section{ padding: 27px 6% 23px; }.rsvp .section-head{ display: flex; max-width: none; align-items: center; gap: 25px; }.rsvp .section-head h2{ font-size: 39px; }.rsvp .section-head > p{ max-width: 260px; margin: 0px; font-size: 12px; }.rsvp-grid{ grid-template-columns: repeat(2, minmax(0px, 1fr)); max-width: none; gap: 17px; margin-top: 23px; }.rsvp-grid > form,.rsvp-grid > .tracker{ padding: 20px 17px; align-self: stretch; height: auto; }.rsvp-form-heading h3{ font-size: 23px; }.rsvp-grid label{ font-size: 11px; }.rsvp-grid input,.rsvp-grid select{ font-size: 13px; padding: 9px; }.rsvp-grid .form-row{ grid-template-columns: minmax(0px, 1fr) minmax(0px, 0.8fr); gap: 10px; }.rsvp-grid .form-row label{ font-size: 10px; }.rsvp-grid legend{ font-size: 19px; }.rsvp-grid .kind-options span{ font-size: 12px; }.tracker-top{ display: block; position: relative; padding-bottom: 77px; }.tracker-top h3{ font-size: 24px; }.tracker-icon.mithai{ position: absolute; right: 0px; bottom: 0px; width: 85px; }.hindi-rsvp{ font-size: 12px; }.hindi-rsvp small{ font-size: 9px; }.tracker-stats{ gap: 14px; font-size: 9px; }.tracker-stats b{ font-size: 23px; }.contribution h5{ font-size: 13px; }.contribution p{ font-size: 10px; }}
@media (max-width: 650px) {.hero-copy .intro{ font-size: 13px; margin: 22px 0px; }.reserve-spot{ font-size: 11px; gap: 8px; }.reserve-diya{ font-size: 20px; }.dress.section{ padding-top: 25px; }.dress .section-head h2{ font-size: 42px; }.outfit-guide h3,.outfit-guide h4{ font-size: 21px; }.outfit-guide li{ font-size: 12px; line-height: 1.7; }.fit-check-intro{ font-size: 12px !important; margin-bottom: 16px !important; }.user-moodboard:not(.is-grid) .outfit-image-window{ --moodboard-height: 350px; }.user-moodboard:not(.is-grid) .user-outfit{ flex-basis: 82%; }.hindi-rsvp{ font-size: 14px; }.tracker-top{ display: flex; padding-bottom: 0px; }.tracker-icon.mithai{ position: static; width: 95px; }dialog{ height: 440px; max-height: calc(100dvh - 24px); padding: 65px 48px 57px; aspect-ratio: auto; }dialog h2{ font-size: 21px; margin-bottom: 9px; }dialog h2 em{ font-size: 22px; }dialog p{ font-size: 10px; line-height: 1.5; margin: 4px 0px; }dialog .friends-line{ font-size: 11px; line-height: 1.4; margin-top: 7px; }dialog .button{ font-size: 9px; padding: 9px 12px; margin-top: 9px; }dialog .close-dialog{ top: 57px; right: 60px; }.diya-pop > span{ font-size: 80px; }}
@media (prefers-reduced-motion: reduce) {.diya-pop > span{ animation: auto ease 0s 1 normal none running none; }}
.outfit-guide{ margin-top: 16px; margin-bottom: 18px; }
.fit-check-intro{ font-size: 12px !important; line-height: 1.55 !important; margin-bottom: 12px !important; }
.outfit-guide h3,.outfit-guide h4{ font-size: 21px; line-height: 1.2; margin-bottom: 9px; }
.outfit-guide h4{ margin-top: 14px; }
.outfit-guide ul{ margin-bottom: 12px; }
.outfit-guide li{ line-height: 1.55; margin-bottom: 3px; }
.user-moodboard:not(.is-grid) .outfit-image-window{ --moodboard-height: 285px; }
.user-moodboard:not(.is-grid) .user-outfit{ flex-basis: 210px; }
@media (max-width: 650px) {.outfit-guide h3,.outfit-guide h4{ font-size: 20px; }.outfit-guide li{ line-height: 1.65; }.user-moodboard:not(.is-grid) .outfit-image-window{ --moodboard-height: 325px; }.user-moodboard:not(.is-grid) .user-outfit{ flex-basis: 82%; }}










.pin-sweets-image{ display: block; width: 100%; height: auto; max-width: 100%; border: 0px; border-radius: 0px; }

@media (min-width: 641px) and (max-width: 980px) {.tracker-top{ padding-bottom: 99px; }}
@media (max-width: 640px) {.tracker-top{ padding-bottom: 0px; }}








.potluck-list-intro{ font-family: "DM Sans", Arial, sans-serif; font-size: 12px; line-height: 1.65; margin: 10px 0px 0px; color: rgb(121, 82, 44); max-width: 300px; }
.tracker-top h3{ margin: 0px; }
.rsvp .section-head:has(h2:only-child){ display: block; }
@media (min-width: 641px) and (max-width: 980px) {.potluck-list-intro{ font-size: 11px; line-height: 1.6; }}
@media (max-width: 640px) {.potluck-list-intro{ font-size: 11px; }}
.mobile-list-toggle{ display: none; }






.rsvp-grid > form,.rsvp-grid > .tracker{ padding: 21px; }
.rsvp-grid label{ margin-top: 10px; }
.rsvp-form-heading{ min-height: 38px; margin-bottom: 9px; }
.rsvp-grid fieldset{ margin-top: 16px; }
.rsvp-grid .form-intro{ margin-bottom: 11px; }
.rsvp-grid .submit{ margin-top: 16px; }
.tracker-stats{ margin: 15px 0px; padding: 10px 0px; }

.hindi-rsvp{ font-family: Arial, sans-serif; }
.hindi-rsvp small{ font-family: "DM Sans", Arial, sans-serif; }
@media (max-width: 640px) {header{ padding-top: 55px; padding-bottom: 8px; }.festive-lights{ height: 48px; }nav a{ min-height: 39px; }.section,.rsvp.section{ padding: 19px 20px 21px; }.rsvp .section-head h2{ font-size: 32px; line-height: 1.05; }.rsvp .section-head h2 em{ font-size: 1em; }.mobile-list-toggle{ display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 12px; background: transparent; color: rgb(255, 209, 163); border: 1px solid rgba(232, 199, 139, 0.44); border-radius: 8px; padding: 10px 12px; min-height: 42px; font-family: "DM Sans", Arial, sans-serif; font-size: 12px; text-align: left; margin: 16px 0px 0px; }.rsvp-grid{ grid-template-columns: minmax(0px, 1fr); gap: 0px; margin-top: 13px; }.rsvp-grid > form,.rsvp-grid > .tracker{ padding: 16px; box-shadow: none; border-radius: 8px; height: auto; min-height: 0px; align-self: start; }.rsvp-grid > .tracker{ display: none; }.show-potluck-list .rsvp-grid > #rsvp-form{ display: none; }.show-potluck-list .rsvp-grid > .tracker{ display: block; }.rsvp-form-heading{ min-height: 33px; margin-bottom: 7px; }.rsvp-form-heading h3{ font-size: 24px; }.hindi-rsvp{ font-size: 16px; line-height: 1.2; }.hindi-rsvp small{ font-size: 9px; margin-top: 4px; }.rsvp-grid label{ margin: 9px 0px 5px; font-size: 11px; }.rsvp-grid input,.rsvp-grid select{ min-height: 44px; font-size: 16px; padding: 8px 10px; }.rsvp-grid .form-row{ grid-template-columns: minmax(0px, 1.25fr) minmax(0px, 1fr); gap: 9px; }.rsvp-grid .form-row label{ font-size: 11px; }.rsvp-grid fieldset{ margin-top: 14px; }.rsvp-grid legend{ font-size: 18px; line-height: 1.3; padding-bottom: 7px; }.rsvp-grid .form-intro{ font-size: 11px; line-height: 1.5; margin-bottom: 10px; }.rsvp-grid .kind-options{ gap: 8px; }.rsvp-grid .kind-options span{ padding: 9px; min-height: 42px; font-size: 12px; }.rsvp-grid .kind-options input{ padding: 0px; min-height: 0px; }.rsvp-grid .submit{ font-size: 12px; min-height: 44px; margin-top: 14px; padding: 10px 15px; }.rsvp-grid input::placeholder{ font-size: 12px; }.tracker-top h3{ font-size: 23px; }.potluck-list-intro{ font-size: 11px; line-height: 1.5; margin-top: 7px; }.tracker-stats{ margin: 12px 0px; padding: 10px 0px; }.contribution{ padding: 8px 0px; }.dress.section{ padding-top: 19px; padding-bottom: 21px; }.dress .section-head h2{ font-size: 36px; }.outfit-guide{ margin-top: 13px; margin-bottom: 18px; }.fit-check-intro{ font-size: 12px !important; line-height: 1.5 !important; margin-bottom: 12px !important; }.outfit-guide h3{ font-size: 19px; line-height: 1.3; margin-bottom: 9px; }.outfit-guide li{ font-size: 12px; line-height: 1.6; margin-bottom: 3px; }.outfit-guide ul{ margin-bottom: 10px; }.opening{ padding: 23px 22px 20px; gap: 12px; }.hero-copy .intro{ font-size: 13px; line-height: 1.75; margin: 19px 0px; }.hero-art{ max-width: 275px !important; aspect-ratio: 1.25 / 1; }.event-details{ margin-top: 25px; padding-top: 13px; }.event-details b{ font-size: 11px; }.diya-hint{ font-size: 6px; }}
@media (max-width: 360px) {.rsvp.section,.section{ padding-inline: 17px; }.rsvp-grid > form,.rsvp-grid > .tracker{ padding: 14px; }.rsvp-grid .form-row{ grid-template-columns: minmax(0px, 1.2fr) minmax(0px, 1fr); }.rsvp-grid .form-row label{ font-size: 10px; }.rsvp-form-heading h3{ font-size: 22px; }.hindi-rsvp{ font-size: 14px; }.mobile-list-toggle{ font-size: 11px; }.rsvp-grid .form-intro{ font-size: 10px; }}
h1 .title-line{ align-items: baseline; gap: 12px; }
h1 .title-line small{ font-family: "Playfair Display", Georgia, serif; font-style: italic; font-size: 15px; letter-spacing: 0px; line-height: 1; white-space: nowrap; }
h1 .title-line > span{ display: block; }
.event-details{ max-width: 480px; gap: 22px; }
.event-details span{ font-size: 12px; letter-spacing: 1.1px; }
.event-details b{ font-size: 16px; line-height: 1.55; }
.outfit-notes.outfit-guide{ display: block; max-width: 900px; margin: 16px 0px 15px; }
.fit-guide-columns{ display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 28px; }
.fit-guide-columns article{ min-width: 0px; }
.fit-guide-columns h3{ font-size: 21px; }
.fit-guide-columns ul{ padding-left: 17px; margin: 0px; }
.fit-guide-columns li{ font-size: 12px; line-height: 1.55; }
.fit-guide-columns li b{ display: inline; font-size: inherit; }



dialog{ width: 520px; height: 530px; padding: 73px 72px; max-height: calc(100dvh - 22px); }
.diwali-dialog-content{ max-height: 100%; overflow: auto; overscroll-behavior: contain; padding: 3px 2px; scrollbar-width: thin; }
dialog h2{ font-size: 25px; line-height: 1.2; margin: 0px 0px 12px; }
dialog h2 em{ display: inline; font-size: 26px; margin: 0px; }
dialog h2 small{ display: block; font-family: "DM Sans", Arial, sans-serif; font-size: 11px; margin-top: 5px; }
dialog p{ font-size: 12px; line-height: 1.6; margin: 9px 0px; }
dialog .friends-line{ font-size: 13px; line-height: 1.5; }
dialog .close-dialog{ top: 61px; right: 83px; }
@media (max-width: 640px) {h1{ font-size: clamp(48px, 13.7vw, 78px); }h1 .title-line{ gap: 8px; }h1 .title-line small{ font-size: 12px; }.event-details{ gap: 16px; max-width: 100%; }.event-details span{ font-size: 11px; }.event-details b{ font-size: 14px; }.fit-guide-columns{ gap: 16px; }.fit-guide-columns h3{ font-size: 18px; line-height: 1.3; }.fit-guide-columns li{ font-size: 11px; line-height: 1.55; margin-bottom: 5px; }.fit-guide-columns ul{ padding-left: 14px; }dialog{ width: calc(-22px + 100vw); height: 570px; padding: 66px 40px 63px; aspect-ratio: auto; }dialog h2{ font-size: 21px; }dialog h2 em{ font-size: 22px; }dialog p{ font-size: 12px; line-height: 1.55; }dialog .friends-line{ font-size: 12px; line-height: 1.5; }dialog .close-dialog{ top: 51px; right: 47px; }.diwali-dialog-content{ width: 100%; }}
@media (max-width: 360px) {h1 .title-line small{ font-size: 10px; }.event-details b{ font-size: 13px; }.fit-guide-columns{ gap: 12px; }.fit-guide-columns h3{ font-size: 16px; }.fit-guide-columns li{ font-size: 11px; }dialog{ padding-inline: 33px; height: 610px; }dialog p{ font-size: 12px; }}
dialog{ padding: 74px 81px; }
.diwali-dialog-content{ flex-shrink: 1; }
dialog .close-dialog{ top: 56px; right: 82px; z-index: 2; min-width: 36px; min-height: 36px; line-height: 1; }
@media (max-width: 640px) {dialog{ height: 600px; padding: 64px 57px 60px; }dialog .close-dialog{ top: 43px; right: 55px; }}
@media (max-width: 360px) {dialog{ height: 660px; padding: 64px 46px 60px; }dialog .close-dialog{ right: 45px; }}
dialog .close-dialog{ top: 35px; left: calc(50% - 18px); right: auto; }



@keyframes potluck-glow { 
  0%, 100% { box-shadow: rgb(112, 46, 13) 0px 3px 0px, rgba(255, 227, 160, 0.5) 0px 0px 0px 1px, rgba(255, 192, 92, 0.125) 0px 0px 9px; }
  50% { box-shadow: rgb(112, 46, 13) 0px 3px 0px, rgb(255, 227, 160) 0px 0px 0px 1px, rgba(255, 192, 92, 0.396) 0px 0px 18px; }
}
@media (max-width: 640px) {.mobile-list-toggle{ position: relative; isolation: isolate; overflow: hidden; gap: 9px; background: linear-gradient(115deg, rgb(255, 178, 81), rgb(255, 204, 121) 55%, rgb(255, 169, 75)); color: rgb(81, 43, 19); font-weight: 700; border: 1px solid rgb(255, 229, 172); min-height: 48px; padding: 10px 12px; box-shadow: rgb(112, 46, 13) 0px 3px 0px, rgba(255, 192, 92, 0.22) 0px 0px 16px; animation: 3.4s ease-in-out 0s 3 normal none running potluck-glow; }.mobile-list-label{ flex: 1 1 0%; }.mobile-list-toggle:hover{ background: rgb(255, 218, 141); }.mobile-list-toggle:active{ transform: translateY(1px); }.tracker-top h3{ font-size: 22px; }}
@media (prefers-reduced-motion: reduce) {.mobile-list-toggle{ animation: auto ease 0s 1 normal none running none; }}
.pinterest-inspiration{ display: flex; align-items: flex-start; gap: 18px; margin: 25px 0px 4px; padding: 22px 0px; border-top: 1px solid rgba(255, 131, 187, 0.333); max-width: 760px; }

.pinterest-inspiration h3{ color: rgb(255, 71, 165); font-size: 27px; margin: 0px 0px 8px; }
.pinterest-inspiration p{ font-size: 13px; line-height: 1.65; color: rgb(255, 175, 212); margin: 0px 0px 16px; max-width: 460px; }

@media (max-width: 640px) {.pinterest-inspiration{ gap: 12px; margin-top: 20px; padding: 18px 0px; }.pinterest-inspiration h3{ font-size: 23px; }.pinterest-inspiration p{ font-size: 12px; margin-bottom: 14px; }}
.pinterest-inspiration{ display: block; }
.pinterest-mood-link{ display: inline-flex; align-items: center; gap: 10px; color: rgb(255, 175, 212); font-size: 13px; line-height: 1.6; min-height: 44px; max-width: 100%; padding: 7px 0px; }
.pinterest-mood-link img{ display: block; width: 24px; height: 24px; flex: 0 0 24px; }
.pinterest-mood-link span:first-of-type{ text-decoration: underline rgba(255, 71, 165, 0.5); text-underline-offset: 4px; }
.pinterest-mood-link:hover{ color: rgb(255, 110, 180); }
.pinterest-mood-link > span:last-child{ flex-shrink: 0; color: rgb(255, 71, 165); }
.rsvp-grid select{ appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%238d4d2c' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 12px 8px; padding-right: 36px; margin-bottom: 0px; }
.rsvp-form-heading,.tracker-top{ align-items: flex-start; }
.rsvp-form-heading{ padding-top: 0px; min-height: 38px; }
.rsvp-form-heading h3,.tracker-top h3{ font-size: 25px; line-height: 1.2; margin: 0px; }
.tracker-top{ position: relative; padding: 0px; min-height: 38px; display: block; }
.tracker-top > div{ padding-right: 82px; }

.rsvp-grid > form,.rsvp-grid > .tracker{ padding-top: 21px; }
.rsvp.section .section-head{ align-items: center; justify-content: space-between; gap: 20px; display: flex !important; }



@media (max-width: 640px) {.pinterest-mood-link{ font-size: 12px; gap: 8px; }.pinterest-inspiration{ padding: 16px 0px; margin-top: 18px; }.rsvp-grid > form,.rsvp-grid > .tracker{ padding-top: 16px; }.rsvp-form-heading h3,.tracker-top h3{ font-size: 24px; line-height: 1.2; }.rsvp-form-heading{ min-height: 34px; }.tracker-top > div{ padding-right: 74px; }.rsvp .section-head{ gap: 12px; }.rsvp-grid select{ background-position: right 13px center; padding-right: 33px; }}
@media (max-width: 360px) {.rsvp-form-heading h3,.tracker-top h3{ font-size: 22px; }.rsvp-grid > form,.rsvp-grid > .tracker{ padding-top: 14px; }.tracker-top > div{ padding-right: 64px; }}

.tracker-top{ min-height: 112px; }











#plus-one-field{ margin-top: 4px; }
.contribution-person{ font-weight: 700; color: rgb(113, 53, 30); }
.contribution p{ line-height: 1.6; overflow-wrap: anywhere; }
@media (max-width: 640px) {.rsvp-grid .form-row{ grid-template-columns: minmax(0px, 1.15fr) minmax(0px, 1fr); }.rsvp-grid .form-row label{ font-size: 10px; }.rsvp-grid #size{ padding-left: 9px; }.contribution-person{ font-size: 12px; }}
@media (max-width: 640px) {.mobile-list-toggle{ justify-content: center; text-align: center; background: rgb(255, 128, 188); color: rgb(23, 54, 44); border: 1px solid rgb(255, 192, 223); min-height: 49px; font-size: 13px; font-weight: 700; box-shadow: rgb(158, 57, 104) 0px 3px 0px, rgba(255, 128, 188, 0.208) 0px 0px 14px; animation: 3s ease-in-out 0s infinite normal none running potluck-invitation; overflow: visible; }.mobile-list-label{ flex: 0 0 auto; }.mobile-list-toggle:hover{ background: rgb(255, 172, 210); }.mobile-list-toggle:active{ transform: translateY(1px); }.show-potluck-list .mobile-list-toggle{ animation: auto ease 0s 1 normal none running none; }.mobile-list-toggle:focus-visible{ outline: rgb(255, 244, 213) solid 2px; outline-offset: 4px; }}
@keyframes potluck-invitation { 
  0%, 100% { transform: translateY(0px) scale(1); box-shadow: rgb(158, 57, 104) 0px 3px 0px, rgba(255, 128, 188, 0.125) 0px 0px 10px; }
  50% { transform: translateY(-2px) scale(1.012); box-shadow: rgb(158, 57, 104) 0px 5px 0px, rgba(255, 128, 188, 0.44) 0px 0px 24px; }
}
@media (prefers-reduced-motion: reduce) {.mobile-list-toggle{ animation: auto ease 0s 1 normal none running none; }}






.rsvp.section{ position: relative; isolation: isolate; }
.rsvp.section::before{ content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none;  opacity: 0.12; }



.sparkler-tray{ display: block; position: relative; width: 100%; }
.sparkler-tray > svg{ display: block; width: 100%; height: auto; overflow: visible; }



.sparkler-flare{ transform-origin: 158px 34px; opacity: 0.55; }
.is-lit .sparkler-flare{ opacity: 1; filter: drop-shadow(rgb(255, 214, 95) 0px 0px 6px); animation: 0.45s ease-in-out 0s infinite alternate none running little-flare; }
.tiny-diya-flame{ transform-box: fill-box; transform-origin: center bottom; animation: 2.5s ease-in-out 0s infinite normal none running little-flame; }
.sparkler-burst{ position: absolute; left: 54.48%; top: 25.18%; width: 0px; height: 0px; pointer-events: none; }
.sparkler-burst i{ position: absolute; opacity: 0; width: 3px; height: 3px; border-radius: 50%; background: rgb(255, 216, 122); }
.sparkler-burst i:nth-child(3n){ background: rgb(243, 160, 192); }
.sparkler-burst i:nth-child(3n+1){ background: rgb(166, 227, 189); }
.is-lit .sparkler-burst i{ animation: little-spark 1.1s ease-out var(--spark-delay) 3; transform: rotate(var(--spark-angle)) translateY(-3px); }

@keyframes little-spark { 
  0% { opacity: 0; transform: rotate(var(--spark-angle)) translateY(-3px) scale(.6); }
  15% { opacity: 1; }
  100% { opacity: 0; transform: rotate(var(--spark-angle)) translateY(-53px) scale(.2); }
}
@keyframes little-flare { 
  100% { transform: scale(1.13); filter: drop-shadow(rgb(255, 214, 95) 0px 0px 10px); }
}
@keyframes little-flame { 
  0%, 100% { transform: rotate(-5deg) scaleY(0.94); }
  50% { transform: rotate(5deg) scaleY(1.06); }
}
@media (max-width: 640px) {.rsvp.section::before{ background-size: 245px 210px; opacity: 0.13; }}

@media (prefers-reduced-motion: reduce) {.is-lit .sparkler-flare,.tiny-diya-flame{ animation: auto ease 0s 1 normal none running none; }.is-lit .sparkler-burst i{ animation: auto ease 0s 1 normal none running none; }.is-lit .sparkler-flare{ opacity: 1; filter: drop-shadow(rgb(255, 214, 95) 0px 0px 6px); }}
.dress-sparkler{ width: 275px; max-width: 85%; margin: 24px auto 3px; position: relative; pointer-events: none; }
.dress-sparkler .sparkler-tray > svg{ overflow: visible; }
.dress-sparkler .sparkler-flare{ stroke: rgb(255, 227, 243); }
.dress-sparkler .sparkler-burst i{ animation: little-spark 2.2s ease-out var(--spark-delay) infinite; background: rgb(255, 214, 237); }
.dress-sparkler .sparkler-burst i:nth-child(3n){ background: rgb(247, 182, 242); }
.dress-sparkler .sparkler-burst i:nth-child(3n+1){ background: rgb(255, 240, 189); }
.rsvp.section::before{ display: none; background: none; }

.rsvp.section{ overflow: clip; }
.rsvp .section-head{ position: relative; }
@media (max-width: 640px) {.dress-sparkler{ width: 250px; margin-top: 24px; margin-bottom: 5px; }}
@media (prefers-reduced-motion: reduce) {.dress-sparkler .sparkler-burst i{ animation: auto ease 0s 1 normal none running none; }.dress-sparkler .sparkler-flare{ animation: auto ease 0s 1 normal none running none; opacity: 1; }}





.rsvp-grid .submit{ justify-content: center; background: transparent; color: rgb(182, 43, 36); border: 2px solid rgb(197, 55, 43); border-radius: 28px; box-shadow: none; text-align: center; font-weight: 700; letter-spacing: 0.2px; }
.rsvp-grid .submit:hover{ background: rgb(255, 232, 205); color: rgb(158, 36, 30); }
.rsvp-grid .submit:focus-visible{ outline: rgb(197, 55, 43) solid 3px; outline-offset: 4px; }





.rsvp-grid{ position: relative; }
.rsvp-grid > form,.rsvp-grid > .tracker{ position: relative; border: 2px solid rgb(237, 183, 76); box-shadow: rgba(247, 149, 179, 0.23) 0px 0px 0px 3px, rgba(255, 187, 63, 0.19) 0px 0px 18px; }
.rsvp-grid > form::after,.rsvp-grid > .tracker::after{ content: ""; position: absolute; inset: -7px; border-radius: 14px; pointer-events: none; border: 1px dashed rgb(255, 199, 65); animation: 3s ease-in-out 0s infinite alternate none running festive-border-glow; }
@keyframes festive-border-glow { 
  0% { border-color: rgb(255, 206, 77); filter: drop-shadow(rgb(255, 199, 65) 0px 0px 1px); }
  100% { border-color: rgb(255, 110, 188); filter: drop-shadow(rgb(255, 110, 188) 0px 0px 4px); }
}
.rsvp .contribution{ padding: 15px 14px; margin: 10px 0px; background: rgb(255, 247, 222); border-width: 1px 1px 1px 4px; border-style: solid; border-color: rgba(194, 139, 64, 0.333) rgba(194, 139, 64, 0.333) rgba(194, 139, 64, 0.333) rgb(188, 59, 91); border-image: none; border-radius: 10px; box-shadow: rgba(184, 117, 38, 0.125) 0px 2px 0px; }
.contribution-heading{ display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.rsvp .contribution .contribution-person{ font-family: "DM Sans", Arial, sans-serif; font-weight: 800; font-size: 20px; line-height: 1.3; color: rgb(104, 41, 45); margin: 0px; flex: 1 1 0%; min-width: 0px; }
.contribution-category{ flex: 0 0 auto; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.5; padding: 3px 7px; border-radius: 20px; background: rgb(251, 210, 223); color: rgb(141, 36, 66); }
.rsvp .contribution .contribution-item{ font-size: 15px; font-weight: 500; color: rgb(120, 75, 50); line-height: 1.45; margin: 7px 0px 10px; }
.rsvp .contribution .contribution-quantity{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; font-size: 12px; color: rgb(127, 91, 65); line-height: 1.4; padding-top: 8px; border-top: 1px solid rgba(213, 186, 129, 0.3); }
.contribution-quantity strong{ font-size: 13px; color: rgb(99, 55, 31); font-weight: 700; }
@media (max-width: 640px) {.rsvp .contribution .contribution-person{ font-size: 19px; }.rsvp .contribution{ padding: 13px 12px; }.rsvp .contribution .contribution-item{ font-size: 14px; }.rsvp-grid > form::after,.rsvp-grid > .tracker::after{ inset: -5px; }}
@media (prefers-reduced-motion: reduce) {.rsvp-grid > form::after,.rsvp-grid > .tracker::after{ animation: auto ease 0s 1 normal none running none; }}










.rsvp.section::before{ display: block; inset: 0px; opacity: 0.45; background: radial-gradient(at 12% 10%, rgba(230, 197, 112, 0.094), transparent 35%) 0% 0% / 140% 140%, radial-gradient(at 85% 85%, rgba(115, 219, 181, 0.1), transparent 40%); animation: 16s ease-in-out 0s infinite alternate none running quiet-shimmer; }
@keyframes quiet-shimmer { 
  0% { background-position: 0% 0%; opacity: 0.3; }
  100% { background-position: 100% 100%; opacity: 0.65; }
}
.rsvp-grid{ align-items: start; }
.rsvp-grid > form,.rsvp-grid > .tracker{ height: auto; min-height: 0px; align-self: start; box-shadow: none; border: 1px solid rgb(213, 173, 103); }
.rsvp-grid > form::after,.rsvp-grid > .tracker::after{ display: none; animation: auto ease 0s 1 normal none running none; }
.tracker-top{ min-height: 0px; gap: 12px; align-items: start; }
.tracker-top .tracker-icon{ width: 48px; height: 48px; flex: 0 0 48px; margin: 0px; }
.tracker-top .pin-sweets-image{ width: 48px; height: 48px; object-fit: contain; }
.tracker-stats{ margin: 12px 0px; padding: 8px 0px; gap: 20px; }
.potluck-lineup{ max-height: min(56vh, 480px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgb(181, 121, 66) rgb(251, 225, 154); padding-right: 5px; }
.rsvp .potluck-lineup .contribution{ margin: 0px; padding: 11px 1px; background: none; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgba(167, 118, 62, 0.3); border-image: none; border-radius: 0px; box-shadow: none; }
.rsvp .potluck-lineup .contribution:last-child{ border-bottom: 0px; }
.rsvp .potluck-lineup .contribution-person{ font-size: 16px; line-height: 1.3; font-weight: 800; }
.potluck-lineup .contribution-category{ font-size: 9px; padding: 2px 6px; background: rgb(255, 240, 192); color: rgb(123, 66, 30); }
.rsvp .potluck-lineup .contribution-item{ display: inline; font-size: 13px; line-height: 1.5; margin: 0px; color: rgb(105, 66, 45); }
.rsvp .potluck-lineup .contribution-quantity{ display: inline; font-size: 12px; line-height: 1.5; margin: 0px 0px 0px 8px; padding: 0px; border: 0px; color: rgb(121, 80, 43); }
.potluck-lineup .contribution-quantity > span{ display: none; }
.potluck-lineup .contribution-quantity strong{ font-size: 12px; font-weight: 600; }
.potluck-lineup .contribution-quantity::before{ content: "·"; margin-right: 8px; }
.potluck-lineup .contribution-heading{ margin-bottom: 3px; }
@media (max-width: 640px) {.potluck-lineup{ max-height: 52svh; }.rsvp .potluck-lineup .contribution-person{ font-size: 15px; }.tracker-top{ min-height: 0px; }.rsvp-grid > .tracker{ padding: 16px; }}
@media (prefers-reduced-motion: reduce) {.rsvp.section::before{ animation: auto ease 0s 1 normal none running none; opacity: 0.4; }}
body[data-section="rsvp"],body[data-section="rsvp"] main,.rsvp.section{ background: rgb(3, 41, 31); }
body[data-section="rsvp"]::before,.rsvp.section::before{ display: none; animation: auto ease 0s 1 normal none running none; background: none; }
.rsvp-grid{ align-items: stretch; }
.rsvp-grid > form,.rsvp-grid > .tracker{ align-self: stretch; height: 100%; }
.tracker-top{ position: relative; display: flex; min-height: 106px; align-items: center; gap: 12px; }
.tracker-top > div:first-child{ padding-right: 0px; flex: 1 1 0%; min-width: 0px; }
.tracker-top .sweets-illustration{ position: static; flex: 0 0 108px; width: 108px; height: 108px; mix-blend-mode: multiply; pointer-events: none; }
.tracker-top .sweets-illustration .pin-sweets-image{ width: 108px; height: 108px; object-fit: contain; }
.rsvp-grid .submit{ background: rgb(255, 229, 63); border: 2px solid rgb(210, 156, 31); color: rgb(171, 48, 36); box-shadow: rgb(206, 157, 30) 0px 3px 0px; animation: 2.4s ease-in-out 0s infinite normal none running rsvp-yellow-glow; }
.rsvp-grid .submit:hover{ background: rgb(255, 237, 112); color: rgb(144, 37, 29); }
@keyframes rsvp-yellow-glow { 
  0%, 100% { transform: translateY(0px); box-shadow: rgb(206, 157, 30) 0px 3px 0px, rgba(255, 229, 63, 0) 0px 0px 0px 0px; }
  50% { transform: translateY(-2px); box-shadow: rgb(206, 157, 30) 0px 5px 0px, rgba(255, 229, 63, 0.333) 0px 0px 13px 2px; }
}
@media (max-width: 640px) {.rsvp-grid > form,.rsvp-grid > .tracker{ height: auto; }.tracker-top{ min-height: 96px; }.tracker-top .sweets-illustration,.tracker-top .sweets-illustration .pin-sweets-image{ width: 94px; height: 94px; }.tracker-top .sweets-illustration{ flex-basis: 94px; }}
@media (prefers-reduced-motion: reduce) {.rsvp-grid .submit{ animation: auto ease 0s 1 normal none running none; }}
.tracker-top > .sweets-illustration{ padding: 0px; }




.rsvp-grid .submit{ background: rgb(244, 34, 34); border: 2px solid rgb(197, 24, 24); color: rgb(255, 246, 220); box-shadow: rgb(165, 20, 20) 0px 3px 0px; animation: 2.8s ease-in-out 0s infinite normal none running rsvp-red-glow; font-size: 14px; font-weight: 800; }
.rsvp-grid .submit:hover{ background: rgb(255, 53, 53); color: rgb(255, 246, 220); }
@keyframes rsvp-red-glow { 
  0%, 100% { transform: translateY(0px); box-shadow: rgb(165, 20, 20) 0px 3px 0px, rgba(244, 34, 34, 0) 0px 0px 0px; }
  50% { transform: translateY(-1px); box-shadow: rgb(165, 20, 20) 0px 4px 0px, rgba(244, 34, 34, 0.267) 0px 0px 12px; }
}
.rsvp .potluck-lineup .contribution{ padding: 8px 1px; }
.rsvp .potluck-lineup .contribution-person{ font-size: 14px; line-height: 1.25; }
.rsvp .potluck-lineup .contribution-item{ font-size: 12px; line-height: 1.4; }
.rsvp .potluck-lineup .contribution-quantity,.potluck-lineup .contribution-quantity strong{ font-size: 11px; }
.potluck-lineup .contribution-category{ font-size: 8px; }
.potluck-lineup{ overflow-y: auto; touch-action: pan-y; scrollbar-width: auto; scrollbar-gutter: stable; overscroll-behavior-y: auto; }
.lineup-scroll-hint{ font-size: 10px; color: rgb(125, 74, 41); text-align: center; margin: 8px 0px 0px; }
@media (max-width: 640px) {.rsvp .potluck-lineup .contribution-person{ font-size: 14px; }}
@media (prefers-reduced-motion: reduce) {.rsvp-grid .submit{ animation: auto ease 0s 1 normal none running none; }}
.hanging-marigolds{ display: none; position: absolute; inset: 0px; overflow: hidden; pointer-events: none; z-index: 0; }
body[data-section="rsvp"] .hanging-marigolds{ display: block; }
body[data-section="rsvp"] main,body[data-section="rsvp"] .rsvp.section{ background: transparent; }
.swaying-garland{ position: absolute; top: 35px; left: 4%; width: 13px; height: calc(100% - 60px); opacity: 0.2; transform-origin: 50% 0px; animation: garland-wind var(--sway-speed) ease-in-out var(--sway-delay) infinite alternate; }
.swaying-garland svg{ display: block; width: 100%; height: 100%; }
@keyframes garland-wind { 
  0% { transform: rotate(-1.1deg); }
  100% { transform: rotate(1.1deg); }
}
.rsvp .section-head,.rsvp-grid{ position: relative; z-index: 1; }
.page-frame{ position: fixed; inset: 12px; z-index: 5; border-radius: 18px; overflow: visible; }
.page-frame::before{ inset: 6px; border-radius: 13px; }
body{ padding-bottom: 32px; }
@media (max-width: 640px) {.swaying-garland{ width: 6px; opacity: 0.15; }.page-frame{ inset: 8px 8px max(8px,env(safe-area-inset-bottom)); border-radius: 12px; }.page-frame::before{ inset: 4px; border-radius: 8px; }}
@media (prefers-reduced-motion: reduce) {.swaying-garland{ animation: auto ease 0s 1 normal none running none; }}
body{ display: flow-root; position: relative; min-height: 100svh; }
.page-frame{ position: absolute; inset: 12px; }
@media (max-width: 640px) {.page-frame{ inset: 8px 8px max(8px,env(safe-area-inset-bottom)); }}
.swaying-garland{ background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2229%22%20viewBox%3D%220%200%2024%2029%22%3E%3Cpath%20d%3D%22M12%200v29%22%20stroke%3D%22%23bf963c%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%228%22%20rx%3D%224%22%20ry%3D%227%22%20transform%3D%22rotate%280%2012%2013%29%22%20fill%3D%22%23ffd565%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%228%22%20rx%3D%224%22%20ry%3D%227%22%20transform%3D%22rotate%2845%2012%2013%29%22%20fill%3D%22%23ffb12e%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%228%22%20rx%3D%224%22%20ry%3D%227%22%20transform%3D%22rotate%2890%2012%2013%29%22%20fill%3D%22%23ffd565%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%228%22%20rx%3D%224%22%20ry%3D%227%22%20transform%3D%22rotate%28135%2012%2013%29%22%20fill%3D%22%23ffb12e%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%228%22%20rx%3D%224%22%20ry%3D%227%22%20transform%3D%22rotate%28180%2012%2013%29%22%20fill%3D%22%23ffd565%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%228%22%20rx%3D%224%22%20ry%3D%227%22%20transform%3D%22rotate%28225%2012%2013%29%22%20fill%3D%22%23ffb12e%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%228%22%20rx%3D%224%22%20ry%3D%227%22%20transform%3D%22rotate%28270%2012%2013%29%22%20fill%3D%22%23ffd565%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%228%22%20rx%3D%224%22%20ry%3D%227%22%20transform%3D%22rotate%28315%2012%2013%29%22%20fill%3D%22%23ffb12e%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2213%22%20r%3D%224%22%20fill%3D%22%23d87924%22%2F%3E%3C%2Fsvg%3E"); background-repeat: repeat-y; background-size: 100% auto; }
.swaying-garland svg{ display: none; }
.rsvp .potluck-lineup .contribution-person{ color: rgb(181, 31, 36); font-weight: 800; }
.dress.section,.rsvp.section{ max-width: 1320px; padding: 30px 10% 55px; }
.rsvp-grid{ max-width: none; }
.swaying-garland{ width: 18px; opacity: 0.38; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2288%22%20viewBox%3D%220%200%2036%2088%22%3E%3Cpath%20d%3D%22M18%200v88%22%20stroke%3D%22%23cfad4d%22%20stroke-width%3D%221.3%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%227%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%280%2018%2014%29%22%20fill%3D%22%23ffd84b%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%227%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%2845%2018%2014%29%22%20fill%3D%22%23ff9c24%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%227%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%2890%2018%2014%29%22%20fill%3D%22%23ffd84b%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%227%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%28135%2018%2014%29%22%20fill%3D%22%23ff9c24%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%227%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%28180%2018%2014%29%22%20fill%3D%22%23ffd84b%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%227%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%28225%2018%2014%29%22%20fill%3D%22%23ff9c24%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%227%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%28270%2018%2014%29%22%20fill%3D%22%23ffd84b%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%227%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%28315%2018%2014%29%22%20fill%3D%22%23ff9c24%22%2F%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2214%22%20r%3D%224.5%22%20fill%3D%22%23e86e1b%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%2235%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%280%2018%2042%29%22%20fill%3D%22%23ffd84b%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%2235%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%2845%2018%2042%29%22%20fill%3D%22%23ff9c24%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%2235%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%2890%2018%2042%29%22%20fill%3D%22%23ffd84b%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%2235%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%28135%2018%2042%29%22%20fill%3D%22%23ff9c24%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%2235%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%28180%2018%2042%29%22%20fill%3D%22%23ffd84b%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%2235%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%28225%2018%2042%29%22%20fill%3D%22%23ff9c24%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%2235%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%28270%2018%2042%29%22%20fill%3D%22%23ffd84b%22%2F%3E%3Cellipse%20cx%3D%2218%22%20cy%3D%2235%22%20rx%3D%224.5%22%20ry%3D%228%22%20transform%3D%22rotate%28315%2018%2042%29%22%20fill%3D%22%23ff9c24%22%2F%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2242%22%20r%3D%224.5%22%20fill%3D%22%23e86e1b%22%2F%3E%3Cpath%20d%3D%22M18%2058Q2%2060%204%2081Q20%2077%2018%2058Z%22%20fill%3D%22%2375bd54%22%2F%3E%3Cpath%20d%3D%22M19%2063Q34%2065%2031%2085Q17%2080%2019%2063Z%22%20fill%3D%22%23a1d35d%22%2F%3E%3Cpath%20d%3D%22M18%2060%205%2079M20%2065%2030%2083%22%20fill%3D%22none%22%20stroke%3D%22%23d1e79c%22%20stroke-width%3D%22.8%22%2F%3E%3C%2Fsvg%3E"); }
@media (max-width: 1000px) and (min-width: 641px) {.dress.section,.rsvp.section{ padding-inline: 8%; }}
@media (max-width: 640px) {.dress.section,.rsvp.section{ padding: 23px 22px 20px; }.swaying-garland{ width: 10px; opacity: 0.3; }}
.swaying-garland{ opacity: 0.58; }
@media (max-width: 640px) {.swaying-garland{ opacity: 0.48; }}
@media (max-width: 640px) {html{ text-size-adjust: 100%; scroll-padding-block: 16px; }header{ padding-top: 53px; padding-bottom: 6px; }nav{ gap: 6px; width: 100%; justify-content: center; }nav a{ min-height: 44px; display: flex; align-items: center; justify-content: center; font-size: 10px; padding-inline: 10px; flex: 1 1 0%; }.rsvp .section-head h2{ display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; font-size: 28px; line-height: 1.12; }.rsvp .section-head h2 em{ font-size: 25px; }.mobile-list-toggle{ margin-top: 14px; min-height: 44px; }.rsvp-grid label,.rsvp-grid .form-row label{ font-size: 12px; line-height: 1.4; }.rsvp-grid input,.rsvp-grid select{ font-size: 16px; min-height: 44px; scroll-margin-block: 24px; }.rsvp-grid .form-row{ grid-template-columns: 1fr 1fr; gap: 10px; }.rsvp-grid select{ padding-left: 10px; padding-right: 29px; background-position: right 10px center; }.rsvp-grid .kind-options span{ min-height: 44px; }.potluck-lineup{ max-height: 52svh; }.rsvp-grid .submit{ min-height: 48px; }button,a,input,select{ -webkit-tap-highlight-color: rgba(255, 203, 105, 0.314); }}
@media (max-width: 350px) {nav a{ padding-inline: 7px; font-size: 9px; }.rsvp-grid .form-row label{ font-size: 11px; }.rsvp .section-head h2{ font-size: 25px; }.rsvp .section-head h2 em{ font-size: 22px; }}
.rsvp .section-head{ isolation: isolate; }
.rsvp .section-head::before{ display: none; }
.rsvp .section-head h2{ color: rgb(255, 229, 160); text-shadow: rgb(3, 41, 31) 0px 1px 2px; }
.rsvp .section-head h2 em{ color: rgb(255, 211, 124); }
.form-row.solo-rsvp-row{ grid-template-columns: 1fr; }
.maybe-badge{ display: inline-flex; align-items: center; white-space: nowrap; font-size: 11px; font-weight: 700; line-height: 1.4; color: rgb(112, 70, 0); background: rgb(255, 240, 161); border: 1px solid rgb(220, 170, 50); border-radius: 12px; padding: 2px 7px; }
.contribution-heading .maybe-badge{ margin-left: 4px; }
.pending-badge{ display: inline-block; margin-left: 7px; padding: 2px 6px; border: 1px dashed rgb(153, 115, 58); border-radius: 10px; font-size: 10px; font-weight: 600; color: rgb(118, 87, 44); vertical-align: middle; }
.rsvp .playing-cards-note{ display: block; font-family: "DM Sans", Arial, sans-serif; font-size: 13px; font-weight: 500; letter-spacing: 0px; line-height: 1.5; max-width: 360px; margin-top: 10px; }
@media (max-width: 640px) {.rsvp .playing-cards-note{ font-size: 11px; max-width: 285px; margin-top: 8px; }}

#diwali-dialog{width:580px;padding-inline:78px}@media(max-width:640px){#diwali-dialog{width:calc(100vw - 18px);max-width:calc(100vw - 18px);padding-inline:48px}}@media(max-width:360px){#diwali-dialog{padding-inline:38px}}

/* A clear, touch-sized invitation to open Diwali 101. */
.diya-trigger{margin-bottom:24px}
.diya-trigger .diya-hint{left:50%;right:auto;bottom:-12px;transform:translateX(-50%);width:max-content;max-width:96%;min-height:44px;display:flex;align-items:center;justify-content:center;padding:10px 15px;border:2px solid #fff5bf;border-radius:999px;background:#ffe04d;color:#702219;font-family:'DM Sans',Arial,sans-serif;font-size:11px;font-weight:800;line-height:1.35;letter-spacing:.5px;text-align:center;box-shadow:0 3px 0 #a62c22,0 0 20px #ffe16e80;animation:diwali-hint-glow 2.4s ease-in-out infinite;pointer-events:none}
.diya-trigger:hover .diya-hint{background:#fff29a}
.diya-trigger:focus-visible .diya-hint{outline:3px solid #fff6dc;outline-offset:4px}
@keyframes diwali-hint-glow{0%,100%{box-shadow:0 3px 0 #a62c22,0 0 12px #ffe16e66}50%{box-shadow:0 3px 0 #a62c22,0 0 26px #ffe16ecc}}
@media(max-width:640px){.diya-trigger .diya-hint{font-size:10px;padding:9px 12px;letter-spacing:.3px}}
@media(prefers-reduced-motion:reduce){.diya-trigger .diya-hint{animation:none}}
