/* K&S wedding invitation — typography, optical centering and gentle logo motion.
   Loaded after the visual theme so the rules below form the final type system. */
:root {
  --display-font: "Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --ui-font: "DM Sans", "Avenir Next", "Segoe UI", sans-serif;
  --tamil-font: "Noto Serif Tamil", "Tamil Sangam MN", serif;
  --tamil-ui-font: "Noto Sans Tamil", "Tamil Sangam MN", sans-serif;
}
html { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body { font-family: var(--ui-font); }
h1, h2, em, .couple-joiner { font-style: normal !important; }

/* Hero: a stable vertical centerline, with generous spacing around the monogram. */
.hero { text-align: center; }
.hero-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(920px, 100%);
  margin-inline: auto;
  text-align: center;
}
.hero .eyebrow {
  max-width: 100%;
  margin-inline: auto;
  font: 500 clamp(10px, 1.05vw, 12px)/1.6 var(--ui-font);
  letter-spacing: .22em;
}
.hero .ornament { width: 100%; justify-content: center; }
.hero-monogram { display: block; margin-left: auto; margin-right: auto; }
.hero .couple-names {
  width: 100%;
  justify-content: center;
  align-items: center;
  text-align: center;
  font: 500 clamp(19px, 2vw, 28px)/1.35 var(--display-font);
  letter-spacing: .13em;
}
.hero .couple-names .couple-joiner {
  font: 500 clamp(16px, 1.5vw, 21px)/1.2 var(--display-font);
  letter-spacing: 0;
}
.hero-message {
  width: min(100%, 620px);
  margin-inline: auto;
  font: 400 clamp(16px, 1.3vw, 18px)/1.8 var(--ui-font);
  letter-spacing: .005em;
  text-align: center;
}
.hero .scroll-link { align-items: center; font: 500 11px/1.5 var(--ui-font); letter-spacing: .12em; }

/* Ceremonies: identical hierarchy, centered content and legible small text. */
.welcome { text-align: center; }
.welcome h2 {
  max-width: 100%;
  margin-inline: auto;
  color: #f0d3a0;
  text-align: center;
  font: 500 clamp(51px, 5.4vw, 78px)/.98 var(--display-font);
  letter-spacing: -.02em;
}
.event-schedule { margin-inline: auto; justify-content: center; }
.schedule-event, .schedule-event + .schedule-event { align-items: center; text-align: center; }
.schedule-event .event-name {
  margin-inline: auto;
  font: 500 clamp(29px, 3.1vw, 40px)/1.08 var(--display-font);
  text-align: center;
}
.schedule-event .event-meta {
  max-width: 100%;
  margin-inline: auto;
  font: 500 clamp(12px, 1.05vw, 13px)/1.8 var(--ui-font);
  letter-spacing: .025em;
  text-align: center;
  text-transform: none;
}
.schedule-event .event-venue:not(.event-venue--compact) {
  width: 100%;
  margin-inline: auto;
  font: 500 clamp(17px, 1.7vw, 21px)/1.45 var(--display-font);
  text-align: center;
}
.schedule-event .event-venue--compact {
  max-width: 100%;
  margin-inline: auto;
  font: 400 13px/1.6 var(--ui-font);
  letter-spacing: .015em;
  text-align: center;
}
.schedule-event .directions-link {
  margin-inline: auto;
  font: 500 11.5px/1.45 var(--ui-font);
  letter-spacing: .065em;
}
.muhurtham-countdown { margin-left: auto; margin-right: auto; text-align: center; }
.countdown-eyebrow { text-align: center; font: 500 clamp(29px, 3vw, 40px)/1.15 var(--display-font); }
.countdown-unit strong { font: 500 clamp(34px, 4vw, 52px)/1 var(--display-font); font-variant-numeric: tabular-nums; }
.countdown-unit span, .countdown-date { font-family: var(--ui-font); font-size: 10px; font-weight: 500; letter-spacing: .085em; }

/* Story: intentional editorial left alignment on wide screens; centered on mobile. */
.story-composition { margin-inline: auto; align-items: center; }
.story-editorial-header { width: 100%; }
.story-editorial-header h2 {
  font: 500 clamp(45px, 4.7vw, 66px)/1.05 var(--display-font);
  letter-spacing: -.025em;
}
.story-intro {
  font: 400 clamp(16px, 1.3vw, 18px)/1.85 var(--ui-font);
  letter-spacing: 0;
}

