/* =========================================================
   PANGSOED 2 — MODERN UI SYSTEM 2026
   Presentation-only override layer. No PHP/business logic.
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --ps-primary: #071a3d;
  --ps-primary-strong: #071a3d;
  --ps-primary-deep: #04122c;
  --ps-primary-soft: #fff3bf;
  --ps-primary-soft-2: #fff9df;
  --ps-accent: #d4a900;
  --ps-slate-950: #0f172a;
  --ps-slate-900: #111827;
  --ps-slate-800: #1f2937;
  --ps-slate-700: #334155;
  --ps-slate-600: #475569;
  --ps-slate-500: #64748b;
  --ps-slate-400: #94a3b8;
  --ps-slate-300: #cbd5e1;
  --ps-slate-200: #e2e8f0;
  --ps-slate-100: #f1f5f9;
  --ps-surface: #ffffff;
  --ps-bg: #f8fafc;
  --ps-radius-sm: 10px;
  --ps-radius: 16px;
  --ps-radius-lg: 22px;
  --ps-radius-xl: 28px;
  --ps-shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 12px rgba(15, 23, 42, .04);
  --ps-shadow: 0 12px 36px rgba(15, 23, 42, .08);
  --ps-shadow-lg: 0 24px 60px rgba(15, 23, 42, .13);
  --ps-ring: 0 0 0 4px rgba(212,169,0, .14);
}

html { scroll-behavior: smooth; background: var(--ps-bg) !important; }
body {
  font-family: 'Plus Jakarta Sans', Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color: var(--ps-slate-700) !important;
  background: var(--ps-bg) !important;
  line-height: 1.65;
  letter-spacing: -.01em;
  overflow-x: clip;
}
body::before { display: none !important; }
img { max-width: 100%; }
a { color: var(--ps-primary); text-underline-offset: 3px; }
a:hover { color: var(--ps-primary-strong); }
::selection { background: var(--ps-primary-soft); color: var(--ps-primary-deep); }

h1,h2,h3,h4,h5,h6 {
  color: var(--ps-slate-950) !important;
  font-weight: 750;
  letter-spacing: -.035em;
  line-height: 1.18;
}
p { color: var(--ps-slate-600); }
.text-muted { color: var(--ps-slate-500) !important; }
.text-success { color: var(--ps-primary) !important; }

.container, .container-fluid, .row, section { background-color: transparent !important; }
.container-narrow { max-width: 1180px !important; }

/* ---- Accessibility / focus ---- */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(212,169,0,.28) !important;
  outline-offset: 2px;
}

/* ---- Top bar ---- */
.topbar {
  background: var(--ps-slate-950) !important;
  color: #dbeafe !important;
  min-height: 42px;
  font-size: .78rem !important;
  letter-spacing: .01em;
}
.topbar .container { min-height: 42px; gap: 18px; }
.topbar a, .topbar span { color: #e2e8f0 !important; }
.topbar a {
  opacity: .92;
  transition: opacity .2s ease, color .2s ease;
}
.topbar a:hover { opacity: 1; color: #fff !important; text-decoration: none; }
.topbar .social-group { gap: 6px !important; }
.topbar .social-icon {
  width: 28px !important;
  height: 28px !important;
  border-radius: 9px !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.08);
}
.topbar .social-icon:hover {
  background: var(--ps-primary) !important;
  border-color: var(--ps-primary) !important;
  transform: translateY(-1px);
}

/* ---- Navigation ---- */
.nav-glass, .navbar {
  background: rgba(255,255,255,.94) !important;
  -webkit-backdrop-filter: blur(18px) saturate(155%);
  backdrop-filter: blur(18px) saturate(155%);
  border-bottom: 1px solid rgba(226,232,240,.9) !important;
  box-shadow: 0 8px 28px rgba(15,23,42,.045);
}
.navbar { min-height: 76px; }
.navbar-brand img { height: 50px !important; width: auto; object-fit: contain; }
.main-nav { gap: .2rem !important; }
.main-nav .nav-link {
  color: var(--ps-slate-700) !important;
  font-size: .88rem;
  font-weight: 650 !important;
  padding: .72rem .78rem !important;
  border-radius: 10px !important;
  text-decoration: none !important;
}
.main-nav .nav-link:hover,
.main-nav .nav-link:focus,
.main-nav .nav-link.active,
.main-nav .show > .nav-link {
  color: var(--ps-primary-strong) !important;
  background: var(--ps-primary-soft-2) !important;
}
.navbar-toggler {
  border: 1px solid var(--ps-slate-200) !important;
  border-radius: 12px !important;
  padding: .55rem .7rem !important;
  box-shadow: none !important;
}
.navbar .dropdown-menu {
  border: 1px solid var(--ps-slate-200) !important;
  border-radius: 14px !important;
  box-shadow: var(--ps-shadow) !important;
  padding: .55rem !important;
  min-width: 220px;
}
.navbar .dropdown-item {
  border-radius: 9px;
  padding: .65rem .75rem;
  color: var(--ps-slate-700);
  font-size: .88rem;
}
.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
  background: var(--ps-primary-soft-2) !important;
  color: var(--ps-primary-strong) !important;
}

/* ---- Page rhythm ---- */
.section, .editorial-section, .home-feed-section, #why-us, #clients, #contact {
  padding-top: clamp(64px, 7vw, 96px) !important;
  padding-bottom: clamp(64px, 7vw, 96px) !important;
}
.quick-access { padding: 36px 0 24px !important; }
.home-feed-section.alt { background: #f1f5f9 !important; }
.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--ps-primary) !important;
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .13em;
  margin-bottom: .85rem;
}
.section-kicker::before {
  content: '';
  width: 26px;
  height: 2px;
  background: var(--ps-accent);
  border-radius: 999px;
}
.display-heading, .home-section-heading {
  font-size: clamp(1.85rem, 4vw, 3.15rem) !important;
  max-width: 780px;
}
.section-heading-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}
.section-heading-row .heading-copy p { max-width: 680px; margin-bottom: 0; }
.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
}

/* ---- Cards / tiles ---- */
.feature-tile, .card, .contact-card, .agenda-container,
.content-card, .article-card, .ppdb-info-card, .ppdb-form {
  background: var(--ps-surface) !important;
  border: 1px solid var(--ps-slate-200) !important;
  border-radius: var(--ps-radius-lg) !important;
  box-shadow: var(--ps-shadow-sm) !important;
}
.feature-tile {
  min-height: 190px !important;
  padding: 1.6rem !important;
  text-align: left !important;
  justify-content: flex-start !important;
  position: relative;
  overflow: hidden;
}
.feature-tile::after {
  content: '';
  position: absolute;
  width: 110px;
  height: 110px;
  right: -46px;
  top: -48px;
  border-radius: 50%;
  background: var(--ps-primary-soft-2);
  transition: transform .25s ease;
}
.feature-tile:hover::after { transform: scale(1.16); }
.feature-tile:hover, .card:hover {
  transform: translateY(-4px) !important;
  border-color: #f4df8a !important;
  box-shadow: var(--ps-shadow) !important;
}
.quick-icon {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: var(--ps-primary-soft-2);
  color: var(--ps-primary);
  margin-bottom: 1rem;
  font-size: 1.25rem;
}
.feature-tile h3 { font-size: 1rem !important; margin-bottom: .5rem; }
.feature-tile p { font-size: .86rem; margin: 0; }
.card {
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.card .card-body { padding: 1.25rem; }
.card .card-title { font-size: 1.02rem !important; color: var(--ps-slate-900) !important; }
.card .card-footer { background: #fff !important; border-top: 1px solid var(--ps-slate-100) !important; }
.card img { object-fit: cover; }
.ratio img { width: 100%; height: 100%; }

/* ---- Editorial ---- */
.editorial-media {
  position: relative;
  border-radius: var(--ps-radius-xl);
  overflow: hidden;
  box-shadow: var(--ps-shadow-lg);
}
.editorial-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(15,23,42,.58));
  pointer-events: none;
}
.editorial-media img { width: 100%; min-height: 420px; object-fit: cover; display: block; }
.editorial-badge {
  position: absolute;
  left: 22px;
  bottom: 22px;
  z-index: 2;
  color: #fff;
  background: rgba(15,23,42,.62);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: .62rem .9rem;
  backdrop-filter: blur(12px);
  font-size: .82rem;
  font-weight: 650;
}
.editorial-copy { font-size: 1rem; max-width: 620px; }
.editorial-points {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  margin-top: 22px;
}
.editorial-point {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--ps-slate-200);
  border-radius: 14px;
}
.editorial-point > i {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  border-radius: 11px;
  background: var(--ps-primary-soft-2);
  color: var(--ps-primary);
}
.editorial-point strong { display:block; font-size:.86rem; color:var(--ps-slate-900); }
.editorial-point span { display:block; font-size:.76rem; color:var(--ps-slate-500); margin-top:2px; }

/* ---- Buttons ---- */
.btn {
  border-radius: 12px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em;
  padding: .68rem 1rem;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-success, .btn-primary, .btn-brand {
  background: var(--ps-primary) !important;
  border-color: var(--ps-primary) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(7,26,61,.17);
}
.btn-success:hover, .btn-primary:hover, .btn-brand:hover {
  background: var(--ps-primary-strong) !important;
  border-color: var(--ps-primary-strong) !important;
  color: #fff !important;
  box-shadow: 0 11px 24px rgba(7,26,61,.22);
}
.btn-outline-success, .btn-outline-primary {
  border-color: #f4df8a !important;
  color: var(--ps-primary-strong) !important;
  background: #fff !important;
}
.btn-outline-success:hover, .btn-outline-primary:hover {
  background: var(--ps-primary-soft-2) !important;
  border-color: #f4c430 !important;
}

/* ---- Forms ---- */
.form-label { color: var(--ps-slate-700); font-weight: 700; font-size: .84rem; }
.form-control, .form-select, textarea.form-control {
  min-height: 46px;
  border: 1px solid var(--ps-slate-300) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--ps-slate-900) !important;
  box-shadow: none !important;
  padding: .72rem .88rem;
}
textarea.form-control { min-height: 120px; }
.form-control::placeholder { color: var(--ps-slate-400); }
.form-control:focus, .form-select:focus {
  border-color: #f4c430 !important;
  box-shadow: var(--ps-ring) !important;
}
.input-group .form-control:first-child { border-radius: 12px 0 0 12px !important; }
.input-group .btn:last-child { border-radius: 0 12px 12px 0 !important; }

/* ---- Tables / data pages ---- */
.table-responsive {
  border-radius: var(--ps-radius);
  border: 1px solid var(--ps-slate-200);
  background: #fff;
}
.table { margin-bottom: 0; color: var(--ps-slate-700); }
.table > :not(caption) > * > * { padding: .9rem 1rem; border-bottom-color: var(--ps-slate-100); vertical-align: middle; }
.table thead th {
  background: #f8fafc !important;
  color: var(--ps-slate-600) !important;
  font-size: .73rem;
  text-transform: uppercase;
  letter-spacing: .055em;
  font-weight: 800;
  border-bottom: 1px solid var(--ps-slate-200) !important;
}
.table tbody tr:hover > * { background: #fff9df !important; }
.badge { border-radius: 999px !important; font-weight: 700; padding: .45em .68em; }

/* ---- Article / page content ---- */
.article-content, .page-content, .agenda-body, .content-body, .entry-content {
  color: var(--ps-slate-700) !important;
  font-size: 1rem;
  line-height: 1.82;
}
.article-content img, .page-content img, .agenda-body img, .content-body img, .entry-content img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 16px;
}
.article-content blockquote, .page-content blockquote, .agenda-body blockquote {
  border-left: 4px solid var(--ps-accent);
  background: var(--ps-primary-soft-2);
  padding: 1rem 1.25rem;
  border-radius: 0 14px 14px 0;
}

/* ---- Swiper ---- */
.swiper { padding: 4px 3px 42px !important; }
.swiper-pagination-bullet { background: #94a3b8 !important; opacity: .35 !important; }
.swiper-pagination-bullet-active { background: var(--ps-primary) !important; opacity: 1 !important; width: 22px; border-radius: 999px; }

/* ---- Why us / video ---- */
#why-us { background: #fff !important; }
#why-us .video-box, .video-card {
  border-radius: var(--ps-radius-xl) !important;
  box-shadow: var(--ps-shadow-lg) !important;
  overflow: hidden;
}
#why-us .play-btn { background: var(--ps-primary) !important; }
#why-us .play-btn::after { border-color: rgba(255,255,255,.75) !important; }

/* ---- Contact ---- */
#contact { background: #f1f5f9 !important; }
.contact-card { padding: 1.35rem; height: 100%; }

/* ---- Alerts / pagination / modal ---- */
.alert { border-radius: 14px !important; border-width: 1px !important; box-shadow: var(--ps-shadow-sm); }
.alert-success { background: #fff9df !important; border-color: #f4df8a !important; color: #071a3d !important; }
.alert-danger { background: #fff1f2 !important; border-color: #fecdd3 !important; color: #9f1239 !important; }
.pagination { gap: .3rem; }
.page-link {
  border-radius: 10px !important;
  border-color: var(--ps-slate-200) !important;
  color: var(--ps-slate-700) !important;
  min-width: 38px;
  text-align: center;
}
.page-item.active .page-link { background: var(--ps-primary) !important; border-color: var(--ps-primary) !important; color: #fff !important; }
.modal-content { border: 0 !important; border-radius: 20px !important; box-shadow: var(--ps-shadow-lg) !important; overflow: hidden; }
.modal-header, .modal-footer { border-color: var(--ps-slate-100) !important; }

/* ---- Footer ---- */
.site-footer, #footer {
  background: var(--ps-slate-950) !important;
  color: #cbd5e1 !important;
  border-top: 0 !important;
}
.site-footer .footer-top, #footer .footer-top { padding: 58px 0 34px !important; }
.site-footer h4, .site-footer h5, #footer h4, #footer h5 { color: #fff !important; font-size: .94rem; letter-spacing: -.015em; }
.site-footer p, .site-footer li, #footer p, #footer li { color: #94a3b8 !important; }
.site-footer a, #footer a { color: #cbd5e1 !important; text-decoration: none; }
.site-footer a:hover, #footer a:hover { color: #fff !important; }
.site-footer .btn-social, #footer .btn-social {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.09) !important;
  color: #fff !important;
}
.site-footer .btn-social:hover, #footer .btn-social:hover { background: var(--ps-primary) !important; border-color: var(--ps-primary) !important; }
.site-footer .copyright, #footer .copyright {
  border-top: 1px solid rgba(255,255,255,.08);
  color: #94a3b8 !important;
}

/* ---- Special standalone page fallbacks ---- */
.agenda-container {
  max-width: 960px !important;
  margin: 56px auto !important;
  padding: clamp(22px,4vw,42px) !important;
}
.agenda-image { border-radius: 18px !important; max-height: 520px !important; }
.agenda-meta { color: var(--ps-slate-500) !important; border-color: var(--ps-slate-200) !important; }
.agenda-meta .badge { background: var(--ps-primary-soft-2) !important; color: var(--ps-primary-strong) !important; }

/* ---- Responsive ---- */
@media (max-width: 991.98px) {
  .topbar { display: none; }
  .navbar { min-height: 68px; }
  .navbar-brand img { height: 44px !important; }
  .navbar-collapse {
    margin-top: .75rem;
    padding: .75rem;
    background: #fff;
    border: 1px solid var(--ps-slate-200);
    border-radius: 16px;
    box-shadow: var(--ps-shadow);
  }
  .main-nav .nav-link { padding: .72rem .8rem !important; }
  .navbar .dropdown-menu { box-shadow: none !important; border: 0 !important; background: #f8fafc !important; }
  .section-heading-row { align-items: flex-start; flex-direction: column; }
  .editorial-media img { min-height: 330px; }
}
@media (max-width: 767.98px) {
  body { font-size: .94rem; }
  .section, .editorial-section, .home-feed-section, #why-us, #clients, #contact { padding-top: 56px !important; padding-bottom: 56px !important; }
  .quick-access { padding-top: 24px !important; }
  .feature-tile { min-height: 165px !important; padding: 1.15rem !important; }
  .quick-icon { width: 42px; height: 42px; }
  .editorial-points { grid-template-columns: 1fr; }
  .editorial-media { border-radius: 20px; }
  .editorial-media img { min-height: 280px; }
  .editorial-badge { left: 14px; right: 14px; bottom: 14px; text-align: center; }
  .table > :not(caption) > * > * { padding: .75rem .8rem; }
  .btn { padding: .62rem .86rem; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Brand lockup added by the 2026 presentation layer */
.navbar-brand .brand-copy {
  line-height: 1.04;
  margin-left: .25rem;
}
.navbar-brand .brand-copy strong {
  color: var(--ps-slate-900);
  font-size: .76rem;
  letter-spacing: -.018em;
  white-space: nowrap;
}
.navbar-brand .brand-copy small {
  color: var(--ps-primary);
  font-size: .63rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-top: 4px;
}

/* =========================================================
   PANGSOED 2 — UI REFINEMENT V2 (2026-09)
   Fixes contrast, completes navigation/page styling, and
   normalizes legacy CMS content without touching PHP logic.
   ========================================================= */

/* ---- Header width & navigation completeness ---- */
.topbar-shell,
.nav-shell {
  width: min(100%, 1580px);
  margin-inline: auto;
}

.navbar.nav-glass {
  --bs-navbar-padding-y: .55rem;
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 10px 34px rgba(15,23,42,.065) !important;
}
.navbar .navbar-brand {
  flex: 0 0 auto;
  margin-right: clamp(.65rem, 1.4vw, 1.35rem) !important;
  padding-block: .15rem !important;
}
.navbar-brand img {
  height: 52px !important;
  filter: drop-shadow(0 5px 10px rgba(15,23,42,.08));
}
.navbar-brand .brand-copy strong {
  font-size: .8rem !important;
  font-weight: 800 !important;
  color: var(--ps-slate-950) !important;
}
.navbar-brand .brand-copy small {
  font-size: .62rem !important;
  color: var(--ps-primary) !important;
}
.main-nav {
  align-items: center !important;
  gap: .08rem !important;
}
.main-nav .nav-item { position: relative; }
.main-nav .nav-link {
  position: relative;
  color: #334155 !important;
  font-size: .81rem !important;
  font-weight: 700 !important;
  padding: .68rem .58rem !important;
  white-space: nowrap;
  border: 1px solid transparent;
}
.main-nav .nav-link:hover,
.main-nav .nav-link:focus,
.main-nav .show > .nav-link {
  background: #fff9df !important;
  border-color: #fff3bf !important;
  color: #071a3d !important;
}
.main-nav .dropdown-toggle::after {
  margin-left: .36rem;
  vertical-align: .12em;
  border-top-width: .26em;
  border-right-width: .26em;
  border-left-width: .26em;
  opacity: .68;
}
.navbar .dropdown-menu {
  min-width: 290px !important;
  max-width: 360px;
  max-height: min(70vh, 560px);
  overflow-y: auto;
  margin-top: .55rem !important;
  padding: .55rem !important;
  border: 1px solid rgba(226,232,240,.95) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.985) !important;
  box-shadow: 0 20px 48px rgba(15,23,42,.14) !important;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}
.navbar .dropdown-menu::-webkit-scrollbar { width: 7px; }
.navbar .dropdown-menu::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 999px; }
.navbar .dropdown-item {
  white-space: normal !important;
  line-height: 1.42;
  font-size: .83rem !important;
  font-weight: 600;
  padding: .72rem .78rem !important;
  border-radius: 10px !important;
  color: #334155 !important;
}
.navbar .dropdown-item + .dropdown-item { margin-top: 2px; }
.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
  color: #071a3d !important;
  background: #fff9df !important;
}

