/* Readable ivory sections and a self-contained blue evening scene. */
main > .hero,
main > .sec:not(.contact):not(.countdown) {
  --bg: #f8f1e6;
  --bg-deep: #ece0cc;
  --ink: #463020;
  --ink-soft: #67472e;
  --ink-faint: #715135;
  --accent: #785327;
  --line: rgba(93, 65, 31, .22);
  color: var(--ink);
}
main > .sec:not(.contact):not(.countdown) {
  background: #f8f1e6;
}
main > .events {
  background: linear-gradient(180deg, #f8f1e6, #f5e9dc 48%, #f8f1e6) !important;
}
.contact, .countdown, .tail {
  --bg: #101a3e;
  --bg-deep: #0a1130;
  --ink: #fff1d8;
  --ink-soft: #e1d1ae;
  --ink-faint: #d4bf94;
  --accent: #e7c57e;
  --line: rgba(232, 197, 111, .35);
  color: var(--ink);
  background: #101a3e;
}
/* Copy remains readable while decorative artwork animates. */
.js [data-reveal], .js [data-reveal-in], .js [data-hero] {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
}
.invite__names .names__of {
  color: #60432d;
  font-size: clamp(18px, 2.1vw, 21px);
  font-weight: 600;
  line-height: 1.65;
  letter-spacing: 0;
}
.invite__request, .invite__slogan, .invite__shloka { color: #60432d; }
.invite__shloka { font-size: clamp(16px, 2vw, 19px); }
.invite__card .frame__content { gap: 14px; }
.our-couple {
  width: min(94%, 350px);
  max-width: 100%;
  height: auto;
  margin: 22px auto 6px;
  border-radius: 0;
  object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(105, 68, 34, .10));
}
.still__card { background: #fff8ec; color: #463020; }
.events .card__name { color: #96384b !important; }
.still__when, .card__time, .card__where { color: #60432d; }
.our-event-tagline { color: #67472e; font-size: clamp(20px, 3vw, 25px); }
.card__time { line-height: 1.65; letter-spacing: .12em; }
.tile { background: #fffaf1; color: #463020; }
.tile__body, .route__where, .route .t-small { color: #67472e; }
.travel__address { color: #60432d; }
.plaque, .travel__btn { color: #67451e; }
.our-place h3 { color: #463020; }
.our-tabs button { color: #67472e; }
.our-tabs button.is-on { color: #6d431c; background: #ead8b4; border-color: #936a32; }
.contact { isolation: isolate; }
.contact .rsvp__scene { z-index: 0; }
.contact__in { position: relative; z-index: 1; }
.contact__card { background: rgba(9, 17, 45, .78); border-color: #b8995b; }
.contact .t-label, .contact__side { color: #e7c57e; }
.contact .t-body, .countdown__sign { color: #e1d1ae; }
.our-number, .our-wa { color: #f1d391; }
.countdown .jhumar__n { color: #49331d; }
.countdown .jhumar__l { color: #67451e; }
.tail__line, .tail__names { color: #f3e3c5; }
.tail__monogram { filter: url(#vs-remove-paper) brightness(1.65); }
.gate__foot {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  width: 100%;
  padding: 28px 20px max(22px, env(safe-area-inset-bottom));
  gap: 9px;
  background: linear-gradient(180deg, #fbf4e500, #fbf4e5ed 32%, #fbf4e5fa);
}
.gate__line, .gate__sub {
  opacity: 1 !important;
  transform: none !important;
  color: #5b3b1d;
  text-shadow: 0 1px 8px #fff9e9;
}
.gate__line { font-size: 14px; letter-spacing: .16em; }
.gate__sub { font-size: 22px; line-height: 1.35; }
.hero__body > .t-label { font-size: clamp(15px, 2.2vw, 19px); }
.our-parvati { font-size: clamp(14px, 1.6vw, 18px); color: #593d22; }
@media (max-width: 600px) {
  .sec { padding-block: 56px; }
  .invite { padding-top: 34px; }
  .invite__names .names__of { font-size: 18px; max-width: 250px; }
  .invite__card .frame__content { gap: 12px; }
  .our-couple { width: 100%; max-width: 290px; }
  .our-blessing .t-small { font-size: 17px; }
  .gate__sub { font-size: 20px; }
  .our-parvati { font-size: 13px; line-height: 1.9; }
  .still__card { width: min(82%, 18rem); margin-inline: auto; }
  .still__when { letter-spacing: .12em; }
  .contact .sec__head { padding-inline: 22px; }
}

/* Personal portrait, framed to complement the carved floral arch. */
.our-couple{display:block;width:100%;max-width:360px;height:auto;aspect-ratio:4 / 5;object-fit:cover;object-position:55% 50%;padding:5px;border:1px solid #b89b61;border-radius:10px;background:#fff8eb;box-shadow:0 0 0 4px #f4e7cf,0 0 0 5px #c7ad7b,0 12px 24px #6a452124;filter:none;margin:28px auto 18px}
@media(max-width:600px){.invite__shloka{font-size:15px;line-height:1.85}.our-couple{max-width:290px;border-radius:8px}.invite__slogan{position:relative;z-index:2;padding-inline:8px}}
.invite__slogan{padding-bottom:40px}

/* A distinct, readable venue panel and map. */
.our-venue-card {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 18px;
  width: min(100%, 760px);
  margin-inline: auto;
  padding: clamp(24px, 4vw, 42px);
  background: #fffdf7;
  border: 1px solid #b59a65;
  border-top: 4px solid #a68448;
  border-radius: 14px;
  box-shadow: 0 16px 38px rgba(94, 66, 30, .14), 0 0 0 6px #eaddc433;
  text-align: center;
  isolation: isolate;
}
.our-venue-card .travel__name {
  margin: 0;
  color: #49301f;
  font-size: clamp(34px, 5vw, 46px);
  font-weight: 600;
}
.our-venue-card .travel__address {
  margin: 0 auto 8px;
  max-width: 450px;
  font-size: clamp(20px, 2.6vw, 24px);
  line-height: 1.55;
  color: #60442f;
}
.our-venue-card .travel__map {
  display: block;
  width: 100%;
  height: clamp(240px, 32vw, 330px);
  aspect-ratio: auto;
  padding: 0;
  margin: 0;
  border: 1px solid #c8bda6;
  border-radius: 9px;
  overflow: hidden;
  background: #e7e9df;
  box-shadow: 0 2px 8px #30281210;
}
.our-venue-card .travel__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  filter: none;
}
.our-venue-card .travel__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 54px;
  margin: 6px 0 0;
  padding: 15px 20px;
  border: 1px solid #263359;
  border-radius: 7px;
  background: #172544;
  color: #fff2cf;
  box-shadow: 0 5px 12px #15233f20;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: .12em;
  text-wrap: balance;
}
.our-venue-card .travel__btn:after { content: none; }
.our-venue-card .travel__btn:hover { background: #26385e; filter: none; }
.our-venue-card .travel__btn:focus-visible { outline: 3px solid #a8792b; outline-offset: 4px; }
.travel .routes { gap: 28px; margin-top: 48px; }
.travel .route { background: #fffdf7; border-color: #bca572; box-shadow: 0 10px 24px #60431f12; }
.travel .route .travel__btn { padding: 12px 16px; border: 1px solid #a88b52; border-radius: 5px; background: #f0e2c6; color: #533a1f; }
@media(max-width:600px) {
  .our-venue-card { padding: 26px 18px 20px; gap: 17px; border-radius: 11px; }
  .our-venue-card .travel__address { font-size: 21px; line-height: 1.5; }
  .our-venue-card .travel__map { height: 250px; }
  .our-venue-card .travel__btn { font-size: 13px; letter-spacing: .08em; padding-inline: 12px; }
}

/* Remove nazar charms throughout the floral invitation. */
.nazar,[class*="nazar--"]{display:none!important}

.our-couple{object-position:center center}

/* Quiet floral movement replaces the flying parrot. */
.parrot { display: none !important; }
.floral-drift { position: absolute; inset: 0; z-index: 2; overflow: hidden; pointer-events: none; }
.floral-drift__petal {
  position: absolute;
  top: -24px;
  left: var(--petal-left);
  width: var(--petal-size);
  height: calc(var(--petal-size) * 1.45);
  border-radius: 75% 15% 70% 20%;
  background: linear-gradient(135deg, #f5d7c9, #d98392 78%);
  box-shadow: inset 1px 0 2px #fff8e999;
  opacity: 0;
  animation: floral-petal-fall var(--petal-duration) linear var(--petal-delay) infinite;
}
@keyframes floral-petal-fall {
  0% { transform: translate3d(0, -20px, 0) rotate(-20deg); opacity: 0; }
  12% { opacity: .65; }
  45% { transform: translate3d(var(--petal-drift), 43vh, 0) rotate(125deg); opacity: .55; }
  82% { opacity: .5; }
  100% { transform: translate3d(0, 105vh, 0) rotate(280deg); opacity: 0; }
}
@media(prefers-reduced-motion:reduce) { .floral-drift { display:none; } }

/* Five balanced guest cards, each with a clear purpose. */
.guest-grid { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:26px;list-style:none;padding:0;margin:0 auto;max-width:1080px; }
.guest-card { position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;grid-column:span 2;gap:16px;padding:38px 25px 30px;text-align:center;background:#fffdf7;border:1px solid #c4ac7b;border-radius:10px;box-shadow:0 12px 28px #74502512;overflow:hidden; }
.guest-card:nth-child(4){grid-column:2 / span 2}.guest-card:nth-child(5){grid-column:4 / span 2}
.guest-card__corner{position:absolute;top:0;width:63px;pointer-events:none;opacity:.8}.guest-card__corner--left{left:0}.guest-card__corner--right{right:0;transform:scaleX(-1)}
.guest-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid #c8ad76;border-radius:50%;background:#f5ead7;color:#805c2e;margin-bottom:3px;box-shadow:inset 0 0 0 4px #fffdf7}
.guest-card__title{margin:0;font-size:30px;line-height:1.2;color:#513724;text-wrap:balance}.guest-card__rule{width:34px;height:1px;background:#b38d4c;opacity:.8}.guest-card__body{margin:0;color:#674b35;font-size:21px;line-height:1.55;text-wrap:pretty}.guest-card__link{display:inline-block;color:#70481e;font-family:var(--f-text);font-size:18px;font-weight:600;text-decoration:underline;text-underline-offset:5px;padding:8px 0 0;margin-top:auto;line-height:1.45}.guest-card__link:hover{color:#9b4050}.guest-card__link:focus-visible{outline:2px solid #8d6630;outline-offset:5px}.guest-card--hashtag{background:linear-gradient(140deg,#fffaf1,#f7e8de);border-color:#b99b6a}.guest-hashtag{margin:4px 0 0;padding:10px 12px;border-block:1px solid #c8a67366;font-family:var(--f-text);font-size:clamp(22px,2.2vw,28px);font-style:italic;font-weight:600;color:#873e4d;overflow-wrap:anywhere;max-width:100%}
@media(min-width:601px) and (max-width:1000px){.guest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:760px}.guest-card,.guest-card:nth-child(4){grid-column:auto}.guest-card:nth-child(5){grid-column:1 / -1;max-width:100%;width:100%}.guest-card--hashtag .guest-card__body{max-width:36ch}}
@media(max-width:600px){.guest-grid{grid-template-columns:minmax(0,1fr);gap:23px;max-width:430px}.guest-card,.guest-card:nth-child(4),.guest-card:nth-child(5){grid-column:1;padding:32px 25px 27px;gap:14px}.guest-card__body{font-size:20px;line-height:1.55}.guest-card__title{font-size:30px}.guest-icon{width:54px;height:54px}.guest-hashtag{font-size:26px}.guest-card__link{font-size:18px}}

.guest-card__corner{display:none!important}.guest-card:before{content:"";position:absolute;inset:7px;border:1px solid #d8c39466;border-radius:5px;pointer-events:none;z-index:-1}.guest-card__title{max-width:100%}.guest-card__body{max-width:30ch}

/* Keep Devanagari shaping intact, including names inside script spans. */
[lang="hi"], [lang="hi"] *, [lang="sa"], [lang="sa"] *,
.our-lucknow .sec__title {
  font-family: "Yatra One", "Nirmala UI", "Mangal", serif !important;
  font-weight: 400;
  font-style: normal;
  font-synthesis: none;
  letter-spacing: 0 !important;
  word-spacing: normal !important;
  text-transform: none !important;
  font-kerning: normal;
  font-variant-ligatures: normal;
  font-feature-settings: normal;
}
.hero__names--hi .names__one { font-family: inherit !important; }
.hero__names--hi { line-height: 1.6; }
.hero__names--hi .names__join { padding-inline: .15em; }
.invite__shloka { border-block: 1px solid #c7ae7b66; padding-block: 14px; width:100%; }
.our-parvati { border:1px solid #b9995d88; border-radius:9px; background:#fff9ebc9; padding:12px 17px; }
/* Consistent gold frames distinguish each section heading. */
.sec__head > div {
  position:relative;
  width:100%;
  max-width:780px;
  padding:28px clamp(20px,4vw,42px);
  border:1px solid #bda06b;
  border-radius:12px;
  background:#fffdf7c9;
  box-shadow:0 7px 20px #7853260a;
}
.sec__head > div:before {
  content:"";
  position:absolute;
  inset:6px;
  border:1px solid #d9c79d66;
  border-radius:7px;
  pointer-events:none;
}
.sec__head .sec__title { max-width:100%; }
.essentials .sec__head > div { border-color:#aa854b; background:linear-gradient(140deg,#fffdf7,#f7ecdb); }
.contact .sec__head > div, .countdown .sec__head > div {
  border-color:#ad8d51;
  background:#101a3edb;
  box-shadow:0 8px 26px #00000018;
}
.contact .sec__head > div:before, .countdown .sec__head > div:before { border-color:#b89b5f44; }
.our-place, .route { border:1px solid #bca271; border-radius:10px; outline:1px solid #d6c49c66; outline-offset:-7px; }
.our-place .tile__corner, .route .tile__corner { display:none; }
@media(max-width:600px) {
  .sec__head > div { padding:26px 19px; border-radius:10px; }
  .sec__head .sec__title { font-size:clamp(28px,7.5vw,36px); letter-spacing:.08em; line-height:1.25; }
  .our-lucknow .sec__title { font-size:27px; line-height:1.7; }
  .our-parvati { padding:11px 12px; max-width:100%; font-size:13px; }
  .hero__body > [lang="hi"], .hero__body > [lang="sa"] { letter-spacing:0 !important; }
}

.lucknow-tehzeeb{max-width:780px;margin:0 auto 36px;padding:23px clamp(22px,4vw,38px);border:1px solid #bea16c;border-left:4px solid #a48143;border-radius:9px;background:#fffaf0;color:#67452f;text-align:center;box-shadow:0 6px 18px #704c2010}.lucknow-tehzeeb p{margin:0;font-family:var(--f-text);font-size:clamp(20px,2.3vw,24px);line-height:1.6}.lucknow-tehzeeb strong{font-weight:600}.lucknow-tehzeeb em{font-style:italic}

/* A blue-and-gold finale with an every-second wedding countdown. */
.countdown {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:76px var(--edge) 64px;
  background:linear-gradient(180deg,#0c1532a6,#0a1330ed 85%),url("./art/nt/night.webp") center 55% / cover no-repeat;
}
.countdown:before {
  content:"";position:absolute;inset:17px;border:1px solid #c4a05d66;border-radius:180px 180px 14px 14px;z-index:0;pointer-events:none;
}
.countdown:after {
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.4;
  background-image:radial-gradient(circle,#f1d595 0 1px,transparent 2px),radial-gradient(circle,#f1d595 0 1px,transparent 2px);
  background-size:97px 113px,157px 173px;background-position:15px 45px,75px 12px;
  animation:finale-glimmer 7s ease-in-out infinite alternate;
}
.countdown > * { position:relative;z-index:1; }
.countdown .sec__head > div { background:#101b39e6;border-color:#b99a5c; }
.countdown__title { line-height:1.25; }
.countdown .jhumars { width:min(100%,690px);grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(9px,2vw,22px);margin-top:42px; }
.countdown .jhumar { padding:22px 5px;background:linear-gradient(135deg,#fffaf0,#edddba);border:2px solid #d0ad67;box-shadow:0 10px 25px #0005,inset 0 0 0 4px #fff8e8; }
.countdown .jhumar__n { font-size:clamp(36px,8vw,75px);line-height:1.1;font-variant-numeric:tabular-nums;color:#51391f; }
.countdown .jhumar__l { font-size:clamp(10px,2.3vw,13px);line-height:1.5;letter-spacing:.08em;color:#6c4e27; }
.countdown__foot { margin-top:45px; }
.tail { position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 0,#29344b,#0a1330 70%);border-top:1px solid #c09f5b88;padding-block:44px 58px; }
.tail:before,.tail:after { content:"";position:absolute;top:20px;width:45px;height:45px;border-top:1px solid #c3a26388;pointer-events:none; }
.tail:before{left:22px;border-left:1px solid #c3a26388}.tail:after{right:22px;border-right:1px solid #c3a26388}
.tail__names { color:#f3e3c5; }.tail__line { color:#decca7; }
@keyframes finale-glimmer {from{opacity:.18}to{opacity:.5}}
@media(max-width:600px){.countdown{padding:62px 23px 50px}.countdown:before{inset:10px;border-radius:100px 100px 12px 12px}.countdown .jhumars{gap:9px}.countdown .jhumar{padding:17px 3px}.countdown .sec__head>div{padding-inline:16px}.countdown__title,.countdown__when{font-size:30px}.tail:before,.tail:after{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.countdown:after{animation:none}}

/* Carry the blue-and-gold evening artwork into the closing names. */
.tail {
  position:relative;overflow:hidden;min-height:390px;
  display:grid;place-items:center;
  padding:64px clamp(23px,6vw,70px);
  background:linear-gradient(180deg,#0b1635b3,#09142ee8),url("./art/nt/night.webp") center 80% / cover no-repeat;
  border-top:1px solid #d1ad64;
}
.tail > div {
  position:relative;z-index:1;
  width:min(100%,660px);padding:34px 24px;
  background:radial-gradient(ellipse at 50% 0,#1e3050e8,#0a1735e8);
  border:1px solid #c7a45f;border-radius:15px;
  box-shadow:inset 0 0 0 5px #11203a,inset 0 0 0 6px #c7a45f55,0 18px 42px #0004;
  gap:16px;
}
.tail__names { color:#f2d38f;font-size:clamp(36px,6vw,62px);line-height:1.3;white-space:nowrap;text-shadow:0 2px 14px #cda65822; }
.tail__names .names__join {color:#e9c277;}
.tail__line {color:#e1cda6;letter-spacing:.025em;font-size:18px;}
.tail__monogram {filter:url(#vs-remove-paper) brightness(1.25) saturate(1.25);}
.tail:before,.tail:after {border-color:#e0bc75aa;}
@media(max-width:600px){.tail{min-height:350px;padding:42px 23px}.tail>div{padding:30px 16px}.tail__names{font-size:36px}.tail__line{font-size:17px}}
.tail{min-height:80svh}

/* Ganesh ji's blessing, immediately after ringing the bell. */
.ganesh-blessing {gap:16px;padding:28px 24px;background:radial-gradient(ellipse at 50% 33%,#fff7dc,#fbf2e3 57%,#efdfc4);overflow:hidden;isolation:isolate;}
.ganesh-blessing:before{content:"";position:absolute;inset:16px;border:1px solid #bea16b88;outline:1px solid #d9c59e77;outline-offset:-6px;border-radius:18px;pointer-events:none;z-index:-1}
.blessing-figure{display:grid;place-items:center;position:relative;isolation:isolate;width:min(76vw,380px);height:min(43dvh,390px);flex-shrink:0;margin:0 auto 6px}
.ganesh-blessing .blessing-figure img{position:relative;z-index:2;display:block;height:100%;width:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 12px 18px #a67b3130)}
.blessing-aura{position:absolute;z-index:0;width:110%;aspect-ratio:1;top:-4%;border-radius:50%;background:radial-gradient(circle,#f6d88977,#efd39b33 48%,transparent 71%);animation:blessing-glow 4s ease-in-out infinite alternate;pointer-events:none}
.blessing-rays{position:absolute;z-index:0;inset:-10% -24% -4%;background:repeating-conic-gradient(from 0deg at 50% 38%,#edce7f22 0deg 8deg,transparent 8deg 21deg);mask-image:radial-gradient(ellipse,black 8%,transparent 66%);animation:blessing-turn 60s linear infinite;pointer-events:none}
.blessing-light{position:absolute;z-index:3;left:31%;top:42%;width:18%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff9dd55,transparent 70%);animation:blessing-glow 3s ease-in-out infinite alternate;pointer-events:none}
.ganesh-blessing .our-ganesh-title{margin:0;font-size:clamp(23px,3.2vw,32px);color:#77501e;line-height:1.5}
.ganesh-blessing .blessing-mantra{margin:0;font-size:clamp(15px,2vw,19px);line-height:1.9;color:#6d4a25}
.ganesh-blessing .blessing-message{margin:2px 0 0;font-family:var(--f-text);font-size:clamp(21px,2.8vw,27px);font-style:italic;line-height:1.4;color:#86523f;max-width:27ch}
.ganesh-blessing .blessing-continue{margin:8px 0 0;padding:11px 18px;border:1px solid #ba965966;border-radius:30px;background:#fff9ecb3;color:#795224;font-size:12px;letter-spacing:.1em}
@keyframes blessing-glow{from{opacity:.45;transform:scale(.96)}to{opacity:1;transform:scale(1.04)}}
@keyframes blessing-turn{to{transform:rotate(360deg)}}
@media(max-width:600px){.ganesh-blessing{padding:26px 22px;gap:14px}.blessing-figure{height:min(39dvh,340px);width:min(76vw,310px)}.ganesh-blessing .blessing-mantra{font-size:15px}.ganesh-blessing .blessing-message{font-size:23px}.ganesh-blessing:before{inset:10px;border-radius:14px}}
@media(max-height:650px){.ganesh-blessing{gap:8px;padding:20px}.blessing-figure{height:33dvh}.ganesh-blessing .our-ganesh-title{font-size:22px}.ganesh-blessing .blessing-mantra{font-size:14px}.ganesh-blessing .blessing-message{font-size:20px}.ganesh-blessing .blessing-continue{padding:8px 13px;margin-top:0}}
@media(prefers-reduced-motion:reduce){.blessing-aura,.blessing-rays,.blessing-light{animation:none}}

/* Keep the complete blessing visible; animate the light, not the content. */
.ganesh-blessing {
  height:100svh;min-height:0;padding:24px 22px;
  gap:clamp(8px,1.5svh,14px);justify-content:center;
  overflow-x:hidden;overflow-y:auto;
  animation:none!important;opacity:1!important;
}
.ganesh-blessing .blessing-figure {
  width:min(70vw,320px);height:clamp(150px,34svh,320px);
  min-height:100px;max-height:calc(100svh - 310px);
  flex:0 1 auto;margin:0 auto 4px;
}
.ganesh-blessing .blessing-figure img{max-height:100%;height:100%;width:100%;object-fit:contain;}
.ganesh-blessing .our-ganesh-title,
.ganesh-blessing .blessing-mantra,
.ganesh-blessing .blessing-message,
.ganesh-blessing .blessing-continue{flex-shrink:0;}
.ganesh-blessing .our-ganesh-title{font-size:clamp(22px,3vw,30px);line-height:1.45;}
.ganesh-blessing .blessing-mantra{font-size:clamp(14px,1.9vw,18px);line-height:1.85;}
.ganesh-blessing .blessing-message{font-size:clamp(20px,2.6vw,25px);line-height:1.4;}
.ganesh-blessing .blessing-continue{margin:4px 0 0;padding:10px 15px;font-size:11px;}
.ganesh-blessing .blessing-aura{width:125%;top:-13%;background:radial-gradient(circle,#f4c86688,#f0cb7b44 38%,transparent 69%);animation:blessing-glow 4s ease-in-out infinite alternate;}
.ganesh-blessing .blessing-rays{inset:-22% -30% -15%;background:repeating-conic-gradient(from 0deg at 50% 38%,#efc86666 0deg 7deg,transparent 7deg 20deg);mask-image:radial-gradient(ellipse,black 8%,transparent 67%);transform-origin:50% 38%;animation:blessing-radiance 5s ease-in-out infinite alternate;}
.ganesh-blessing .blessing-light{left:25%;top:36%;width:23%;background:radial-gradient(circle,#fff7cc88,#f6cf6d33 34%,transparent 72%);}
@keyframes blessing-radiance{from{opacity:.3;transform:scale(.96) rotate(-4deg)}to{opacity:.75;transform:scale(1.05) rotate(4deg)}}
@media(max-height:680px){.ganesh-blessing{padding:18px;gap:7px}.ganesh-blessing .blessing-figure{height:28svh;min-height:100px;max-height:200px}.ganesh-blessing .our-ganesh-title{font-size:22px}.ganesh-blessing .blessing-mantra{font-size:14px;line-height:1.7}.ganesh-blessing .blessing-message{font-size:20px}.ganesh-blessing .blessing-continue{padding:8px 12px;margin-top:0}}
@media(max-height:500px){.ganesh-blessing{padding:12px;gap:5px}.ganesh-blessing .blessing-figure{height:24svh;min-height:70px;max-height:120px}.ganesh-blessing .our-ganesh-title{font-size:20px}.ganesh-blessing .blessing-mantra{font-size:13px}.ganesh-blessing .blessing-message{font-size:18px}.ganesh-blessing .blessing-continue{padding:7px 12px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.ganesh-blessing .blessing-aura,.ganesh-blessing .blessing-rays,.ganesh-blessing .blessing-light{animation:none}}

/* Constrain the artwork to its stage so it cannot overlap the mantra. */
.ganesh-blessing .blessing-figure{display:block;position:relative;min-width:0}.ganesh-blessing .blessing-figure img{position:absolute!important;inset:0;width:100%!important;height:100%!important;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain}

/* Clearly visible golden blessing rays behind Ganesh ji. */
.ganesh-blessing .blessing-aura {
  width:145%;top:-18%;
  background:radial-gradient(circle,#ffd567aa 0%,#edbc5088 28%,#efca7138 50%,transparent 72%);
  animation:blessing-halo-bright 4s ease-in-out infinite alternate;
}
.ganesh-blessing .blessing-rays {
  inset:-27% -42% -23%;
  background:repeating-conic-gradient(from -4deg at 50% 38%,#d99a26bb 0deg,#f4c45a99 5deg,transparent 9deg,transparent 20deg);
  mask-image:radial-gradient(ellipse at 50% 38%,black 8%,#000e 35%,#0008 56%,transparent 76%);
  opacity:.85;
  animation:blessing-radiance-clear 5s ease-in-out infinite alternate;
}
.ganesh-blessing .blessing-light {
  background:radial-gradient(circle,#fff5c5aa 0%,#f7cd6477 30%,transparent 72%);
}
@keyframes blessing-radiance-clear {
  from{opacity:.68;transform:scale(.98) rotate(-3deg)}
  to{opacity:1;transform:scale(1.06) rotate(3deg)}
}
@keyframes blessing-halo-bright {
  from{opacity:.65;transform:scale(.97)}
  to{opacity:1;transform:scale(1.04)}
}
@media(prefers-reduced-motion:reduce){.ganesh-blessing .blessing-rays,.ganesh-blessing .blessing-aura{animation:none;opacity:.85}}

/* More noticeable, gentle movement in the blessing light. */
.ganesh-blessing .blessing-rays {
  animation:blessing-rays-sway 3.6s ease-in-out infinite alternate;
  transform-origin:50% 38%;
}
.ganesh-blessing .blessing-aura {
  animation:blessing-halo-bright 3s ease-in-out infinite alternate;
}
@keyframes blessing-rays-sway {
  from{opacity:.72;transform:scale(.98) rotate(-9deg)}
  to{opacity:1;transform:scale(1.1) rotate(9deg)}
}
@media(prefers-reduced-motion:reduce){.ganesh-blessing .blessing-rays,.ganesh-blessing .blessing-aura{animation:none}}

/* A small, easy-to-reach section menu and calendar action. */
.invite-nav{position:fixed;z-index:65;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;width:min(calc(100% - 28px),510px);padding:6px;border:1px solid #c2a064;border-radius:40px;background:#101d36f5;box-shadow:0 8px 28px #0c142b40;backdrop-filter:blur(10px)}
.invite-nav a{display:flex;align-items:center;justify-content:center;min-height:43px;padding:8px 12px;border-radius:24px;font-family:var(--f-text);font-size:19px;font-weight:600;line-height:1.2;color:#f2ddaf;text-decoration:none;transition:background .18s ease,color .18s ease}
.invite-nav a:hover,.invite-nav a.is-current{background:#e1bd7330;color:#fff4d8}.invite-nav a:focus-visible{outline:2px solid #f2d38f;outline-offset:0;background:#e1bd7326}
#events,#travel,#lucknow,#contact{scroll-margin-top:24px}
.calendar-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;min-height:46px;margin-top:18px;padding:11px 14px;border:1px solid #ab8644;border-radius:6px;background:#172544;color:#fff1c9;font-family:var(--f-text);font-size:18px;font-weight:600;line-height:1.3;text-decoration:none;box-shadow:0 5px 12px #12203c19}
.calendar-btn svg{flex-shrink:0}.calendar-btn:hover{background:#293a5d;color:#fff7e2}.calendar-btn:focus-visible{outline:2px solid #8e642c;outline-offset:4px}
.tail{padding-bottom:calc(105px + env(safe-area-inset-bottom))}
@media(max-width:600px){.invite-nav{padding:5px;gap:1px}.invite-nav a{padding:9px 6px;min-height:42px;font-size:17px}.calendar-btn{font-size:17px;padding-inline:12px;gap:7px}}

.blessing-rays,.blessing-aura,.blessing-light,.blessing-message{display:none!important}

.tail__tehzeeb{max-width:30ch;margin:4px auto 0;padding-top:16px;border-top:1px solid #c7a45f66;color:#ecd7af;font-family:var(--f-text);font-size:clamp(20px,2.4vw,24px);font-style:italic;line-height:1.5;text-wrap:balance}

/* Ready for an MP3, with a discreet guest-controlled player. */
.invite-music{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(88px + env(safe-area-inset-bottom));z-index:66;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;border:1px solid #b4955e;border-radius:28px;background:#fff9edf5;color:#694923;box-shadow:0 5px 18px #17233b26;font-family:var(--f-text);font-size:18px;font-weight:600;line-height:1.2;cursor:pointer;backdrop-filter:blur(8px)}
.invite-music svg{flex-shrink:0}.invite-music:hover{background:#f0dfbc}.invite-music.is-playing{background:#172544;color:#f3d89f;border-color:#d3b471}.invite-music:focus-visible{outline:2px solid #a47e3e;outline-offset:4px}
@media(max-width:600px){.invite-music{right:16px;font-size:17px;min-height:43px;padding:10px 13px}}

/* The uploaded wedding songs, in one compact player. */
.invite-music-player{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(88px + env(safe-area-inset-bottom));z-index:66;display:flex;align-items:center;gap:7px;max-width:calc(100% - 32px);padding:5px;border:1px solid #b4955e;border-radius:30px;background:#fff9edf5;box-shadow:0 5px 18px #17233b26;backdrop-filter:blur(8px)}
.invite-music-player .invite-music{position:static;min-height:40px;padding:9px 12px;border:0;box-shadow:none;background:transparent;font-size:17px;white-space:nowrap}
.invite-music-player .invite-music.is-playing{background:#172544;color:#f3d89f}
.invite-song-select{min-width:120px;max-width:145px;min-height:38px;border:1px solid #cbb78d;border-radius:20px;padding:7px 22px 7px 10px;background:#fffaf0;color:#674923;font-family:var(--f-text);font-size:17px;font-weight:600;line-height:1.25;cursor:pointer}
.invite-song-select:focus-visible{outline:2px solid #a47e3e;outline-offset:2px}
@media(max-width:600px){.invite-music-player{right:16px;gap:4px;padding:4px}.invite-music-player .invite-music{font-size:16px;padding-inline:10px}.invite-song-select{font-size:16px;min-width:115px;max-width:136px}}

/* Hands-free viewing, with an explicit pause/resume control. */
html.is-auto-scrolling{scroll-behavior:auto!important}
.invite-nav{grid-template-columns:repeat(4,minmax(0,1fr)) 74px;width:min(calc(100% - 28px),600px)}
.auto-scroll-control{display:flex;align-items:center;justify-content:center;gap:5px;min-height:43px;padding:8px 7px;border:1px solid #d2b16a44;border-radius:25px;background:#f2d19410;color:#eed39b;font-family:var(--f-text);font-size:16px;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap}
.auto-scroll-control.is-running{background:#e1bd7330;color:#fff4d8}.auto-scroll-control:hover{background:#e1bd7340}.auto-scroll-control:focus-visible{outline:2px solid #f2d38f;outline-offset:0}.auto-scroll-control svg{flex-shrink:0}
@media(max-width:600px){.invite-nav{grid-template-columns:repeat(4,minmax(0,1fr)) 65px;gap:1px}.invite-nav a{font-size:16px;padding-inline:3px}.auto-scroll-control{font-size:15px;min-height:42px;padding-inline:5px;gap:4px}}

/* A visible invitation cue, above the music and navigation. */
.scroll-explore{position:fixed;z-index:64;left:50%;bottom:calc(151px + env(safe-area-inset-bottom));transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 17px;min-height:43px;border:1px solid #ad8a4c;border-radius:28px;background:#fff9edf2;box-shadow:0 5px 16px #573c2224;color:#684820;font-family:var(--f-text);font-size:19px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;backdrop-filter:blur(6px)}
.scroll-explore svg{animation:explore-arrow 1.7s ease-in-out infinite}.scroll-explore:hover{background:#f0dfbc}.scroll-explore:focus-visible{outline:2px solid #986d2f;outline-offset:4px}
@keyframes explore-arrow{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
.hero-tail-overlay{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.hero-tail-overlay svg{position:absolute;max-width:none;overflow:visible;pointer-events:none}
.pet__tail-motion{position:absolute;height:auto;pointer-events:none;clip-path:polygon(63% 37%,86% 47%,96% 64%,92% 88%,61% 98%,0% 97%,9% 85%,27% 69%,51% 60%,60% 45%);transform-origin:70% 42%;animation:peacock-feather-sway 5.2s ease-in-out infinite alternate}
.pet.is-alive .pet__tail-motion{display:none}
@keyframes peacock-feather-sway{from{transform:rotate(-1.7deg) skewX(-.5deg)}to{transform:rotate(1.7deg) skewX(.5deg)}}
@media(max-width:600px){.scroll-explore{font-size:18px;padding:10px 15px}}
@media(prefers-reduced-motion:reduce){.scroll-explore svg,.pet__tail-motion{animation:none}.hero-tail-overlay{display:none}}

/* Scroll actions belong to the opening page, outside the blue menu. */
.invite-nav{grid-template-columns:repeat(4,minmax(0,1fr));width:min(calc(100% - 28px),510px)}
.hero-scroll-actions{position:absolute;z-index:5;left:50%;bottom:clamp(155px,18vh,200px);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 40px)}
.hero-scroll-actions .scroll-explore{position:static;transform:none;left:auto;bottom:auto}
.hero-scroll-actions .auto-scroll-control{background:#fff9ede6;border:1px solid #b8996088;color:#795427;padding:8px 13px;font-size:16px;min-height:36px;box-shadow:0 4px 12px #573c2215}
.hero-scroll-actions .auto-scroll-control:hover{background:#f0dfbc}
/* Small bow-tied nazar charms, only next to the two pictures. */
.couple-photo-wrap{position:relative;width:100%;max-width:360px;margin:28px auto 18px}
.couple-photo-wrap .our-couple{width:100%;max-width:100%;margin:0}
.photo-charm{position:absolute;z-index:4;top:-23px;right:-17px;width:42px;height:54px;pointer-events:none;transform-origin:50% 0;filter:drop-shadow(0 3px 4px #24365a25);animation:photo-charm-sway 4.6s ease-in-out infinite alternate}
.photo-charm svg{display:block;width:100%;height:100%}
.venue-illustration{position:relative;width:100%;margin:4px 0 7px;padding:5px;border:1px solid #bda06b;border-radius:10px;background:#fff7e8;box-shadow:0 8px 20px #69492315}
.venue-illustration>img{display:block;width:100%;height:auto;border-radius:5px;object-fit:contain}
.venue-illustration .photo-charm{top:-22px;right:-15px}
@keyframes photo-charm-sway{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
@media(max-width:600px){.invite-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.invite-nav a{font-size:17px;padding-inline:6px}.hero-scroll-actions{bottom:155px}.hero-scroll-actions .auto-scroll-control{font-size:15px}.photo-charm{width:37px;height:49px;right:-14px;top:-21px}.couple-photo-wrap{max-width:290px}}
@media(prefers-reduced-motion:reduce){.photo-charm{animation:none}}

/* Real song-level timing: clear feather movement, quiet card illumination. */
.music-is-playing .guest-card,
.music-is-playing .our-venue-card,
.music-is-playing .still,
.music-is-playing .couple-photo-wrap,
.music-is-playing .tail>div {
  box-shadow:0 0 calc(10px + 18px * var(--music-energy,0)) rgba(201,155,70,var(--music-glow,0)),0 9px 24px #573b2119;
}
.music-is-playing .pet .pet__film{opacity:0}
.music-is-playing .pet .pet__still{opacity:1}
.music-is-playing .pet .pet__tail-motion{display:block;animation:none;transform:rotate(var(--feather-turn,0deg)) skewX(var(--feather-skew,0deg));transition:transform 90ms linear;}
.invite-song-select{min-width:145px;max-width:170px}
@media(max-width:600px){.invite-song-select{min-width:140px;max-width:160px}}
@media(prefers-reduced-motion:reduce){.music-is-playing .pet .pet__tail-motion{transform:none;transition:none}.music-is-playing .guest-card,.music-is-playing .our-venue-card,.music-is-playing .still,.music-is-playing .couple-photo-wrap,.music-is-playing .tail>div{box-shadow:0 9px 24px #573b2119}}

/* Golden blessing scene, inspired by the supplied invitation reference. */
.ganesh-blessing{isolation:isolate;height:100svh;min-height:0;padding:30px 22px;gap:clamp(10px,1.9svh,20px);justify-content:center;overflow:hidden;background:#f6e3ae;color:#704727;box-shadow:inset 0 0 100px #86501b45;animation:none!important;opacity:1!important}
.ganesh-blessing::before{inset:6px;border:1px solid #b68b4780;border-radius:12px;z-index:4;pointer-events:none}
.ganesh-sunburst{position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 50% 43%,#fffdf0 0%,#fff9dfd9 18%,#fff1c363 43%,#a76b2a70 100%),repeating-conic-gradient(from -4deg at 50% 43%,#efd69e 0deg 8deg,#d0a354 8deg 16deg)}
.ganesh-petals{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}
.ganesh-petals i{position:absolute;left:var(--petal-x);top:-30px;width:11px;height:21px;border-radius:80% 25% 80% 25%;background:var(--petal-color);opacity:.88;animation:ganesh-petal-fall var(--petal-duration) linear var(--petal-delay) infinite;will-change:transform}
.ganesh-petals i:nth-child(3n){width:9px;height:15px}.ganesh-petals i:nth-child(4n){width:13px;height:23px}
.ganesh-blessing .blessing-figure{position:relative;z-index:3;display:block;flex:0 1 auto;width:min(65vw,380px);height:clamp(180px,42svh,420px);min-height:100px;max-height:calc(100svh - 270px);margin:0 auto 2px;filter:drop-shadow(0 9px 17px #875a2425)}
.ganesh-blessing .blessing-figure img{position:absolute!important;inset:0;width:100%!important;height:100%!important;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain}
.ganesh-blessing .our-ganesh-title{position:relative;z-index:3;flex-shrink:0;margin:0;color:#963829;font-size:clamp(25px,3vw,37px);line-height:1.55;text-shadow:0 1px 6px #fff9dd}
.ganesh-blessing .blessing-mantra{position:relative;z-index:3;flex-shrink:0;max-width:100%;margin:0;color:#694323;font-size:clamp(19px,2.2vw,29px);line-height:1.95;text-shadow:0 1px 7px #fff9dd,0 0 18px #fff7df}
.ganesh-blessing .blessing-continue{position:relative;z-index:3;flex-shrink:0;margin-top:6px;color:#77532d;border-color:#aa7d4480;background:#fff6dc99;font-size:11px}
@keyframes ganesh-petal-fall{0%{transform:translate3d(0,-35px,0) rotate(0deg)}50%{transform:translate3d(var(--petal-drift),50svh,0) rotate(190deg)}100%{transform:translate3d(0,105svh,0) rotate(380deg)}}
@media(max-width:600px){.ganesh-blessing{padding:26px 15px;gap:17px}.ganesh-blessing .blessing-figure{width:min(76vw,310px);height:37svh;max-height:330px}.ganesh-blessing .our-ganesh-title{font-size:27px}.ganesh-blessing .blessing-mantra{font-size:clamp(16px,4.6vw,22px);line-height:1.95}.ganesh-petals i{width:8px;height:16px}.ganesh-sunburst{background:radial-gradient(ellipse at 50% 41%,#fffdf0 0%,#fff9dfd9 17%,#fff1c363 45%,#a76b2a70 100%),repeating-conic-gradient(from -4deg at 50% 41%,#efd69e 0deg 8deg,#d0a354 8deg 16deg)}}
@media(max-height:580px){.ganesh-blessing{gap:7px;padding-block:15px}.ganesh-blessing .blessing-figure{height:31svh;min-height:75px;max-height:180px}.ganesh-blessing .our-ganesh-title{font-size:23px}.ganesh-blessing .blessing-mantra{font-size:17px;line-height:1.7}.ganesh-blessing .blessing-continue{margin-top:0}}
@media(prefers-reduced-motion:reduce){.ganesh-petals i{animation:none;top:calc(var(--petal-x) * .7);transform:rotate(30deg)}}

/* A full feather fan when music plays; retain the illustrated fallback. */
.music-is-playing .pet.is-alive .pet__film{opacity:1}
.music-is-playing .pet.is-alive .pet__still,.music-is-playing .pet.is-alive .pet__tail-motion{opacity:0;visibility:hidden}
.music-is-playing .pet:not(.is-alive) .pet__tail-motion{display:block;transform:rotate(var(--feather-turn,0deg)) skewX(var(--feather-skew,0deg));transition:transform 65ms linear}
@media(prefers-reduced-motion:reduce){.music-is-playing .pet:not(.is-alive) .pet__tail-motion{transform:none;transition:none}}

.pet__dance-fan{display:none;position:absolute;max-width:none;object-fit:fill;transform-origin:50% 100%;pointer-events:none;z-index:0}
.music-is-playing .pet:not(.is-alive) .pet__dance-fan{display:block;animation:peacock-full-fan 1.8s ease-in-out infinite alternate}
.music-is-playing .pet:not(.is-alive) .pet__still{z-index:1;clip-path:polygon(0 0,100% 0,100% 36%,64% 36%,64% 50%,55% 60%,0 60%)}
.music-is-playing .pet:not(.is-alive) .pet__tail-motion{display:none}
@keyframes peacock-full-fan{0%{transform:rotate(-8deg) scaleX(.83) scaleY(.94)}50%{transform:rotate(0) scaleX(1.03) scaleY(1.03)}100%{transform:rotate(8deg) scaleX(.88) scaleY(.96)}}
@media(prefers-reduced-motion:reduce){.pet__dance-fan{display:none!important}.music-is-playing .pet:not(.is-alive) .pet__still{clip-path:none}}

/* Compact music control; accessible names remain on the button. */
.invite-music-player{border-radius:50%;padding:4px;gap:0}
.invite-music-player .invite-music{width:42px;height:42px;min-height:42px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center}
.invite-music-player .invite-music svg{width:18px;height:18px}

/* The full dancing fan stays visible with or without music. */
.pet.is-alive .pet__film{opacity:1}
.pet.is-alive .pet__still,.pet.is-alive .pet__tail-motion{opacity:0;visibility:hidden}
.pet:not(.is-alive) .pet__dance-fan{display:block;animation:peacock-full-fan 1.8s ease-in-out infinite alternate}
.pet:not(.is-alive) .pet__still{z-index:1;clip-path:polygon(0 0,100% 0,100% 36%,64% 36%,64% 50%,55% 60%,0 60%)}
.pet:not(.is-alive) .pet__tail-motion{display:none}
@media(prefers-reduced-motion:reduce){.pet:not(.is-alive) .pet__dance-fan{display:block!important;animation:none;transform:none}.pet:not(.is-alive) .pet__still{clip-path:polygon(0 0,100% 0,100% 36%,64% 36%,64% 50%,55% 60%,0 60%)}}

/* Feathers unfold when the peacock enters the guest's view. */
.pet[data-fan-phase="closed"]:not(.is-alive) .pet__dance-fan{animation:none;transform:rotate(-8deg) scaleX(.14) scaleY(.68)}
.pet[data-fan-phase="opening"]:not(.is-alive) .pet__dance-fan{animation:peacock-fan-unfurl 1.9s cubic-bezier(.22,.7,.25,1) both}
@keyframes peacock-fan-unfurl{0%{transform:rotate(-8deg) scaleX(.14) scaleY(.68)}65%{transform:rotate(3deg) scaleX(1.04) scaleY(1.02)}100%{transform:rotate(-8deg) scaleX(.83) scaleY(.94)}}
@media(prefers-reduced-motion:reduce){.pet[data-fan-phase]:not(.is-alive) .pet__dance-fan{animation:none;transform:none}}

/* Start only once the feathers themselves reach the visible part of the page. */
.pet__fan-trigger{position:absolute;width:2px;height:2px;pointer-events:none}
.pet[data-fan-phase="closed"]:not(.is-alive) .pet__dance-fan{animation:none;transform:rotate(-7deg) scaleX(.035) scaleY(.72)}
.pet[data-fan-phase="opening"]:not(.is-alive) .pet__dance-fan{animation:peacock-fan-unfurl-visible 3.2s cubic-bezier(.4,0,.2,1) both}
@keyframes peacock-fan-unfurl-visible{0%{transform:rotate(-7deg) scaleX(.035) scaleY(.72)}40%{transform:rotate(-3deg) scaleX(.38) scaleY(.85)}85%{transform:rotate(2deg) scaleX(1.02) scaleY(1.01)}100%{transform:rotate(-8deg) scaleX(.83) scaleY(.94)}}
@media(prefers-reduced-motion:reduce){.pet[data-fan-phase]:not(.is-alive) .pet__dance-fan{animation:none;transform:none}}

/* Natural folded tail points down; no upright compressed fan. */
.pet[data-fan-phase="closed"]:not(.is-alive) .pet__dance-fan{visibility:hidden;opacity:0;animation:none;transform:rotate(120deg) scaleX(.12) scaleY(.7)}
.pet[data-fan-phase="closed"]:not(.is-alive) .pet__still{clip-path:none}
.pet[data-fan-phase="closed"]:not(.is-alive) .pet__tail-motion{display:none}
.pet[data-fan-phase="opening"]:not(.is-alive) .pet__dance-fan{visibility:visible;animation:peacock-tail-rise-open 3.2s cubic-bezier(.4,0,.2,1) both}
.pet[data-fan-phase="opening"]:not(.is-alive) .pet__tail-motion{display:block;z-index:0;transform:none;clip-path:polygon(61% 38%,100% 38%,100% 100%,0 100%,0 85%,42% 62%,59% 52%);animation:peacock-folded-tail-away 3.2s linear both}
@keyframes peacock-tail-rise-open{0%{opacity:0;transform:rotate(120deg) scaleX(.12) scaleY(.7)}20%{opacity:.25;transform:rotate(86deg) scaleX(.18) scaleY(.75)}50%{opacity:1;transform:rotate(30deg) scaleX(.52) scaleY(.88)}85%{opacity:1;transform:rotate(2deg) scaleX(1.02) scaleY(1.01)}100%{opacity:1;transform:rotate(-8deg) scaleX(.83) scaleY(.94)}}
@keyframes peacock-folded-tail-away{0%,12%{opacity:1}48%,100%{opacity:0}}
.invite-music-player .invite-music svg{width:21px;height:21px}
@media(prefers-reduced-motion:reduce){.pet[data-fan-phase]:not(.is-alive) .pet__dance-fan{animation:none;visibility:visible;opacity:1;transform:none}.pet[data-fan-phase]:not(.is-alive) .pet__tail-motion{display:none}}

/* Finale motion: gentle, gold-on-blue, in keeping with the festive theme. */
.countdown .jhumars { perspective:700px; }
.countdown .jhumar { transform-origin:50% -14px; animation:jhumar-swing 5.2s ease-in-out infinite alternate; }
.countdown .jhumar:nth-of-type(1){animation-delay:0s}
.countdown .jhumar:nth-of-type(2){animation-delay:-1.3s}
.countdown .jhumar:nth-of-type(3){animation-delay:-2.6s}
.countdown .jhumar:nth-of-type(4){animation-delay:-3.9s}
.countdown .jhumar:last-of-type .jhumar__n { animation:jhumar-tick 1s ease-in-out infinite; }
@keyframes jhumar-swing { from{rotate:-1.3deg} to{rotate:1.3deg} }
@keyframes jhumar-tick { 0%,100%{text-shadow:0 0 0 #d0ad6700} 50%{text-shadow:0 0 14px #d0ad67aa} }
.countdown__when { background:linear-gradient(100deg,#e9cf92 30%,#fff6d8 48%,#e9cf92 66%) 0 0/250% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; animation:gold-sheen 6s ease-in-out infinite; }
@keyframes gold-sheen { 0%,15%{background-position:100% 0} 70%,100%{background-position:0 0} }
.countdown .flourish { animation:flourish-glow 4.5s ease-in-out infinite alternate; }
@keyframes flourish-glow { from{filter:drop-shadow(0 0 0 #e9cf9200);opacity:.8} to{filter:drop-shadow(0 0 6px #e9cf92aa);opacity:1} }
.countdown__foot .countdown__sign { animation:sign-breathe 5s ease-in-out infinite alternate; }
@keyframes sign-breathe { from{opacity:.72;letter-spacing:.01em} to{opacity:1;letter-spacing:.05em} }
.tail__monogram { animation:tail-breathe 6s ease-in-out infinite alternate; }
@keyframes tail-breathe { from{opacity:.8} to{opacity:1} }
@media(prefers-reduced-motion:reduce){.countdown .jhumar,.countdown .jhumar:last-of-type .jhumar__n,.countdown__when,.countdown .flourish,.countdown__foot .countdown__sign,.tail__monogram{animation:none}.countdown__when{background:none;-webkit-text-fill-color:currentColor;color:#e9cf92}}
/* Devanagari must not be letter-spaced: it breaks matras and conjuncts. */
.hero__body>.t-label{letter-spacing:0;word-spacing:.18em;margin-inline-end:0}