/* Closing: one optical axis shared by ornament, heading, rule and names. */
.invitation-closing { text-align: center; }
.invitation-closing > * { margin-left: auto; margin-right: auto; }
.invitation-closing h2 {
  width: min(100%, 810px);
  margin-inline: auto;
  font: 500 clamp(49px, 5vw, 70px)/1.06 var(--display-font);
  letter-spacing: -.02em;
  text-align: center;
}
.invitation-closing .closing-rule { margin-left: auto; margin-right: auto; }
.invitation-closing .closing-names {
  margin-inline: auto;
  font: 500 clamp(23px, 2.3vw, 31px)/1.3 var(--display-font);
  letter-spacing: .015em;
  text-align: center;
}
footer { text-align: center; }
footer .footer-mark { margin-left: auto; margin-right: auto; }

/* Tamil typography has a separate consistent script-aware hierarchy. */
html[lang="ta"] body, html[lang="ta"] .hero-message,
html[lang="ta"] .story-intro, html[lang="ta"] .event-meta,
html[lang="ta"] .event-venue--compact, html[lang="ta"] .directions-link,
html[lang="ta"] .eyebrow, html[lang="ta"] .hero .eyebrow,
html[lang="ta"] .scroll-link, html[lang="ta"] nav a,
html[lang="ta"] .language-toggle, html[lang="ta"] .countdown-unit span,
html[lang="ta"] .countdown-date {
  font-family: var(--tamil-ui-font);
  letter-spacing: 0;
  text-transform: none;
}
html[lang="ta"] .hero .couple-names,
html[lang="ta"] .hero .couple-names .couple-joiner,
html[lang="ta"] .welcome h2, html[lang="ta"] .schedule-event .event-name,
html[lang="ta"] .schedule-event .event-venue:not(.event-venue--compact),
html[lang="ta"] .countdown-eyebrow, html[lang="ta"] .story-editorial-header h2,
html[lang="ta"] .invitation-closing h2, html[lang="ta"] .closing-names {
  font-family: var(--tamil-font);
  letter-spacing: 0;
  text-transform: none;
  font-style: normal;
}
html[lang="ta"] .hero .couple-names { font-size: clamp(19px, 2.1vw, 26px); line-height: 1.7; }
html[lang="ta"] .hero .couple-names .couple-joiner { font-size: clamp(15px, 1.4vw, 19px); }
html[lang="ta"] .welcome h2 { font-size: clamp(36px, 4vw, 60px); line-height: 1.4; }
html[lang="ta"] .schedule-event .event-name { font-size: clamp(22px, 2.4vw, 30px); line-height: 1.5; }
html[lang="ta"] .schedule-event .event-meta { font-size: 13px; line-height: 1.8; }
html[lang="ta"] .schedule-event .event-venue:not(.event-venue--compact) { font-size: clamp(15px, 1.5vw, 19px); line-height: 1.7; }
html[lang="ta"] .story-editorial-header h2 { font-size: clamp(33px, 3.6vw, 51px); line-height: 1.4; }
html[lang="ta"] .invitation-closing h2 { font-size: clamp(32px, 4vw, 54px); line-height: 1.4; }
html[lang="ta"] .closing-names { font-size: clamp(19px, 2.1vw, 27px); line-height: 1.7; }

/* Only the floral gold treatment glows: no rotation, motion blur or layout shift. */
@keyframes ksMonogramGlow {
  0%, 100% { filter: drop-shadow(0 1px 0 rgba(255,244,215,.28)) drop-shadow(0 0 6px rgba(210,166,94,.12)); }
  50% { filter: drop-shadow(0 1px 0 rgba(255,244,215,.32)) drop-shadow(0 0 17px rgba(245,201,130,.28)); }
}
@keyframes ksFooterGlow {
  0%, 100% { filter: drop-shadow(0 0 3px rgba(220,174,101,.12)); }
  50% { filter: drop-shadow(0 0 11px rgba(220,174,101,.3)); }
}
.hero-monogram { animation: ksMonogramGlow 10s ease-in-out infinite; }
.footer-mark { animation: ksFooterGlow 12s ease-in-out infinite; }
.brand-mark { transition: filter .55s ease, transform .55s ease; }
.brand:hover .brand-mark, .brand:focus-visible .brand-mark {
  transform: translateY(-1px) scale(1.015);
  filter: drop-shadow(0 0 10px rgba(245,201,130,.3));
}
@media (prefers-reduced-motion: reduce) {
  .hero-monogram, .footer-mark { animation: none !important; }
  .brand-mark { transition: none !important; }
}