/* ---- Homepage hero: contrast bug fix + visual refresh ---- */
.hero-banner {
  position: relative;
  min-height: clamp(500px, 61vh, 690px);
  overflow: hidden;
  isolation: isolate;
  background: #0f172a !important;
}
.hero-banner .hero-img {
  width: 100%;
  height: clamp(500px, 61vh, 690px) !important;
  object-fit: cover;
  object-position: center 48%;
  filter: saturate(.9) contrast(1.04);
  transform: scale(1.002);
}
.hero-banner .hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(4,18,44,.88) 0%, rgba(4,18,44,.72) 38%, rgba(15,23,42,.38) 72%, rgba(15,23,42,.24) 100%),
    linear-gradient(0deg, rgba(15,23,42,.54) 0%, rgba(15,23,42,.02) 58%) !important;
}
.hero-banner .hero-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: min(100%, 1360px);
  margin-inline: auto;
  padding: clamp(34px,5vw,72px) clamp(20px,4.4vw,64px) !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: center;
  text-align: left !important;
}
.hero-banner .hero-textbox {
  width: min(100%, 830px);
  max-width: 830px !important;
  padding: clamp(22px,3vw,34px) !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: linear-gradient(135deg, rgba(15,23,42,.72), rgba(4,18,44,.42)) !important;
  box-shadow: 0 24px 70px rgba(2,6,23,.28) !important;
  backdrop-filter: blur(13px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(13px) saturate(125%) !important;
}
/* Explicit !important overrides the global heading rule that caused invisible text. */
.hero-banner .hero-title {
  color: #ffffff !important;
  font-size: clamp(2.15rem, 4vw, 4.15rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.052em !important;
  text-shadow: 0 3px 20px rgba(0,0,0,.28) !important;
  max-width: 780px;
  margin-bottom: .8rem !important;
}
.hero-banner .hero-subtitle {
  color: #e2e8f0 !important;
  opacity: 1 !important;
  font-size: clamp(1rem,1.35vw,1.2rem) !important;
  line-height: 1.65;
  text-shadow: none !important;
}
.hero-banner .hero-search {
  width: min(100%, 780px) !important;
  max-width: 780px !important;
  margin-top: 1rem !important;
}
.hero-banner .hero-search .input-group {
  padding: 5px;
  border-radius: 16px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 46px rgba(2,6,23,.22);
}
.hero-banner .hero-search .form-control {
  min-height: 54px;
  border: 0 !important;
  background: transparent !important;
  border-radius: 12px 0 0 12px !important;
  padding-left: 1rem;
  font-size: .98rem;
}
.hero-banner .hero-search .form-control:focus { box-shadow: none !important; }
.hero-banner .hero-search .btn {
  min-width: 108px;
  border-radius: 11px !important;
  box-shadow: none !important;
}
.hero-banner .hero-content > .btn-brand {
  margin-top: 1rem !important;
  min-height: 48px;
  padding-inline: 1.2rem !important;
}

/* ---- Internal destinations: don't repeat the homepage hero ---- */
.page-cms .hero-banner,
.page-article .hero-banner,
.page-search .hero-banner,
.page-guestbook .hero-banner,
.page-contact .hero-banner,
.page-alumni .hero-banner {
  display: none !important;
}

/* ---- Dedicated internal page heroes ---- */
.guest-hero,
.contact-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #04122c 0%, #071a3d 56%, #071a3d 100%) !important;
  color: #fff !important;
  padding: clamp(54px,7vw,86px) 0 !important;
  text-align: left !important;
}
.guest-hero::before,
.contact-hero::before {
  content: '';
  position: absolute;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  right: -130px;
  top: -210px;
  background: rgba(255,255,255,.08);
}
.guest-hero .container,
.contact-hero .container { position: relative; z-index: 1; max-width: 1180px; }
.guest-hero h1,
.contact-hero h1 {
  color: #fff !important;
  font-size: clamp(2rem,4vw,3.25rem) !important;
  letter-spacing: -.045em !important;
}
.guest-hero p,
.contact-hero p { color: #fff3bf !important; max-width: 720px; }

/* ---- Generic CMS/menu pages ---- */
.page-cms main.container-narrow,
.page-article main .container-narrow,
.page-search main.container {
  max-width: 1180px !important;
}
.page-cms main {
  padding-top: clamp(32px,5vw,58px) !important;
  padding-bottom: clamp(60px,7vw,90px) !important;
}
.page-cms .breadcrumb,
.page-article .breadcrumb {
  --bs-breadcrumb-divider-color: #94a3b8;
  --bs-breadcrumb-item-active-color: #64748b;
  margin-bottom: 1rem !important;
  font-size: .82rem;
  font-weight: 650;
}
.page-cms .breadcrumb a,
.page-article .breadcrumb a { text-decoration: none; color: #071a3d !important; }
.page-cms article.card,
.page-article .single-article.card {
  border: 1px solid #e2e8f0 !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 48px rgba(15,23,42,.07) !important;
  overflow: hidden;
  transform: none !important;
}
.page-cms article.card:hover,
.page-article .single-article.card:hover { transform: none !important; }
.page-cms article.card > header {
  margin: -1rem -1rem 1.25rem !important;
  padding: clamp(22px,3vw,34px) clamp(20px,3vw,34px) 22px;
  border-bottom: 1px solid #eef2f7;
  background: linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}
.page-cms article.card > header h1,
.page-article .single-article h1 {
  color: #0f172a !important;
  font-size: clamp(1.7rem,3vw,2.5rem) !important;
  line-height: 1.16 !important;
}

/* Normalize legacy CMS markup from older editors without changing stored data. */
.page-cms .content,
.page-article .content-article,
.page-agenda .agenda-body {
  color: #475569 !important;
  font-family: 'Plus Jakarta Sans', Inter, system-ui, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.82 !important;
  overflow-wrap: anywhere;
}
.page-cms .content :where(p,span,font,div,li),
.page-article .content-article :where(p,span,font,div,li),
.page-agenda .agenda-body :where(p,span,font,div,li) {
  font-family: inherit !important;
  line-height: inherit !important;
}
.page-cms .content :where(p,li),
.page-article .content-article :where(p,li),
.page-agenda .agenda-body :where(p,li) {
  color: #475569 !important;
  font-size: 1rem !important;
}
.page-cms .content :where(h1,h2,h3,h4,h5,h6),
.page-article .content-article :where(h1,h2,h3,h4,h5,h6),
.page-agenda .agenda-body :where(h1,h2,h3,h4,h5,h6) {
  color: #0f172a !important;
  font-family: inherit !important;
  letter-spacing: -.035em !important;
  line-height: 1.25 !important;
  margin-top: 1.7em !important;
  margin-bottom: .65em !important;
}
.page-cms .content :where(h1,h2) { font-size: clamp(1.45rem,2.5vw,2rem) !important; }
.page-cms .content :where(h3,h4) { font-size: clamp(1.18rem,2vw,1.5rem) !important; }
.page-cms .content p { margin-bottom: 1rem !important; }
.page-cms .content :where(ul,ol),
.page-article .content-article :where(ul,ol),
.page-agenda .agenda-body :where(ul,ol) {
  padding-left: 1.35rem !important;
  margin-bottom: 1.15rem !important;
}
.page-cms .content li + li,
.page-article .content-article li + li,
.page-agenda .agenda-body li + li { margin-top: .42rem; }
.page-cms .content a,
.page-article .content-article a,
.page-agenda .agenda-body a {
  color: #071a3d !important;
  text-decoration: underline !important;
  text-decoration-color: #f4df8a !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
}
.page-cms .content a:hover,
.page-article .content-article a:hover,
.page-agenda .agenda-body a:hover { color: #071a3d !important; text-decoration-color: #f4c430 !important; }
.page-cms .content img,
.page-article .content-article img,
.page-agenda .agenda-body img {
  display: block;
  max-width: 100% !important;
  height: auto !important;
  margin: 1.35rem auto !important;
  border-radius: 18px !important;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 30px rgba(15,23,42,.07);
}
.page-cms .content iframe,
.page-article .content-article iframe,
.page-agenda .agenda-body iframe,
.page-cms .content video,
.page-article .content-article video,
.page-agenda .agenda-body video {
  display: block;
  width: 100% !important;
  max-width: 100%;
  border: 0;
  border-radius: 18px;
  margin: 1.35rem auto;
  box-shadow: 0 10px 30px rgba(15,23,42,.08);
}
.page-cms .content table,
.page-article .content-article table,
.page-agenda .agenda-body table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px;
  overflow-x: auto !important;
  background: #fff !important;
  margin: 1.35rem 0 !important;
}
.page-cms .content table th,
.page-article .content-article table th,
.page-agenda .agenda-body table th {
  background: #f8fafc !important;
  color: #334155 !important;
  font-weight: 800 !important;
}
.page-cms .content table td,
.page-cms .content table th,
.page-article .content-article table td,
.page-article .content-article table th,
.page-agenda .agenda-body table td,
.page-agenda .agenda-body table th {
  border-color: #e2e8f0 !important;
  padding: .78rem .9rem !important;
  vertical-align: top;
}
.page-cms .content blockquote,
.page-article .content-article blockquote,
.page-agenda .agenda-body blockquote {
  margin: 1.4rem 0 !important;
  padding: 1rem 1.2rem !important;
  border-left: 4px solid #d4a900 !important;
  border-radius: 0 14px 14px 0 !important;
  background: #fff9df !important;
  color: #334155 !important;
}
/* Remove legacy editor backgrounds that can make embedded text unreadable. */
.page-cms .content > div[style*="background-color"] {
  background: transparent !important;
  color: inherit !important;
  font-family: inherit !important;
  white-space: normal !important;
}

/* ---- Search results ---- */
.page-search main {
  padding-top: clamp(36px,5vw,60px) !important;
  padding-bottom: clamp(60px,7vw,88px) !important;
}
.page-search main > h1 {
  font-size: clamp(1.8rem,3.4vw,2.8rem) !important;
  margin-bottom: .7rem !important;
}
.page-search .card {
  height: 100%;
  border-radius: 18px !important;
  transform: none !important;
}
.page-search .card:hover { transform: translateY(-3px) !important; }
.page-search .card .stretched-link { font-weight: 750; text-decoration: none; }

/* ---- Guestbook / Contact ---- */
.page-guestbook main,
.page-contact main { max-width: 1180px; }
.page-guestbook .guest-form,
.page-contact .contact-card {
  border: 1px solid #e2e8f0 !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 42px rgba(15,23,42,.07) !important;
}
.page-guestbook .table-responsive { padding: 0 !important; overflow: hidden; }
.page-contact .list-group-item { background: transparent !important; border-color: #eef2f7 !important; }
.page-contact .social-icon { border-radius: 14px !important; }

/* ---- Alumni standalone ---- */
.page-alumni .page-head {
  position: relative;
  background: linear-gradient(135deg,#04122c,#071a3d) !important;
  border: 0 !important;
  padding: clamp(42px,5vw,64px) 0 !important;
}
.page-alumni .page-head h1 { color: #fff !important; font-size: clamp(1.9rem,3vw,2.65rem) !important; }
.page-alumni .page-head p { color: #fff3bf !important; max-width: 820px; }
.page-alumni .filter-card,
.page-alumni .donut-card,
.page-alumni .trend-card {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 28px rgba(15,23,42,.055) !important;
}
.page-alumni .filter-card { padding: 1.2rem !important; }

/* ---- Agenda standalone ---- */
.page-agenda .main-content {
  min-height: 100vh;
  background: #f8fafc !important;
  padding: clamp(24px,5vw,58px) 16px !important;
}
.page-agenda .agenda-container {
  max-width: 1020px !important;
  margin: 0 auto !important;
  padding: clamp(24px,4vw,44px) !important;
}
.page-agenda .agenda-content > h1 {
  color: #0f172a !important;
  font-size: clamp(1.8rem,3.6vw,2.8rem) !important;
  margin-bottom: .8rem !important;
}
.page-agenda .agenda-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .7rem;
  align-items: center;
  padding-bottom: 1rem;
}
.page-agenda .agenda-meta .badge { background: #fff9df !important; color: #071a3d !important; }

/* ---- Responsive completion ---- */
@media (max-width: 1399.98px) {
  .navbar .navbar-collapse {
    margin-top: .65rem;
    padding: .75rem !important;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #fff !important;
    box-shadow: 0 18px 48px rgba(15,23,42,.12);
  }
  .main-nav { align-items: stretch !important; }
  .main-nav .nav-link { font-size: .9rem !important; padding: .75rem .8rem !important; }
  .navbar .dropdown-menu {
    max-width: none;
    min-width: 0 !important;
    max-height: none;
    margin: .25rem 0 .45rem !important;
    box-shadow: none !important;
    background: #f8fafc !important;
  }
}
@media (max-width: 767.98px) {
  .navbar-brand img { height: 46px !important; }
  .hero-banner,
  .hero-banner .hero-img { min-height: 520px; height: 520px !important; }
  .hero-banner .hero-content {
    justify-content: flex-end;
    padding: 32px 16px 38px !important;
  }
  .hero-banner .hero-textbox {
    padding: 20px !important;
    border-radius: 20px !important;
  }
  .hero-banner .hero-title { font-size: clamp(1.8rem,9vw,2.55rem) !important; }
  .hero-banner .hero-subtitle { font-size: .95rem !important; }
  .hero-banner .hero-search .input-group { padding: 4px; }
  .hero-banner .hero-search .form-control { min-height: 48px; font-size: .88rem; }
  .hero-banner .hero-search .btn { min-width: 56px; }
  .page-cms article.card { border-radius: 18px !important; padding: 1rem !important; }
  .page-cms article.card > header { margin: -1rem -1rem 1rem !important; padding: 20px 16px 16px; }
  .guest-hero,
  .contact-hero { text-align: left !important; padding: 48px 0 !important; }
}

/* =========================================================
   PANGSOED 2 — INTERNAL PAGES V3
   Structural visual refresh for every menu/submenu page.
   ========================================================= */

/* Internal hero deliberately looks different from the homepage hero. */
.page-cms .internal-page-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(42px, 5.5vw, 76px) 0 clamp(46px, 6vw, 82px) !important;
  background:
    radial-gradient(circle at 87% 18%, rgba(244,196,48,.19) 0 1px, transparent 2px) 0 0/22px 22px,
    linear-gradient(118deg, #04122c 0%, #04122c 45%, #071a3d 100%) !important;
  border-bottom: 1px solid rgba(212,169,0,.28);
}
.page-cms .internal-page-hero::before,
.page-cms .internal-page-hero::after {
  content: '';
  position: absolute;
  pointer-events: none;
  border-radius: 999px;
  filter: blur(.1px);
  z-index: -1;
}
.page-cms .internal-page-hero::before {
  width: clamp(280px, 34vw, 540px);
  height: clamp(280px, 34vw, 540px);
  right: -11%;
  top: -46%;
  background: radial-gradient(circle, rgba(244,196,48,.22), rgba(212,169,0,.03) 68%, transparent 70%);
}
.page-cms .internal-page-hero::after {
  width: 240px;
  height: 240px;
  left: -105px;
  bottom: -150px;
  background: rgba(15,23,42,.34);
  border: 1px solid rgba(255,255,255,.06);
}
.page-cms .internal-page-hero .container { position: relative; z-index: 2; }
.page-cms .internal-breadcrumb {
  display: inline-flex;
  padding: .56rem .78rem;
  margin-bottom: clamp(22px, 3vw, 34px) !important;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  background: rgba(15,23,42,.28);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.page-cms .internal-breadcrumb .breadcrumb {
  font-size: .76rem !important;
  font-weight: 650;
  line-height: 1.3;
}
.page-cms .internal-breadcrumb .breadcrumb-item,
.page-cms .internal-breadcrumb .breadcrumb-item.active,
.page-cms .internal-breadcrumb .breadcrumb-item::before { color: rgba(226,232,240,.76) !important; }
.page-cms .internal-breadcrumb a { color: #fff !important; text-decoration: none !important; }
.page-cms .internal-breadcrumb a:hover { color: #f4df8a !important; }
.page-cms .internal-page-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(24px, 5vw, 72px);
  align-items: center;
}
.page-cms .internal-page-hero-copy { max-width: 930px; }
.page-cms .internal-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  margin-bottom: .82rem;
  color: #f4df8a !important;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.page-cms .internal-page-title {
  margin: 0 !important;
  max-width: 980px;
  color: #fff !important;
  font-size: clamp(2rem, 4.4vw, 4rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.052em !important;
  text-wrap: balance;
}
.page-cms .internal-page-meta {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-top: 1rem;
  padding: .48rem .68rem;
  color: #fff3bf !important;
  font-size: .78rem;
  font-weight: 650;
  border-radius: 10px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.10);
}
.page-cms .internal-page-emblem {
  display: grid;
  place-items: center;
  width: clamp(112px, 11vw, 154px);
  aspect-ratio: 1;
  border-radius: 34px;
  transform: rotate(7deg);
  background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.045));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 26px 60px rgba(2,6,23,.24), inset 0 1px rgba(255,255,255,.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.page-cms .internal-page-emblem span {
  display: grid;
  place-items: center;
  width: 68%;
  aspect-ratio: 1;
  border-radius: 25px;
  transform: rotate(-7deg);
  background: rgba(255,249,223,.13);
  color: #fff3bf;
  font-size: clamp(2.3rem, 4vw, 4rem);
  border: 1px solid rgba(244,223,138,.18);
}

/* Main internal shell */
.page-cms .internal-page-main {
  padding: clamp(36px, 5vw, 66px) 0 clamp(72px, 8vw, 110px) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(212,169,0,.055), transparent 24%),
    #f8fafc !important;
}
.page-cms .cms-content-panel {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 26px;
  box-shadow: 0 22px 58px rgba(15,23,42,.075);
}
.page-cms .cms-content-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 84px;
  padding: 18px clamp(20px, 3vw, 32px);
  border-bottom: 1px solid #eef2f7;
  background: linear-gradient(180deg, #ffffff 0%, #fbfefd 100%);
}
.page-cms .cms-content-toolbar > div { display: flex; flex-direction: column; gap: 2px; }
.page-cms .cms-content-kicker {
  color: #071a3d;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.page-cms .cms-content-label {
  color: #0f172a;
  font-size: .96rem;
  font-weight: 750;
  letter-spacing: -.02em;
}
.page-cms .cms-content-mark {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  border-radius: 13px;
  color: #071a3d;
  background: #fff9df;
  border: 1px solid #fff3bf;
  font-size: 1.15rem;
}
.page-cms .cms-prose {
  min-width: 0;
  padding: clamp(24px, 4vw, 46px) !important;
  color: #475569 !important;
}
.page-cms .cms-prose > :first-child { margin-top: 0 !important; }
.page-cms .cms-prose > :last-child { margin-bottom: 0 !important; }
.page-cms .cms-prose > div { overflow: visible !important; max-width: 100%; }
.page-cms .cms-prose :where(span,font)[style] {
  color: inherit !important;
  background-color: transparent !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}
.page-cms .cms-prose :where(strong,b) { color: #1e293b !important; font-weight: 800 !important; }
.page-cms .cms-prose :where(h2,h3,h4) {
  position: relative;
  scroll-margin-top: 110px;
}
.page-cms .cms-prose h2 {
  padding-bottom: .72rem;
  border-bottom: 1px solid #eef2f7;
}
.page-cms .cms-prose h2::after {
  content: '';
  display: block;
  width: 54px;
  height: 3px;
  margin-top: .72rem;
  border-radius: 999px;
  background: #d4a900;
}
.page-cms .cms-prose table { box-shadow: 0 8px 26px rgba(15,23,42,.045); }
.page-cms .cms-prose iframe { min-height: min(62vw, 480px); }

/* Sidebar */
.page-cms .internal-sidebar {
  display: grid;
  gap: 18px;
}
@media (min-width: 992px) {
  .page-cms .internal-sidebar { position: sticky; top: 102px; }
}
.page-cms .internal-sidebar-card,
.page-cms .internal-help-card {
  border-radius: 22px;
  overflow: hidden;
}
.page-cms .internal-sidebar-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 14px 40px rgba(15,23,42,.06);
}
.page-cms .internal-sidebar-heading {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: 18px;
  border-bottom: 1px solid #eef2f7;
}
.page-cms .internal-sidebar-heading .sidebar-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border-radius: 13px;
  color: #071a3d;
  background: #fff9df;
  border: 1px solid #fff3bf;
}
.page-cms .internal-sidebar-heading small,
.page-cms .internal-sidebar-heading strong { display: block; }
.page-cms .internal-sidebar-heading small {
  color: #94a3b8;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.page-cms .internal-sidebar-heading strong { color: #0f172a; font-size: .96rem; }
.page-cms .internal-quick-links { padding: 8px; }
.page-cms .internal-quick-links a {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr) 18px;
  gap: .55rem;
  align-items: center;
  min-height: 50px;
  padding: .48rem .55rem;
  border-radius: 12px;
  color: #334155 !important;
  text-decoration: none !important;
  font-size: .82rem;
  font-weight: 700;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.page-cms .internal-quick-links a > i:first-child {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  color: #071a3d;
  background: #fff9df;
}
.page-cms .internal-quick-links a > i:last-child { color: #cbd5e1; font-size: .7rem; }
.page-cms .internal-quick-links a:hover {
  color: #071a3d !important;
  background: #fff9df;
  transform: translateX(2px);
}
.page-cms .internal-quick-links a:hover > i:last-child { color: #d4a900; }
.page-cms .internal-help-card {
  position: relative;
  padding: 22px;
  color: #fff;
  background: linear-gradient(145deg, #0f172a 0%, #04122c 100%);
  box-shadow: 0 18px 44px rgba(15,23,42,.13);
}
.page-cms .internal-help-card::after {
  content: '';
  position: absolute;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  right: -55px;
  top: -58px;
  background: rgba(212,169,0,.18);
}
.page-cms .help-card-icon {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 22px;
  border-radius: 13px;
  color: #f4df8a;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.09);
  font-size: 1.15rem;
}
.page-cms .help-card-kicker {
  display: block;
  color: #f4c430;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
  margin-bottom: .35rem;
}
.page-cms .internal-help-card h2 {
  color: #fff !important;
  font-size: 1.22rem !important;
  letter-spacing: -.03em !important;
  margin-bottom: .65rem;
}
.page-cms .internal-help-card p { color: #cbd5e1 !important; font-size: .8rem; line-height: 1.65; }
.page-cms .internal-help-card .btn {
  margin-top: .45rem;
  color: #071a3d !important;
  border: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: .82rem;
}

/* Embedded teacher directory: make legacy widget look native to V3. */
.page-cms .guru-widget {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.page-cms .guru-grid .search-wrap {
  padding: .72rem !important;
  margin-bottom: 1.15rem !important;
  border: 1px solid #fff3bf !important;
  border-radius: 14px !important;
  background: #fff9df !important;
}
.page-cms .guru-grid .group-col {
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 26px rgba(15,23,42,.045) !important;
}
.page-cms .guru-grid .group-head {
  padding: .8rem .9rem !important;
  background: linear-gradient(180deg,#fff,#fff9df) !important;
}
.page-cms .guru-grid .group-body { padding: .65rem !important; }
.page-cms .guru-grid .staff { padding: .58rem !important; border-radius: 12px !important; }
.page-cms .guru-grid .photo,
.page-cms .guru-grid .avatar { width: 52px !important; height: 52px !important; }

/* Embedded alumni directory */
.page-cms .alumni-wrap .filter-card {
  padding: 1.15rem !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  background: #f8fafc !important;
  box-shadow: none !important;
}
.page-cms .alumni-wrap .table-responsive {
  border-radius: 16px !important;
  overflow-x: auto !important;
  box-shadow: 0 8px 26px rgba(15,23,42,.04);
}
.page-cms .alumni-wrap .pagination { flex-wrap: wrap; }

/* UI cache-busting class-safe polish for other public destinations. */
.page-article main,
.page-search main,
.page-guestbook main,
.page-contact main { background: #f8fafc !important; }

@media (max-width: 991.98px) {
  .page-cms .internal-page-hero-grid { grid-template-columns: 1fr; }
  .page-cms .internal-page-emblem { display: none; }
  .page-cms .internal-sidebar { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767.98px) {
  .page-cms .internal-page-hero { padding: 32px 0 40px !important; }
  .page-cms .internal-breadcrumb {
    width: 100%;
    border-radius: 12px;
    overflow-x: auto;
    white-space: nowrap;
  }
  .page-cms .internal-page-title { font-size: clamp(1.75rem, 9vw, 2.55rem) !important; }
  .page-cms .internal-page-main { padding: 24px 0 70px !important; }
  .page-cms .cms-content-panel { border-radius: 18px; }
  .page-cms .cms-content-toolbar { min-height: 72px; padding: 15px 17px; }
  .page-cms .cms-prose { padding: 20px 17px 24px !important; }
  .page-cms .internal-sidebar { grid-template-columns: 1fr; }
  .page-cms .internal-sidebar-card,
  .page-cms .internal-help-card { border-radius: 18px; }
  .page-cms .alumni-wrap > .d-flex.justify-content-between { align-items: flex-start !important; flex-direction: column; gap: 12px; }
}

/* ---- V3 direct menu pages: Buku Tamu & Kontak ---- */
.page-guestbook .guest-hero,
.page-contact .contact-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(58px, 7vw, 92px) 0 !important;
  background:
    radial-gradient(circle at 88% 20%, rgba(244,196,48,.20), transparent 24%),
    linear-gradient(118deg,#04122c 0%,#04122c 48%,#071a3d 100%) !important;
  border-bottom: 1px solid rgba(212,169,0,.24);
}
.page-guestbook .guest-hero::after,
.page-contact .contact-hero::after {
  content: '';
  position: absolute;
  right: -90px;
  bottom: -160px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(255,255,255,.04);
  z-index: -1;
}
.page-guestbook .guest-hero .container,
.page-contact .contact-hero .container { max-width: 1180px; }
.page-guestbook .guest-hero h1,
.page-contact .contact-hero h1 {
  max-width: 760px;
  margin-bottom: .72rem !important;
  color: #fff !important;
  font-size: clamp(2.15rem,4.6vw,4rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.055em !important;
}
.page-guestbook .guest-hero p,
.page-contact .contact-hero p {
  max-width: 720px;
  color: #fff3bf !important;
  font-size: clamp(.98rem,1.4vw,1.16rem) !important;
}
.page-guestbook main,
.page-contact main { padding-top: clamp(36px,5vw,64px) !important; padding-bottom: clamp(72px,8vw,110px) !important; }
.page-guestbook .guest-form {
  position: relative;
  padding: clamp(22px,4vw,38px) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 22px 58px rgba(15,23,42,.075) !important;
}
.page-guestbook .guest-form::before {
  content: '';
  position: absolute;
  left: 28px;
  top: 0;
  width: 72px;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: #d4a900;
}
.page-guestbook main h2 {
  color: #0f172a !important;
  letter-spacing: -.035em !important;
}
.page-guestbook .table-responsive {
  padding: 0 !important;
  border-radius: 20px !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 14px 40px rgba(15,23,42,.055) !important;
}
.page-contact .contact-card {
  position: relative;
  padding: clamp(22px,3vw,32px) !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 48px rgba(15,23,42,.065) !important;
  overflow: hidden;
}
.page-contact .contact-card::before {
  content: '';
  display: block;
  width: 52px;
  height: 4px;
  margin-bottom: 1.15rem;
  border-radius: 999px;
  background: #d4a900;
}
.page-contact .contact-card h4 { font-size: 1.18rem !important; }
.page-contact .contact-card .list-group-item {
  border-radius: 14px !important;
  margin-bottom: 7px;
  border: 1px solid #eef2f7 !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.page-contact .contact-card .list-group-item:hover {
  transform: translateX(3px);
  border-color: #fff3bf !important;
  background: #fff9df !important;
}
.page-contact main > .mt-5 {
  padding: 8px;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15,23,42,.065);
}
.page-contact main > .mt-5 .ratio { border-radius: 18px !important; box-shadow: none !important; }

/* =========================================================
   UI/UX 2026 V5 — Precision Footer + Floating Social Dock
   ========================================================= */
.topbar .social-group { display: none !important; }
.topbar .topbar-shell { justify-content: center !important; }
.topbar .topbar-shell > .d-flex { justify-content: center; row-gap: .35rem !important; }

#footer.site-footer-v5 {
  position: relative;
  overflow: hidden;
  margin-top: 0;
  background:
    radial-gradient(circle at 12% -10%, rgba(212,169,0,.14), transparent 32%),
    radial-gradient(circle at 88% 110%, rgba(14,165,233,.08), transparent 30%),
    #07111f !important;
  border-top: 1px solid rgba(148,163,184,.12);
  color: #cbd5e1 !important;
}
#footer.site-footer-v5::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.72), transparent 78%);
}
#footer.site-footer-v5 .footer-top {
  position: relative;
  z-index: 1;
  padding: 58px 0 42px !important;
}
#footer.site-footer-v5 .footer-v5-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(220px, .72fr) minmax(290px, 1.1fr);
  gap: clamp(28px, 4vw, 54px);
  align-items: start;
}
#footer.site-footer-v5 .footer-brand-card,
#footer.site-footer-v5 .footer-link-card,
#footer.site-footer-v5 .footer-news-card {
  min-width: 0;
}
#footer.site-footer-v5 .footer-brand-card {
  padding: 24px;
  border: 1px solid rgba(148,163,184,.14);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.022));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
}
#footer.site-footer-v5 .footer-brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: #fff !important;
  text-decoration: none !important;
}
#footer.site-footer-v5 .footer-logo-wrap {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.72);
  box-shadow: 0 10px 28px rgba(0,0,0,.22);
}
#footer.site-footer-v5 .footer-logo-wrap img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}
#footer.site-footer-v5 .footer-brand-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  line-height: 1.2;
}
#footer.site-footer-v5 .footer-brand-copy strong {
  color: #f8fafc;
  font-size: 1.02rem;
  font-weight: 750;
  letter-spacing: -.02em;
}
#footer.site-footer-v5 .footer-brand-copy small {
  margin-top: 4px;
  color: #f4c430;
  font-size: .73rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
#footer.site-footer-v5 .footer-description {
  max-width: 38rem;
  margin: 19px 0 20px;
  color: #94a3b8 !important;
  font-size: .9rem;
  line-height: 1.75;
}
#footer.site-footer-v5 .footer-contact-stack {
  display: grid;
  gap: 9px;
}
#footer.site-footer-v5 .footer-contact-stack a {
  display: grid;
  grid-template-columns: 31px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  color: #cbd5e1 !important;
  text-decoration: none !important;
  font-size: .86rem;
  transition: color .2s ease, transform .2s ease;
}
#footer.site-footer-v5 .footer-contact-stack a:hover {
  color: #fff !important;
  transform: translateX(2px);
}
#footer.site-footer-v5 .footer-contact-stack i {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(212,169,0,.18);
  border-radius: 10px;
  background: rgba(212,169,0,.09);
  color: #f4c430;
  font-size: .85rem;
}
#footer.site-footer-v5 .footer-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  margin-bottom: 11px;
  padding: 4px 10px;
  border: 1px solid rgba(212,169,0,.2);
  border-radius: 999px;
  background: rgba(212,169,0,.08);
  color: #f4c430;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
