/* Seasonal layer for index.html and index-diwali.html. No shared theme selectors. */
@font-face {
  font-family: "NK Diwali Script";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../diwali/great-vibes-greeting.woff2") format("woff2");
  unicode-range: U+20, U+44, U+48, U+61, U+69, U+6c, U+70, U+77, U+79;
}
.nk-diwali-scroll-locked { overflow: hidden !important; scrollbar-gutter: stable; }
.nk-diwali-cookie-deferred .nv-cookie { visibility: hidden !important; pointer-events: none !important; }
.nk-diwali-overlay {
  --nk-diwali-ink: #032d25;
  --nk-diwali-beige: #f8ecdd;
  --nk-diwali-gold: #d3b184;
  --nk-diwali-champagne: #ead7b7;
  --nk-diwali-rose-champagne: #b97873;
  --nk-diwali-emerald: #006b50;
  position: fixed;
  inset: 0;
  z-index: 10020; /* Above navigation; below the cookie banner (10040/10060). */
  display: grid;
  place-items: center;
  overflow: hidden;
  box-sizing: border-box;
  padding: max(72px, env(safe-area-inset-top)) 28px max(110px, env(safe-area-inset-bottom));
  background-color: var(--nk-diwali-beige);
  background-image: linear-gradient(rgba(248, 236, 221, .32), rgba(248, 236, 221, .46)), url("https://static.vecteezy.com/system/resources/thumbnails/054/133/837/small/simple-beige-luxury-wave-background-with-gold-lines-abstract-gradient-wallpapers-free-vector.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: var(--nk-diwali-ink);
  font-family: var(--font_montserrat, "Montserrat", sans-serif);
  opacity: 0;
  transition: opacity .4s ease;
  touch-action: none;
  isolation: isolate;
}
.nk-diwali-overlay.nk-diwali-visible { opacity: 1; }
.nk-diwali-overlay.nk-diwali-closing { opacity: 0; pointer-events: none; }
.nk-diwali-overlay::before {
  position: absolute;
  inset: 18% 8%;
  z-index: -1;
  background: radial-gradient(ellipse, rgba(255, 252, 246, .7), transparent 70%);
  content: "";
  pointer-events: none;
}
.nk-diwali-canvas { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; pointer-events: none; }
.nk-diwali-overlay .nk-diwali-skip {
  position: absolute;
  top: max(20px, env(safe-area-inset-top));
  right: max(24px, env(safe-area-inset-right));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  min-height: 44px;
  margin: 0;
  padding: 10px 15px;
  border: 1px solid rgba(128, 96, 56, .4);
  border-radius: 2px;
  background: transparent;
  color: var(--nk-diwali-ink);
  font: 500 12px/1.5 var(--font_montserrat, "Montserrat", sans-serif);
  letter-spacing: .04em;
  cursor: pointer;
}
.nk-diwali-overlay .nk-diwali-skip:hover { background: rgba(211, 177, 132, .1); border-color: var(--nk-diwali-gold); }
.nk-diwali-skip:focus-visible { outline: 2px solid var(--nk-diwali-ink); outline-offset: 4px; }
.nk-diwali-greeting {
  position: relative;
  width: min(100%, 600px);
  margin-top: 20px;
  text-align: center;
  opacity: 0;
  animation: nk-diwali-greeting-in 1.2s cubic-bezier(.2, .7, .2, 1) 2s both;
}
.nk-diwali-logo { display: block; width: clamp(220px, 22vw, 280px); max-width: 80%; height: auto; margin: 0 auto 30px; }
.nk-diwali-greeting .nk-diwali-heading {
  margin: 0;
  color: var(--nk-diwali-champagne);
  background: linear-gradient(180deg, #dca83e 0%, #a96f16 48%, #81500d 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "NK Diwali Script", "Brush Script MT", cursive;
  font-size: clamp(56px, 8vw, 108px);
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  white-space: nowrap;
  text-shadow: 0 1px 0 rgba(255, 224, 153, .8), 0 2px 0 rgba(112, 66, 8, .45), 0 5px 10px rgba(70, 42, 12, .25);
}
.nk-diwali-divider { display: block; width: 54px; height: 1px; margin: 27px auto 24px; background: var(--nk-diwali-gold); opacity: .65; }
.nk-diwali-greeting .nk-diwali-wish { max-width: 37ch; margin: 0 auto; color: var(--nk-diwali-emerald); font-size: 14px; font-weight: 400; line-height: 1.9; letter-spacing: .025em; }
.nk-diwali-lamp {
  position: absolute;
  bottom: max(9%, calc(32px + env(safe-area-inset-bottom)));
  left: 50%;
  width: 96px;
  height: 80px;
  margin-left: -48px;
  color: #ad762c;
  opacity: 0;
  animation: nk-diwali-lamp-in 1s ease .4s both;
  pointer-events: none;
}
.nk-diwali-lamp::before { position: absolute; inset: -40px -35px -22px; border-radius: 50%; background: radial-gradient(ellipse, rgba(211, 177, 132, .14), transparent 65%); content: ""; animation: nk-diwali-glow 3.1s ease-in-out infinite alternate; }
.nk-diwali-lamp svg { position: relative; display: block; width: 100%; height: 100%; overflow: visible; }
.nk-diwali-flame { transform-origin: 48px 43px; animation: nk-diwali-flame 2.7s ease-in-out infinite alternate; }
.nk-diwali-paused .nk-diwali-greeting, .nk-diwali-paused .nk-diwali-lamp, .nk-diwali-paused .nk-diwali-flame, .nk-diwali-paused .nk-diwali-lamp::before { animation-play-state: paused; }
.nk-diwali-hero-lights { position: absolute; inset: 0; z-index: 4; overflow: hidden; pointer-events: none; contain: strict; }
.nk-diwali-light { position: absolute; left: var(--nk-diwali-x); bottom: -12px; width: var(--nk-diwali-size); height: var(--nk-diwali-size); border-radius: 50%; background: #d3b184; box-shadow: 0 0 14px 4px rgba(211, 177, 132, .15); opacity: 0; animation: nk-diwali-drift var(--nk-diwali-duration) linear var(--nk-diwali-delay) infinite; }
.nk-diwali-icon-flame { transform-box: fill-box; transform-origin: 50% 100%; filter: drop-shadow(0 0 1px currentColor); animation: nk-diwali-icon-flicker 2.3s ease-in-out var(--nk-diwali-flicker-delay, 0s) infinite; }
.nk-diwali-icon-glow { opacity: .14; filter: blur(.6px); animation: nk-diwali-icon-glow 2.9s ease-in-out var(--nk-diwali-flicker-delay, 0s) infinite; }
.nk-diwali-relative { position: relative; }
.nk-diwali-header-line { position: absolute; inset: 0 0 auto; z-index: 2; height: 1px; background: linear-gradient(90deg, transparent, #d3b184 18%, #ead7b7 50%, #d3b184 82%, transparent); opacity: .65; pointer-events: none; }
.nk-diwali-header-line::after { position: absolute; top: -1px; left: 17%; width: 3px; height: 3px; border-radius: 50%; background: #ead7b7; box-shadow: 32vw 0 0 #d3b184, 64vw 0 0 #ead7b7; content: ""; }
.nk-diwali-cta:hover, .nk-diwali-cta:focus-visible { box-shadow: 0 0 0 1px rgba(211, 177, 132, .12), 0 0 22px rgba(211, 177, 132, .22) !important; }
.nk-diwali-page-greeting { display: none; }
@media (prefers-reduced-motion: no-preference) {
/* Match the original hero's content gutter. Everything stays out of flow. */
.nk-diwali-page-greeting { display: flex; align-items: center; gap: 16px; position: absolute; top: clamp(32px, 6vw, 76px); left: max(clamp(24px, 4.3vw, 62px), env(safe-area-inset-left, 0px)); z-index: 4; max-width: calc(100% - 48px); padding: 0; border: 0; background: transparent; color: #f8ecdd; text-align: left; text-shadow: 0 1px 8px rgba(0, 0, 0, .65); pointer-events: none; transition: opacity .45s ease; }
.nk-diwali-page-greeting.nk-diwali-page-leaving { opacity: 0; }
.nk-diwali-page-emblem { display: block; flex: 0 0 auto; width: 60px; height: 50px; color: #d3b184; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .5)); }
.nk-diwali-page-emblem path { vector-effect: non-scaling-stroke; }
.nk-diwali-page-greeting .nk-diwali-page-title { margin: 0; color: #f8ecdd; font: 400 clamp(40px, 4vw, 54px)/1.2 "NK Diwali Script", "Brush Script MT", cursive; letter-spacing: 0; white-space: nowrap; }
.nk-diwali-page-greeting .nk-diwali-page-wish { margin: 8px 0 0; color: #f8ecdd; font: 400 11px/1.6 var(--font_montserrat, "Montserrat", sans-serif); letter-spacing: .025em; }
}
.nk-diwali-overlay.nk-diwali-reduced { transition-duration: .18s; }
.nk-diwali-reduced .nk-diwali-greeting { animation: nk-diwali-static-in .35s ease .1s both; }
.nk-diwali-reduced .nk-diwali-lamp { opacity: .8; animation: none; }
.nk-diwali-reduced .nk-diwali-lamp::before, .nk-diwali-reduced .nk-diwali-flame { animation: none; }
@keyframes nk-diwali-greeting-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes nk-diwali-static-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes nk-diwali-lamp-in { from { opacity: 0; } to { opacity: .9; } }
@keyframes nk-diwali-glow { from { opacity: .65; } to { opacity: .95; } }
@keyframes nk-diwali-flame { from { opacity: .72; transform: scaleX(.95) rotate(-1deg); } to { opacity: .96; transform: scaleX(1.03) rotate(1deg); } }
@keyframes nk-diwali-icon-flicker { 0%, 100% { opacity: .85; transform: scale(.94, 1) rotate(-2deg); } 32% { opacity: 1; transform: scale(1.04, 1.12) rotate(2deg); } 58% { opacity: .76; transform: scale(.9, .94) rotate(-3deg); } 79% { opacity: .96; transform: scale(1, 1.07) rotate(1deg); } }
@keyframes nk-diwali-icon-glow { 0%, 100% { opacity: .1; } 46% { opacity: .24; } 74% { opacity: .13; } }
@keyframes nk-diwali-drift { 0% { opacity: 0; transform: translate3d(0, 0, 0); } 20% { opacity: .24; } 75% { opacity: .14; } 100% { opacity: 0; transform: translate3d(22px, -280px, 0); } }
@media (prefers-reduced-motion: no-preference) and (max-width: 767px) {
  .nk-diwali-page-greeting { top: 32px; gap: 10px; }
  .nk-diwali-page-emblem { width: 44px; height: 37px; }
  .nk-diwali-page-greeting .nk-diwali-page-title { font-size: 38px; }
  .nk-diwali-page-greeting .nk-diwali-page-wish { font-size: 10px; }
}
@media (max-width: 991px) {
  .nk-diwali-page-greeting { left: max(24px, env(safe-area-inset-left, 0px)); }
}
@media (max-width: 767px) {
  .nk-diwali-hero-lights { opacity: .65; }
  .nk-diwali-light:nth-child(n + 4) { display: none; }
  .nk-diwali-overlay { padding: 70px 24px 110px; }
  .nk-diwali-logo { width: 220px; margin-bottom: 25px; }
  .nk-diwali-greeting .nk-diwali-heading { font-size: clamp(46px, 15vw, 82px); }
  .nk-diwali-greeting .nk-diwali-wish { max-width: 30ch; font-size: 12px; line-height: 1.9; }
  .nk-diwali-divider { margin: 23px auto 20px; }
  .nk-diwali-lamp { bottom: max(7%, calc(24px + env(safe-area-inset-bottom))); width: 80px; height: 67px; margin-left: -40px; }
}
@media (max-height: 520px) {
  .nk-diwali-overlay { padding: 55px 24px 65px; }
  .nk-diwali-greeting { margin-top: 0; }
  .nk-diwali-logo { width: 180px; margin-bottom: 12px; }
  .nk-diwali-greeting .nk-diwali-heading { font-size: clamp(46px, 7vw, 56px); }
  .nk-diwali-divider { margin: 12px auto; }
  .nk-diwali-lamp { bottom: 8px; width: 54px; height: 45px; margin-left: -27px; }
}
@media (prefers-reduced-motion: reduce) {
  .nk-diwali-icon-flame, .nk-diwali-icon-glow { animation: none; filter: none; }
  .nk-diwali-icon-flame { opacity: 1; }
  .nk-diwali-hero-lights, .nk-diwali-header-line { display: none; }
  .nk-diwali-cta:hover, .nk-diwali-cta:focus-visible { box-shadow: none !important; }
  .nk-diwali-greeting { animation: nk-diwali-static-in .35s ease .1s both; }
  .nk-diwali-lamp { opacity: .8; animation: none; }
  .nk-diwali-lamp::before, .nk-diwali-flame { animation: none; }
}
