/* Typography masks preserve the final layout while revealing each hero line. */
.hero-title-line{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.16em}
.hero-title-line>span,.hero-title-line>em{display:block}
.hero-kicker>span{transform-origin:left center}
.programme-card{overflow:hidden}
@media (prefers-reduced-motion: no-preference) {
  .button,.round-arrow,.institution-tile,.notice-item,.naac-year,.naac-file,.sidebar-block a,.department-grid a {
    transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .28s ease,transform .28s cubic-bezier(.22,1,.36,1);
  }
  .button > span,.text-link > span,.institution-tile > span:last-child,.gallery-item b,.notice-item > span:last-child {
    transition:transform .25s cubic-bezier(.22,1,.36,1);
  }
  .hero-enquiry input,.hero-enquiry select,.admission-form input,.admission-form select,.admission-form textarea {
    transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
  }
  .hero-enquiry input:focus,.hero-enquiry select:focus,.admission-form input:focus,.admission-form select:focus,.admission-form textarea:focus {
    border-color:var(--maroon);box-shadow:0 0 0 3px #751d320d;
  }
  .primary-menu details[open] > ul {animation:menu-arrive .32s cubic-bezier(.16,1,.3,1)}
  .programme-card{transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s ease}
  .programme-card>img,.gallery-item img{transition:transform .9s cubic-bezier(.16,1,.3,1)}
  .hero-secondary,.hero-tour,.text-link{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:0 1px;transition:background-size .5s cubic-bezier(.16,1,.3,1),color .25s ease}
  .search-dialog[open],.lightbox[open] {animation:dialog-arrive .22s cubic-bezier(.22,1,.36,1)}
  dialog[open]::backdrop {animation:backdrop-arrive .2s ease-out}
  .naac-chevron {transition:transform .22s ease}
  #hero-enquiry-success:not([hidden]),.af-success {animation:confirmation-arrive .35s ease-out}
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .hero-secondary:hover,.hero-tour:hover,.text-link:hover{background-size:100% 1px}
  .programme-card:hover{transform:translateY(-7px);box-shadow:0 20px 40px #172d3812}
  .programme-card:hover>img,.gallery-item:hover img{transform:scale(1.045)}
  .button:hover > span,.text-link:hover > span,.notice-item:hover > span:last-child {transform:translateX(3px)}
  .institution-tile:hover {transform:translateY(-4px);box-shadow:0 10px 24px #172d380b}
  .institution-tile:hover > span:last-child {transform:translateX(3px)}
  .programme-card:hover .round-arrow {background:var(--maroon);border-color:var(--maroon);color:white;transform:rotate(-6deg)}
  .gallery-item:hover b {transform:translate(2px,-2px)}
  .naac-year:hover {transform:translateY(-3px);box-shadow:0 8px 20px #172d380a}
  .naac-file:hover {transform:translateX(3px)}
}
@keyframes menu-arrive {from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@keyframes dialog-arrive {from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes backdrop-arrive {from{opacity:0}to{opacity:1}}
@keyframes confirmation-arrive {from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media (prefers-reduced-motion:reduce) {
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