#footer.site-footer-v5 h4 {
  margin: 0 0 19px !important;
  color: #f8fafc !important;
  font-size: 1rem !important;
  font-weight: 750;
  letter-spacing: -.015em !important;
}
#footer.site-footer-v5 .footer-clean-list,
#footer.site-footer-v5 .footer-news-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
#footer.site-footer-v5 .footer-clean-list li,
#footer.site-footer-v5 .footer-news-list li {
  margin: 0 !important;
  color: #94a3b8 !important;
}
#footer.site-footer-v5 .footer-clean-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(148,163,184,.11);
  color: #cbd5e1 !important;
  text-decoration: none !important;
  font-size: .88rem;
  transition: color .2s ease, padding-left .2s ease;
}
#footer.site-footer-v5 .footer-clean-list li:first-child a { padding-top: 3px; }
#footer.site-footer-v5 .footer-clean-list li:last-child a { border-bottom: 0; }
#footer.site-footer-v5 .footer-clean-list a i {
  flex: 0 0 auto;
  color: #f4c430;
  font-size: .8rem;
  opacity: .85;
}
#footer.site-footer-v5 .footer-clean-list a:hover {
  color: #fff !important;
  padding-left: 4px;
}
#footer.site-footer-v5 .footer-news-list {
  display: grid;
  gap: 7px;
}
#footer.site-footer-v5 .footer-news-list a {
  display: grid;
  grid-template-columns: 36px minmax(0,1fr) 16px;
  align-items: center;
  gap: 11px;
  min-height: 48px;
  padding: 7px 9px;
  border: 1px solid transparent;
  border-radius: 13px;
  color: #cbd5e1 !important;
  text-decoration: none !important;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
#footer.site-footer-v5 .footer-news-list a:hover {
  background: rgba(255,255,255,.045);
  border-color: rgba(148,163,184,.12);
  transform: translateX(2px);
}
#footer.site-footer-v5 .footer-news-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: rgba(212,169,0,.1);
  color: #f4c430;
}
#footer.site-footer-v5 .footer-news-title {
  min-width: 0;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #cbd5e1;
  font-size: .83rem;
  line-height: 1.45;
}
#footer.site-footer-v5 .footer-news-arrow {
  color: #64748b;
  font-size: .72rem;
}
#footer.site-footer-v5 .footer-empty-state {
  padding: 13px 0;
  color: #64748b !important;
  font-size: .84rem;
}
#footer.site-footer-v5 .footer-bottom {
  position: relative;
  z-index: 1;
  border-top: 1px solid rgba(148,163,184,.11);
  background: rgba(2,6,23,.24);
}
#footer.site-footer-v5 .footer-bottom-inner {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 14px;
  padding-bottom: 14px;
}
#footer.site-footer-v5 .footer-school-name {
  color: #94a3b8;
  font-size: .78rem;
  font-weight: 650;
}
#footer.site-footer-v5 .footer-copyright {
  color: #64748b;
  font-size: .76rem;
}
#footer.site-footer-v5 .footer-copyright strong { color: #94a3b8; font-weight: 650; }

/* Statistik web sengaja tidak ditampilkan pada UI. */
#footer .footer-stats,
#footer .web-statistics,
#footer [data-footer-statistics] { display: none !important; }

/* Social media fixed mengikuti viewport. */
.social-follow-dock {
  position: fixed;
  z-index: 1085;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 7px;
  border: 1px solid rgba(148,163,184,.24);
  border-radius: 18px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 45px rgba(15,23,42,.18);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
}
.social-follow-dock:empty { display: none !important; }
.social-follow-dock .social-icon {
  width: 39px !important;
  height: 39px !important;
  flex: 0 0 39px;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #334155 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
.social-follow-dock .social-icon img {
  width: 21px !important;
  height: 21px !important;
  object-fit: contain;
  display: block;
}
.social-follow-dock .social-icon i { font-size: 1.08rem; line-height: 1; }
.social-follow-dock .social-icon:hover {
  transform: translateX(-3px) !important;
  border-color: rgba(212,169,0,.4) !important;
  box-shadow: 0 8px 22px rgba(15,23,42,.14) !important;
}

@media (min-width: 1200px) {
  .topbar .topbar-shell { justify-content: flex-start !important; }
  .topbar .topbar-shell > .d-flex { justify-content: flex-start; }
}
@media (max-width: 991.98px) {
  #footer.site-footer-v5 .footer-v5-grid {
    grid-template-columns: 1fr 1fr;
    gap: 34px 30px;
  }
  #footer.site-footer-v5 .footer-brand-card { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
  #footer.site-footer-v5 .footer-top { padding: 42px 0 30px !important; }
  #footer.site-footer-v5 .footer-v5-grid { grid-template-columns: 1fr; gap: 30px; }
  #footer.site-footer-v5 .footer-brand-card { grid-column: auto; padding: 20px; border-radius: 18px; }
  #footer.site-footer-v5 .footer-bottom-inner {
    min-height: auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    padding-top: 17px;
    padding-bottom: 18px;
  }
  .social-follow-dock {
    top: auto;
    right: 12px;
    bottom: 88px;
    transform: none;
    gap: 5px;
    padding: 6px;
    border-radius: 16px;
  }
  .social-follow-dock .social-icon {
    width: 36px !important;
    height: 36px !important;
    flex-basis: 36px;
    border-radius: 11px !important;
  }
  .social-follow-dock .social-icon img { width: 19px !important; height: 19px !important; }
}

/* =========================================================
   V8 CMS PAGE BUILDER
   Layout/tema section dikendalikan dari cms_page_sections.
   ========================================================= */