@media (max-width: 900px) {
  .story-editorial-header { text-align: center; }
  .story-editorial-header h2 { text-align: center; }
  .story-editorial-header::after { margin-left: auto; margin-right: auto; }
  .story-intro { margin-left: auto; margin-right: auto; text-align: center; }
}
@media (max-width: 760px) {
  .hero .couple-names { flex-direction: column; gap: 5px; font-size: clamp(19px, 5vw, 23px); }
  .hero .couple-names .couple-joiner { font-size: 17px; }
  .hero-message { font-size: 16px; line-height: 1.75; }
  .welcome h2 { font-size: clamp(49px, 11.5vw, 69px); }
  .schedule-event .event-meta { font-size: 12.5px; }
  .schedule-event .event-venue:not(.event-venue--compact) { font-size: 19px; }
  .countdown-unit strong { font-size: clamp(31px, 8vw, 40px); }
  .countdown-unit span { font-size: 9px; letter-spacing: .02em; }
  .story-editorial-header h2 { font-size: clamp(42px, 11vw, 58px); }
  .story-intro { font-size: 16px; line-height: 1.8; }
  .invitation-closing h2 { font-size: clamp(47px, 11vw, 63px); }
  .invitation-closing .closing-names { font-size: clamp(25px, 6.5vw, 32px); }
  html[lang="ta"] .hero .couple-names { font-size: clamp(19px, 5vw, 23px); }
  html[lang="ta"] .welcome h2 { font-size: clamp(35px, 9vw, 49px); }
  html[lang="ta"] .story-editorial-header h2 { font-size: clamp(31px, 8.5vw, 42px); }
  html[lang="ta"] .invitation-closing h2 { font-size: clamp(31px, 8.5vw, 43px); }
  html[lang="ta"] .closing-names { font-size: clamp(19px, 5.4vw, 26px); }
}

/* Wedding enhancements: live-stream availability, ceremonial countdown, compact finale. */
.schedule-event .ceremony-actions {
  width: 100%;
  margin-top: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 11px;
}
.schedule-event .ceremony-actions .directions-link { margin: 0 auto; }
.live-link-pending {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 100%;
  padding: 5px 11px;
  border: 1px dashed rgba(232,190,126,.40);
  border-radius: 999px;
  color: #e4c49c;
  background: rgba(24,7,14,.20);
  font: 500 11px/1.5 var(--ui-font);
  letter-spacing: .025em;
  text-align: center;
}
.live-link-pending::before {
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  flex: none;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .75;
}
html[lang='ta'] .live-link-pending {
  font-family: var(--tamil-ui-font);
  letter-spacing: 0;
  line-height: 1.7;
}

