/* Script faces are self-hosted in greeting-fonts.css. This screen never waits
   for a font download; the family stacks preserve readable native glyphs. */
.greeting-loader, .greeting-loader * { box-sizing:border-box; }
.greeting-loader {
  position:fixed; inset:0; z-index:1000; display:grid; place-items:center;
  min-width:0; min-height:100dvh; padding:24px; background:#ded0e8; color:#4c3559;
  font-family:var(--font-body,Satoshi),sans-serif; opacity:1;
}
.greeting-loader[hidden] { display:none!important; }
.greeting-loader[data-state=ready] { opacity:0; pointer-events:none; }
.greeting-loader-composition { width:min(100%,980px); text-align:center; }
.greeting-loader-greeting { width:100%; }
.greeting-loader-stage { position:relative; display:grid; place-items:center; grid-template-columns:minmax(0,1fr); min-width:0; width:100%; height:clamp(190px,24vw,280px); padding:20px 0; overflow:visible; }
.greeting-loader-word {
  display:block; grid-area:1/1; position:relative; top:var(--greeting-shift,0em); width:max-content; margin:0; max-width:none; white-space:nowrap;
  font-family:var(--font-display,'Cabinet Grotesk'),sans-serif; font-size:calc(clamp(88px,12vw,132px)*var(--greeting-scale,1));
  font-weight:600; line-height:1.25; letter-spacing:-.025em; font-synthesis:none;
  text-rendering:optimizeLegibility; overflow:visible;
}
.greeting-loader-word--leaving { pointer-events:none; }
.greeting-loader-word:not([data-script=latin]) { letter-spacing:0; }
.greeting-loader-word[data-script=gurmukhi] { font-weight:550; font-family:'Anek Gurmukhi','Noto Sans Gurmukhi','Gurmukhi MN',sans-serif; }
.greeting-loader-word[data-script=urdu] { font-family:'Noto Nastaliq Urdu','Noto Naskh Arabic','Geeza Pro',serif; font-weight:500; line-height:2.1; }
.greeting-loader-word[data-script=devanagari] { font-weight:550; font-family:'Anek Devanagari','Noto Sans Devanagari','Devanagari Sangam MN',sans-serif; }
.greeting-loader-word[data-script=tamil] { font-weight:550; font-family:'Anek Tamil','Noto Sans Tamil','Tamil Sangam MN',sans-serif; }
.greeting-loader-word[data-script=telugu] { font-weight:550; font-family:'Anek Telugu','Noto Sans Telugu','Telugu Sangam MN',sans-serif; }
.greeting-loader-word[data-script=bengali] { font-weight:550; font-family:'Anek Bangla','Noto Sans Bengali','Bangla Sangam MN',sans-serif; }
.greeting-loader-word[data-script=gujarati] { font-weight:550; font-family:'Anek Gujarati','Noto Sans Gujarati','Gujarati Sangam MN',sans-serif; }
.greeting-loader-word[data-script=kannada] { font-weight:550; font-family:'Anek Kannada','Noto Sans Kannada','Kannada Sangam MN',sans-serif; }
.greeting-loader-word[data-script=malayalam] { font-weight:550; font-family:'Anek Malayalam','Noto Sans Malayalam','Malayalam Sangam MN',sans-serif; }
.greeting-loader-word[data-script=odia] { font-family:'Noto Sans Oriya','Oriya Sangam MN',sans-serif; }
.greeting-loader-word[data-script=japanese] { font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif; }
.greeting-loader-word[data-script=korean] { font-family:'Noto Sans KR','Apple SD Gothic Neo',sans-serif; }
.greeting-loader-word[data-script=chinese] { font-family:'Noto Sans SC','PingFang SC',sans-serif; }
.greeting-loader-word[data-script=cyrillic] { font-family:'Manrope','Arial',sans-serif; }
.greeting-loader-word[data-script=arabic] { font-family:'Noto Sans Arabic','Geeza Pro',sans-serif; }
.greeting-loader-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:480px){
  .greeting-loader { padding:24px; }
  .greeting-loader-stage { height:176px; padding:16px 0; }
  .greeting-loader-word { font-size:calc(clamp(68px,18.5vw,88px)*var(--greeting-scale,1)); }
}
@media(max-height:500px) and (orientation:landscape){
  .greeting-loader-stage { height:160px; padding:0; }
  .greeting-loader-word { font-size:calc(78px*var(--greeting-scale,1)); }
}
@media(prefers-reduced-motion:reduce){.greeting-loader{transition:none}}
