/* Opening sequence (the team's JalDrishti intro video): pearl on the horizon -> drop falls -> ripples -> dashboard.
   Plays in full whenever the site is opened (once per session); it has no skip control. */
.intro { display: none; }
html[data-intro="1"] body { overflow: hidden; }
html[data-intro="1"] .intro { display: block; position: fixed; inset: 0; z-index: 200; background: #05080f; transition: opacity .7s ease; }
.intro video { width: 100%; height: 100%; object-fit: cover; display: block; background: #05080f; }
.intro.leaving { opacity: 0; pointer-events: none; }
/* Reduced motion: the still opening frame instead of the moving video */
html[data-intro-still="1"] .intro video { display: none; }
html[data-intro-still="1"] .intro { background: #05080f url("../img/brand/intro-poster.jpg") center / cover no-repeat; }
@media (prefers-reduced-motion: reduce) { .intro, html.intro-out .shell { transition: none; } }

/* Hand-off: the dashboard waits behind the video, then fades up as the video fades away. */
html[data-intro="1"] .shell { opacity: 0; transform: scale(.985); }
html.intro-out .shell { opacity: 1; transform: none; transition: opacity .7s ease, transform .9s cubic-bezier(.2, .7, .2, 1); }
