/* Gyanjyoti identity in the layout of the user-supplied school reference. */
:root { --maroon:#17408f; --maroon-dark:#0f3079; --maroon-light:#3865b7; --burgundy:#0d2970; --gold:#f3be42; --gold-light:#ffe2a0; --navy:#132b5e; --navy-dark:#071c45; --cream:#f4f7fc; --soft-bg:#eef3fa; --line:#d6e0f1; }
body { background:#fff; color:#26344b; }
.topbar { background:#103579; }
.topbar-inner { min-height:36px; }
.topbar-contact, .topbar-right { font-size:12px; }
.site-header { position:relative; border:0; box-shadow:none; background:#fff; }
.site-header.scrolled { box-shadow:none; }
.site-header .nav-wrap { display:block; padding:0; min-height:0; width:100%; max-width:none; }
.brand { min-height:145px; padding:18px max(4%,calc((100% - 1220px)/2)); display:flex; justify-content:flex-start; gap:25px; background:#fff; }
.brand img { height:106px; width:106px; border:3px solid #d6aa35; box-shadow:0 3px 18px #244b8630; }
.brand-title { font-family:Georgia,serif; font-weight:800; font-size:clamp(26px,3vw,43px); letter-spacing:.06em; color:#17408f; }
.brand-sub { color:#bd8b27; font-size:13px; letter-spacing:.08em; }
.brand-meta { color:#3d5276; font-size:12px; margin-top:5px; }
.reference-nav { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); align-items:stretch; gap:0; width:100%; background:#143980; min-height:94px; box-shadow:0 5px 15px #17336b30; }
.reference-nav .nav-tile { min-width:0; min-height:94px; display:flex; align-items:stretch; justify-content:center; text-align:center; position:relative; background:#20469c; border:0; border-right:1px solid #ffffff2b; color:#fff; border-radius:0; padding:0; }
.reference-nav .nav-tile:nth-child(2n) { background:#2c51aa; }
.reference-nav .nav-tile:nth-child(3n) { background:#365db6; }
.reference-nav .nav-tile:first-child,.reference-nav .nav-tile:last-child { background:#163984; }
.reference-nav > a,.reference-nav .nav-dropdown > button { color:#fff; border:0; border-radius:0; width:100%; height:100%; min-height:94px; padding:10px 5px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; text-transform:none; font-size:13px; font-weight:700; letter-spacing:0; line-height:1.25; white-space:normal; background:transparent; cursor:pointer; }
.reference-nav > a.active,.reference-nav > a:hover,.reference-nav .nav-dropdown > button:hover,.reference-nav .nav-dropdown.open > button { color:#fff; background:#ffffff24; }
.tile-icon { display:block; font-family:Arial,sans-serif; font-size:29px; line-height:1; font-weight:400; }
.reference-nav .dropdown-menu { top:100%; left:0; margin:0; background:#fff; border-radius:0 0 6px 6px; border:1px solid #c8d5ed; border-top:4px solid #e7b437; box-shadow:0 15px 24px #102c6240; min-width:250px; padding:5px; text-align:left; }
.reference-nav .dropdown-menu a:hover { background:#edf3ff; color:#17408f; }
.menu-toggle { position:absolute; right:20px; top:55px; }
.hero-slider { height:min(56vw,570px); min-height:370px; background:#10306e; }
.hero-slider .slide img { object-position:center 42%; }
.slide-overlay { background:linear-gradient(90deg,#091b49de 0%,#0a29629c 42%,#07183b0d 100%); }
.hero-copy { border-left:5px solid #f3be42; padding:12px 0 12px 23px; max-width:600px; }
.hero-copy h1 { font-family:Georgia,serif; font-size:clamp(30px,4vw,58px); }
.hero-copy .eyebrow { color:#fadd92; }
.quick-feature-strip { background:#edf2fb; border-top:5px solid #d6a637; }
.quick-feature-card { border:1px solid #d5e0f3; border-top:4px solid #2950a2; border-radius:3px; background:#fff; }
.quick-feature-icon { color:#1b438d; }
.section-heading h2,.content h2,.article-card h2 { color:#173c82; }
.page-hero { border-bottom:5px solid #e6b43d; min-height:235px; }
.page-hero:before { background:linear-gradient(90deg,#0c2865e8,#173f8ab0); }
.page-hero h1 { font-family:Georgia,serif; }
.card,.article-card,.disclosure-box { border-radius:4px; }
.site-footer { background:#0a245a; }
@media (max-width:1080px) {
 .brand { min-height:110px; padding:15px 70px 15px 20px; }
 .brand img { height:75px; width:75px; }
 .brand-title { font-size:26px; }
 .reference-nav { display:none; position:absolute; top:100%; left:0; right:0; z-index:1100; grid-template-columns:1fr; max-height:75vh; overflow-y:auto; min-height:0; background:#20469c; padding:0; }
 .reference-nav.open { display:grid; }
 .reference-nav .nav-tile { min-height:55px; display:block; }
 .reference-nav > a,.reference-nav .nav-dropdown > button { min-height:55px; height:auto; flex-direction:row; justify-content:flex-start; padding:10px 18px; font-size:15px; gap:14px; }
 .tile-icon { font-size:21px; width:25px; }
 .reference-nav .dropdown-menu { position:static; box-shadow:none; background:#eef3ff; }
 .reference-nav .nav-dropdown.open .dropdown-menu { display:block; }
 .menu-toggle { display:block; }
}
@media (max-width:620px) {
 .topbar { display:none; }
 .brand { gap:10px; min-height:100px; }
 .brand img { width:62px; height:62px; }
 .brand-title { font-size:20px; }
 .brand-sub { font-size:9px; }
 .brand-meta { font-size:9px; }
 .menu-toggle { top:31px; right:12px; }
 .hero-slider { min-height:480px; }
 .hero-copy { margin-right:15px; }
}
/* Mobile navigation: one aligned row per destination. */
@media (max-width:1080px) {
  .site-header .nav-wrap { position:relative; }
  .reference-nav.open { display:grid; grid-template-columns:minmax(0,1fr); }
  .reference-nav .nav-tile { min-height:0; width:100%; text-align:left; }
  .reference-nav > a.nav-tile,
  .reference-nav .nav-dropdown > button {
    display:flex; flex-direction:row; align-items:center; justify-content:flex-start;
    width:100%; min-height:56px; padding:12px 20px; gap:15px;
    font-size:16px; line-height:1.3; text-align:left;
  }
  .reference-nav .tile-icon {
    display:inline-flex; flex:0 0 28px; width:28px; height:28px;
    align-items:center; justify-content:center; margin:0; font-size:23px; line-height:1;
  }
  .reference-nav .nav-dropdown > button::after {
    content:'?'; margin-left:auto; font-size:20px; line-height:1;
  }
  .reference-nav .nav-dropdown.open > button::after { transform:rotate(180deg); }
  .reference-nav .nav-dropdown .dropdown-menu {
    position:static; width:100%; min-width:0; margin:0; padding:4px 0 8px 55px;
    border:0; border-radius:0; box-shadow:none; background:#eaf0fc;
  }
  .reference-nav .dropdown-menu a {
    display:block; padding:11px 18px; color:#153778; font-size:14px;
  }
}

.tile-icon svg { display:block; width:28px; height:28px; flex:none; }
@media (max-width:1080px) {
 .reference-nav .tile-icon svg { width:24px; height:24px; }
 .reference-nav .nav-dropdown > button::after {
   content:''; display:block; width:8px; height:8px; margin-left:auto;
   border-right:2px solid currentColor; border-bottom:2px solid currentColor;
   transform:rotate(45deg); transition:transform .2s ease;
 }
 .reference-nav .nav-dropdown.open > button::after { transform:rotate(225deg); }
}
/* Keep the supplied desktop tile layout centered for both links and buttons. */
@media (min-width:1081px) {
  .reference-nav > a.nav-tile,
  .reference-nav .nav-dropdown.nav-tile > button {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; gap:7px; padding:10px 6px;
  }
  .reference-nav .nav-tile .tile-icon {
    display:flex; align-items:center; justify-content:center;
    width:32px; height:32px; margin:0 auto;
  }
  .reference-nav .nav-tile > span:last-child,
  .reference-nav .nav-dropdown > button > span:last-child { display:block; width:100%; text-align:center; }
}
.news-strip .ticker-grid { grid-template-columns:auto minmax(0,1fr) auto; }
.news-strip .ticker { min-width:0; }
