/* Inner pages: title banner, section links, and a modern look for the page content written in the Admin
   (old tables, forms, lists). Loaded after home-modern.css, which styles the shared header and footer. */

/* ---------- title banner ---------- */
.in-banner { position: relative; overflow: hidden; background: var(--grad); color: #fff; padding: 34px 0 40px; }
.in-banner .bub { position: absolute; border-radius: 50%; background: rgba(255, 255, 255, .13); animation: inFloat 9s ease-in-out infinite; }
.in-banner .b1 { width: 260px; height: 260px; right: -60px; top: -120px; }
.in-banner .b2 { width: 120px; height: 120px; right: 22%; bottom: -70px; animation-delay: -3s; }
.in-banner .b3 { width: 70px; height: 70px; left: 8%; top: -30px; animation-delay: -6s; }
@keyframes inFloat { 50% { transform: translateY(16px) scale(1.07); } }
.in-banner .wrap { position: relative; z-index: 1; }
.in-banner h1 { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(26px, 4vw, 40px); line-height: 1.2; font-weight: 800; margin: 8px 0 0; animation: inRise .7s .1s both; max-width: 900px; }
.in-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13.5px; opacity: .95; animation: inRise .6s both; }
.in-crumb a { color: #fff; opacity: .9; } .in-crumb a:hover { opacity: 1; text-decoration: underline; }
.in-crumb span { display: contents; } .in-crumb em { font-style: normal; opacity: .7; }
.in-crumb .cur { font-weight: 600; }
@keyframes inRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* ---------- layout ---------- */
.in-wrap { background: linear-gradient(#fff7ee, #fff 360px); padding: 26px 0 60px; min-height: 40vh; }
.in-grid { display: block; }
.in-grid.has-side { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 26px; align-items: start; }
.in-side { position: sticky; top: 74px; background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow); overflow: hidden; animation: inRise .6s .15s both; }
.in-side summary { list-style: none; cursor: pointer; padding: 15px 18px; font-weight: 600; background: var(--peach); display: flex; align-items: center; gap: 10px; }
.in-side summary::-webkit-details-marker { display: none; }
.in-side summary i { color: var(--orange); }
.in-side summary::after { content: '\f107'; font-family: FontAwesome; margin-left: auto; transition: transform .25s; }
.in-side details:not([open]) summary::after { transform: rotate(-90deg); }
.in-links { max-height: calc(100vh - 170px); overflow-y: auto; padding: 8px; scrollbar-width: thin; }
.in-links ul { list-style: none; margin: 0; padding: 0; }
.in-links a { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 10px; font-size: 14px; color: var(--ink); transition: background .2s, padding .2s, color .2s; }
.in-links a::before { content: '\203A'; color: var(--saffron); font-weight: 700; transition: margin .2s; }
.in-links a:hover { background: var(--cream); color: var(--orange); padding-left: 16px; }
.in-links a.on { background: var(--grad); color: #fff; }
.in-links a.on::before { color: #fff; }

.in-main { background: #fff; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); padding: clamp(18px, 3vw, 38px); min-width: 0; overflow-wrap: break-word; animation: inRise .6s .2s both; }
.in-grid:not(.has-side) .in-main { max-width: 1100px; margin-inline: auto; }

/* ---------- content typography (the HTML typed in the Admin) ---------- */
.in-main { font-size: 15.5px; line-height: 1.8; color: #2a3142; }
.in-main p { margin: 0 0 1em; }
.in-main h1, .in-main h2, .in-main h3, .in-main h4, .in-main h5, .in-main h6 { font-family: 'Poppins', sans-serif; color: var(--ink); line-height: 1.35; margin: 1.3em 0 .55em; font-weight: 600; }
.in-main h1 { font-size: 28px; } .in-main h2 { font-size: 24px; } .in-main h3 { font-size: 20px; } .in-main h4 { font-size: 17.5px; }
.in-main h2, .in-main h3 { position: relative; padding-bottom: 8px; }
.in-main h2::after, .in-main h3::after { content: ''; position: absolute; left: 0; bottom: 0; width: 46px; height: 3px; border-radius: 3px; background: var(--grad); }
.in-main > :first-child { margin-top: 0; }
.in-main a { color: var(--orange); font-weight: 500; text-decoration: none; background: linear-gradient(var(--saffron), var(--saffron)) 0 100% / 0 2px no-repeat; transition: background-size .25s, color .2s; }
.in-main a:hover { color: #b34100; background-size: 100% 2px; }
.in-main ul { list-style: none; margin: 0 0 1em; padding: 0 0 0 4px; }
.in-main ul li { position: relative; padding: 3px 0 3px 24px; }
.in-main ul li::before { content: ''; position: absolute; left: 4px; top: 13px; width: 8px; height: 8px; border-radius: 50%; background: var(--saffron); box-shadow: 0 0 0 3px rgba(245, 130, 32, .18); }
.in-main ol { margin: 0 0 1em; padding-left: 24px; } .in-main ol li { padding: 3px 0 3px 4px; } .in-main ol li::marker { color: var(--orange); font-weight: 600; }
.in-main ul ul, .in-main ol ul { margin-bottom: 0; }
.in-main img { max-width: 100%; height: auto !important; border-radius: 14px; }
.in-main img.img-responsive, .in-main img[width], .in-main p > img { display: inline-block; }
.in-main hr { border: 0; height: 2px; background: linear-gradient(90deg, var(--saffron), transparent); margin: 1.6em 0; }
.in-main blockquote { margin: 1.2em 0; padding: 14px 20px; border-left: 4px solid var(--saffron); background: var(--cream); border-radius: 0 14px 14px 0; font-size: inherit; }
.in-main iframe, .in-main video { max-width: 100%; border: 0; border-radius: 14px; }
.in-main .style13, .in-main .style19 { font-family: 'Playfair Display', Georgia, serif !important; font-size: 28px !important; line-height: 1.3 !important; color: var(--ink) !important; letter-spacing: 0 !important; font-weight: 800; }
.in-main font, .in-main span[style*="font-family"] { font-family: inherit !important; }
.in-main [style*="Times New Roman"], .in-main [style*="Verdana"], .in-main [style*="Arial"] { font-family: 'Poppins', sans-serif !important; }
.in-main [align=center] { text-align: center; }

/* breadcrumbs written inside pages are moved to the banner */
.in-main > .breadcrumb { display: none; }

/* ---------- tables ---------- */
.in-tw { overflow-x: auto; margin: 1em 0; border-radius: 14px; -webkit-overflow-scrolling: touch; }
.in-main table { border-collapse: separate; border-spacing: 0; max-width: 100%; }
.in-main .in-tw > table { margin: 0; }
.in-main table.data, .in-main table.table, .in-main table[border="1"], .in-main table[border="2"] { width: 100% !important; border: 1px solid #f0dcc5; border-radius: 14px; overflow: hidden; }
.in-main table.data th, .in-main table.data td, .in-main table.table th, .in-main table.table td, .in-main table[border="1"] th, .in-main table[border="1"] td, .in-main table[border="2"] td, .in-main table[border="2"] th { border: 0 !important; border-bottom: 1px solid #f4e6d3 !important; border-right: 1px solid #f4e6d3 !important; padding: 10px 14px; vertical-align: middle; }
.in-main table.data th, .in-main table.table th, .in-main table.data thead td { background: var(--peach) !important; color: var(--ink); font-weight: 600; text-align: left; }
.in-main table.data tbody tr:nth-child(even) td, .in-main table.table-striped tbody tr:nth-child(even) td { background: #fffaf3; }
.in-main table.data tr:hover td { background: #fff3e3 !important; }
.in-main table.layout, .in-main table.layout td { border: 0; padding: 0; background: transparent !important; }
.in-main table.layout { width: 100% !important; }
.in-main td, .in-main th { overflow-wrap: anywhere; }

/* ---------- forms ---------- */
.in-main input[type=text], .in-main input[type=email], .in-main input[type=tel], .in-main input[type=number], .in-main input[type=password], .in-main input[type=date], .in-main input[type=search], .in-main select, .in-main textarea, .in-main .form-control {
  width: 100%; max-width: 100%; font: inherit; font-size: 15px; color: var(--ink); background: #fff; border: 1.5px solid var(--line); border-radius: 14px; padding: 11px 16px; height: auto; box-shadow: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.in-main textarea { min-height: 110px; resize: vertical; }
.in-main input:focus, .in-main select:focus, .in-main textarea:focus, .in-main .form-control:focus { outline: 0; border-color: var(--saffron); box-shadow: 0 0 0 4px rgba(245, 130, 32, .16); transform: translateY(-1px); }
.in-main input[type=file] { width: 100%; border: 2px dashed #f0c79c; border-radius: 14px; padding: 12px; background: var(--cream); cursor: pointer; }
.in-main input[type=file]::file-selector-button { border: 0; background: var(--grad); color: #fff; font: inherit; font-weight: 600; font-size: 13px; padding: 7px 16px; border-radius: 99px; margin-right: 12px; cursor: pointer; }
.in-main input[type=checkbox], .in-main input[type=radio] { width: 18px; height: 18px; accent-color: var(--orange); vertical-align: middle; }
.in-main label { font-weight: 600; font-size: 14px; color: var(--ink); margin-bottom: 6px; display: inline-block; }
.in-main .form-group { margin-bottom: 18px; }
.in-main input[type=submit], .in-main input[type=button], .in-main button[type=submit], .in-main .btn, .in-main .btn-primary, .in-main .btn-default {
  display: inline-flex; align-items: center; gap: 8px; border: 0; cursor: pointer; font: inherit; font-weight: 600; font-size: 15px; color: #fff; background: var(--grad); padding: 11px 28px; border-radius: 99px; box-shadow: 0 10px 22px rgba(232, 89, 12, .28); transition: transform .2s, box-shadow .2s; position: relative; overflow: hidden; }
.in-main input[type=submit]:hover, .in-main input[type=button]:hover, .in-main button[type=submit]:hover, .in-main .btn:hover { transform: translateY(-3px); box-shadow: 0 16px 30px rgba(232, 89, 12, .36); color: #fff; background-size: 100% 100%; }
.in-main .rip { position: absolute; border-radius: 50%; background: rgba(255, 255, 255, .5); transform: scale(0); animation: inRip .65s ease-out forwards; pointer-events: none; }
@keyframes inRip { to { transform: scale(2.6); opacity: 0; } }
.in-main .panel { border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); overflow: hidden; margin-bottom: 20px; }
.in-main .panel-heading { background: var(--peach); border: 0; padding: 14px 20px; font-weight: 600; }
.in-main .panel-body { padding: 20px; }
.in-main .alert { border-radius: 14px; padding: 12px 18px; border: 1px solid #ffd2a8; background: var(--cream); color: #7a3300; }
.in-err { display: block; color: #b34100; font-size: 12.5px; margin-top: 5px; animation: inShake .35s; }
.in-main .invalid { border-color: #e8590c !important; background: #fff8f2; }
@keyframes inShake { 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }

/* ---------- reveal ---------- */
.js .in-rv { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s cubic-bezier(.2, .8, .2, 1); transition-delay: var(--d, 0ms); }
.js .in-rv.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .in-banner .bub, .in-banner h1, .in-crumb, .in-side, .in-main { animation: none; } .js .in-rv { opacity: 1; transform: none; transition: none; } }

/* ---------- small screens ---------- */
@media (max-width: 991px) {
  .in-grid.has-side { grid-template-columns: 1fr; }
  .in-side { position: static; order: 2; }
  .in-links { max-height: none; }
  .in-banner { padding: 24px 0 28px; }
}
@media (max-width: 600px) { .in-main { border-radius: 16px; padding: 16px; font-size: 15px; } .in-wrap { padding: 16px 0 40px; } }

.in-main [style*="justify"], .in-main [align="justify"] { text-align: left !important; }
.in-main .style13 { display: block; margin-bottom: .4em; }

/* ---------- careers form ---------- */
.in-main .cf-card { background: var(--cream); border: 1px solid var(--line); border-radius: 20px; padding: 24px; margin-top: 18px; }
.in-main .cf-ok { border-color: #ffd2a8; border-left: 5px solid var(--saffron); } .in-main .cf-bad { background: #fff; border-color: var(--ink); border-left: 5px solid var(--orange); color: var(--ink); }
.in-main .cf-card .row { margin-left: -8px; margin-right: -8px; } .in-main .cf-card [class*="col-md-"], .in-main .cf-card [class*="col-xl-"] { padding-left: 8px; padding-right: 8px; }
.in-main .cf-card .form-group { margin-bottom: 14px; }
@media (max-width: 991px) { .in-main .cf-card [class*="col-md-"] { float: none; width: 100%; } }

/* ---------- PDF reader ---------- */
.in-main .pdf-bar { display: flex; gap: 10px; flex-wrap: wrap; margin: 4px 0 14px; }
.in-main a.pdf-btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 20px; border-radius: 99px; font-weight: 600; font-size: 14px; color: #fff; background: var(--grad); box-shadow: 0 8px 18px rgba(232, 89, 12, .26); background-size: auto; }
.in-main a.pdf-btn.line { background: #fff; color: var(--orange); border: 1.5px solid var(--saffron); box-shadow: none; }
.in-main a.pdf-btn:hover { color: #fff; background: var(--orange); transform: translateY(-2px); }
.in-main a.pdf-btn.line:hover { background: var(--saffron); }
.pdf-frame { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: #f4f4f4; box-shadow: var(--shadow); }
.pdf-frame iframe { display: block; width: 100%; height: min(82vh, 1100px); min-height: 480px; border: 0; background: #fff; border-radius: 0; }

/* ---------- Back button (top of the title banner and end of the content) ---------- */
.in-banner .in-back { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 7px 18px; border-radius: 99px; background: rgba(255, 255, 255, .18); color: #fff; font-weight: 600; font-size: 13.5px; border: 1px solid rgba(255, 255, 255, .45); text-decoration: none; transition: background .2s, transform .2s; }
.in-banner .in-back:hover { background: #fff; color: var(--orange); transform: translateX(-3px); }
.in-main .in-back-end { margin: 30px 0 4px; padding-top: 18px; border-top: 1px dashed var(--line); }
.in-main .in-back-end a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 22px; border-radius: 99px; background: var(--grad); color: #fff; font-weight: 600; font-size: 14px; text-decoration: none; box-shadow: 0 8px 18px rgba(232, 89, 12, .26); transition: transform .2s; }
.in-main .in-back-end a:hover { transform: translateX(-3px); color: #fff; }

/* the content always ends above the footer: embedded readers (iframe/embed/object) stay inside the page */
.in-wrap { position: relative; z-index: 1; }
.in-main { display: flow-root; min-width: 0; }
.in-main iframe, .in-main embed, .in-main object { max-width: 100%; }
.in-main iframe[src$=".pdf"], .in-main embed[src$=".pdf"], .in-main object[data$=".pdf"] { width: 100%; height: min(80vh, 1000px); min-height: 420px; position: static; }
.hm-in .hm-cta, .hm-in .hm-foot, .hm-in footer { position: relative; z-index: 2; clear: both; }

/* ---------- department page: easy to read, with motion ---------- */
.dp { --dp-ease: cubic-bezier(.22, .8, .24, 1); }
.dp .dp-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin: 6px 0 22px; }
.dp .dp-stat { position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; padding: 16px 18px; border-radius: 18px; background: linear-gradient(135deg, #fff, #fff4e6); border: 1px solid var(--line); box-shadow: var(--shadow); overflow: hidden; transition: transform .3s var(--dp-ease), box-shadow .3s; }
.dp .dp-stat::after { content: ''; position: absolute; right: -26px; top: -26px; width: 84px; height: 84px; border-radius: 50%; background: rgba(245, 130, 32, .1); }
.dp .dp-stat:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(232, 89, 12, .16); }
.dp .dp-stat .ic { grid-row: 1 / 3; width: 46px; height: 46px; border-radius: 14px; background: var(--grad); color: #fff; display: grid; place-items: center; font-size: 20px; box-shadow: 0 8px 16px rgba(232, 89, 12, .28); }
.dp .dp-stat .no { font-family: 'Playfair Display', serif; font-size: 26px; font-weight: 800; color: var(--ink); line-height: 1.1; white-space: nowrap; }
.dp .dp-stat .lb { font-size: 12.5px; color: var(--muted); font-weight: 500; letter-spacing: .3px; }

.dp .dp-tabs { display: flex; gap: 8px; flex-wrap: wrap; padding: 6px; margin-bottom: 20px; background: var(--peach, #ffe9d2); border-radius: 99px; width: max-content; max-width: 100%; }
.dp .dp-tabs button { border: 0; background: transparent; font: inherit; font-weight: 600; font-size: 14px; color: var(--ink); padding: 9px 20px; border-radius: 99px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: background .25s, color .25s, box-shadow .25s; }
.dp .dp-tabs button:hover { background: rgba(255, 255, 255, .7); }
.dp .dp-tabs button.on { background: var(--grad); color: #fff; box-shadow: 0 8px 18px rgba(232, 89, 12, .28); }
.js .dp .dp-panel { display: none; }
.js .dp .dp-panel.on { display: block; animation: dpIn .5s var(--dp-ease) both; }
@keyframes dpIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

.js .dp .dp-rv { opacity: 0; transform: translateY(22px); transition: opacity .6s var(--dp-ease), transform .6s var(--dp-ease); transition-delay: var(--d, 0s); }
.js .dp .dp-rv.in { opacity: 1; transform: none; }

.dp .dp-about-card { display: flex; gap: 22px; align-items: flex-start; flex-wrap: wrap; padding: 20px; border-radius: 20px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); margin-bottom: 18px; }
.dp .dp-pic { width: 300px; max-width: 100%; border-radius: 16px; box-shadow: 0 10px 24px rgba(0, 0, 0, .12); }
.dp .dp-about { flex: 1; min-width: 240px; line-height: 1.8; color: var(--ink); }
.dp h3 { font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 800; margin: 0 0 12px; color: var(--ink); }
.dp h3 i { color: var(--orange); margin-right: 8px; }
.dp .dp-card { padding: 20px 22px; border-radius: 20px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); margin-bottom: 18px; }
.dp .dp-bar { margin: 14px 0; }
.dp .dp-bar .top { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; margin-bottom: 6px; flex-wrap: wrap; }
.dp .dp-bar .top b { color: var(--orange); font-weight: 600; }
.dp .dp-bar .track { height: 12px; border-radius: 99px; background: #f3e6d6; overflow: hidden; }
.dp .dp-bar .track i { display: block; height: 100%; width: var(--w); border-radius: 99px; background: var(--grad); }
.js .dp .dp-bar .track i { width: 0; transition: width 1.2s var(--dp-ease) .2s; }
.js .dp .dp-card.in .track i { width: var(--w); }

.dp .dp-acc-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 26px 0 12px; }
.dp .dp-acc-head h3 { margin: 0; }
.dp .dp-all { border: 1.5px solid var(--saffron); background: #fff; color: var(--orange); font: inherit; font-weight: 600; font-size: 13px; padding: 7px 16px; border-radius: 99px; cursor: pointer; transition: background .2s, color .2s; }
.dp .dp-all:hover { background: var(--saffron); color: #fff; }
.dp .dp-acc { border-radius: 16px; background: #fff; border: 1px solid var(--line); margin-bottom: 12px; overflow: hidden; box-shadow: 0 4px 14px rgba(0, 0, 0, .04); }
.dp .dp-acc.open { border-color: var(--saffron); box-shadow: 0 12px 28px rgba(232, 89, 12, .12); }
.dp .dp-acc-btn { width: 100%; display: flex; align-items: center; gap: 14px; padding: 14px 18px; border: 0; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.dp .dp-acc-btn .ic { width: 38px; height: 38px; border-radius: 12px; background: var(--peach, #ffe9d2); color: var(--orange); display: grid; place-items: center; font-size: 17px; transition: background .25s, color .25s, transform .3s; flex: none; }
.dp .dp-acc.open .ic, .dp .dp-acc-btn:hover .ic { background: var(--grad); color: #fff; transform: rotate(-6deg) scale(1.05); }
.dp .dp-acc-btn .tt { flex: 1; font-weight: 600; font-size: 16px; color: var(--ink); }
.dp .dp-acc-btn .ct { min-width: 26px; height: 24px; padding: 0 9px; border-radius: 99px; background: rgba(245, 130, 32, .12); color: var(--orange); font-size: 12.5px; font-weight: 600; display: grid; place-items: center; }
.dp .dp-acc-btn .chev { font-size: 22px; color: var(--muted); transition: transform .35s var(--dp-ease); }
.dp .dp-acc.open .chev { transform: rotate(180deg); color: var(--orange); }
.js .dp .dp-acc-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s var(--dp-ease); }
.js .dp .dp-acc.open .dp-acc-body { grid-template-rows: 1fr; }
.dp .dp-acc-body > .in { overflow: hidden; min-height: 0; padding: 0 18px; }
.dp .dp-acc.open .dp-acc-body > .in { padding-bottom: 14px; }
.dp .dp-item { padding: 14px 16px; margin-top: 10px; border-radius: 12px; background: #fffaf3; border-left: 4px solid var(--saffron); }
.dp .dp-item h4 { margin: 0 0 6px; font-size: 14.5px; font-weight: 600; color: var(--orange); line-height: 1.4; }
.dp .dp-item p { margin: 0; line-height: 1.7; }
.dp .dp-item ul { margin: 0; padding-left: 20px; line-height: 1.75; }
.dp .dp-item li::marker { color: var(--orange); }
.dp .dp-scroll { overflow-x: auto; }
.dp .dp-table { border-collapse: collapse; min-width: 320px; width: 100%; font-size: 14px; }
.dp .dp-table th { background: var(--peach, #ffe9d2); font-weight: 600; text-align: left; }
.dp .dp-table th, .dp .dp-table td { padding: 8px 12px; border: 1px solid var(--line); }

.dp .dp-staff { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.dp .dp-person { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 22px 16px 18px; border-radius: 20px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); color: var(--ink); text-decoration: none; transition: transform .3s var(--dp-ease), box-shadow .3s, border-color .3s; }
.dp .dp-person:hover { transform: translateY(-6px); border-color: var(--saffron); box-shadow: 0 18px 36px rgba(232, 89, 12, .18); color: var(--ink); }
.dp .dp-person .av { width: 78px; height: 78px; border-radius: 50%; object-fit: cover; display: grid; place-items: center; background: var(--grad); color: #fff; font-family: 'Playfair Display', serif; font-weight: 800; font-size: 26px; margin-bottom: 8px; box-shadow: 0 10px 20px rgba(232, 89, 12, .28); transition: transform .4s var(--dp-ease); }
.dp .dp-person:hover .av { transform: scale(1.08) rotate(-4deg); }
.dp .dp-person .nm { font-weight: 600; font-size: 16px; }
.dp .dp-person .ds { color: var(--orange); font-size: 13.5px; font-weight: 600; }
.dp .dp-person .ql, .dp .dp-person .ex { color: var(--muted); font-size: 13px; line-height: 1.4; }
.dp .dp-person .go { margin-top: 10px; font-size: 13px; font-weight: 600; color: var(--orange); opacity: 0; transform: translateY(6px); transition: opacity .3s, transform .3s; }
.dp .dp-person:hover .go, .dp .dp-person:focus .go { opacity: 1; transform: none; }
@media (hover: none) { .dp .dp-person .go { opacity: 1; transform: none; } }
.dp .dp-doc { margin-top: 22px; }

.dp .dp-labs { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.dp .dp-labs a { position: relative; display: block; border-radius: 16px; overflow: hidden; aspect-ratio: 4 / 3; box-shadow: var(--shadow); }
.dp .dp-labs img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--dp-ease); }
.dp .dp-labs a:hover img { transform: scale(1.1); }
.dp .dp-labs a span { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(29, 36, 51, .45); color: #fff; font-size: 26px; opacity: 0; transition: opacity .3s; }
.dp .dp-labs a:hover span { opacity: 1; }
.dp .dp-empty { padding: 50px 0; text-align: center; color: var(--muted); }
.dp .dp-empty i { font-size: 36px; color: var(--saffron); animation: dpSpin 3s linear infinite; }
@keyframes dpSpin { 50% { transform: rotate(180deg); } to { transform: rotate(360deg); } }
@media (max-width: 600px) { .dp .dp-tabs { border-radius: 22px; width: 100%; } .dp .dp-tabs button { flex: 1; justify-content: center; padding: 9px 12px; } .dp .dp-pic { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .dp *, .dp *::before { animation: none !important; transition: none !important; } .js .dp .dp-rv { opacity: 1; transform: none; } .js .dp .dp-card .track i { width: var(--w); } }

/* ---------- academic pages: disciplines, courses offered, college fee ---------- */
.ac { --ac-ease: cubic-bezier(.22, .8, .24, 1); }
.ac [hidden] { display: none !important; }
.js .ac .ac-rv { opacity: 0; transform: translateY(18px); transition: opacity .55s var(--ac-ease), transform .55s var(--ac-ease); transition-delay: var(--d, 0s); }
.js .ac .ac-rv.in { opacity: 1; transform: none; }
.ac .ac-top { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin: 4px 0 16px; }
.ac .ac-tabs { display: flex; gap: 6px; flex-wrap: wrap; padding: 6px; background: var(--peach, #ffe9d2); border-radius: 99px; }
.ac .ac-tabs button { border: 0; background: transparent; font: inherit; font-weight: 600; font-size: 14px; color: var(--ink); padding: 9px 20px; border-radius: 99px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: background .25s, color .25s, box-shadow .25s; }
.ac .ac-tabs button b { font-size: 11.5px; background: rgba(245, 130, 32, .16); color: var(--orange); border-radius: 99px; padding: 1px 8px; }
.ac .ac-tabs button:hover { background: rgba(255, 255, 255, .7); }
.ac .ac-tabs button.on { background: var(--grad); color: #fff; box-shadow: 0 8px 18px rgba(232, 89, 12, .28); }
.ac .ac-tabs button.on b { background: rgba(255, 255, 255, .25); color: #fff; }
.ac .ac-search { position: relative; display: block; flex: 1; min-width: 220px; max-width: 360px; margin: 0; }
.ac .ac-search i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--orange); }
.ac .ac-search input { width: 100%; font: inherit; border: 1.5px solid var(--line); border-radius: 99px; padding: 10px 16px 10px 42px; background: #fff; transition: border-color .2s, box-shadow .2s; }
.ac .ac-search input:focus { outline: none; border-color: var(--saffron); box-shadow: 0 0 0 4px rgba(245, 130, 32, .16); }
.ac .ac-stats { display: flex; gap: 10px; flex-wrap: wrap; margin: 4px 0 8px; }
.ac .ac-stat { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 99px; background: linear-gradient(135deg, #fff, #fff4e6); border: 1px solid var(--line); box-shadow: var(--shadow); font-size: 14px; color: var(--muted); }
.ac .ac-stat i { color: var(--orange); }
.ac .ac-stat b { color: var(--ink); font-size: 17px; font-family: 'Playfair Display', serif; }
.ac .ac-note { color: var(--muted); font-size: 13.5px; margin: 0 0 14px; }
.ac .ac-note i { color: var(--orange); margin-right: 6px; }
.js .ac .ac-pane { display: none; }
.js .ac .ac-pane.on { display: block; animation: acIn .5s var(--ac-ease) both; }
@keyframes acIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

.ac .ac-level { font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 800; margin: 26px 0 10px; color: var(--ink); padding-bottom: 8px; border-bottom: 2px solid var(--peach, #ffe9d2); }
.ac .ac-level i { color: var(--orange); margin-right: 8px; }
.ac .ac-group { margin: 14px 0 20px; }
.ac .ac-group h4 { display: inline-block; margin: 0 0 8px; padding: 5px 16px; border-radius: 99px; background: var(--grad); color: #fff; font-size: 14px; font-weight: 600; letter-spacing: .3px; }
.ac .ac-scroll { overflow-x: auto; border-radius: 16px; border: 1px solid var(--line); box-shadow: var(--shadow); background: #fff; }
.ac .ac-table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.ac .ac-table th { background: var(--peach, #ffe9d2); color: var(--ink); font-weight: 600; text-align: left; padding: 11px 14px; white-space: nowrap; font-size: 13px; letter-spacing: .3px; text-transform: uppercase; }
.ac .ac-table td { padding: 11px 14px; border-top: 1px solid var(--line); vertical-align: middle; }
.ac .ac-table tbody tr { transition: background .2s; }
.ac .ac-table tbody tr:hover { background: #fffaf3; }
.ac .ac-table .chip { display: inline-block; min-width: 34px; text-align: center; padding: 2px 10px; border-radius: 99px; background: rgba(245, 130, 32, .13); color: var(--orange); font-weight: 600; }
.ac .ac-table .chip.reg { background: #e8f6ec; color: #1f7a3a; }
.ac .ac-table .chip.self { background: #eaf0fb; color: #2a52b8; }
.ac .ac-table.fees td:not(:first-child), .ac .ac-table.fees th:not(:first-child) { text-align: right; white-space: nowrap; }
.ac .ac-table .rs { color: var(--muted); font-size: 12.5px; }
.ac .ac-table .na { color: #b9ad9e; }
.ac .ac-table .tot { font-weight: 700; color: var(--orange); }

.ac .ac-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.ac .ac-card { position: relative; padding: 18px 18px 16px 62px; border-radius: 18px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); transition: transform .3s var(--ac-ease), box-shadow .3s, border-color .3s; }
.ac .ac-card:hover { transform: translateY(-5px); border-color: var(--saffron); box-shadow: 0 16px 32px rgba(232, 89, 12, .15); }
.ac .ac-card .no { position: absolute; left: 16px; top: 16px; width: 34px; height: 34px; border-radius: 12px; background: var(--grad); color: #fff; display: grid; place-items: center; font-weight: 600; font-size: 14px; box-shadow: 0 6px 12px rgba(232, 89, 12, .25); }
.ac .ac-card h3 { margin: 0 0 4px; font-size: 17px; font-weight: 600; color: var(--ink); }
.ac .ac-card .go { font-size: 13px; font-weight: 600; color: var(--orange); }
.ac .ac-card .go i { transition: transform .25s; }
.ac .ac-card:hover .go i { transform: translateX(4px); }
.ac .ac-card .soft { font-size: 13px; color: var(--muted); }
.ac .ac-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 28px 0 6px; }
.ac .ac-empty { padding: 30px 0; text-align: center; color: var(--muted); }
@media (max-width: 640px) {
  .ac .ac-tabs { width: 100%; border-radius: 22px; } .ac .ac-tabs button { flex: 1; justify-content: center; padding: 9px 12px; } .ac .ac-search { max-width: none; }
  .ac .ac-table thead { display: none; }
  .ac .ac-table, .ac .ac-table tbody, .ac .ac-table tr, .ac .ac-table td { display: block; width: 100%; }
  .ac .ac-table tr { padding: 10px 14px; border-top: 1px solid var(--line); }
  .ac .ac-table td { border: 0; padding: 3px 0; text-align: left !important; display: flex; justify-content: space-between; gap: 12px; }
  .ac .ac-table td::before { content: attr(data-l); color: var(--muted); font-size: 12.5px; flex: none; }
  .ac .ac-table td:first-child::before { display: none; }
  .ac .ac-table td:first-child { font-size: 15.5px; padding-bottom: 5px; }
}
@media (prefers-reduced-motion: reduce) { .ac *, .ac *::before { animation: none !important; transition: none !important; } .js .ac .ac-rv { opacity: 1; transform: none; } }

/* old pages put a fixed-width Bootstrap .container inside the content area: it must follow the width of the area, not the screen */
.in-main .container, .in-main .container-fluid { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0; padding-right: 0; }
.in-main .row { margin-left: 0; margin-right: 0; }
.in-main [class*="col-md-"], .in-main [class*="col-sm-"], .in-main [class*="col-lg-"] { min-width: 0; }
@media (max-width: 991px) { .in-main [class*="col-md-"] { width: 100%; float: none; } }

/* ---------- admin-maintained lists: news, downloads, notifications ---------- */
.cl h2 i { color: #f58220; margin-right: 6px; }
.cl .cl-sub { color: #6b7280; margin: -4px 0 16px; }
.cl .cl-find { width: 100%; max-width: 420px; padding: 10px 14px; border: 1px solid #e3e6ea; border-radius: 999px; margin-bottom: 16px; font: inherit; }
.cl .cl-find:focus { outline: 0; border-color: #f58220; box-shadow: 0 0 0 3px rgba(245, 130, 32, .18); }
.cl-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cl-list li { display: flex; align-items: center; gap: 14px; padding: 12px 14px; background: #fff; border: 1px solid #eceff3; border-radius: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, .04); animation: clIn .45s ease both; animation-delay: var(--d, 0ms); transition: transform .2s, box-shadow .2s, border-color .2s; }
.cl-list li:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0, 0, 0, .08); border-color: #f5c9a0; }
.cl-list li[hidden] { display: none; }
.cl-list .ic { flex: none; width: 42px; text-align: center; font-size: 26px; color: #f58220; }
.cl-list .tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.cl-list .tx b { font-weight: 600; color: #1f2937; overflow-wrap: anywhere; }
.cl-list .tx small { color: #8a93a0; font-size: 12px; }
.cl-list .go { flex: none; padding: 7px 14px; border-radius: 999px; background: #f58220; color: #fff; text-decoration: none; font-size: 13px; white-space: nowrap; transition: background .2s; }
.cl-list .go:hover { background: #d96d10; color: #fff; }
.cl-empty { text-align: center; padding: 40px 16px; color: #8a93a0; }
.cl-empty i { font-size: 44px; color: #f5c9a0; }
@keyframes clIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (max-width: 520px) { .cl-list li { flex-wrap: wrap; } .cl-list .go { margin-left: 56px; } }
@media (prefers-reduced-motion: reduce) { .cl-list li { animation: none; } }

/* ---------- Donations page ---------- */
.dv h2 { margin-bottom: 18px; }
.js .dv-in { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; transition-delay: var(--d, 0ms); }
.js .dv-in.on { opacity: 1; transform: none; }
.dv-hero { position: relative; overflow: hidden; display: flex; align-items: center; gap: 26px; padding: 30px 28px; border-radius: 22px; color: #fff; background: linear-gradient(120deg, #f58220, #e8590c 55%, #c2410c); box-shadow: 0 18px 40px rgba(232, 89, 12, .28); }
.dv-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, .22) 50%, transparent 65%); transform: translateX(-120%); animation: dvSheen 5s ease-in-out 1.2s infinite; pointer-events: none; }
.dv-heart { position: relative; flex: none; width: 92px; height: 92px; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .18); font-size: 44px; }
.dv-heart i { animation: dvBeat 1.5s ease-in-out infinite; }
.dv-heart span { position: absolute; inset: 0; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .55); animation: dvRing 2.4s ease-out infinite; }
.dv-heart span:nth-child(3) { animation-delay: .8s; }
.dv-heart span:nth-child(4) { animation-delay: 1.6s; }
.dv-hero-tx small { text-transform: uppercase; letter-spacing: 2px; font-size: 12px; opacity: .85; }
.dv-hero-tx h3 { margin: 4px 0 6px; font-size: 28px; font-weight: 700; color: #fff; }
.dv-hero-tx p { margin: 0 0 14px; opacity: .92; }
.dv-cta { border: 0; border-radius: 999px; padding: 12px 24px; background: #fff; color: #c2410c; font-weight: 600; cursor: pointer; box-shadow: 0 8px 20px rgba(0, 0, 0, .18); transition: transform .2s, box-shadow .2s; }
.dv-cta:hover { transform: translateY(-3px); box-shadow: 0 14px 26px rgba(0, 0, 0, .24); }
.dv-cta i { margin-right: 8px; }
.dv-about { margin: 22px 0 8px; }
.dv-about p { color: #4b5563; line-height: 1.75; text-align: justify; }
.dv-h { margin: 34px 0 16px; font-size: 22px; font-weight: 700; color: #1f2937; }
.dv-h i { color: #f58220; margin-right: 8px; }
.dv-funds { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.dv-fund { display: flex; flex-direction: column; gap: 4px; padding: 18px; background: #fff; border: 1px solid #eceff3; border-radius: 16px; transition: transform .25s, box-shadow .25s, border-color .25s; }
.dv-fund:hover { transform: translateY(-6px); box-shadow: 0 14px 28px rgba(0, 0, 0, .1); border-color: #f5c9a0; }
.dv-fund .ic { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: #fff1e3; color: #f58220; font-size: 22px; margin-bottom: 6px; transition: transform .35s, background .25s, color .25s; }
.dv-fund:hover .ic { transform: rotate(-8deg) scale(1.1); background: #f58220; color: #fff; }
.dv-fund b { color: #1f2937; }
.dv-fund small { color: #8a93a0; }
.dv-pay { display: flex; gap: 26px; align-items: center; flex-wrap: wrap; padding: 22px; background: linear-gradient(135deg, #fff7ee, #fff); border: 1px solid #f5d9bd; border-radius: 20px; }
.dv-qr { text-align: center; }
.dv-qr img { width: 190px; height: 190px; object-fit: contain; background: #fff; padding: 8px; border-radius: 16px; border: 1px solid #f1d8bd; box-shadow: 0 10px 24px rgba(232, 89, 12, .15); animation: dvFloat 3.2s ease-in-out infinite; }
.dv-qr small { display: block; margin-top: 8px; color: #8a93a0; }
.dv-pay dl { flex: 1; min-width: 230px; margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 10px 16px; }
.dv-pay dt { color: #8a93a0; font-weight: 500; }
.dv-pay dd { margin: 0; overflow-wrap: anywhere; }
.dv-team { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.dv-person { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 18px 18px 16px 84px; min-height: 96px; background: #fff; border: 1px solid #eceff3; border-radius: 16px; transition: transform .25s, box-shadow .25s; }
.dv-person:hover { transform: translateY(-5px); box-shadow: 0 14px 28px rgba(0, 0, 0, .1); }
.dv-person .av { position: absolute; left: 18px; top: 18px; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg, #f58220, #e8590c); color: #fff; font-weight: 700; font-size: 21px; }
.dv-person .role { font-size: 11px; text-transform: uppercase; letter-spacing: 1.4px; color: #e8590c; font-weight: 600; }
.dv-person b { color: #1f2937; }
.dv-person small { color: #8a93a0; }
.dv-person a { margin-top: 4px; color: #d96d10; text-decoration: none; font-size: 14px; }
.dv-note { display: flex; gap: 16px; align-items: flex-start; margin-top: 30px; padding: 18px 20px; border-radius: 16px; background: #f3f6fb; color: #4b5563; }
.dv-note > i { font-size: 26px; color: #f58220; margin-top: 2px; }
.dv-note p { margin: 0 0 6px; }
.dv-note a { display: block; color: #d96d10; overflow-wrap: anywhere; }
@keyframes dvBeat { 0%, 100% { transform: scale(1); } 15% { transform: scale(1.22); } 30% { transform: scale(1); } 45% { transform: scale(1.14); } }
@keyframes dvRing { from { transform: scale(1); opacity: .8; } to { transform: scale(1.8); opacity: 0; } }
@keyframes dvSheen { 0%, 60% { transform: translateX(-120%); } 100% { transform: translateX(120%); } }
@keyframes dvFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@media (max-width: 600px) { .dv-hero { flex-direction: column; text-align: center; padding: 26px 18px; } .dv-hero-tx h3 { font-size: 23px; } .dv-pay { justify-content: center; } .dv-qr img { width: 170px; height: 170px; } }
@media (prefers-reduced-motion: reduce) { .dv-heart i, .dv-heart span, .dv-hero::after, .dv-qr img { animation: none; } .js .dv-in { opacity: 1; transform: none; transition: none; } }

/* ---------- text pages (cms/page.php) ---------- */
.cms-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 9400; background: linear-gradient(90deg, #f58220, #e8590c); transform-origin: left; transform: scaleX(0); }
.cms { background: #fff; border-radius: 22px; padding: 34px 38px 40px; box-shadow: 0 10px 36px rgba(31, 41, 55, .08); border: 1px solid #f0f2f5; animation: cmsIn .6s ease both; }
.cms-head { margin-bottom: 22px; }
.cms-kicker { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: #e8590c; background: #fff1e3; padding: 4px 12px; border-radius: 999px; }
.cms-head h2 { margin: 12px 0 10px; font-family: "Playfair Display", Georgia, serif; font-size: 34px; font-weight: 800; color: #1f2937; line-height: 1.2; }
.cms-rule { display: block; width: 72px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, #f58220, #e8590c); animation: cmsRule 1s .3s ease both; }
.cms-hero { margin: 0 0 24px; border-radius: 18px; overflow: hidden; }
.cms-hero img { display: block; width: 100%; height: auto; max-height: 460px; object-fit: cover; transition: transform 1.2s ease; }
.cms-hero:hover img { transform: scale(1.04); }
.cms-toc { margin: 0 0 26px; padding: 16px 20px; border-radius: 16px; background: #fff7ee; border: 1px solid #f5d9bd; }
.cms-toc b { display: block; margin-bottom: 8px; color: #c2410c; }
.cms-toc ol { margin: 0; padding: 0; list-style: none; columns: 2; column-gap: 28px; counter-reset: t; }
.cms-toc li { counter-increment: t; break-inside: avoid; padding: 3px 0; }
.cms-toc li::before { content: counter(t) "."; display: inline-block; width: 22px; color: #f58220; font-weight: 600; }
.cms-toc a { color: #374151; text-decoration: none; transition: color .2s, padding .2s; }
.cms-toc a:hover { color: #e8590c; padding-left: 4px; }

.cms-body { font-size: 16.5px; line-height: 1.8; color: #374151; overflow-wrap: break-word; }
.cms-body, .cms-body * { max-width: 100%; }
.cms-body * { font-family: inherit !important; }
.cms-body .cr { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s ease; transition-delay: var(--d, 0ms); }
.cms-body .cr.on { opacity: 1; transform: none; }
.cms-body p { margin: 0 0 1.05em; text-align: justify; }
.cms-body h1, .cms-body h2, .cms-body h3, .cms-body h4, .cms-body h5 { font-family: "Playfair Display", Georgia, serif !important; color: #1f2937; line-height: 1.3; margin: 1.6em 0 .6em; }
.cms-body h2, .cms-body h3 { position: relative; padding-left: 16px; }
.cms-body h2::before, .cms-body h3::before { content: ""; position: absolute; left: 0; top: .15em; bottom: .15em; width: 5px; border-radius: 4px; background: linear-gradient(#f58220, #e8590c); }
.cms-body h2 { font-size: 26px; } .cms-body h3 { font-size: 22px; } .cms-body h4 { font-size: 19px; }
.cms-body strong, .cms-body b { color: #1f2937; }
.cms-body a { color: #d96d10; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat; transition: background-size .3s, color .2s; }
.cms-body a:hover { background-size: 100% 2px; color: #b45309; }
.cms-body ul, .cms-body ol { margin: 0 0 1.1em; padding-left: 1.3em; }
.cms-body ul { list-style: none; padding-left: 0; }
.cms-body ul > li { position: relative; padding-left: 28px; margin-bottom: .45em; }
.cms-body ul > li::before { content: "\f105"; font-family: FontAwesome !important; position: absolute; left: 6px; top: 0; color: #f58220; font-weight: 700; transition: transform .2s; }
.cms-body ul > li:hover::before { transform: translateX(4px); }
.cms-body ol > li { margin-bottom: .45em; padding-left: 4px; }
.cms-body ol > li::marker { color: #f58220; font-weight: 700; }
.cms-body img { height: auto !important; border-radius: 14px; box-shadow: 0 8px 22px rgba(0, 0, 0, .12); transition: transform .35s, box-shadow .35s; }
.cms-body img:hover { transform: scale(1.02); box-shadow: 0 14px 30px rgba(0, 0, 0, .18); }
.cms-body blockquote { margin: 1.3em 0; padding: 16px 20px; border-left: 5px solid #f58220; background: #fff7ee; border-radius: 0 14px 14px 0; font-style: italic; }
.cms-body hr { border: 0; height: 2px; background: linear-gradient(90deg, #f58220, transparent); margin: 2em 0; }
.cms-tw { overflow-x: auto; margin: 0 0 1.3em; border-radius: 14px; border: 1px solid #f0e2d2; -webkit-overflow-scrolling: touch; }
.cms-body table { width: 100% !important; border-collapse: collapse !important; border: 0 !important; margin: 0 !important; font-size: 15px; line-height: 1.55; }
.cms-body table th, .cms-body table td { padding: 11px 14px !important; border: 0 !important; border-bottom: 1px solid #f3e9dc !important; vertical-align: top; width: auto !important; height: auto !important; text-align: left; }
.cms-body table p { margin: 0 0 .35em; text-align: left; }
.cms-body table p:last-child { margin-bottom: 0; }
.cms-body table tr:first-child th, .cms-body table thead td, .cms-body table thead th { background: linear-gradient(135deg, #f58220, #e8590c); color: #fff; font-weight: 600; }
.cms-body table tr:first-child th *, .cms-body table thead * { color: #fff !important; }
.cms-body table tbody tr:nth-child(even) td { background: #fffaf4; }
.cms-body table tbody tr { transition: background .2s; }
.cms-body table tbody tr:hover td { background: #fff1e3; }
.cms-body iframe, .cms-body video { border: 0; border-radius: 14px; }
.cms-top { position: fixed; right: 18px; bottom: 84px; z-index: 900; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #f58220; color: #fff; font-size: 24px; box-shadow: 0 8px 20px rgba(232, 89, 12, .4); cursor: pointer; transition: transform .2s, background .2s; }
.cms-top:hover { transform: translateY(-3px); background: #d96d10; }
.cms-top[hidden] { display: none; }
@keyframes cmsIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes cmsRule { from { width: 0; } to { width: 72px; } }
@media (max-width: 767px) { .cms { padding: 22px 16px 28px; border-radius: 16px; } .cms-head h2 { font-size: 26px; } .cms-body { font-size: 15.5px; } .cms-body p { text-align: left; } .cms-toc ol { columns: 1; } .cms-top { bottom: 76px; } }
@media (prefers-reduced-motion: reduce) { .cms, .cms-rule { animation: none; } .cms-body .cr { opacity: 1; transform: none; transition: none; } .cms-hero img, .cms-body img { transition: none; } }
.cms-kids { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.cms-kids a { display: flex; align-items: center; gap: 10px; padding: 14px 16px; background: #fff; border: 1px solid #eceff3; border-radius: 14px; color: #1f2937; font-weight: 500; text-decoration: none; animation: cmsIn .5s ease both; animation-delay: var(--d, 0ms); transition: transform .25s, box-shadow .25s, border-color .25s, background .25s; }
.cms-kids a i { color: #f58220; font-size: 20px; transition: transform .25s; }
.cms-kids a:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(0, 0, 0, .1); border-color: #f5c9a0; background: #fff7ee; }
.cms-kids a:hover i { transform: translateX(5px); }
.cms-none { color: #8a93a0; text-align: center; padding: 30px 0; } .cms-none i { display: block; font-size: 38px; color: #f5c9a0; margin-bottom: 8px; }

/* ---------- college fee: academic year switch ---------- */
.ac-years { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.ac-years a { padding: 7px 16px; border-radius: 999px; border: 1px solid #f5d9bd; color: #c2410c; background: #fff7ee; font-weight: 600; text-decoration: none; transition: background .2s, color .2s, transform .2s; }
.ac-years a:hover { transform: translateY(-2px); }
.ac-years a.on { background: linear-gradient(135deg, #f58220, #e8590c); color: #fff; border-color: transparent; }