/* The dial tracks the seconds within each minute while digits turn gently. */
.muhurtham-countdown {
  overflow: hidden;
  padding: clamp(28px,3vw,40px) clamp(14px,3vw,35px) clamp(32px,3.2vw,43px);
  background:
    radial-gradient(ellipse 60% 65% at 50% 3%, rgba(153,50,70,.40), transparent 86%),
    radial-gradient(ellipse 37% 60% at 92% 100%, rgba(226,174,94,.065), transparent 92%),
    rgba(26,6,13,.53);
  box-shadow: inset 0 0 0 5px rgba(229,181,115,.03), 0 20px 55px rgba(15,2,8,.24);
}
.muhurtham-countdown .countdown-ornament {
  --ring-progress: 0%;
  position: relative;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin: 0 auto 13px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(226,176,110,.075) 0 56%, transparent 69%);
}
.muhurtham-countdown .countdown-ornament::before {
  content: '';
  position: absolute;
  inset: 1px;
  border-radius: 50%;
  background: conic-gradient(from -90deg, rgba(245,207,142,.95) var(--ring-progress), rgba(229,181,115,.20) 0);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1.5px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1.5px));
}
.muhurtham-countdown .countdown-ornament::after {
  content: '';
  position: absolute;
  inset: 11px;
  border: 1px solid rgba(229,181,115,.22);
  border-radius: 50%;
}
.muhurtham-countdown .countdown-ornament span { display: none; }
.muhurtham-countdown .countdown-ornament b {
  position: relative;
  z-index: 1;
  display: block;
  color: #f3d19a;
  font: 400 20px/1 Georgia,serif;
  filter: drop-shadow(0 0 9px rgba(242,192,115,.30));
  animation: countdownStarBreath 8s ease-in-out infinite;
}
.muhurtham-countdown .countdown-eyebrow {
  margin: 0 auto;
  font-size: clamp(30px,3.1vw,43px);
  line-height: 1.15;
}
.muhurtham-countdown .countdown-values { margin-top: 27px; }
.muhurtham-countdown .countdown-unit {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-width: 0;
  border-color: rgba(231,185,115,.46);
  background: linear-gradient(156deg,rgba(109,28,46,.49),rgba(37,7,19,.45) 60%,rgba(72,15,30,.23));
  box-shadow: inset 0 1px 0 rgba(255,234,194,.06), 0 8px 24px rgba(12,0,6,.12);
  transition: border-color .5s, box-shadow .5s, transform .5s;
}
.muhurtham-countdown .countdown-unit::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background: linear-gradient(117deg,transparent 31%,rgba(255,222,168,.065) 49%,transparent 67%);
}
.muhurtham-countdown .countdown-unit strong {
  display: block;
  color: #ffe6bb;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 18px rgba(255,206,144,.13);
  will-change: transform;
}
.muhurtham-countdown .countdown-unit:last-child {
  border-color: rgba(243,201,133,.68);
  box-shadow: inset 0 1px 0 rgba(255,234,194,.07), 0 0 21px rgba(226,168,95,.08);
}
.muhurtham-countdown .countdown-unit.countdown-tick strong {
  animation: countdownDigitLift .47s cubic-bezier(.17,.67,.24,1.02) both;
}
.muhurtham-countdown .countdown-unit.countdown-tick {
  animation: countdownCardFlash .55s ease-out;
}
@keyframes countdownDigitLift {
  0% { opacity: .55; transform: translateY(6px); filter: blur(1px); }
  100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}
@keyframes countdownCardFlash {
  0% { border-color: rgba(255,227,174,.82); }
  100% { border-color: rgba(231,185,115,.46); }
}
@keyframes countdownStarBreath {
  0%,100% { opacity: .78; transform: scale(.95); }
  50% { opacity: 1; transform: scale(1.08); }
}

/* The finale should feel like a signature, not another full-height section. */
.invitation-closing {
  padding: clamp(35px,3.8vw,62px) 22px clamp(31px,3.5vw,54px);
  min-height: 0;
}
.invitation-closing .closing-ornament {
  font-size: 20px;
  line-height: 1;
  margin-bottom: 10px;
}
.invitation-closing h2 {
  max-width: 800px;
  margin-bottom: 0;
  font-size: clamp(40px,4.2vw,60px);
  line-height: 1.12;
}
.invitation-closing .closing-rule {
  width: min(150px,35vw);
  margin: 15px auto 10px;
}
.invitation-closing .closing-names {
  font-size: clamp(21px,2vw,28px);
  line-height: 1.35;
}
footer {
  min-height: 0;
  padding: 11px 20px 14px;
  border: 0;
}
footer .footer-mark { width: 78px; margin: 0 auto; }
@media(max-width:900px) {
  .schedule-event .ceremony-actions { margin-top: 22px; }
}
@media(max-width:760px) {
  .schedule-event .ceremony-actions { gap: 10px; }
  .live-link-pending { font-size: 11px; }
  .muhurtham-countdown .countdown-ornament { width: 56px; height: 56px; margin-bottom: 10px; }
  .muhurtham-countdown .countdown-eyebrow { font-size: clamp(26px,7.2vw,34px); }
  .muhurtham-countdown .countdown-values { margin-top: 22px; }
  .invitation-closing { padding: 38px 18px 34px; }
  .invitation-closing h2 { font-size: clamp(37px,10vw,50px); }
  .invitation-closing .closing-names { font-size: clamp(20px,5.8vw,25px); }
  footer { padding: 8px 20px 12px; }
  footer .footer-mark { width: 67px; }
}
@media(prefers-reduced-motion:reduce) {
  .muhurtham-countdown .countdown-ornament b,
  .muhurtham-countdown .countdown-unit.countdown-tick,
  .muhurtham-countdown .countdown-unit.countdown-tick strong { animation: none !important; }
  .muhurtham-countdown .countdown-unit { transition: none !important; }
}
/* Keep the longer Tamil sign-off as compact as the English version. */
html[lang='ta'] .invitation-closing h2 {
  font-size: clamp(30px, 3.4vw, 47px);
  line-height: 1.3;
}

