html { scroll-behavior: smooth; scroll-padding-top: 140px; }
body { background: #fff; }
::selection { background: #0b4ea2; color: #fff; }
.lang-hi body, .lang-hi .font-head { font-family: "Noto Sans Devanagari", "Inter", sans-serif; }

/* Loader */
#loader { transition: opacity .7s ease, visibility .7s ease; }
#loader.done { opacity: 0; visibility: hidden; }
.ld-logo { animation: ldIn 1s cubic-bezier(.16,1,.3,1) both; }
.ld-bar { animation: ldBar 1.4s cubic-bezier(.65,0,.35,1) .15s forwards; transform: scaleX(0); transform-origin: left; }
@keyframes ldIn { from { opacity: 0; transform: translateY(14px) scale(.96); filter: blur(6px) } to { opacity: 1; transform: none; filter: none } }
@keyframes ldBar { to { transform: scaleX(1) } }

/* Nav */
.nav-link { position: relative; padding: .25rem 0; transition: color .3s; }
.nav-link::after { content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 2px; background: #0b4ea2; transform: scaleX(0); transition: transform .35s cubic-bezier(.16,1,.3,1); }
.nav-link:hover, .nav-link.is-active { color: #0b4ea2; }
.nav-link:hover::after, .nav-link.is-active::after { transform: scaleX(1); }
.lang-btn { color: rgba(255,255,255,.7); transition: all .25s; }
.lang-btn.is-on { background: #fff; color: #0a2a5e; }

/* Banner */
.kb { animation: kb 16s ease-out forwards; }
@keyframes kb { from { transform: scale(1.12) } to { transform: scale(1) } }
.hero-in > * { opacity: 0; transform: translateY(24px); transition: all 1s cubic-bezier(.16,1,.3,1); }
.ready .hero-in > * { opacity: 1; transform: none; }
.ready .hero-in > *:nth-child(2) { transition-delay: .1s } .ready .hero-in > *:nth-child(3) { transition-delay: .2s } .ready .hero-in > *:nth-child(4) { transition-delay: .3s }

/* Slider */
.slide { opacity: 0; transition: opacity 1.4s ease; }
.slide.on { opacity: 1; z-index: 1; }
.slide img { transform: scale(1.1); transition: transform 8s ease-out; }
.slide.on img { transform: scale(1); }
.slide .cap > * { opacity: 0; transform: translateY(24px); transition: all 1s cubic-bezier(.16,1,.3,1) .4s; }
.ready .slide.on .cap > * { opacity: 1; transform: none; }
.ready .slide.on .cap > *:nth-child(2) { transition-delay: .55s } .ready .slide.on .cap > *:nth-child(3) { transition-delay: .7s }
.dot { width: 28px; height: 3px; background: rgba(255,255,255,.4); transition: all .4s; }
.dot.on { width: 56px; background: #fff; }

/* Reveal */
.rv { opacity: 0; transform: translateY(32px); transition: opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); }
.rv.show { opacity: 1; transform: none; }
.bright { filter: brightness(1.1) saturate(1.08); }
.zoom { overflow: hidden; } .zoom img { transition: transform 1.4s cubic-bezier(.16,1,.3,1); } .zoom:hover img { transform: scale(1.06); }

/* Section tabs */
.tab { position: relative; padding: 1rem 0; }
.tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: #0b4ea2; transform: scaleX(0); transition: transform .4s cubic-bezier(.16,1,.3,1); }
.tab.active { color: #0b4ea2; } .tab.active::after, .tab:hover::after { transform: scaleX(1); }
.no-scrollbar::-webkit-scrollbar { display: none } .no-scrollbar { scrollbar-width: none }

/* Forms */
.field { width: 100%; border: 1px solid #d5dde8; border-radius: .5rem; background: #fff; padding: .8rem 1rem; font-size: .95rem; transition: border-color .2s, box-shadow .2s; }
.field:focus { outline: none; border-color: #0b4ea2; box-shadow: 0 0 0 4px rgba(11,78,162,.12); }
.label { display: block; margin-bottom: .4rem; font-size: .85rem; font-weight: 600; color: #10213b; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .rv, .hero-in > *, .slide .cap > * { opacity: 1; transform: none; }
}
