/* Final AJNIFM requested navigation, carousel and inner-page polish. */
.is-home .nav-links a,.is-inner .nav-links a{letter-spacing:0}
.is-inner{background:#fbfcfb}
.is-inner .breadcrumb-line{display:none}
.is-inner header.container{background:#fff;border:1px solid #dde6e3;box-shadow:0 16px 42px rgba(9,37,54,.08);margin-top:1rem;margin-bottom:2rem;padding:0 1.1rem}
.is-inner .navbar-aj{padding:.85rem 0;align-items:center}
.is-inner .nav-links{gap:.15rem}
.is-inner .nav-links a{padding:.5rem .58rem;font-size:.8rem;color:#173748}
.is-inner .nav-links a:hover,.is-inner .nav-links a:focus{color:#791c2b;outline:0}
.is-inner .page{padding:3rem 12px 4rem}
.is-inner .page:before{content:"";display:block;width:46px;height:3px;background:#d5ad54;margin:0 0 1rem}
.is-inner .page>h1,.mdp-page h1,.mdp-detail h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1.02;color:#092536;font-weight:850;margin-bottom:1.4rem;letter-spacing:0}
.cms-body,.table-wrap,.card-form,.tracking-card,.contact-grid>div,.search-result{background:#fff!important;border:1px solid #dce3e1!important;border-radius:0!important;box-shadow:0 16px 44px rgba(9,37,54,.07)!important}
.cms-body{padding:clamp(1.4rem,3vw,2.4rem)!important}
.faculty-card,.lms-card,.mdp-card,.panel{border-radius:0!important;border-color:#dce3e1!important;box-shadow:0 16px 44px rgba(9,37,54,.06)!important}
.faculty-card img,.gallery-grid img,.lms-card img{border-radius:0!important}
.section-sub{max-width:760px;color:#586d74}
.is-inner .programs-grid,.is-inner .faculty-grid,.is-inner .lms-grid,.is-inner .mdp-grid,.is-inner .gallery-grid{gap:1rem}
.is-inner .program-card,.is-inner .faculty-card,.is-inner .lms-card,.is-inner .mdp-card{border-radius:0!important;background:#fff!important}
.academic-program-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:1.2rem!important}
.academic-program-card{min-height:260px;display:flex;flex-direction:column;align-items:flex-start}
.academic-program-card i:first-child{width:46px;height:46px;display:grid;place-items:center;background:#092536;color:#d5ad54;font-size:1.15rem;margin-bottom:1rem}
.academic-program-card small{color:#9a7421;text-transform:uppercase;letter-spacing:.06em}
.academic-program-card h2{font-size:1.15rem;line-height:1.25;color:#092536;font-weight:900;margin:.45rem 0}
.academic-program-card p{color:#586d74;font-size:.9rem}
.academic-program-card a{margin-top:auto;color:#791c2b;font-weight:900}

.neo-image-slider{padding-bottom:90px}
.neo-slider-controls{display:flex;gap:8px}
.neo-slider-controls button{width:42px;height:42px;border:1px solid #bdc9c7;background:#fff;color:#0a2a3d;display:grid;place-items:center;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}
.neo-slider-controls button:hover,.neo-slider-controls button:focus{background:#791c2b;color:#fff;border-color:#791c2b;outline:3px solid rgba(121,28,43,.17);outline-offset:2px}
.neo-image-stage{position:relative;height:clamp(300px,48vw,560px);background:#092536;overflow:hidden}
.neo-image-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .55s ease}
.neo-image-slide.is-active{opacity:1;z-index:2}
.neo-image-slide img{width:100%;height:100%;object-fit:cover;display:block}
.neo-image-slide figcaption{position:absolute;left:18px;bottom:18px;background:#fff;color:#092536;padding:.55rem .8rem;font-size:.72rem;font-weight:900;box-shadow:0 10px 24px rgba(0,0,0,.14)}

.gov-links-section{padding:56px 0!important;background:#eef2f1!important}
.gov-link-viewport{overflow-x:hidden!important;scroll-behavior:smooth!important}
.gov-link-track{transform:translateX(0)!important;margin-left:0!important}
.gov-slider-controls button{position:relative;z-index:3}

.neo-hero-media.video-failed .hero-fallback{animation:ajnifmKenBurns 12s ease-in-out infinite alternate;transform-origin:center}
.neo-hero-media.video-failed:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(9,37,54,.18),rgba(9,37,54,0));pointer-events:none}
.neo-hero-media.video-ready video{display:block!important}
@keyframes ajnifmKenBurns{from{transform:scale(1)}to{transform:scale(1.08)}}

.footer-gov-bottom{background:#9b1d2a!important;padding:20px 0 18px!important}
.footer-gov-bottom .container{max-width:1180px}
.footer-policy-links{display:flex!important;justify-content:center!important;align-items:center!important;gap:5px 8px!important;flex-wrap:wrap!important;margin-bottom:10px!important;line-height:1.35!important}
.footer-policy-links a{display:inline-flex!important;margin:0!important;padding:.18rem .1rem!important;color:#fff!important;font-size:.84rem;font-weight:800}
.footer-policy-links span{display:inline!important;color:rgba(255,255,255,.65)!important}
.footer-note-block{max-width:1120px!important;margin:0 auto!important;text-align:center!important;line-height:1.45!important}
.footer-note-block p{margin:5px auto!important;color:#fff!important;font-size:.82rem!important}
.footer-note-block .web-manager{color:#ffe08a!important}

@media(max-width:900px){
    .is-inner header.container{padding:0 .8rem}
    .is-inner .nav-links.open{display:grid;grid-template-columns:1fr 1fr}
    .academic-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .footer-policy-links a{font-size:.78rem}
    .footer-note-block p{font-size:.78rem!important}
}
@media(max-width:620px){
    .neo-image-slider{padding:0 18px 65px}
    .neo-image-stage{height:300px}
    .neo-slider-controls button{width:38px;height:38px}
    .academic-program-grid{grid-template-columns:1fr!important}
}

/* Inner CMS page: two-column layout with a related-links / contact sidebar */
.page-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2rem;align-items:start}
.page-main{min-width:0}
.page-aside{display:flex;flex-direction:column;gap:1.2rem;position:sticky;top:1.5rem}
.aside-card{background:#fff;border:1px solid #dce3e1;box-shadow:0 16px 44px rgba(9,37,54,.07);padding:1.4rem}
.aside-card h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:#092536;margin:0 0 .9rem;padding-bottom:.6rem;border-bottom:2px solid #d5ad54}
.aside-links a{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;color:#173748;font-weight:700;font-size:.87rem;border-bottom:1px solid #eef1f0}
.aside-links a:last-child{border-bottom:0}
.aside-links a:hover,.aside-links a:focus{color:#791c2b}
.aside-links a i{color:#9a7421;width:16px;text-align:center}
.aside-contact p{font-size:.85rem;color:#586d74;margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}
.aside-contact p i{color:#9a7421;width:16px;text-align:center}
.aside-contact a.btn{width:100%;text-align:center;margin-top:.5rem}
@media(max-width:900px){
    .page-layout{grid-template-columns:1fr}
    .page-aside{position:static}
}

/* Downloads / Gallery: grouped sections with a shared heading style */
.content-group{margin-bottom:2.4rem}
.content-group:last-child{margin-bottom:0}
.group-title{font-size:1.1rem;color:#092536;font-weight:800;margin:0 0 .9rem;padding-bottom:.5rem;border-bottom:2px solid #d5ad54;display:inline-block}

/* Contact page: icon-aligned info rows in the aside */
.contact-grid aside p{display:flex;align-items:center;gap:.55rem;margin:0 0 .65rem;color:#586d74;font-size:.92rem}
.contact-grid aside p i{color:#9a7421;width:16px;text-align:center;flex-shrink:0}

/* Logo: circular badge with white background, consistent in header and footer,
   on every page (not just home) so the treatment reads as one system. */
.brand img,.footer-brand img{background:#fff!important;border-radius:50%!important;object-fit:contain!important;box-shadow:0 2px 10px rgba(9,37,54,.18)!important}
.brand img{width:42px!important;height:42px!important;padding:6px!important}
.footer-brand img{width:60px!important;height:60px!important;padding:8px!important}
.is-home .brand img{width:52px!important;height:52px!important;padding:7px!important}
@media(max-width:620px){.is-home .brand img{width:38px!important;height:38px!important;padding:5px!important}}

/* Accessibility + language bar: this was a floating fixed pill that sat on
   top of the header and covered nav items / Login / Pay Online. Converting
   it to a normal, in-flow bar above the header removes the overlap
   entirely (see corresponding header top-offset fix in home-clean.css for
   the home page, whose header floats over the hero and needed the same
   amount of extra clearance added back). */
.access-shell{display:block!important;position:relative!important;top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;width:100%!important;max-width:none!important;background:#f4f7fa!important;border-bottom:1px solid #d9e4ee!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;z-index:30!important}
.access-inner{max-width:1500px!important;margin:0 auto!important;min-height:0!important;padding:7px 20px!important;display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;justify-content:flex-end!important;align-items:center!important;gap:10px!important}
.screen-reader-link{width:auto!important;height:auto!important;padding:.3rem .7rem!important;border-radius:999px!important;flex-shrink:0}
.screen-reader-link span{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;margin-left:.35rem;white-space:nowrap}
.access-group{flex-shrink:0}
.language-group .lang-btn{white-space:nowrap}
@media(max-width:680px){.access-inner{padding:6px 14px!important;justify-content:flex-start!important}}
@media(max-width:480px){
    .access-inner{gap:5px!important}
    .screen-reader-link{width:32px!important;padding:0!important}
    .screen-reader-link span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;margin:0!important}
    .language-group .lang-btn{padding:0 8px!important;font-size:.76rem!important}
}

/* ==========================================================
   Header/nav: two-row layout above 1200px, matching the reference
   image — brand and the two buttons on the first line, the full
   nav menu on a second line below with the entire header width to
   itself.

   The previous approach tried to fit brand + all 9 nav items +
   Login/Pay Online into one row. That's inherently fragile: any
   small miscalculation in text or button width and the row doesn't
   quite fit, which is exactly what produced the horizontal
   scrollbar. Splitting into two rows removes that fragility
   entirely — row 1 only has three things (brand, Login, Pay
   Online), row 2 has nine short text links with essentially the
   whole header width available to them. Below 1200px, nothing
   changes: the hamburger menu still collapses the nav as before.
   ========================================================== */
@media(max-width:1200px){
    .is-inner .nav-links{display:none!important;width:100%!important}
    .is-inner .nav-links.open{display:grid!important;grid-template-columns:1fr 1fr!important}
    .is-inner .hamb{display:block!important}
    .is-inner .nav-actions{width:100%!important;justify-content:flex-end!important;margin-left:0!important}
}
@media(min-width:1201px){
    .is-inner .nav-links{display:flex!important}
    .is-inner .hamb{display:none!important}
    .is-inner .nav-actions{width:auto!important}

    .navbar-aj{row-gap:.5rem}
    .brand{order:1;min-width:0!important}
    .nav-actions{order:2;margin-left:auto!important}
    .hamb{order:3}
    .nav-links{order:4!important;flex:1 1 100%!important;width:100%!important;justify-content:flex-start!important;gap:1.3rem!important;flex-wrap:nowrap!important;overflow-x:visible!important;padding-top:.55rem;margin-top:.15rem}
    .is-home .nav-links{border-top:1px solid rgba(255,255,255,.16)}
    .is-inner .nav-links{border-top:1px solid var(--line)}
    .nav-links a,.is-home .nav-links a{padding:.3rem 0!important;font-size:.86rem!important}
    .institute-name,.is-home .brand .institute-name{font-size:.92rem!important;max-width:320px!important;line-height:1.2!important}
}