/* Refined final sign-off: one continuous, centered finish rather than a second framed hero. */
.invitation-closing {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: clamp(48px, 4.8vw, 72px) 22px clamp(54px, 5vw, 76px);
  border: 0;
  background:
    radial-gradient(ellipse 54% 80% at 50% 0%, rgba(104,28,45,.19), transparent 90%),
    linear-gradient(180deg, #2a0a15 0%, #210911 100%);
  text-align: center;
}
.invitation-closing::before,
.invitation-closing::after {
  content: none !important;
  display: none !important;
}
.invitation-closing .closing-rule {
  order: 0;
  width: 70px;
  height: 1px;
  margin: 0 auto 22px;
  background: linear-gradient(90deg, transparent, rgba(234,192,125,.85), transparent);
}
.invitation-closing h2 {
  order: 1;
  display: block;
  width: 100%;
  max-width: 780px;
  margin: 0 auto 10px;
  color: #f3dab1;
  font-family: var(--display-font);
  font-size: clamp(36px, 3.25vw, 52px);
  font-weight: 500;
  font-style: normal;
  line-height: 1.14;
  letter-spacing: -.012em;
  text-align: center;
}
.invitation-closing .closing-names {
  order: 2;
  width: 100%;
  margin: 0 auto;
  color: #edcfb1;
  font-family: var(--display-font);
  font-size: clamp(20px, 1.7vw, 27px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: .01em;
  text-align: center;
}
html[lang="ta"] .invitation-closing h2 {
  font-family: var(--tamil-font);
  font-size: clamp(29px, 3vw, 43px);
  line-height: 1.5;
  letter-spacing: 0;
}
html[lang="ta"] .invitation-closing .closing-names {
  font-family: var(--tamil-font);
  font-size: clamp(19px, 1.6vw, 25px);
  line-height: 1.55;
  letter-spacing: 0;
}
@media (max-width: 760px) {
  .invitation-closing { padding: 49px 20px 58px; }
  .invitation-closing h2 { font-size: clamp(34px, 8.3vw, 44px); }
  .invitation-closing .closing-names { font-size: clamp(20px, 5.5vw, 26px); }
  html[lang="ta"] .invitation-closing h2 { font-size: clamp(27px, 7.4vw, 37px); }
  html[lang="ta"] .invitation-closing .closing-names { font-size: clamp(18px, 5vw, 24px); }
}

/* Final celebration: warm, welcoming and light rather than a solemn farewell. */
.invitation-closing {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: clamp(58px, 5.5vw, 84px) 20px clamp(62px, 6vw, 90px);
  overflow: hidden;
  border: 0;
  background:
    radial-gradient(ellipse 55% 70% at 50% 48%, rgba(164,45,72,.35), transparent 81%),
    radial-gradient(circle at 16% 77%, rgba(237,177,98,.085), transparent 28%),
    radial-gradient(circle at 83% 22%, rgba(239,181,99,.10), transparent 25%),
    linear-gradient(180deg,#300b18 0%,#421023 52%,#250913 100%);
  text-align: center;
}
.invitation-closing::before,
.invitation-closing::after { content: none !important; display: none !important; }
.invitation-closing .closing-celebration {
  order: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  margin: 0 auto 18px;
  color: #f5cb8a;
  font: 500 20px/1 Georgia, serif;
}
.closing-celebration span:first-child,
.closing-celebration span:last-child { font-size: 14px; opacity: .7; }
.closing-celebration span:nth-child(2) {
  font-size: 27px;
  filter: drop-shadow(0 0 8px rgba(250,196,109,.25));
}
.invitation-closing h2 {
  order: 1;
  width: 100%;
  max-width: 900px;
  margin: 0 auto 12px;
  color: #ffe3b8;
  font: 500 clamp(39px,4.2vw,64px)/1.08 var(--display-font);
  font-style: normal;
  letter-spacing: -.014em;
  text-align: center;
}
.invitation-closing .closing-signoff {
  order: 2;
  margin: 3px auto 3px;
  color: #e6c199;
  font: 500 11px/1.6 var(--ui-font);
  letter-spacing: .18em;
  text-transform: uppercase;
  text-align: center;
}
.invitation-closing .closing-names {
  order: 3;
  width: 100%;
  margin: 0 auto;
  color: #f7daba;
  font: 500 clamp(22px,2vw,30px)/1.35 var(--display-font);
  letter-spacing: .015em;
  text-align: center;
}
html[lang="ta"] .invitation-closing h2 {
  font-family: var(--tamil-font);
  font-size: clamp(30px,3.3vw,44px);
  line-height: 1.5;
  letter-spacing: 0;
}
html[lang="ta"] .invitation-closing .closing-signoff {
  font-family: var(--tamil-ui-font);
  letter-spacing: 0;
  text-transform: none;
  font-size: 12px;
}
html[lang="ta"] .invitation-closing .closing-names {
  font-family: var(--tamil-font);
  font-size: clamp(20px,1.75vw,26px);
  line-height: 1.6;
  letter-spacing: 0;
}
@keyframes closingTwinkle {
  0%,100% { opacity: .6; transform: scale(.94); }
  50% { opacity: 1; transform: scale(1.08); }
}
.closing-celebration span:nth-child(2) { animation: closingTwinkle 6s ease-in-out infinite; }
@media(max-width:760px) {
  .invitation-closing { padding: 54px 18px 60px; }
  .invitation-closing h2 { font-size: clamp(37px,9.2vw,48px); line-height: 1.1; }
  .invitation-closing .closing-names { font-size: clamp(22px,5.7vw,27px); }
  html[lang="ta"] .invitation-closing h2 { font-size: clamp(27px,7vw,35px); line-height: 1.5; }
  html[lang="ta"] .invitation-closing .closing-names { font-size: clamp(19px,5vw,24px); }
}
@media(prefers-reduced-motion:reduce) {
  .closing-celebration span:nth-child(2) { animation: none; }
}


/* Elegant ceremonial illumination — warm light, not flashing neon. */
.schedule-event .event-icon {
  color: #f6d79f;
  stroke-width: 1.8;
  filter: drop-shadow(0 0 3px rgba(248,206,136,.48))
          drop-shadow(0 0 11px rgba(234,167,83,.24));
  animation: ceremonyIconGlow 11s ease-in-out infinite;
  transform-origin: center;
}
.schedule-event:nth-child(2) .event-icon { animation-delay: -3.7s; }
.schedule-event:nth-child(3) .event-icon { animation-delay: -7.4s; }
@keyframes ceremonyIconGlow {
  0%, 100% {
    filter: drop-shadow(0 0 3px rgba(248,206,136,.46))
            drop-shadow(0 0 10px rgba(234,167,83,.22));
  }
  50% {
    filter: drop-shadow(0 0 5px rgba(255,225,169,.72))
            drop-shadow(0 0 16px rgba(235,176,99,.34));
  }
}
.schedule-event .event-venue:not(.event-venue--compact)::before,
.welcome::before {
  color: #f5d294;
  text-shadow: 0 0 7px rgba(250,203,131,.52),
               0 0 16px rgba(238,173,86,.24);
}
.hero .ornament, .countdown-ornament b,
.closing-celebration span {
  text-shadow: 0 0 7px rgba(250,203,131,.46);
}

/* Livestream notice: secondary information, never an inactive-looking button. */
.schedule-event .ceremony-actions { gap: 10px; }
.schedule-event .live-link-pending {
  display: block;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #cfae98;
  font: 400 11px/1.55 var(--ui-font);
  letter-spacing: .015em;
  text-align: center;
  cursor: default;
}
.schedule-event .live-link-pending::before { content: none; display: none; }
html[lang="ta"] .schedule-event .live-link-pending {
  font-family: var(--tamil-ui-font);
  font-size: 11px;
  line-height: 1.7;
  letter-spacing: 0;
}
@media (prefers-reduced-motion: reduce) {
  .schedule-event .event-icon { animation: none; }
}
