/* Diwali uses the Navratri creation journey with its own warm, photographic art direction. */
.diwali-landing { background: #2b0d12; color: #fff1d8; }
.diwali-landing * { box-sizing: border-box; }
.diwali-landing a { color: #ffd18b; }
.diwali-landing .button.primary { background: #ffd18b; color: #3b1516; border: 1px solid #ffd18b; border-radius: .65rem; gap: 1.5rem; min-height: 48px; font-weight: 800; text-align: center; }
.diwali-landing .button.primary:hover { background: #ffe3b6; }
.diwali-landing :focus-visible { outline: 3px solid #fff1d8; outline-offset: 5px; }
.diwali-skip { position: absolute; top: -100px; left: 1rem; z-index: 40; padding: 1rem; background: #2b0d12; }
.diwali-skip:focus { top: 1rem; }
.diwali-nav { max-width: 1400px; margin: auto; display: flex; align-items: center; gap: 1.5rem; padding: 1.1rem 3rem; border-bottom: 1px solid #ffd18b33; }
.diwali-nav .landing-brand { color: #fff1d8; margin-right: auto; }
.diwali-nav nav { display: flex; gap: 1.5rem; }
.diwali-nav a:not(.button) { text-decoration: none; font-size: .9rem; }
.diwali-nav nav a, .diwali-nav > a:not(.landing-brand) { padding-block: .75rem; }
.diwali-hero, .diwali-preview, .diwali-benefits, .diwali-how, .diwali-pro, .diwali-final { width: min(100% - 6rem, 1200px); margin-inline: auto; }
.diwali-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: center; padding-block: 4.5rem 5rem; }
.diwali-kicker { color: #f6bc74; text-transform: uppercase; letter-spacing: .13em; font-size: .7rem; font-weight: 800; line-height: 1.7; margin: 0 0 1.3rem; }
.diwali-hero h1 { font: 400 clamp(3.6rem, 6.7vw, 6.4rem)/.98 Georgia, serif; letter-spacing: -.055em; margin: 0 0 1.7rem; }
.diwali-hero h1 em { color: #ffd18b; font-weight: 400; }
.diwali-hero-copy > p:not(.diwali-kicker), .diwali-section-copy > p:not(.diwali-kicker), .diwali-final > p:not(.diwali-kicker) { color: #e1c2b9; font-size: 1.05rem; line-height: 1.8; max-width: 34rem; }
.diwali-hero-copy .diwali-actions { margin-top: 2rem; }
.diwali-hero-copy .diwali-fine { font-size: .8rem!important; margin-top: 1rem; }
.diwali-art { position: relative; margin: 0; isolation: isolate; min-width: 0; }
.diwali-art > img { display: block; width: 100%; height: 580px; object-fit: cover; border-radius: 12rem 12rem 1rem 1rem; }
.diwali-art::after { content: ''; position: absolute; inset: 0; border-radius: 12rem 12rem 1rem 1rem; background: linear-gradient(#2b0d1200 15%, #2b0d1233 45%, #240c0bd9); z-index: 0; }
.diwali-art figcaption { position: absolute; z-index: 1; inset: auto 1rem 3rem; text-align: center; display: grid; gap: 1rem; }
.diwali-art figcaption span { letter-spacing: .15em; font-size: .65rem; font-weight: 700; }
.diwali-art figcaption strong { font: 400 3.7rem/.98 Georgia, serif; letter-spacing: -.04em; }
.diwali-art-note { position: absolute; z-index: 2; bottom: -1rem; left: -1.25rem; right: 1.25rem; background: #ffe6b7; padding: 1rem; color: #4c241e; border-radius: .5rem; font-size: .83rem; text-align: center; box-shadow: 0 1rem 3rem #0004; }
.diwali-art-note span { margin-right: .7rem; }
.diwali-ribbon { background: #efbb73; color: #442023; text-align: center; padding: 1.25rem 1rem; font-size: .7rem; letter-spacing: .15em; font-weight: 800; }
.diwali-ribbon span { margin-inline: 2rem; }
.diwali-preview { display: grid; grid-template-columns: .85fr 1fr; gap: 6rem; align-items: center; padding-block: 7rem; }
.diwali-section-copy h2, .diwali-final h2 { font: 400 clamp(2.6rem, 4.4vw, 4.5rem)/1.03 Georgia, serif; letter-spacing: -.045em; margin: 0 0 1.5rem; }
.diwali-invite-example { background: #fff0d5; color: #4b221d; border-radius: 1rem; overflow: hidden; box-shadow: 0 1rem 3rem #0003; }
.diwali-invite-example > img { display: block; width: 100%; height: 175px; object-fit: cover; object-position: 50% 65%; }
.diwali-example-copy { padding: 1.75rem; }
.diwali-example-copy .diwali-kicker { color: #83512b; margin-bottom: .6rem; font-size: .65rem; }
.diwali-example-copy h3 { font: 400 2.8rem/1.1 Georgia, serif; margin: 0; letter-spacing: -.04em; }
.diwali-example-copy > p:not(.diwali-kicker) { font-size: .9rem; }
.diwali-example-copy dl { padding-block: 1rem; border-block: 1px solid #4b221d26; margin-block: 1.5rem; display: grid; gap: .8rem; }
.diwali-example-copy dt { font-size: .65rem; text-transform: uppercase; letter-spacing: .1em; margin-bottom: .2rem; }
.diwali-example-copy dd { margin: 0; font-size: .9rem; }
.diwali-example-rsvp { padding: .85rem; border: 1px solid #4b221d40; border-radius: .5rem; text-align: center; font-size: .85rem; }
.diwali-example-copy > small { display: block; margin-top: 1rem; font-size: .7rem; line-height: 1.6; }
.diwali-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; padding-block: 3rem 7rem; }
.diwali-benefits article { border-top: 1px solid #ffd18b50; padding-top: 1.5rem; }
.diwali-feature-number { color: #f6bc74; font-size: .65rem; letter-spacing: .13em; }
.diwali-benefits h2 { font: 400 2rem/1.15 Georgia, serif; letter-spacing: -.03em; margin-block: 1.5rem 1rem; }
.diwali-benefits p { color: #e1c2b9; line-height: 1.8; font-size: .94rem; }
.diwali-how { border-top: 1px solid #ffd18b33; padding-block: 6rem; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; }
.diwali-how ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 2rem; }
.diwali-how li { display: flex; align-items: start; gap: 1.5rem; }
.diwali-how li > span { border: 1px solid #ffd18b55; border-radius: 50%; flex: 0 0 2.5rem; height: 2.5rem; display: grid; place-items: center; color: #ffd18b; }
.diwali-how h3 { font-size: 1.15rem; margin: .3rem 0 .5rem; }
.diwali-how li p { margin: 0; color: #e1c2b9; line-height: 1.7; }
.diwali-pro { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; background: #45171e; padding: 3rem; border: 1px solid #ffd18b33; border-radius: 1rem; }
.diwali-offer { min-width: 0; }
.diwali-offer h3 { font: 400 5rem/1 Georgia, serif; margin: 0 0 1rem; color: #ffd18b; }
.diwali-offer h3 span { font: 400 1rem/1.5 system-ui, sans-serif; }
.diwali-offer p:not(.diwali-kicker) { line-height: 1.7; }
.diwali-offer small { display: block; color: #e1c2b9; line-height: 1.7; margin-top: 1rem; font-size: .75rem; }
.diwali-final { padding-block: 7rem; text-align: center; }
.diwali-final .diwali-kicker, .diwali-final > p, .diwali-final h2 { margin-inline: auto; max-width: 40rem; }
.diwali-final .diwali-actions { margin-block: 2rem 1rem; }
.diwali-final small { display: block; font-size: .8rem; color: #e1c2b9; }
.diwali-footer { background: #20090e; color: #e1c2b9; }
.diwali-footer .celebration-brand { color: #fff1d8; }
.diwali-footer .invite-footer-links a { color: #ffd18b; }
.diwali-create-error { flex-basis: 100%; color: #ffe6b7; font-size: .85rem; line-height: 1.7; }
@media (prefers-reduced-motion: no-preference) { .diwali-art { animation: diwali-glow 6s ease-in-out infinite alternate; } @keyframes diwali-glow { from { filter: brightness(1); } to { filter: brightness(1.07); } } }
@media (max-width: 900px) {
  .diwali-nav { padding-inline: 1.5rem; gap: 1rem; }
  .diwali-nav nav { display: none; }
  .diwali-hero, .diwali-preview, .diwali-benefits, .diwali-how, .diwali-pro, .diwali-final { width: min(100% - 3rem, 1200px); }
  .diwali-hero { gap: 2rem; }
  .diwali-art > img { height: 500px; }
  .diwali-preview { gap: 2.5rem; }
  .diwali-benefits { gap: 1.5rem; }
  .diwali-pro { padding: 2rem; gap: 2rem; }
}
@media (max-width: 640px) {
  .diwali-nav { flex-wrap: wrap; padding: 1rem 1.25rem; }
  .diwali-nav .diwali-actions { flex-basis: 100%; }
  .diwali-hero, .diwali-preview, .diwali-how, .diwali-pro { grid-template-columns: minmax(0, 1fr); }
  .diwali-hero { padding-block: 2.5rem 3rem; gap: 2.5rem; }
  .diwali-hero h1 { font-size: clamp(3.4rem, 14.5vw, 5rem); }
  .diwali-art > img { height: 430px; }
  .diwali-art figcaption strong { font-size: 3.3rem; }
  .diwali-art-note { left: .5rem; right: .5rem; font-size: .75rem; }
  .diwali-ribbon { font-size: .58rem; line-height: 2; letter-spacing: .08em; }
  .diwali-ribbon span { margin-inline: .35rem; }
  .diwali-preview, .diwali-how { padding-block: 4rem; gap: 2rem; }
  .diwali-benefits { grid-template-columns: minmax(0, 1fr); padding-block: 0 4rem; gap: 1.5rem; }
  .diwali-benefits h2 { margin-top: 1rem; }
  .diwali-pro { padding: 1.5rem; }
  .diwali-pro .diwali-section-copy h2 { font-size: 2.5rem; }
  .diwali-final { padding-block: 4rem; }
  .diwali-final h2 { font-size: 3rem; }
  .diwali-offer h3 { font-size: 4rem; }
}