.cms-home-section,.cms-custom-section,.cms-cta-section,.cms-quote-section{position:relative}
.cms-theme-soft{background:#f8fafc!important}
.cms-theme-emerald{background:linear-gradient(135deg,#fff9df 0%,#fff9df 55%,#ffffff 100%)!important}
.cms-theme-dark{background:#0f172a!important;color:#e2e8f0}
.cms-theme-dark h1,.cms-theme-dark h2,.cms-theme-dark h3,.cms-theme-dark h4,.cms-theme-dark h5,.cms-theme-dark strong,.cms-theme-dark .home-section-heading,.cms-theme-dark .display-heading,.cms-theme-dark .profile-heading{color:#fff!important}
.cms-theme-dark p,.cms-theme-dark span,.cms-theme-dark .card-text,.cms-theme-dark .profile-copy,.cms-theme-dark .editorial-copy{color:#cbd5e1!important}
.cms-theme-dark .section-kicker{color:#f4c430!important}
.cms-theme-dark .feature-tile,.cms-theme-dark .card,.cms-theme-dark .contact-card,.cms-theme-dark .why-item{background:#111c31!important;border-color:#24324a!important}
.quick-access.layout-compact .feature-tile{padding:18px}
.quick-access.layout-compact .feature-tile p{font-size:.82rem;margin-bottom:0}
.quick-access.layout-compact .quick-icon{width:42px;height:42px}
.quick-access.layout-pills .row{justify-content:center}
.quick-access.layout-pills .feature-tile{min-height:92px;padding:16px 18px;border-radius:999px}
.quick-access.layout-pills .feature-tile>div{display:flex;align-items:center;gap:12px}
.quick-access.layout-pills .quick-icon{margin:0;flex:0 0 auto}
.quick-access.layout-pills h3{margin:0;font-size:.96rem}
.editorial-section.layout-image_right .editorial-media{margin-left:auto}
.editorial-section.layout-centered{padding-block:88px}
.editorial-section.layout-centered .editorial-points{max-width:800px;margin-inline:auto;text-align:left}
.home-feed-section.layout-grid .card{height:100%;border-radius:18px;overflow:hidden}
.home-feed-section.layout-grid .card img{object-fit:cover}
#why-us.layout-cards .why-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30px}
#why-us.layout-cards .profile-copy{max-width:800px}
.cms-gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;transition:.2s ease}
.cms-gallery-grid a:hover img{transform:translateY(-3px);box-shadow:0 16px 32px rgba(15,23,42,.14)}
.cms-custom-section{padding:88px 0}
.cms-custom-media{border-radius:24px;overflow:hidden;box-shadow:0 24px 60px rgba(15,23,42,.12)}
.cms-custom-media img{width:100%;min-height:320px;max-height:560px;object-fit:cover;display:block}
.cms-richtext{font-size:1rem;line-height:1.8;color:#475569}
.cms-richtext img{max-width:100%;height:auto;border-radius:16px}
.cms-richtext table{width:100%}
.cms-cta-section{padding:54px 0}
.cms-cta-card{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:42px;border-radius:26px;background:linear-gradient(135deg,#0f172a,#04122c);color:#fff;overflow:hidden;box-shadow:0 24px 60px rgba(15,23,42,.16)}
.cms-cta-card h2{color:#fff;margin-bottom:10px}.cms-cta-card p{color:#fff3bf;max-width:760px;margin-bottom:20px}.cms-cta-copy{flex:1}.cms-cta-image{width:min(36%,360px);flex:0 0 auto}.cms-cta-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}
.cms-cta-section.layout-minimal .cms-cta-card{background:#fff;color:#0f172a;border:1px solid #fff3bf;box-shadow:0 16px 40px rgba(15,23,42,.07)}
.cms-cta-section.layout-minimal .cms-cta-card h2{color:#0f172a}.cms-cta-section.layout-minimal .cms-cta-card p{color:#64748b}
.cms-quote-section{padding:70px 0}.cms-quote-card{margin:0 auto;max-width:900px;padding:42px;border-radius:24px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 18px 46px rgba(15,23,42,.07);text-align:center}.cms-quote-card>i{font-size:2.6rem;color:#d4a900}.cms-quote-card blockquote{font-size:clamp(1.2rem,2.2vw,2rem);font-weight:700;line-height:1.5;color:#0f172a;margin:18px 0}.cms-quote-card figcaption span{display:block;color:#64748b;margin-top:4px}.cms-quote-section.layout-wide .cms-quote-card{max-width:none}
@media(max-width:991.98px){#why-us.layout-cards .why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-cta-card{padding:30px;flex-direction:column;align-items:flex-start}.cms-cta-image{width:100%;max-width:420px}}
@media(max-width:575.98px){.quick-access.layout-pills .feature-tile{border-radius:18px}.cms-custom-section{padding:58px 0}#why-us.layout-cards .why-grid{grid-template-columns:1fr}.cms-cta-card{padding:24px;border-radius:20px}.cms-quote-card{padding:28px 22px}}


/* =========================================================
   V9 CMS-MANAGED WEBSITE INTRO
   Fullscreen introduction video before the homepage.
   ========================================================= */
body.site-intro-locked{overflow:hidden!important}
.school-intro{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:28px;background:#04122c;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;color:#fff}
.school-intro.is-visible{opacity:1;visibility:visible}
.school-intro__backdrop{position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(212,169,0,.23),transparent 34%),radial-gradient(circle at 88% 78%,rgba(212,169,0,.12),transparent 30%),linear-gradient(135deg,#04122c 0%,#0f172a 55%,#04122c 100%)}
.school-intro__shell{position:relative;width:min(1420px,96vw);max-height:94vh;overflow:auto;border:1px solid rgba(255,255,255,.12);border-radius:30px;background:rgba(10,20,28,.82);box-shadow:0 40px 120px rgba(0,0,0,.52);backdrop-filter:blur(18px);padding:24px}
.school-intro__brand{display:flex;align-items:center;gap:12px;padding:2px 4px 20px;font-size:.92rem;font-weight:800;letter-spacing:.02em;color:#fff3bf}.school-intro__brand img{width:42px;height:42px;object-fit:contain;border-radius:12px;background:#fff;padding:5px}
.school-intro__grid{display:grid;grid-template-columns:minmax(310px,.74fr) minmax(520px,1.36fr);gap:28px;align-items:center}
.school-intro__copy{padding:30px 20px 34px}.school-intro__eyebrow{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(212,169,0,.14);border:1px solid rgba(244,196,48,.22);color:#f4c430;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:18px}.school-intro__copy h1{font-size:clamp(2rem,4.4vw,4.7rem);line-height:1.04;letter-spacing:-.045em;color:#fff;margin:0 0 18px;font-weight:800}.school-intro__copy p{font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.75;color:#cbd5e1;max-width:640px;margin:0 0 26px}
.school-intro__actions{display:flex;flex-wrap:wrap;gap:12px}.school-intro__enter,.school-intro__sound{border-radius:14px;padding:13px 18px;font-weight:800}.school-intro__enter{background:#d4a900;color:#04122c;border:1px solid #f4c430;box-shadow:0 14px 32px rgba(212,169,0,.22)}.school-intro__enter:hover{background:#f4c430;color:#04122c;transform:translateY(-1px)}.school-intro__sound{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff}.school-intro__sound:hover{background:rgba(255,255,255,.14);color:#fff}.school-intro__delay{min-height:22px;margin-top:14px;color:#94a3b8;font-size:.84rem}
.school-intro__media{position:relative;aspect-ratio:16/9;min-height:360px;border-radius:24px;overflow:hidden;background:#020617 center/cover no-repeat;border:1px solid rgba(255,255,255,.12);box-shadow:0 28px 70px rgba(0,0,0,.32)}.school-intro__media:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}.school-intro__video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;object-fit:cover;z-index:2}.school-intro__loader{position:absolute;inset:0;display:grid;place-items:center;background:rgba(2,6,23,.38)}.school-intro__loader span{width:52px;height:52px;border-radius:50%;border:3px solid rgba(255,255,255,.18);border-top-color:#f4c430;animation:introSpin .8s linear infinite}@keyframes introSpin{to{transform:rotate(360deg)}}
.school-intro__foot{display:flex;justify-content:space-between;gap:18px;padding:18px 4px 2px;color:#7f8da3;font-size:.78rem}.school-intro__hint{display:inline-flex;align-items:center;gap:6px}
@media(max-width:991.98px){.school-intro{padding:14px}.school-intro__shell{padding:18px;border-radius:24px}.school-intro__grid{grid-template-columns:1fr}.school-intro__copy{padding:12px 6px 4px}.school-intro__media{min-height:0}.school-intro__copy h1{font-size:clamp(2rem,8vw,3.5rem)}}
@media(max-width:575.98px){.school-intro{padding:0}.school-intro__shell{width:100%;height:100%;max-height:none;border:0;border-radius:0;padding:16px;display:flex;flex-direction:column}.school-intro__brand{padding-bottom:12px}.school-intro__grid{display:flex;flex-direction:column;gap:16px}.school-intro__copy{order:2}.school-intro__media{order:1;width:100%;aspect-ratio:16/10}.school-intro__copy h1{font-size:2rem}.school-intro__copy p{font-size:.95rem;line-height:1.6}.school-intro__actions .btn{width:100%}.school-intro__foot{margin-top:auto}.school-intro__hint{display:none}}


/* =========================================================
   UI/UX 2026 V10 — Premium Islamic Layout Refresh
   Modern, elegant, mid-to-upper market positioning.
   ========================================================= */
:root {
  --ps-primary: #071a3d;
  --ps-primary-strong: #071a3d;
  --ps-primary-deep: #04122c;
  --ps-primary-soft: #fff3bf;
  --ps-primary-soft-2: #fff9df;
  --ps-accent: #c8a24d;
  --ps-accent-soft: #f7e9c6;
  --ps-surface: #ffffff;
  --ps-bg: #f8f6f1;
  --ps-bg-soft: #fcfaf6;
  --ps-bg-emerald: #fff9df;
  --ps-shadow-sm: 0 8px 24px rgba(4,18,44,.05), 0 1px 2px rgba(15,23,42,.04);
  --ps-shadow: 0 18px 50px rgba(4,18,44,.08), 0 2px 6px rgba(15,23,42,.04);
  --ps-shadow-lg: 0 30px 90px rgba(4,18,44,.14);
}
html{background:var(--ps-bg)!important}
body{
  background:
    radial-gradient(circle at top left, rgba(200,162,77,.06), transparent 22%),
    radial-gradient(circle at 90% 8%, rgba(7,26,61,.08), transparent 24%),
    linear-gradient(180deg, #fcfbf8 0%, #f8f6f1 100%) !important;
}
.topbar{
  background:linear-gradient(90deg,#04122c 0%,#071a3d 55%,#071a3d 100%)!important;
  color:#f7f4ed!important;
  border-bottom:1px solid rgba(200,162,77,.26);
}
.topbar a,.topbar span{color:#f7f4ed!important}
.nav-glass,.navbar{
  background:rgba(255,252,247,.94)!important;
  border-bottom:1px solid rgba(200,162,77,.20)!important;
  box-shadow:0 12px 32px rgba(4,18,44,.06);
}
.navbar::after{
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,transparent 0%, rgba(200,162,77,.6) 18%, rgba(7,26,61,.35) 52%, rgba(200,162,77,.6) 82%, transparent 100%);
}
.navbar-brand .brand-copy strong{color:var(--ps-primary-deep)!important;font-weight:800!important}
.navbar-brand .brand-copy small{color:#9a7b32!important;font-weight:700!important;letter-spacing:.04em;text-transform:uppercase}
.main-nav .nav-link{color:#071a3d!important;font-weight:700!important}
.main-nav .nav-link:hover,.main-nav .nav-link:focus,.main-nav .nav-link.active,.main-nav .show>.nav-link{
  background:#f5efe1!important;color:var(--ps-primary-deep)!important;
}
.navbar .dropdown-menu{
  background:rgba(255,253,250,.98)!important;
  border:1px solid rgba(200,162,77,.20)!important;
}
.navbar .dropdown-item:hover,.navbar .dropdown-item:focus{
  background:#f4efe2!important;color:var(--ps-primary-deep)!important;
}
.hero-banner.hero-banner-premium{position:relative;overflow:hidden;min-height:680px;background:#04122c}
.hero-banner.hero-banner-premium .hero-img{filter:saturate(1.05) contrast(1.03) brightness(.62)!important;transform:scale(1.02)}
.hero-banner.hero-banner-premium .hero-overlay{
  background:
    linear-gradient(110deg, rgba(4,18,44,.88) 0%, rgba(4,18,44,.78) 42%, rgba(4,18,44,.46) 72%, rgba(4,18,44,.60) 100%),
    linear-gradient(0deg, rgba(7,14,17,.32), rgba(7,14,17,.32));
}
.hero-orb{position:absolute;border-radius:50%;filter:blur(0);pointer-events:none;opacity:.85}
.hero-orb-a{width:420px;height:420px;right:-120px;top:80px;background:radial-gradient(circle, rgba(200,162,77,.24) 0%, rgba(200,162,77,.08) 36%, rgba(200,162,77,0) 70%)}
.hero-orb-b{width:320px;height:320px;left:-80px;bottom:-100px;background:radial-gradient(circle, rgba(212,169,0,.20) 0%, rgba(212,169,0,.08) 35%, rgba(212,169,0,0) 75%)}
.hero-banner .hero-content{position:relative;z-index:3;min-height:680px;display:flex;align-items:center;padding-top:84px;padding-bottom:84px}
.hero-stage{width:min(860px,100%)}
.hero-textbox{
  position:relative;overflow:hidden;
  padding:32px 34px 28px!important;
  border-radius:28px!important;
  background:linear-gradient(180deg, rgba(255,252,247,.92) 0%, rgba(255,249,239,.86) 100%)!important;
  border:1px solid rgba(200,162,77,.26)!important;
  box-shadow:0 24px 70px rgba(4,18,44,.22);
  backdrop-filter:blur(12px);
  max-width:760px;
}
.hero-textbox::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--ps-accent),#e8c777,var(--ps-primary))}
.hero-kicker{
  display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1rem;border-radius:999px;
  font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  background:#f6efdf;color:#9a7b32;border:1px solid rgba(200,162,77,.24);margin-bottom:1rem;
}
.hero-kicker::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--ps-accent);box-shadow:0 0 0 5px rgba(200,162,77,.15)}
.hero-title{color:var(--ps-primary-deep)!important;font-size:clamp(2.35rem,5.2vw,4.8rem)!important;line-height:1.03!important;margin-bottom:1rem!important}
.hero-subtitle{color:#071a3d!important;font-size:clamp(1rem,1.45vw,1.22rem)!important;line-height:1.82!important;max-width:640px}
.hero-actions-wrap{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:24px;max-width:760px}
.hero-search{flex:1 1 460px;margin:0!important}
.hero-search .input-group{
  background:rgba(255,255,255,.90)!important;border-radius:18px!important;padding:7px!important;
  border:1px solid rgba(7,26,61,.10);box-shadow:0 14px 30px rgba(4,18,44,.14)
}
.hero-search .form-control{
  min-height:58px!important;border:0!important;background:transparent!important;color:#04122c!important;font-size:1rem!important;padding-left:1rem!important
}
.hero-search .form-control::placeholder{color:#0b2a5b!important}
.hero-search .btn,.btn-brand,.btn.btn-success{
  background:linear-gradient(135deg, var(--ps-primary) 0%, var(--ps-primary-strong) 100%)!important;
  border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;
  border-radius:16px!important;box-shadow:0 12px 28px rgba(4,18,44,.22)!important;
}
.hero-search .btn:hover,.btn-brand:hover,.btn.btn-success:hover{transform:translateY(-1px);filter:brightness(1.03)}
.hero-cta{padding:15px 24px!important;white-space:nowrap;background:linear-gradient(135deg,#c8a24d 0%, #b99238 100%)!important;color:#04122c!important;border-color:rgba(0,0,0,.06)!important;box-shadow:0 12px 28px rgba(185,146,56,.20)!important}
.hero-cta:hover{color:#04122c!important}
.quick-access{position:relative;margin-top:-54px!important;z-index:4;padding-top:0!important}
.quick-access .feature-tile{
  background:linear-gradient(180deg,#fffdfa 0%, #ffffff 100%)!important;
  border:1px solid rgba(200,162,77,.18)!important;
  border-radius:22px!important;
}
.quick-access .feature-tile::before{content:'';position:absolute;inset:auto 18px 0 18px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--ps-accent),rgba(200,162,77,0));opacity:.9}
.quick-access .quick-icon{background:#f4efe2;color:#977629;box-shadow:inset 0 0 0 1px rgba(200,162,77,.14)}
.editorial-section,.home-feed-section,#why-us,#clients,#contact,.cms-custom-section,.cms-cta-section,.cms-quote-section{position:relative}
.editorial-section::before,.home-feed-section::before,#why-us::before,#clients::before,#contact::before,.cms-custom-section::before,.cms-cta-section::before,.cms-quote-section::before{
  content:'';position:absolute;inset:18px 0 18px 0;z-index:-1;border-radius:36px;
  background:linear-gradient(180deg, rgba(255,255,255,.74), rgba(255,255,255,.74));
  border:1px solid rgba(200,162,77,.08);box-shadow:var(--ps-shadow-sm);
}
.cms-theme-soft,.home-feed-section.alt,.cms-theme-softgray{background:transparent!important}
.cms-theme-soft::before,.home-feed-section.alt::before,.cms-theme-softgray::before{background:linear-gradient(180deg,#fbfaf6 0%,#f8f4eb 100%)!important}
.cms-theme-emerald::before{background:linear-gradient(180deg,#fff9df 0%,#fff9df 100%)!important}
.section-kicker{color:#9a7b32!important}
.section-kicker::before{background:linear-gradient(90deg,var(--ps-accent),#e9cc88)!important}
.display-heading,.home-section-heading,.section-title h2,.profile-heading{color:var(--ps-primary-deep)!important;font-size:clamp(2rem,3.8vw,3.4rem)!important}
.editorial-copy,.profile-copy,.section-title p,.heading-copy p{color:#0b2a5b!important;font-size:1.02rem}
.editorial-media{border-radius:28px!important;border:1px solid rgba(200,162,77,.22)!important;box-shadow:0 26px 70px rgba(4,18,44,.14)!important}
.editorial-badge{background:rgba(255,250,241,.96)!important;color:#8c6b21!important;border:1px solid rgba(200,162,77,.28)!important;box-shadow:0 12px 28px rgba(185,146,56,.12)}
.editorial-points,.why-grid{gap:16px!important}
.editorial-point,.why-item{
  background:#fffdfa!important;border:1px solid rgba(200,162,77,.16)!important;border-radius:18px!important;
  box-shadow:var(--ps-shadow-sm)!important;padding:1rem 1rem!important
}
.editorial-point i,.why-item i,.text-success{color:#a8822d!important}
.card,.contact-card,.cms-quote-card,.cms-cta-card,.content-card,.ppdb-form,.ppdb-info-card{
  background:linear-gradient(180deg,#fffdfa 0%, #ffffff 100%)!important;
  border:1px solid rgba(200,162,77,.15)!important;
  box-shadow:var(--ps-shadow-sm)!important;
}
.card .card-subtitle{color:#9a7b32!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem!important}
.card .card-title{color:var(--ps-primary-deep)!important;font-size:1.06rem!important}
.card .card-text{color:#0b2a5b!important}
.link-arrow{color:var(--ps-primary-deep)!important}
.link-arrow:hover{color:#9a7b32!important}
.clients-slider .swiper-slide a,.cms-gallery-grid a{border-radius:20px;overflow:hidden;display:block;border:1px solid rgba(200,162,77,.14);box-shadow:var(--ps-shadow-sm);background:#fff}
.clients-slider .swiper-slide img,.cms-gallery-grid img{transition:transform .35s ease}.clients-slider .swiper-slide a:hover img,.cms-gallery-grid a:hover img{transform:scale(1.04)}
.video-box{border-radius:28px!important;border:1px solid rgba(200,162,77,.18)!important;box-shadow:var(--ps-shadow-lg)!important;overflow:hidden}
.play-btn{background:linear-gradient(135deg,#fff,#fff8e9)!important;color:#8d6a18!important;border:1px solid rgba(200,162,77,.28)!important;box-shadow:0 16px 38px rgba(185,146,56,.24)!important}
.video-badge{background:rgba(255,252,247,.92)!important;color:#8d6a18!important;border:1px solid rgba(200,162,77,.18)!important}
.contact-card p,.contact-card a{color:#0b2a5b!important}.contact-card a:hover{color:var(--ps-primary-deep)!important}
.cms-map{border:1px solid rgba(200,162,77,.18)!important;border-radius:24px!important;box-shadow:var(--ps-shadow-sm)!important}
.page-cms .internal-page-hero,
.page-guestbook .guest-hero,
.page-contact .contact-hero{
  background:linear-gradient(135deg,#04122c 0%, #071a3d 55%, #071a3d 100%)!important;
  border-top:1px solid rgba(200,162,77,.20);
}
.page-cms .internal-page-hero::before,.page-guestbook .guest-hero::before,.page-contact .contact-hero::before{
  background:radial-gradient(circle at 82% 12%, rgba(200,162,77,.18), transparent 28%), radial-gradient(circle at 14% 84%, rgba(255,255,255,.08), transparent 24%)!important;
}
.page-cms .internal-page-hero .eyebrow,
.page-cms .breadcrumbs,
.page-guestbook .guest-hero p,
.page-contact .contact-hero p{color:#e9dcc0!important}
.page-cms .internal-page-hero h1,
.page-guestbook .guest-hero h1,
.page-contact .contact-hero h1{color:#fff!important}
#footer.site-footer-v5{
  background:linear-gradient(180deg,#04122c 0%, #04122c 40%, #04122c 100%)!important;
  border-top:1px solid rgba(200,162,77,.18)!important;
}
#footer.site-footer-v5::before{background:linear-gradient(90deg,rgba(200,162,77,.0),rgba(200,162,77,.65),rgba(200,162,77,0))!important;height:2px!important;top:0!important}
.footer-brand-card,.footer-link-card,.footer-news-card{background:rgba(255,255,255,.03)!important;border:1px solid rgba(200,162,77,.14)!important;box-shadow:none!important}
.footer-kicker{color:#d7b46a!important;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:800}
.footer-brand-lockup strong,.footer-link-card h4,.footer-news-card h4{color:#fff!important}
.footer-brand-lockup small,.footer-description,.footer-news-title,.footer-link-card a span{color:#fff3bf!important}
.footer-link-card a,.footer-news-card a,.footer-contact-stack a{background:rgba(255,255,255,.02)!important;border:1px solid transparent}
.footer-link-card a:hover,.footer-news-card a:hover,.footer-contact-stack a:hover{background:rgba(255,255,255,.06)!important;border-color:rgba(200,162,77,.12)!important}
.footer-news-arrow,.footer-contact-stack i{color:#d7b46a!important}
.footer-bottom{border-top:1px solid rgba(200,162,77,.10)!important}
.footer-school-name{color:#fff!important}.footer-copyright{color:#f4df8a!important}
.social-follow-dock .social-icon{background:linear-gradient(135deg,#071a3d 0%,#071a3d 100%)!important;border:1px solid rgba(200,162,77,.18)!important;box-shadow:0 16px 30px rgba(4,18,44,.16)!important}
.social-follow-dock .social-icon:hover{background:linear-gradient(135deg,#c8a24d 0%,#b99238 100%)!important;color:#04122c!important}
.school-intro__backdrop{background:radial-gradient(circle at 15% 20%,rgba(200,162,77,.18),transparent 34%),radial-gradient(circle at 88% 78%,rgba(212,169,0,.12),transparent 30%),linear-gradient(135deg,#04122c 0%,#04122c 55%,#04122c 100%)!important}
.school-intro__eyebrow{background:rgba(200,162,77,.12)!important;border-color:rgba(200,162,77,.20)!important;color:#ecd08c!important}
.school-intro__enter{background:linear-gradient(135deg,#c8a24d 0%,#b99238 100%)!important;color:#04122c!important;border-color:rgba(255,255,255,.08)!important;box-shadow:0 16px 38px rgba(185,146,56,.22)!important}
.school-intro__sound:hover,.school-intro__enter:hover{filter:brightness(1.03)}
@media (max-width: 991.98px){
  .hero-banner.hero-banner-premium,.hero-banner .hero-content{min-height:620px!important}
  .hero-textbox{padding:24px!important}
  .hero-title{font-size:clamp(2rem,8vw,3.25rem)!important}
  .hero-actions-wrap{flex-direction:column;align-items:stretch}
  .hero-search{width:100%}
  .hero-cta{width:100%;text-align:center}
  .quick-access{margin-top:-34px!important}
  .editorial-section::before,.home-feed-section::before,#why-us::before,#clients::before,#contact::before,.cms-custom-section::before,.cms-cta-section::before,.cms-quote-section::before{inset:10px 0}
}
@media (max-width: 575.98px){
  .topbar{font-size:.72rem!important}
  .navbar{min-height:70px}
  .hero-banner.hero-banner-premium,.hero-banner .hero-content{min-height:560px!important}
  .hero-stage{width:100%}
  .hero-textbox{padding:22px 18px!important;border-radius:22px!important}
  .hero-search .form-control{min-height:52px!important;font-size:.94rem!important}
  .hero-search .btn,.hero-cta{border-radius:14px!important}
  .display-heading,.home-section-heading,.section-title h2,.profile-heading{font-size:clamp(1.7rem,8vw,2.2rem)!important}
}


/* V12.5 — Alumni outcome as school-profile section on homepage */
.home-alumni-profile{padding:88px 0;position:relative;overflow:hidden}
.home-alumni-profile::before{content:"";position:absolute;inset:18px 0;z-index:-1;border-radius:36px;background:linear-gradient(135deg,#f7f3e9 0%,#fff9df 52%,#fff 100%);border:1px solid rgba(200,162,77,.13)}
.alumni-profile-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}
.alumni-profile-heading>div:first-child{max-width:760px}.alumni-profile-heading p{margin:0;color:#0b2a5b;font-size:1.02rem;line-height:1.8}
.alumni-total-pill{min-width:190px;background:linear-gradient(135deg,#04122c,#071a3d);color:#fff;border:1px solid rgba(200,162,77,.28);border-radius:22px;padding:18px 20px;box-shadow:0 18px 42px rgba(4,18,44,.14)}
.alumni-total-pill span,.alumni-total-pill small{display:block}.alumni-total-pill span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#fff3bf;font-weight:800}.alumni-total-pill strong{display:block;font-size:2rem;line-height:1.1;margin:5px 0;color:#fff}.alumni-total-pill small{color:#e7cf92}
.alumni-outcome-card{height:100%;background:rgba(255,255,255,.94);border:1px solid rgba(200,162,77,.16);border-radius:20px;padding:18px;box-shadow:0 12px 28px rgba(4,18,44,.055)}
.alumni-outcome-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.alumni-outcome-top span{color:#071a3d;font-size:.82rem;font-weight:750;line-height:1.35}.alumni-outcome-top strong{color:#071a3d;font-size:1.35rem;white-space:nowrap}
.alumni-progress{height:7px;background:#fff9df;border-radius:999px;overflow:hidden;margin:16px 0 9px}.alumni-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#071a3d,#c8a24d)}.alumni-outcome-card small{color:#788681}
.alumni-destinations{margin-top:24px;background:#fff;border:1px solid rgba(200,162,77,.14);border-radius:20px;padding:18px 20px}.alumni-destinations-title{display:flex;align-items:center;gap:9px;font-weight:800;color:#04122c;margin-bottom:13px}.alumni-destinations-title i{color:#a8822d}.alumni-destination-list{display:flex;flex-wrap:wrap;gap:9px}.alumni-destination-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#f6f2e8;color:#0b2a5b;font-size:.79rem;border:1px solid rgba(200,162,77,.13)}.alumni-destination-chip b{color:#9a7b32}
.alumni-profile-note{margin-top:18px;display:flex;gap:9px;align-items:flex-start;color:#697873;font-size:.82rem}.alumni-profile-note i{color:#071a3d;margin-top:1px}
.home-alumni-profile.layout-split .alumni-outcome-grid{max-width:930px}.home-alumni-profile.layout-compact{padding:64px 0}.home-alumni-profile.layout-compact .alumni-destinations{display:none}.home-alumni-profile.layout-compact .alumni-outcome-card{padding:14px}.cms-theme-dark.home-alumni-profile::before{background:linear-gradient(135deg,#04122c,#04122c)!important}.cms-theme-dark.home-alumni-profile .home-section-heading,.cms-theme-dark.home-alumni-profile .alumni-profile-heading p{color:#fff!important}.cms-theme-dark.home-alumni-profile .alumni-profile-heading p{opacity:.75}.cms-theme-dark.home-alumni-profile .alumni-outcome-card,.cms-theme-dark.home-alumni-profile .alumni-destinations{background:rgba(255,255,255,.96)}
@media(max-width:767.98px){.home-alumni-profile{padding:66px 0}.alumni-profile-heading{align-items:stretch;flex-direction:column;margin-bottom:24px}.alumni-total-pill{width:100%;min-width:0}.alumni-outcome-top{display:block}.alumni-outcome-top strong{display:block;margin-top:5px}.alumni-outcome-card{padding:15px}.alumni-destination-chip{border-radius:14px}.home-alumni-profile::before{inset:8px 0;border-radius:26px}}

/* =========================================================
   V12.6 - One-click public website layout templates
   Scoped to homepage body classes. Content remains CMS-driven.
   ========================================================= */
body[class*="site-template-"]{--tpl-primary:#04122c;--tpl-accent:#c8a24d;--tpl-soft:#f8f4eb}
body[class*="site-template-"] .hero-banner-premium .btn-brand,
body[class*="site-template-"] .btn-success{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
body[class*="site-template-"] .hero-banner-premium .btn-brand:hover,
body[class*="site-template-"] .btn-success:hover{transform:translateY(-1px)}

/* Current signature look */
.site-template-premium_islamic{--tpl-primary:#04122c;--tpl-accent:#c8a24d;--tpl-soft:#f8f4eb}
.site-template-premium_islamic .hero-banner.hero-banner-premium{min-height:680px}

/* Modern Academic */
.site-template-modern_academic{--tpl-primary:#103f56;--tpl-accent:#2f7b88;--tpl-soft:#eef6f7;background:#f7fafb}
.site-template-modern_academic .topbar{background:#0d3447!important}
.site-template-modern_academic .nav-glass{background:rgba(255,255,255,.97)!important}
.site-template-modern_academic .navbar .nav-link{font-weight:650}
.site-template-modern_academic .hero-banner.hero-banner-premium{min-height:570px;background:#103f56;border-radius:0 0 36px 36px;overflow:hidden}
.site-template-modern_academic .hero-banner.hero-banner-premium .hero-overlay{background:linear-gradient(90deg,rgba(9,46,64,.94) 0%,rgba(16,63,86,.72) 50%,rgba(16,63,86,.24) 100%)!important}
.site-template-modern_academic .hero-orb{display:none}
.site-template-modern_academic .hero-kicker{color:#b9e2e8!important;letter-spacing:.14em}
.site-template-modern_academic .btn-brand,.site-template-modern_academic .btn-success{background:#17697a!important;border-color:#17697a!important}
.site-template-modern_academic .section-kicker{color:#17697a!important}
.site-template-modern_academic .feature-tile,.site-template-modern_academic .card,.site-template-modern_academic .contact-card{border-radius:14px!important;box-shadow:0 8px 24px rgba(15,58,75,.07)!important}
.site-template-modern_academic .home-section-heading,.site-template-modern_academic .display-heading,.site-template-modern_academic .profile-heading{letter-spacing:-.025em}

/* Minimal Elegant */
.site-template-minimal_elegant{--tpl-primary:#04122c;--tpl-accent:#7d8b83;--tpl-soft:#f6f7f5;background:#fff}
.site-template-minimal_elegant .topbar{display:none!important}
.site-template-minimal_elegant .nav-glass{background:rgba(255,255,255,.96)!important;box-shadow:none!important}
.site-template-minimal_elegant .hero-banner.hero-banner-premium{min-height:540px;margin:18px clamp(12px,2.5vw,38px) 0;border-radius:30px;background:#04122c}
.site-template-minimal_elegant .hero-banner.hero-banner-premium .hero-overlay{background:linear-gradient(90deg,rgba(4,18,44,.88),rgba(4,18,44,.34))!important}
.site-template-minimal_elegant .hero-orb{opacity:.35}
.site-template-minimal_elegant .hero-stage{max-width:1040px;margin-inline:auto}
.site-template-minimal_elegant .hero-title{font-weight:650!important;letter-spacing:-.035em}
.site-template-minimal_elegant .quick-access.layout-pills{padding-top:38px!important;padding-bottom:38px!important}
.site-template-minimal_elegant .cms-home-section{border-top:1px solid rgba(15,23,42,.05)}
.site-template-minimal_elegant .feature-tile,.site-template-minimal_elegant .card,.site-template-minimal_elegant .contact-card,.site-template-minimal_elegant .alumni-outcome-card{box-shadow:none!important;border:1px solid #fff3bf!important}
.site-template-minimal_elegant .btn-success,.site-template-minimal_elegant .btn-brand{background:#04122c!important;border-color:#04122c!important;border-radius:999px!important}
.site-template-minimal_elegant .section-kicker{color:#0b2a5b!important}
.site-template-minimal_elegant .display-heading,.site-template-minimal_elegant .home-section-heading,.site-template-minimal_elegant .profile-heading{font-weight:650!important}

/* School Magazine */
.site-template-school_magazine{--tpl-primary:#172033;--tpl-accent:#c69b42;--tpl-soft:#f5f1e7;background:#fbfaf6}
.site-template-school_magazine .topbar{background:#111827!important}
.site-template-school_magazine .hero-banner.hero-banner-premium{min-height:520px;background:#172033}
.site-template-school_magazine .hero-banner.hero-banner-premium .hero-overlay{background:linear-gradient(90deg,rgba(17,24,39,.94),rgba(17,24,39,.60),rgba(17,24,39,.18))!important}
.site-template-school_magazine .hero-kicker,.site-template-school_magazine .section-kicker{color:#c69b42!important}
.site-template-school_magazine .btn-brand,.site-template-school_magazine .btn-success{background:#c69b42!important;border-color:#c69b42!important;color:#111827!important}
.site-template-school_magazine .home-feed-section.layout-grid .card{border-radius:8px!important;box-shadow:none!important;border:1px solid #ded8ca!important}
.site-template-school_magazine .home-feed-section.layout-grid .card-title{font-family:Georgia,"Times New Roman",serif;font-size:1.12rem;line-height:1.35}
.site-template-school_magazine .home-section-heading,.site-template-school_magazine .display-heading,.site-template-school_magazine .profile-heading{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.02em}
.site-template-school_magazine #clients.cms-theme-dark{background:#172033!important}
.site-template-school_magazine .cms-gallery-grid img{border-radius:5px!important;aspect-ratio:4/3;object-fit:cover}

/* Executive Profile */
.site-template-executive_profile{--tpl-primary:#04122c;--tpl-accent:#d5b35a;--tpl-soft:#fff9df;background:#f7faf8}
.site-template-executive_profile .topbar{background:#04122c!important}
.site-template-executive_profile .nav-glass{background:rgba(249,252,250,.97)!important}
.site-template-executive_profile .hero-banner.hero-banner-premium{min-height:640px;background:#04122c}
.site-template-executive_profile .hero-banner.hero-banner-premium .hero-overlay{background:linear-gradient(100deg,rgba(4,18,44,.97) 0%,rgba(4,18,44,.78) 48%,rgba(4,18,44,.20) 100%)!important}
.site-template-executive_profile .hero-kicker,.site-template-executive_profile .section-kicker{color:#d5b35a!important}
.site-template-executive_profile .btn-brand,.site-template-executive_profile .btn-success{background:#071a3d!important;border-color:#071a3d!important}
.site-template-executive_profile .home-alumni-profile{padding-top:92px!important;padding-bottom:92px!important}
.site-template-executive_profile .home-alumni-profile .alumni-total-pill{box-shadow:0 16px 44px rgba(4,18,44,.12)}
.site-template-executive_profile #why-us.cms-theme-dark{background:#04122c!important}
.site-template-executive_profile #why-us.cms-theme-dark::before{background:linear-gradient(135deg,#04122c,#04122c)!important}
.site-template-executive_profile .feature-tile,.site-template-executive_profile .card,.site-template-executive_profile .contact-card{border-radius:18px!important}

@media(max-width:767.98px){
  .site-template-minimal_elegant .hero-banner.hero-banner-premium{margin:10px 10px 0;border-radius:22px;min-height:520px}
  .site-template-modern_academic .hero-banner.hero-banner-premium{border-radius:0 0 24px 24px}
  .site-template-school_magazine .hero-banner.hero-banner-premium{min-height:520px}
  .site-template-executive_profile .hero-banner.hero-banner-premium{min-height:560px}
}


/* =========================================================
   V12.7 - Full Layout Switcher
   Changes header, hero composition, section rhythm, typography,
   card geometry and footer composition. Preview mode is admin-only.
   ========================================================= */
.layout-preview-adminbar{
  position:sticky;top:0;z-index:1090;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:10px 18px;background:#111827;color:#fff;border-bottom:2px solid #f2b544;
  font-size:.86rem;box-shadow:0 10px 30px rgba(15,23,42,.16)
}
.layout-preview-adminbar span{color:#cbd5e1;margin-left:8px}
.layout-preview-adminbar a{color:#fff;text-decoration:none;background:rgba(255,255,255,.10);padding:7px 11px;border-radius:10px;border:1px solid rgba(255,255,255,.16)}
.hero-template-accent{position:absolute;pointer-events:none;z-index:1}

/* Global layout profile controls */
.site-density-compact .cms-home-section,.site-density-compact .editorial-section,.site-density-compact .home-feed-section,
.site-density-compact #why-us,.site-density-compact #clients,.site-density-compact #contact{padding-top:62px!important;padding-bottom:62px!important}
.site-density-airy .cms-home-section,.site-density-airy .editorial-section,.site-density-airy .home-feed-section,
.site-density-airy #why-us,.site-density-airy #clients,.site-density-airy #contact{padding-top:104px!important;padding-bottom:104px!important}
.site-radius-square .card,.site-radius-square .feature-tile,.site-radius-square .contact-card,.site-radius-square .alumni-outcome-card,
.site-radius-square .editorial-media,.site-radius-square .video-box{border-radius:4px!important}
.site-radius-medium .card,.site-radius-medium .feature-tile,.site-radius-medium .contact-card,.site-radius-medium .alumni-outcome-card{border-radius:14px!important}
.site-radius-pill .btn,.site-radius-pill .hero-search .input-group{border-radius:999px!important}
.site-type-serif .home-section-heading,.site-type-serif .display-heading,.site-type-serif .profile-heading,
.site-type-serif .hero-title{font-family:Georgia,"Times New Roman",serif!important}

/* Header variants also work on internal pages because the classes live on the nav itself */
.site-header{transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}
.site-header-institutional{background:#fff!important;border-bottom:3px solid var(--tpl-primary)!important;box-shadow:0 8px 24px rgba(15,58,75,.06)!important}
.site-header-institutional .main-nav .nav-link{font-size:.82rem!important;letter-spacing:.055em;text-transform:uppercase;border-radius:8px!important}
.site-header-minimal{background:rgba(255,255,255,.97)!important;box-shadow:none!important;border-bottom:1px solid #edf0ee!important}
.site-header-minimal .nav-shell{max-width:1240px;margin-inline:auto}
.site-header-minimal .main-nav .nav-link{font-weight:600!important;background:transparent!important}
.site-topbar-minimal{display:none!important}
.site-header-editorial{background:#172033!important;border-color:#30394b!important}
.site-header-editorial .navbar-brand .brand-copy strong,.site-header-editorial .navbar-brand .brand-copy small,
.site-header-editorial .main-nav .nav-link{color:#fff!important}
.site-header-editorial .main-nav .nav-link:hover,.site-header-editorial .main-nav .nav-link:focus{background:rgba(255,255,255,.08)!important;color:#f1d28a!important}
.site-header-editorial .navbar-toggler{filter:invert(1)}
.site-topbar-editorial{background:#0e1421!important}
.site-header-executive{background:#f9fcfa!important;border-bottom:1px solid rgba(213,179,90,.32)!important;box-shadow:0 10px 32px rgba(4,18,44,.07)!important}
.site-header-executive::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--tpl-primary),var(--tpl-accent),var(--tpl-primary))}
.site-topbar-executive{background:var(--tpl-primary)!important}
.site-header-corporate{background:#fff!important;border-bottom:1px solid #d8e5ef!important;box-shadow:0 8px 24px rgba(18,59,99,.07)!important}
.site-header-corporate .navbar-brand{padding-right:24px;border-right:1px solid #dce6ee}
.site-header-corporate .main-nav .nav-link{border-radius:8px!important;color:#27445f!important}
.site-topbar-corporate{background:var(--tpl-primary)!important}
.site-header-achievement{background:#fffdf8!important;border-bottom:1px solid rgba(200,148,36,.30)!important}
.site-header-achievement .navbar-brand .brand-copy strong{color:#4c1d60!important}
.site-header-achievement .main-nav .nav-link:hover{background:#f8efe0!important;color:#4c1d60!important}
.site-topbar-achievement{background:#3c174c!important}
.site-header-campaign{background:#fff!important;border-bottom:1px solid rgba(7,26,61,.15)!important;box-shadow:0 10px 30px rgba(7,26,61,.08)!important}
.site-header-campaign .main-nav .nav-link{border-radius:999px!important;padding-inline:13px!important}
.site-header-campaign .main-nav .nav-link:hover{background:#fff9df!important;color:#071a3d!important}
.site-topbar-campaign{background:linear-gradient(90deg,#04122c,#071a3d)!important}

/* Hero composition variants */
.site-hero-split{min-height:610px!important;background:#f4f8fa!important}
.site-hero-split .hero-img{width:52%!important;left:auto!important;right:0!important;object-position:center!important;filter:saturate(1.04) contrast(1.03) brightness(.90)!important}
.site-hero-split .hero-overlay{background:linear-gradient(90deg,#eef5f7 0%,#eef5f7 47%,rgba(238,245,247,.84) 58%,rgba(238,245,247,.05) 80%)!important}
.site-hero-split .hero-content{min-height:610px!important}
.site-hero-split .hero-stage{width:53%!important}
.site-hero-split .hero-textbox{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:12px 18px 12px 0!important;border-radius:0!important}
.site-hero-split .hero-textbox::before{display:none}
.site-hero-split .hero-title{color:#103f56!important;font-size:clamp(2.5rem,4.6vw,4.6rem)!important}
.site-hero-split .hero-subtitle{color:#486776!important}
.site-hero-split .hero-kicker{background:#dcecef!important;color:#17697a!important;border-color:#c2e0e5!important}
.site-hero-split .hero-search .input-group{box-shadow:0 12px 32px rgba(16,63,86,.10)!important}
.site-hero-split .hero-template-accent{width:180px;height:180px;border:24px solid rgba(47,123,136,.12);border-radius:50%;left:42%;bottom:-80px}

.site-hero-minimal{min-height:560px!important;margin:20px clamp(12px,3vw,46px) 0!important;border-radius:34px!important;background:#f7f8f6!important}
.site-hero-minimal .hero-img{width:45%!important;left:auto!important;right:3%!important;top:7%!important;height:86%!important;border-radius:28px!important;filter:saturate(.88) brightness(.92)!important;box-shadow:0 24px 54px rgba(4,18,44,.12)}
.site-hero-minimal .hero-overlay{background:linear-gradient(90deg,#f7f8f6 0%,#f7f8f6 55%,rgba(247,248,246,.15) 78%)!important}
.site-hero-minimal .hero-content{min-height:560px!important;padding-block:64px!important}
.site-hero-minimal .hero-stage{width:52%!important}
.site-hero-minimal .hero-textbox{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;backdrop-filter:none!important}
.site-hero-minimal .hero-textbox::before{display:none}
.site-hero-minimal .hero-title{color:#04122c!important;font-size:clamp(2.35rem,4.5vw,4.2rem)!important}
.site-hero-minimal .hero-subtitle{color:#5d6c66!important}
.site-hero-minimal .hero-kicker{background:transparent!important;border:0!important;padding:0!important;color:#667770!important}
.site-hero-minimal .hero-kicker::before{background:#04122c!important;box-shadow:none!important}
.site-hero-minimal .hero-search .input-group{background:#fff!important;border:1px solid #fff3bf!important;box-shadow:none!important}
.site-hero-minimal .hero-template-accent{width:130px;height:130px;border-radius:32px;background:#fff3bf;left:48%;top:70px;transform:rotate(14deg)}

.site-hero-editorial{min-height:500px!important;background:#172033!important;border-bottom:8px solid #c69b42}
.site-hero-editorial .hero-content{min-height:500px!important;padding-block:62px!important}
.site-hero-editorial .hero-overlay{background:linear-gradient(90deg,rgba(11,16,27,.98) 0%,rgba(23,32,51,.88) 55%,rgba(23,32,51,.30) 100%)!important}
.site-hero-editorial .hero-stage{width:min(980px,100%)!important}
.site-hero-editorial .hero-textbox{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;backdrop-filter:none!important;max-width:820px!important}
.site-hero-editorial .hero-textbox::before{display:none}
.site-hero-editorial .hero-title{color:#fff!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(2.6rem,5.5vw,5.1rem)!important;max-width:820px}
.site-hero-editorial .hero-subtitle{color:#d7dbe3!important;max-width:700px}
.site-hero-editorial .hero-kicker{background:transparent!important;border:0!important;padding:0!important;color:#d9b65c!important}
.site-hero-editorial .hero-search{flex-basis:560px}
.site-hero-editorial .hero-search .input-group{border-radius:3px!important}
.site-hero-editorial .hero-search .btn,.site-hero-editorial .hero-cta{border-radius:3px!important}
.site-hero-editorial .hero-template-accent{right:5%;top:56px;width:170px;height:170px;border:1px solid rgba(198,155,66,.40);transform:rotate(45deg)}

.site-hero-executive{min-height:660px!important;background:#04122c!important}
.site-hero-executive .hero-overlay{background:linear-gradient(98deg,rgba(4,18,44,.97) 0%,rgba(4,18,44,.78) 52%,rgba(4,18,44,.20) 100%)!important}
.site-hero-executive .hero-stage{width:min(860px,100%)!important}
.site-hero-executive .hero-textbox{background:rgba(255,249,223,.95)!important;border-color:rgba(213,179,90,.34)!important;box-shadow:0 30px 80px rgba(4,18,44,.28)!important}
.site-hero-executive .hero-textbox::before{background:linear-gradient(90deg,#d5b35a,#f0d88d,#071a3d)!important}
.site-hero-executive .hero-template-accent{right:7%;bottom:12%;width:260px;height:260px;border:1px solid rgba(213,179,90,.28);border-radius:50%;box-shadow:0 0 0 40px rgba(213,179,90,.04),0 0 0 80px rgba(213,179,90,.025)}

.site-hero-corporate{min-height:590px!important;background:#123b63!important;border-bottom:1px solid #d6e5ef}
.site-hero-corporate .hero-img{width:48%!important;left:auto!important;right:0!important;filter:saturate(.92) contrast(1.02) brightness(.82)!important}
.site-hero-corporate .hero-overlay{background:linear-gradient(90deg,#123b63 0%,#123b63 51%,rgba(18,59,99,.76) 62%,rgba(18,59,99,.16) 100%)!important}
.site-hero-corporate .hero-content{min-height:590px!important}
.site-hero-corporate .hero-stage{width:55%!important}
.site-hero-corporate .hero-textbox{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;backdrop-filter:none!important}
.site-hero-corporate .hero-textbox::before{display:none}
.site-hero-corporate .hero-title{color:#fff!important;font-size:clamp(2.35rem,4.5vw,4.3rem)!important}
.site-hero-corporate .hero-subtitle{color:#d9e6f0!important}
.site-hero-corporate .hero-kicker{background:rgba(255,255,255,.09)!important;color:#cce5f7!important;border-color:rgba(255,255,255,.14)!important}
.site-hero-corporate .hero-template-accent{height:6px;width:210px;background:#2d74a8;left:0;bottom:0}

.site-hero-achievement{min-height:620px!important;background:#30113e!important}
.site-hero-achievement .hero-overlay{background:radial-gradient(circle at 75% 35%,rgba(200,148,36,.22),transparent 30%),linear-gradient(90deg,rgba(49,17,64,.96),rgba(76,29,96,.84),rgba(76,29,96,.40))!important}
.site-hero-achievement .hero-stage{width:min(900px,100%)!important;margin-inline:auto;text-align:center}
.site-hero-achievement .hero-textbox{margin-inline:auto;background:rgba(255,253,248,.95)!important;border-color:rgba(200,148,36,.35)!important}
.site-hero-achievement .hero-kicker{color:#8b6417!important;background:#fbf1d6!important}
.site-hero-achievement .hero-title{color:#4c1d60!important}
.site-hero-achievement .hero-actions-wrap{margin-inline:auto;justify-content:center}
.site-hero-achievement .hero-template-accent{width:210px;height:210px;border-radius:50%;border:34px solid rgba(200,148,36,.10);right:8%;top:12%}

.site-hero-campaign{min-height:640px!important;background:#071a3d!important;border-radius:0 0 42px 42px}
.site-hero-campaign .hero-overlay{background:linear-gradient(100deg,rgba(4,18,44,.97) 0%,rgba(7,26,61,.83) 48%,rgba(7,26,61,.24) 100%)!important}
.site-hero-campaign .hero-textbox{background:rgba(255,255,255,.96)!important;border:0!important;box-shadow:0 30px 70px rgba(4,18,44,.24)!important}
.site-hero-campaign .hero-textbox::before{height:7px;background:linear-gradient(90deg,#f2b544,#ffd56f,#071a3d)!important}
.site-hero-campaign .hero-kicker{background:#fff2cf!important;color:#8c6200!important;border-color:#f4d47e!important}
.site-hero-campaign .hero-cta{border-radius:999px!important;background:#f2b544!important;color:#04122c!important;font-weight:800}
.site-hero-campaign .hero-template-accent{width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(242,181,68,.30),rgba(242,181,68,0) 68%);right:-50px;top:20px}

/* Footer composition variants */
.site-footer-institutional .footer-v5-grid{grid-template-columns:1.15fr .85fr .85fr!important}
.site-footer-institutional{background:#0f314b!important}
.site-footer-institutional .footer-brand-card,.site-footer-institutional .footer-link-card,.site-footer-institutional .footer-news-card{border-radius:12px!important;border-color:rgba(255,255,255,.10)!important}
.site-footer-compact .footer-v5-grid{grid-template-columns:1.4fr 1fr!important}
.site-footer-compact .footer-news-card{display:none!important}
.site-footer-compact{background:#04122c!important}
.site-footer-compact .footer-brand-card,.site-footer-compact .footer-link-card{background:transparent!important;border:0!important;padding-inline:0!important}
.site-footer-editorial{background:#111827!important;border-top:8px solid #c69b42!important}
.site-footer-editorial .footer-v5-grid{grid-template-columns:1.25fr .8fr 1fr!important}
.site-footer-editorial .footer-brand-card,.site-footer-editorial .footer-link-card,.site-footer-editorial .footer-news-card{border-radius:2px!important;background:rgba(255,255,255,.025)!important}
.site-footer-editorial .footer-link-card h4,.site-footer-editorial .footer-news-card h4{font-family:Georgia,"Times New Roman",serif}
.site-footer-executive{background:linear-gradient(180deg,#04122c,#04122c)!important;border-top:1px solid rgba(213,179,90,.32)!important}
.site-footer-executive .footer-v5-grid{grid-template-columns:1.35fr .8fr 1fr!important}
.site-footer-executive .footer-kicker{color:#d5b35a!important}
.site-footer-corporate{background:#0d2f4c!important;border-top:0!important}
.site-footer-corporate .footer-v5-grid{grid-template-columns:1.1fr .85fr 1.05fr!important}
.site-footer-corporate .footer-brand-card,.site-footer-corporate .footer-link-card,.site-footer-corporate .footer-news-card{border-radius:12px!important;border-color:rgba(255,255,255,.10)!important}
.site-footer-achievement{background:#32123f!important;border-top:4px solid #c89424!important}
.site-footer-achievement .footer-kicker,.site-footer-achievement .footer-news-arrow,.site-footer-achievement .footer-contact-stack i{color:#e1bd65!important}
.site-footer-campaign{background:linear-gradient(180deg,#04122c,#04122c)!important;border-top:6px solid #f2b544!important}
.site-footer-campaign .footer-v5-grid{grid-template-columns:1.25fr .75fr 1fr!important}
.site-footer-campaign .footer-brand-card,.site-footer-campaign .footer-link-card,.site-footer-campaign .footer-news-card{border-radius:24px!important}

/* New template-specific surface language */
.site-template-corporate_education{--tpl-primary:#123b63;--tpl-accent:#2d74a8;--tpl-soft:#eef5fb;background:#f7fafc}
.site-template-corporate_education .section-kicker{color:#2d74a8!important}
.site-template-corporate_education .btn-success,.site-template-corporate_education .btn-brand{background:#205f91!important;border-color:#205f91!important}
.site-template-corporate_education .feature-tile,.site-template-corporate_education .card,.site-template-corporate_education .contact-card{box-shadow:0 8px 24px rgba(18,59,99,.06)!important;border-color:#dbe7f0!important}
.site-template-corporate_education .cms-theme-soft::before{background:#eef5fb!important}

.site-template-achievement_alumni{--tpl-primary:#4c1d60;--tpl-accent:#c89424;--tpl-soft:#faf6eb;background:#fffdf8}
.site-template-achievement_alumni .section-kicker{color:#9a711b!important}
.site-template-achievement_alumni .btn-success,.site-template-achievement_alumni .btn-brand{background:#4c1d60!important;border-color:#4c1d60!important}
.site-template-achievement_alumni .home-alumni-profile::before{background:linear-gradient(135deg,#fbf4df,#fbf7fd)!important;border-color:rgba(200,148,36,.22)!important}
.site-template-achievement_alumni .alumni-total-pill{background:linear-gradient(135deg,#4c1d60,#6c2d80)!important}
.site-template-achievement_alumni .alumni-progress span{background:linear-gradient(90deg,#4c1d60,#c89424)!important}

.site-template-spmb_campaign{--tpl-primary:#071a3d;--tpl-accent:#f2b544;--tpl-soft:#fff9df;background:#fff9df}
.site-template-spmb_campaign .btn-success,.site-template-spmb_campaign .btn-brand{background:#071a3d!important;border-color:#071a3d!important}
.site-template-spmb_campaign .section-kicker{color:#071a3d!important}
.site-template-spmb_campaign .quick-access .feature-tile{border-radius:24px!important;border-color:rgba(7,26,61,.13)!important;box-shadow:0 14px 34px rgba(7,26,61,.08)!important}
.site-template-spmb_campaign .quick-access .quick-icon{background:#fff0c5!important;color:#8d6200!important}

/* Responsiveness for full-layout variants */
@media(max-width:991.98px){
  .site-hero-split .hero-stage,.site-hero-minimal .hero-stage,.site-hero-corporate .hero-stage{width:100%!important}
  .site-hero-split .hero-img,.site-hero-minimal .hero-img,.site-hero-corporate .hero-img{width:100%!important;left:0!important;right:auto!important;top:0!important;height:100%!important;border-radius:0!important}
  .site-hero-split .hero-overlay{background:linear-gradient(90deg,rgba(238,245,247,.96),rgba(238,245,247,.82))!important}
  .site-hero-minimal .hero-overlay{background:rgba(247,248,246,.90)!important}
  .site-hero-corporate .hero-overlay{background:rgba(18,59,99,.88)!important}
  .site-hero-minimal{margin:10px!important}
  .site-hero-split .hero-textbox,.site-hero-minimal .hero-textbox,.site-hero-corporate .hero-textbox{max-width:760px!important}
  .site-footer-compact .footer-v5-grid,.site-footer-institutional .footer-v5-grid,.site-footer-editorial .footer-v5-grid,
  .site-footer-executive .footer-v5-grid,.site-footer-corporate .footer-v5-grid,.site-footer-campaign .footer-v5-grid{grid-template-columns:1fr!important}
}
@media(max-width:575.98px){
  .layout-preview-adminbar{position:relative;align-items:flex-start;flex-direction:column}
  .site-hero-split,.site-hero-minimal,.site-hero-editorial,.site-hero-executive,.site-hero-corporate,.site-hero-achievement,.site-hero-campaign{min-height:540px!important;border-radius:0!important;margin:0!important}
  .site-hero-split .hero-content,.site-hero-minimal .hero-content,.site-hero-corporate .hero-content{min-height:540px!important}
  .site-header-corporate .navbar-brand{border-right:0;padding-right:0}
}

/* =========================================================
   V12.8 Template Content Personality
   ========================================================= */
.template-identity-strip{position:relative;z-index:3;margin-top:-1px;padding:0 0 18px}.template-identity-strip>.container{position:relative}.tpl-identity-values,.tpl-identity-metrics,.tpl-identity-links,.tpl-headline,.tpl-service-strip,.tpl-achievement-strip,.tpl-spmb-strip{border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.96);box-shadow:0 16px 42px rgba(15,23,42,.08);border-radius:18px;min-height:82px;padding:16px 20px;display:flex;align-items:center;gap:18px}.tpl-identity-values span,.tpl-identity-metrics span{flex:1;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}.tpl-identity-values i{grid-row:1/3;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--tpl-soft);color:var(--tpl-primary);font-size:1.1rem}.tpl-identity-values b,.tpl-identity-metrics b{font-size:1.02rem;color:#17202b}.tpl-identity-values small,.tpl-identity-metrics small{color:#75808d}.tpl-identity-metrics span{text-align:center;display:block;border-right:1px solid #edf0f3}.tpl-identity-metrics span:last-child{border-right:0}.tpl-identity-metrics b{display:block;font-size:1.65rem;color:var(--tpl-primary);line-height:1}.tpl-identity-metrics small{display:block;margin-top:4px}.tpl-identity-links{justify-content:center;gap:10px}.tpl-identity-links a,.tpl-service-strip a{padding:10px 14px;border-radius:999px;text-decoration:none;color:var(--tpl-primary);font-weight:700;background:var(--tpl-soft)}.tpl-headline{border-radius:4px;border-left:6px solid var(--tpl-accent)}.tpl-headline-label{font-size:.72rem;letter-spacing:.13em;font-weight:900;color:var(--tpl-accent)}.tpl-headline>div{flex:1}.tpl-headline small{display:block;color:#7a8490;text-transform:uppercase;letter-spacing:.05em}.tpl-headline strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.18rem;margin-top:3px}.tpl-headline>a,.tpl-achievement-strip>a,.tpl-spmb-strip>a{font-weight:800;text-decoration:none;color:var(--tpl-primary);white-space:nowrap}.tpl-service-strip>span{display:flex;gap:9px;align-items:center;margin-right:auto;color:var(--tpl-primary)}.tpl-service-strip>span i{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--tpl-primary);color:#fff}.tpl-achievement-strip{border-color:rgba(200,148,36,.25);background:linear-gradient(135deg,#fffdf7,#fbf7fd)}.tpl-achievement-strip>span{min-width:130px}.tpl-achievement-strip small,.tpl-spmb-strip small{display:block;font-size:.68rem;letter-spacing:.08em;color:#8b7a5d}.tpl-achievement-strip b{font-size:1.8rem;color:#4c1d60}.tpl-achievement-strip>div{flex:1}.tpl-achievement-strip>div strong{display:block;color:#4c1d60}.tpl-spmb-strip{border-radius:24px;background:linear-gradient(135deg,#fff9df,#fff9ea);border-color:rgba(7,26,61,.14)}.tpl-spmb-strip .status{font-weight:800;border-radius:999px;padding:8px 12px;white-space:nowrap}.tpl-spmb-strip .status i{font-size:.52rem;margin-right:7px}.tpl-spmb-strip .status.is-open{background:#fff3bf;color:#071a3d}.tpl-spmb-strip .status.is-closed{background:#fff1f2;color:#be123c}.tpl-spmb-strip>div{padding:0 16px;border-left:1px solid rgba(15,23,42,.08)}.tpl-spmb-strip>div b{display:block;color:#04122c}.template-section-intro{margin-bottom:18px}.template-section-intro .home-section-heading{margin:3px 0 0}.site-template-school_magazine .template-articles-school_magazine .article-lead .card{display:grid;grid-template-columns:1.1fr 1fr;border-radius:2px!important}.site-template-school_magazine .template-articles-school_magazine .article-lead .ratio{height:100%;min-height:290px}.site-template-school_magazine .template-articles-school_magazine .article-lead .card-title{font-family:Georgia,"Times New Roman",serif;font-size:1.65rem}.site-template-minimal_elegant .template-section-intro{max-width:650px;margin-inline:auto;text-align:center}.site-template-executive_profile .template-identity-strip,.site-template-modern_academic .template-identity-strip{padding-bottom:28px}.site-template-spmb_campaign .template-identity-strip{margin-top:-26px}.site-template-school_magazine .template-identity-strip{padding-top:12px;background:#f5f1e7}.site-template-achievement_alumni .template-identity-strip{padding-bottom:30px}
@media(max-width:991px){.tpl-identity-values,.tpl-identity-metrics,.tpl-service-strip,.tpl-achievement-strip,.tpl-spmb-strip{flex-wrap:wrap}.tpl-service-strip>span{width:100%}.tpl-spmb-strip>div{border-left:0;padding:0}.site-template-school_magazine .template-articles-school_magazine .article-lead .card{grid-template-columns:1fr}.site-template-school_magazine .template-articles-school_magazine .article-lead .ratio{min-height:220px}}
@media(max-width:575px){.template-identity-strip{padding-inline:10px}.tpl-identity-values span{min-width:100%}.tpl-identity-values,.tpl-identity-links,.tpl-headline,.tpl-service-strip,.tpl-achievement-strip,.tpl-spmb-strip{align-items:stretch;flex-direction:column}.tpl-identity-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.tpl-identity-metrics span{border-right:1px solid #edf0f3}.tpl-identity-metrics b{font-size:1.3rem}.tpl-headline>a,.tpl-achievement-strip>a,.tpl-spmb-strip>a{white-space:normal}}


/* V12.9.7 - Public SPMB announcement ticker */
.spmb-public-ticker{
  --ticker-bg:#071a3d;
  --ticker-accent:#d7b45a;
  position:relative;
  z-index:35;
  background:linear-gradient(90deg,#04122c 0%,var(--ticker-bg) 52%,#071a3d 100%);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.14);
  box-shadow:0 8px 24px rgba(15,23,42,.08);
  overflow:hidden;
}
.spmb-public-ticker__link{
  min-height:44px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  color:inherit;
  text-decoration:none;
}
.spmb-public-ticker__link:hover,.spmb-public-ticker__link:focus{color:#fff;text-decoration:none}
.spmb-public-ticker__badge{
  align-self:stretch;
  display:flex;
  align-items:center;
  gap:.45rem;
  padding:.65rem 1rem;
  background:var(--ticker-accent);
  color:#04122c;
  font-size:.77rem;
  font-weight:900;
  letter-spacing:.06em;
  white-space:nowrap;
}
.spmb-public-ticker__viewport{min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.spmb-public-ticker__track{
  width:max-content;
  display:flex;
  align-items:center;
  will-change:transform;
  animation:spmbPublicTicker var(--spmb-ticker-duration,18s) linear infinite;
}
.spmb-public-ticker__item{display:inline-flex;align-items:center;gap:2.5rem;padding-left:2.5rem;white-space:nowrap;font-size:.92rem;font-weight:700;letter-spacing:.01em}
.spmb-public-ticker__dot{color:var(--ticker-accent);font-size:1.25rem;line-height:1}
.spmb-public-ticker__cta{display:flex;align-items:center;gap:.4rem;height:100%;padding:.65rem 1rem;font-size:.82rem;font-weight:800;white-space:nowrap;background:rgba(0,0,0,.13);border-left:1px solid rgba(255,255,255,.12)}
.spmb-public-ticker__link:hover .spmb-public-ticker__track,.spmb-public-ticker__link:focus .spmb-public-ticker__track{animation-play-state:paused}
@keyframes spmbPublicTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:575.98px){
  .spmb-public-ticker__link{min-height:40px;grid-template-columns:auto minmax(0,1fr)}
  .spmb-public-ticker__badge{padding:.58rem .7rem;font-size:.68rem}
  .spmb-public-ticker__badge span{display:none}
  .spmb-public-ticker__cta{display:none}
  .spmb-public-ticker__item{font-size:.82rem;padding-left:1.6rem;gap:1.6rem}
}
@media (prefers-reduced-motion:reduce){
  .spmb-public-ticker__track{animation:none;transform:none}
  .spmb-public-ticker__item[aria-hidden="true"]{display:none}
}


/* =========================================================
   V12.9.12 - Lighter default palette + public analytics
   ========================================================= */
.site-template-premium_islamic{
  --tpl-primary:#0b2a5b;--tpl-accent:#d1a84b;--tpl-soft:#fff9df;
  background:linear-gradient(180deg,#fbfdfc 0%,#fff9df 100%)!important;
}
.site-template-premium_islamic .topbar{
  background:linear-gradient(90deg,#fff3bf 0%,#fff9df 52%,#fff9df 100%)!important;
  color:#071a3d!important;border-bottom:1px solid rgba(11,42,91,.14)!important;
}
.site-template-premium_islamic .topbar a,.site-template-premium_islamic .topbar span{color:#071a3d!important}
.site-template-premium_islamic .nav-glass{background:rgba(255,255,255,.97)!important;box-shadow:0 8px 26px rgba(11,42,91,.07)!important}
.site-template-premium_islamic .hero-banner.hero-banner-premium{background:#fff3bf!important}
.site-template-premium_islamic .hero-banner.hero-banner-premium .hero-img{filter:saturate(1.02) contrast(1.01) brightness(.82)!important}
.site-template-premium_islamic .hero-banner.hero-banner-premium .hero-overlay{
  background:linear-gradient(105deg,rgba(7,26,61,.58) 0%,rgba(11,42,91,.42) 45%,rgba(11,42,91,.16) 76%,rgba(255,255,255,.06) 100%)!important;
}
.site-template-premium_islamic #footer.site-footer-v5{
  background:linear-gradient(180deg,#0b2a5b 0%,#071a3d 48%,#071a3d 100%)!important;
}
.site-template-premium_islamic .footer-brand-card,.site-template-premium_islamic .footer-link-card,.site-template-premium_islamic .footer-news-card{background:rgba(255,255,255,.065)!important}

.home-public-analytics{padding:82px 0;position:relative;overflow:hidden}
.home-public-analytics::before{content:"";position:absolute;inset:18px 0;z-index:-1;border-radius:32px;background:linear-gradient(145deg,#fff9df 0%,#fffaf0 100%);border:1px solid rgba(11,42,91,.09)}
.public-analytics-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}.public-analytics-heading>div{max-width:820px}.public-analytics-heading p{color:#64746f;line-height:1.75;margin:0}
.public-chart-card{background:#fff;border:1px solid rgba(11,42,91,.12);border-radius:22px;padding:22px;box-shadow:0 16px 42px rgba(11,42,91,.07)}
.public-chart-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.public-chart-card-head h3{font-size:1.05rem;color:#071a3d;margin:.2rem 0 0}.chart-eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#8b7439;font-weight:800}.chart-total{font-size:.78rem;font-weight:800;color:#0b2a5b;background:#fff9df;border:1px solid #fff3bf;border-radius:999px;padding:7px 10px;white-space:nowrap}
.public-donut-wrap{height:260px;max-width:320px;margin:8px auto 10px}.public-line-wrap{height:310px;position:relative}.student-line-wrap{height:300px}
.public-chart-legend{display:grid;gap:8px;margin-top:8px}.public-chart-legend span{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:9px;padding:7px 9px;border-radius:11px;background:#fafcfb}.public-chart-legend i{width:10px;height:10px;border-radius:50%;background:var(--legend-color)}.public-chart-legend b{font-size:.8rem;color:#0b2a5b}.public-chart-legend strong{font-size:.86rem;color:#071a3d}
.public-analytics-note{display:flex;gap:9px;align-items:flex-start;margin-top:16px;color:#6b7c76;font-size:.8rem}.public-analytics-note i{color:#0b2a5b;margin-top:1px}
.student-public-trend::before{background:linear-gradient(145deg,#ffffff 0%,#fff9df 100%)}
@media(max-width:767.98px){.home-public-analytics{padding:60px 0}.home-public-analytics::before{inset:8px 0;border-radius:24px}.public-chart-card{padding:16px;border-radius:18px}.public-chart-card-head{display:block}.chart-total{display:inline-block;margin-top:8px}.public-donut-wrap{height:235px}.public-line-wrap,.student-line-wrap{height:270px}}

/* V12.9.13 - Public analytics charts no longer depend on external Chart.js. */
.public-chart-svg{display:block;width:100%;height:100%;overflow:visible}
.public-donut-svg{max-width:270px;margin:0 auto}
.public-donut-center-main{font:700 24px/1.2 "Plus Jakarta Sans",Inter,system-ui,sans-serif;fill:#04122c}
.public-donut-center-sub{font:600 11px/1.2 Inter,system-ui,sans-serif;fill:#7a8c85;letter-spacing:.04em;text-transform:uppercase}
.public-chart-grid{stroke:rgba(100,116,139,.16);stroke-width:1;vector-effect:non-scaling-stroke}
.public-chart-axis-label{font:500 12px/1 Inter,system-ui,sans-serif;fill:#75857f}
.public-chart-legend-svg{font:600 12px/1 Inter,system-ui,sans-serif;fill:#0b2a5b}
.public-chart-empty{height:100%;min-height:220px;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;color:#7b8b85;background:linear-gradient(180deg,#fbfdfc,#fff9df);border:1px dashed #fff3bf;border-radius:16px}
.public-chart-empty i{font-size:28px;color:#f4c430}
.public-chart-empty span{font-size:13px}
@media(max-width:767.98px){
  .public-chart-axis-label{font-size:11px}
  .public-chart-legend-svg{font-size:11px}
  .public-donut-svg{max-width:235px}
}


/* =========================================================
   V12.9.17 - Public homepage motion layer
   Lightweight native animations; no external animation library.
   ========================================================= */
.home-motion-enabled{overflow-x:clip}
.home-motion-section{position:relative;will-change:transform,opacity}
.home-motion-enabled .home-motion-section:not(.is-home-visible){opacity:0;transform:translateY(28px)}
.home-motion-enabled .home-motion-section.is-home-visible{opacity:1;transform:none;transition:opacity .72s ease,transform .72s cubic-bezier(.2,.78,.2,1)}
.home-motion-enabled .home-motion-item{opacity:0;transform:translateY(18px) scale(.985);transition:opacity .55s ease var(--home-delay,0ms),transform .55s cubic-bezier(.2,.78,.2,1) var(--home-delay,0ms)}
.home-motion-enabled .is-home-visible .home-motion-item{opacity:1;transform:none}
.home-motion-enabled .hero-banner.hero-banner-premium .hero-img{animation:homeHeroBreath 16s ease-in-out infinite alternate;will-change:transform}
.home-motion-enabled .quick-access .quick-icon{animation:homeIconFloat 4.8s ease-in-out infinite}
.home-motion-enabled .quick-access .row>div:nth-child(2n) .quick-icon{animation-delay:-1.3s}.home-motion-enabled .quick-access .row>div:nth-child(3n) .quick-icon{animation-delay:-2.4s}
.home-motion-enabled .editorial-badge{animation:homeBadgeFloat 4.6s ease-in-out infinite}
.home-motion-enabled .public-chart-card{position:relative;overflow:hidden}
.home-motion-enabled .public-chart-card::after{content:"";position:absolute;inset:-55% auto -55% -35%;width:22%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);animation:homeCardSheen 8s ease-in-out infinite;pointer-events:none}
.home-motion-enabled .public-line-svg polyline{transition:stroke-dashoffset 1.25s cubic-bezier(.2,.75,.2,1)}
.home-motion-enabled .public-line-svg circle{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.3);transition:opacity .32s ease,transform .38s cubic-bezier(.2,.8,.2,1)}
.home-motion-enabled .is-chart-visible.public-line-svg circle{opacity:1;transform:scale(1)}
.home-motion-enabled .public-donut-svg circle:not(:first-child){opacity:0;transform-origin:130px 130px;transition:opacity .5s ease,filter .5s ease}
.home-motion-enabled .is-chart-visible.public-donut-svg circle:not(:first-child){opacity:1;filter:drop-shadow(0 4px 5px rgba(4,18,44,.08))}
.home-motion-enabled .feature-tile,.home-motion-enabled .card,.home-motion-enabled .public-chart-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.home-motion-enabled .feature-tile:hover,.home-motion-enabled .public-chart-card:hover{transform:translateY(-5px)}
@keyframes homeHeroBreath{0%{transform:scale(1.02)}100%{transform:scale(1.065)}}
@keyframes homeIconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes homeBadgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes homeCardSheen{0%,62%{left:-35%;opacity:0}70%{opacity:.72}88%,100%{left:118%;opacity:0}}
@media (max-width:767.98px){.home-motion-enabled .hero-banner.hero-banner-premium .hero-img{animation-duration:20s}.home-motion-enabled .home-motion-section:not(.is-home-visible){transform:translateY(18px)}}
@media (prefers-reduced-motion:reduce){
  .home-motion-enabled .home-motion-section,.home-motion-enabled .home-motion-item,.home-motion-enabled .hero-banner.hero-banner-premium .hero-img,.home-motion-enabled .quick-access .quick-icon,.home-motion-enabled .editorial-badge,.home-motion-enabled .public-chart-card::after,.home-motion-enabled .public-line-svg polyline,.home-motion-enabled .public-line-svg circle,.home-motion-enabled .public-donut-svg circle{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
}


/* V12.9.18 - Brosur informasi aktif di Beranda */
.home-brochure{position:relative;padding:clamp(28px,4vw,54px) 0;background:linear-gradient(180deg,#fff9df 0%,#fff 100%);scroll-margin-top:90px;overflow:hidden}
.home-brochure:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-210px;top:-230px;background:radial-gradient(circle,rgba(11,42,91,.13),rgba(11,42,91,0) 68%);pointer-events:none}
.home-brochure__shell{position:relative;display:grid;grid-template-columns:minmax(280px,.92fr) minmax(0,1.08fr);gap:clamp(26px,5vw,70px);align-items:center;background:#fff;border:1px solid #fff3bf;border-radius:28px;padding:clamp(18px,2.8vw,34px);box-shadow:0 22px 60px rgba(7,26,61,.09)}
.home-brochure__media{min-width:0}
.home-brochure__media>a{position:relative;display:block;overflow:hidden;border-radius:20px;background:#fff9df;box-shadow:0 16px 38px rgba(7,26,61,.13)}
.home-brochure__media img{display:block;width:100%;max-height:640px;object-fit:contain;background:#f5f8f7;transition:transform .55s ease}
.home-brochure__media>a:hover img{transform:scale(1.015)}
.home-brochure__zoom{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:rgba(4,18,44,.82);color:#fff;font-size:.76rem;font-weight:700;backdrop-filter:blur(8px)}
.home-brochure__copy{min-width:0}
.home-brochure__badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#fff3bf;color:#071a3d;border:1px solid #fff3bf;font-size:.78rem;font-weight:800;letter-spacing:.02em;margin-bottom:16px}
.home-brochure__copy h2{font-size:clamp(1.7rem,3vw,2.65rem);line-height:1.12;color:#04122c;margin:0 0 14px;font-weight:800;letter-spacing:-.025em}
.home-brochure__copy p{font-size:clamp(.98rem,1.4vw,1.08rem);line-height:1.75;color:#0b2a5b;max-width:640px;margin:0 0 22px}
.home-brochure__cta{border-radius:12px;padding:.75rem 1.05rem;font-weight:750}
.home-brochure__period{display:flex;align-items:center;gap:8px;margin-top:18px;color:#71817c;font-size:.84rem}
.home-brochure__period i{color:#0b2a5b}
.home-motion-enabled .home-brochure.home-motion-section:not(.is-home-visible) .home-brochure__media{opacity:0;transform:translateY(18px) scale(.985)}
.home-motion-enabled .home-brochure.home-motion-section:not(.is-home-visible) .home-brochure__copy{opacity:0;transform:translateY(16px)}
.home-brochure__media,.home-brochure__copy{transition:opacity .65s ease,transform .65s ease}
.home-brochure.is-home-visible .home-brochure__copy{transition-delay:.08s}
@media(max-width:991.98px){.home-brochure__shell{grid-template-columns:1fr;max-width:760px;margin-inline:auto}.home-brochure__media img{max-height:700px}.home-brochure__copy{text-align:center}.home-brochure__copy p{margin-left:auto;margin-right:auto}.home-brochure__period{justify-content:center}}
@media(max-width:575.98px){.home-brochure{padding:20px 0 28px}.home-brochure__shell{border-radius:20px;padding:13px;gap:20px}.home-brochure__media>a{border-radius:15px}.home-brochure__copy{padding:0 5px 7px}.home-brochure__copy h2{font-size:1.55rem}.home-brochure__zoom{font-size:.7rem;right:9px;bottom:9px}}
@media(prefers-reduced-motion:reduce){.home-brochure__media img,.home-brochure__media,.home-brochure__copy{transition:none!important;transform:none!important}}

/* =========================================================
   V12.9.24 — Public header scroll hardening
   Native sticky remains as fallback; JS switches to fixed after
   the original navbar position passes the top of the viewport.
   ========================================================= */
.site-header-scroll-anchor{height:0!important;min-height:0!important;position:relative!important;z-index:0!important}
.site-header-placeholder{height:0;min-height:0;transition:none!important;background:transparent!important;position:relative!important;z-index:0!important}
.site-header.sticky-top{top:0!important;z-index:1095!important}
.site-header.is-scroll-fixed{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:1095!important;
  margin:0!important;
  box-shadow:0 10px 32px rgba(4,18,44,.12)!important;
  animation:siteHeaderSettle .18s ease-out both;
}
@keyframes siteHeaderSettle{from{transform:translateY(-8px);opacity:.94}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.site-header.is-scroll-fixed{animation:none!important}}

/* V12.9.31 - Intro SPMB CTA hierarchy */
.school-intro__actions{align-items:center}
.school-intro__spmb{border-radius:14px;padding:14px 20px;font-weight:900;background:linear-gradient(135deg,#f2d47c 0%,#c8a24d 100%);color:#04122c;border:1px solid rgba(255,255,255,.16);box-shadow:0 16px 38px rgba(200,162,77,.30);letter-spacing:.01em}
.school-intro__spmb:hover{color:#04122c;filter:brightness(1.05);transform:translateY(-1px)}
.school-intro__enter{padding:8px 12px!important;border-radius:10px!important;font-size:.82rem!important;font-weight:750!important;background:rgba(255,255,255,.08)!important;color:#e2e8f0!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:none!important}
.school-intro__enter:hover{background:rgba(255,255,255,.14)!important;color:#fff!important}
@media(max-width:575.98px){.school-intro__actions{align-items:stretch}.school-intro__actions .school-intro__spmb{width:100%}.school-intro__actions .school-intro__enter{width:auto!important;align-self:flex-start}.school-intro__actions .school-intro__sound{width:auto!important;align-self:flex-start}}

/* V12.9.32 - Intro SPMB Navy / Gold / White theme */
.school-intro{background:#06152f!important;color:#fff!important}
.school-intro__backdrop{background:radial-gradient(circle at 16% 18%,rgba(245,197,66,.20),transparent 34%),radial-gradient(circle at 86% 80%,rgba(255,255,255,.07),transparent 32%),linear-gradient(135deg,#041128 0%,#071d3f 52%,#0a2852 100%)!important}
.school-intro__shell{background:linear-gradient(145deg,rgba(5,22,51,.94),rgba(8,31,65,.90))!important;border-color:rgba(245,197,66,.24)!important;box-shadow:0 40px 120px rgba(0,0,0,.54),0 0 0 1px rgba(255,255,255,.025) inset!important}
.school-intro__brand{color:#fff!important}.school-intro__brand img{background:#fff!important;box-shadow:0 8px 24px rgba(0,0,0,.22),0 0 0 1px rgba(245,197,66,.24)!important}
.school-intro__eyebrow{background:rgba(245,197,66,.11)!important;border-color:rgba(245,197,66,.34)!important;color:#f5c542!important}
.school-intro__copy h1{color:#f5c542!important;text-shadow:0 4px 22px rgba(245,197,66,.12)!important}
.school-intro__copy p{color:#fff!important;opacity:.92}.school-intro__delay{color:rgba(255,255,255,.68)!important}.school-intro__foot{color:rgba(255,255,255,.58)!important}
.school-intro__media{background:#020b1d center/cover no-repeat!important;border-color:rgba(245,197,66,.24)!important;box-shadow:0 28px 70px rgba(0,0,0,.38),0 0 0 1px rgba(245,197,66,.04) inset!important}.school-intro__media:after{box-shadow:inset 0 0 0 1px rgba(245,197,66,.10)!important}.school-intro__loader{background:rgba(2,11,29,.55)!important}.school-intro__loader span{border-color:rgba(255,255,255,.18)!important;border-top-color:#f5c542!important}
.school-intro__spmb{background:linear-gradient(135deg,#ffd965 0%,#f5c542 48%,#dba719 100%)!important;color:#071a37!important;border-color:rgba(255,255,255,.24)!important;box-shadow:0 16px 38px rgba(245,197,66,.27)!important}.school-intro__spmb:hover{color:#041128!important;filter:brightness(1.07)!important;box-shadow:0 18px 42px rgba(245,197,66,.34)!important}
.school-intro__enter{background:rgba(255,255,255,.07)!important;color:#fff!important;border-color:rgba(255,255,255,.25)!important}.school-intro__enter:hover{background:#fff!important;color:#071a37!important;border-color:#fff!important}
.school-intro__sound{background:rgba(7,26,55,.68)!important;border-color:rgba(245,197,66,.30)!important;color:#fff!important}.school-intro__sound:hover{background:rgba(245,197,66,.12)!important;border-color:#f5c542!important;color:#f5c542!important}

/* =========================================================
   V12.9.33 — GLOBAL PANGSOED 2 NAVY / GOLD / WHITE THEME
   Brand palette applied across the public website.
   ========================================================= */
:root {
  --ps-primary: #0b2a5b;
  --ps-primary-strong: #071a3d;
  --ps-primary-deep: #04122c;
  --ps-primary-soft: #fff3bf;
  --ps-primary-soft-2: #fff9df;
  --ps-accent: #f4c430;
  --ps-gold: #f4c430;
  --ps-gold-deep: #d4a900;
  --ps-navy: #071a3d;
  --ps-navy-2: #0b2a5b;
  --ps-bg: #f7f9fc;
  --ps-ring: 0 0 0 4px rgba(244,196,48,.22);
}

body { color: #24344d !important; background: var(--ps-bg) !important; }
h1,h2,h3,h4,h5,h6 { color: var(--ps-navy) !important; }
a { color: var(--ps-navy-2); }
a:hover { color: var(--ps-gold-deep); }
::selection { background: var(--ps-gold); color: var(--ps-navy); }

.topbar { background: var(--ps-navy) !important; color:#fff !important; border-bottom:1px solid rgba(244,196,48,.28); }
.topbar a,.topbar span { color:#fff !important; }
.topbar .social-icon { background:rgba(244,196,48,.13)!important; color:var(--ps-gold)!important; border-color:rgba(244,196,48,.24)!important; }
.topbar .social-icon:hover { background:var(--ps-gold)!important; color:var(--ps-navy)!important; border-color:var(--ps-gold)!important; }

.nav-glass,.navbar { background:rgba(7,26,61,.97)!important; border-bottom:1px solid rgba(244,196,48,.3)!important; box-shadow:0 10px 30px rgba(4,18,44,.15)!important; }
.navbar-brand,.navbar-brand span,.navbar-brand strong { color:#fff!important; }
.main-nav .nav-link { color:#fff!important; }
.main-nav .nav-link:hover,.main-nav .nav-link:focus,.main-nav .nav-link.active,.main-nav .show>.nav-link { color:var(--ps-navy)!important; background:var(--ps-gold)!important; }
.navbar-toggler { background:#fff!important; border-color:rgba(244,196,48,.5)!important; }
.navbar .dropdown-menu { border-color:rgba(244,196,48,.34)!important; box-shadow:0 18px 44px rgba(4,18,44,.18)!important; }
.navbar .dropdown-item:hover,.navbar .dropdown-item:focus { background:#fff7d6!important; color:var(--ps-navy)!important; }

.section-kicker { color:var(--ps-gold-deep)!important; }
.section-kicker::before { background:var(--ps-gold)!important; }
.home-feed-section.alt { background:#eef2f8!important; }

.btn-primary,.btn-success,.btn-elegant-primary,.feature-tile .btn,.btn-brand {
  background:var(--ps-navy)!important; border-color:var(--ps-navy)!important; color:#fff!important;
}
.btn-primary:hover,.btn-success:hover,.btn-elegant-primary:hover,.btn-brand:hover {
  background:var(--ps-gold)!important; border-color:var(--ps-gold)!important; color:var(--ps-navy)!important;
}
.btn-outline-primary,.btn-outline-success { color:var(--ps-navy)!important; border-color:var(--ps-navy)!important; }
.btn-outline-primary:hover,.btn-outline-success:hover { background:var(--ps-gold)!important; border-color:var(--ps-gold)!important; color:var(--ps-navy)!important; }

.feature-tile::after { background:rgba(244,196,48,.13)!important; }
.feature-tile i,.feature-tile .icon,.link-arrow,.text-success { color:var(--ps-gold-deep)!important; }
.card,.contact-card,.agenda-container,.content-card,.article-card,.ppdb-info-card,.ppdb-form { border-color:#dce3ee!important; }

.form-control:focus,.form-select:focus,textarea:focus { border-color:var(--ps-gold)!important; box-shadow:var(--ps-ring)!important; }
.badge.bg-success,.bg-success { background-color:var(--ps-navy)!important; }
.text-primary { color:var(--ps-navy)!important; }
.bg-primary { background-color:var(--ps-navy)!important; }

footer,.footer,.site-footer { background:var(--ps-navy)!important; color:#fff!important; border-top:3px solid var(--ps-gold)!important; }
footer p,footer a,footer li,footer span,.footer p,.footer a,.footer li,.footer span,.site-footer p,.site-footer a,.site-footer span { color:#fff!important; }
footer a:hover,.footer a:hover,.site-footer a:hover { color:var(--ps-gold)!important; }

/* Keep the video-intro slogan gold and supporting copy white. */
.intro-overlay h1,.intro-content h1,.video-intro h1 { color:var(--ps-gold)!important; }
.intro-overlay p,.intro-content p,.video-intro p { color:#fff!important; }

/* V12.9.47 — Cinematic full-screen intro */
.school-intro--cinematic{position:fixed!important;inset:0!important;display:block!important;padding:0!important;background:#020617!important;overflow:hidden!important;isolation:isolate}
.school-intro--cinematic .school-intro__background{position:absolute!important;inset:-4%!important;z-index:0!important;overflow:hidden!important;background:#020617 var(--intro-poster,none) center/cover no-repeat!important;border:0!important;border-radius:0!important;box-shadow:none!important;min-height:0!important;aspect-ratio:auto!important}
.school-intro--cinematic .school-intro__background:after{display:none!important}
.school-intro--cinematic .school-intro__photo{position:absolute;inset:0;background:var(--intro-poster,none) center/cover no-repeat;transform:scale(1.08);will-change:transform}
.school-intro--cinematic.motion-pan_zoom .school-intro__photo{animation:introKenBurns 18s ease-in-out infinite alternate}
.school-intro--cinematic.motion-zoom .school-intro__photo{animation:introZoom 16s ease-in-out infinite alternate}
.school-intro--cinematic.motion-pan_left .school-intro__photo{animation:introPanLeft 18s ease-in-out infinite alternate}
.school-intro--cinematic.motion-pan_right .school-intro__photo{animation:introPanRight 18s ease-in-out infinite alternate}
.school-intro--cinematic.motion-none .school-intro__photo{transform:scale(1.02)}
@keyframes introKenBurns{0%{transform:scale(1.08) translate3d(-1.2%,0,0)}100%{transform:scale(1.16) translate3d(1.8%,-1.2%,0)}}
@keyframes introZoom{0%{transform:scale(1.04)}100%{transform:scale(1.16)}}
@keyframes introPanLeft{0%{transform:scale(1.13) translateX(2.5%)}100%{transform:scale(1.13) translateX(-2.5%)}}
@keyframes introPanRight{0%{transform:scale(1.13) translateX(-2.5%)}100%{transform:scale(1.13) translateX(2.5%)}}
.school-intro--cinematic .school-intro__video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;border:0!important;background:#000!important;z-index:1!important;pointer-events:none!important}
.school-intro--cinematic .school-intro__video-cover{position:absolute;inset:0;overflow:hidden;background:#000}
.school-intro--cinematic .school-intro__youtube{position:absolute!important;top:50%!important;left:50%!important;width:177.78vh!important;min-width:100%!important;height:56.25vw!important;min-height:100%!important;transform:translate(-50%,-50%) scale(1.04)!important}
.school-intro--cinematic .school-intro__loader{z-index:0!important;background:var(--intro-poster,none) center/cover no-repeat!important}
.school-intro--cinematic .school-intro__cinematic-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,calc(var(--intro-overlay-opacity,.58) * .72)) 0%,rgba(2,8,20,var(--intro-overlay-opacity,.58)) 48%,rgba(0,0,0,calc(var(--intro-overlay-opacity,.58) * .82)) 100%);pointer-events:none}
.school-intro--cinematic .school-intro__cinematic-overlay:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 44%,rgba(7,26,61,.05),rgba(2,6,23,.18) 64%,rgba(2,6,23,.42) 100%)}
.school-intro--cinematic .school-intro__cinematic-content{position:absolute;z-index:3;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:clamp(26px,5vw,70px) 20px;max-width:100%!important}
.school-intro--cinematic .school-intro__cinematic-logo{width:clamp(74px,8vw,118px);height:clamp(74px,8vw,118px);object-fit:contain;margin-bottom:16px;filter:drop-shadow(0 9px 20px rgba(0,0,0,.42));animation:introLogoFloat 5s ease-in-out infinite}
@keyframes introLogoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.school-intro--cinematic .school-intro__eyebrow{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0 0 17px!important;padding:9px 20px!important;border:0!important;border-radius:999px!important;background:linear-gradient(135deg,#ffe06c,#f4c430)!important;color:#071a3d!important;font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(.66rem,.9vw,.8rem)!important;font-weight:900!important;letter-spacing:.09em!important;text-transform:uppercase!important;box-shadow:0 8px 28px rgba(244,196,48,.24)!important;max-width:min(92vw,700px)}
.school-intro--cinematic .school-intro__school-name{font-family:Arial,Helvetica,sans-serif;font-weight:900;font-size:clamp(1.25rem,2.4vw,2.15rem);line-height:1.2;text-transform:uppercase;color:#fff;text-shadow:0 4px 22px rgba(0,0,0,.5);margin-bottom:6px}
.school-intro--cinematic .school-intro__cinematic-content h1{margin:0!important;font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(2rem,4.7vw,4.25rem)!important;line-height:1.05!important;font-weight:950!important;letter-spacing:-.035em!important;color:#f4c430!important;text-shadow:0 8px 32px rgba(0,0,0,.48)!important;max-width:1100px}
.school-intro--cinematic .school-intro__cinematic-content p{margin:15px auto 0!important;font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(.9rem,1.25vw,1.08rem)!important;line-height:1.55!important;font-weight:700!important;color:#fff!important;text-shadow:0 3px 16px rgba(0,0,0,.65)!important;max-width:760px!important;opacity:1!important}
.school-intro--cinematic .school-intro__actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;margin-top:27px!important;flex-wrap:wrap!important}
.school-intro--cinematic .school-intro__actions .btn{min-width:176px!important;border-radius:12px!important;padding:13px 21px!important;font-family:Arial,Helvetica,sans-serif!important;font-size:.82rem!important;font-weight:900!important;letter-spacing:.02em!important;text-transform:uppercase!important;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease!important}
.school-intro--cinematic .school-intro__spmb{background:linear-gradient(135deg,#f4c430,#d4a900)!important;color:#071a3d!important;border:1px solid rgba(255,255,255,.24)!important;box-shadow:0 13px 30px rgba(212,169,0,.28)!important}
.school-intro--cinematic .school-intro__enter{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.68)!important;box-shadow:0 13px 30px rgba(0,0,0,.16)!important;backdrop-filter:blur(10px)!important}
.school-intro--cinematic .school-intro__spmb:hover,.school-intro--cinematic .school-intro__enter:hover{transform:translateY(-2px)!important;filter:brightness(1.08)!important}
.school-intro--cinematic .school-intro__delay{margin-top:13px!important;min-height:18px!important;color:rgba(255,255,255,.72)!important;font-size:.78rem!important;text-shadow:0 2px 8px rgba(0,0,0,.4)!important}
.school-intro--cinematic .school-intro__cinematic-tools{position:absolute;z-index:4;right:22px;bottom:22px}
.school-intro--cinematic .school-intro__sound{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.28)!important;background:rgba(2,8,20,.46)!important;color:#fff!important;border-radius:999px!important;padding:9px 13px!important;font-size:.76rem!important;font-weight:800!important;backdrop-filter:blur(12px)!important;box-shadow:0 8px 24px rgba(0,0,0,.16)!important}
.school-intro--cinematic .school-intro__sound:hover{background:rgba(244,196,48,.18)!important;border-color:#f4c430!important;color:#fff!important}
@media(max-width:575.98px){.school-intro--cinematic .school-intro__cinematic-logo{width:78px;height:78px;margin-bottom:12px}.school-intro--cinematic .school-intro__eyebrow{font-size:.61rem!important;padding:7px 12px!important;margin-bottom:13px!important}.school-intro--cinematic .school-intro__school-name{font-size:1.08rem}.school-intro--cinematic .school-intro__cinematic-content h1{font-size:2.15rem!important}.school-intro--cinematic .school-intro__cinematic-content p{font-size:.86rem!important;max-width:92vw!important}.school-intro--cinematic .school-intro__actions{width:min(92vw,390px)!important;gap:10px!important;margin-top:20px!important}.school-intro--cinematic .school-intro__actions .btn{width:100%!important;min-width:0!important}.school-intro--cinematic .school-intro__cinematic-tools{right:14px;bottom:14px}.school-intro--cinematic .school-intro__sound span{display:none}}
@media(prefers-reduced-motion:reduce){.school-intro--cinematic .school-intro__photo,.school-intro--cinematic .school-intro__cinematic-logo{animation:none!important}}
