/* AstraShilp — fit.css (20 Sep 2026): site-wide screen fit.
   fit.js publishes --vw/--vh/--dvh and auto-calibrates --u; this is the guard layer.
   Element weight (:where) or opt-in classes only, so nothing existing is overridden. */
:root{--vw:100vw;--vh:100vh;--dvh:100vh}
/* Overall size of the site, one number. 1 = exactly what scale.css asks for.
   Nudge it here (1.06 = 6% bigger) or try one live with fit.boost(1.1). */
:root{--fit-boost:1.08}
@supports (overflow:clip){                                      /* clip, not hidden: sticky/fixed keep working. */
  html[data-fit-clip="on"],html[data-fit-clip="on"] body{overflow-x:clip}   /* set by fit.js only if a stray px survives calibration */
}
/* While fit.js moves the unit, nothing may animate — otherwise the menu bar and
   the logo slide across as their widths change, which reads as a flicker. */
html[data-fit-calibrating] *,html[data-fit-calibrating] *::before,html[data-fit-calibrating] *::after{
  transition:none!important;animation-duration:0s!important;animation-delay:0s!important}

.fit-screen{min-height:var(--dvh,100vh)}                        /* true height on phones */
.fit-screen-max{max-height:var(--dvh,100vh)}
:where(dialog) :where(img,video){max-width:100%;max-height:var(--dvh,100vh)}
@media (min-width:2100px){.fit-cap{max-width:calc(1720 * var(--u,1px));margin-inline:auto}}

/* ---------------------------------------------------------------- page to page
   A cross-document view transition: the browser holds the old page while the new
   one loads and crossfades between them, so a click no longer flashes white.
   It is a fade only — nothing moves, so nothing can interfere with the scroll
   animations. Browsers without view transitions simply navigate as before. */
@view-transition{ navigation:auto }
::view-transition-old(root){ animation:pf-out .20s ease both }
::view-transition-new(root){ animation:pf-in .34s ease both }
@keyframes pf-out{ to{ opacity:0 } }
@keyframes pf-in { from{ opacity:0 } }
@media (prefers-reduced-motion:reduce){ @view-transition{ navigation:none } }
