/* ============================================================
   AUREUS — University Theme Demo
   Design language: editorial, academic, warm-ink palette
   ============================================================ */

:root {
  /* MountCrest University College brand system */
  --ink:          #1A1A2E;
  --ink-2:        #2E1642;
  --ink-3:        #482366;
  --ink-60:       rgba(26, 26, 46, 0.68);
  --ink-40:       rgba(26, 26, 46, 0.44);
  --ink-12:       rgba(72, 35, 102, 0.14);
  --ink-08:       rgba(72, 35, 102, 0.09);

  --cream:        #F6F7FB;
  --cream-soft:   #F0ECF5;
  --paper:        #FFFFFF;
  --stone:        #E7DDF0;
  --stone-2:      #D8CBE4;

  /* MountCrest accents */
  --brass:        #996633;
  --brass-deep:   #6F4A24;
  --brass-light:  #C89B5C;
  --ember:        #7A2F2F;

  --mc-purple:    #482366;
  --mc-purple-light:#6A3FA0;
  --mc-purple-dark:#2E1642;
  --mc-gold:      #996633;
  --mc-gold-light:#C89B5C;

  /* type scale */
  --display:  'Playfair Display', Georgia, 'Times New Roman', serif;
  --sans:     'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mono:     'Geist Mono', ui-monospace, monospace;

  /* radii + motion */
  --r-sm: 6px;
  --r-md: 12px;
  --r-lg: 20px;
  --r-xl: 28px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-soft: cubic-bezier(0.4, 0, 0.2, 1);

  /* layout */
  --max: 1340px;
  --gutter: clamp(20px, 4vw, 48px);
}

[data-theme="dark"] {
  --ink:          #F6F1FB;
  --ink-2:        #E7DDF0;
  --ink-3:        #D8CBE4;
  --ink-60:       rgba(246, 241, 251, 0.72);
  --ink-40:       rgba(246, 241, 251, 0.48);
  --ink-12:       rgba(246, 241, 251, 0.15);
  --ink-08:       rgba(246, 241, 251, 0.08);
  --cream:        #12091A;
  --cream-soft:   #1B1025;
  --paper:        #20122D;
  --stone:        #2E1642;
  --stone-2:      #3B2054;
  --brass:        #C89B5C;
  --brass-deep:   #996633;
  --brass-light:  #E0BE82;
  --mc-purple:    #6A3FA0;
  --mc-purple-dark:#12091A;
}

/* ------------------------------------------------------------
   RESET / BASE
------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  transition: background-color 0.5s var(--ease), color 0.5s var(--ease);
}
img, svg, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; border: 0; background: none; cursor: pointer; color: inherit; }
input, textarea, select { font: inherit; color: inherit; }

/* grain overlay for premium paper feel */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0.045;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
[data-theme="dark"] body::before { opacity: 0.08; mix-blend-mode: screen; }

/* ------------------------------------------------------------
   TYPOGRAPHY
------------------------------------------------------------ */
.display, .h1, .h2, .h3, .h4 {
  font-family: var(--display);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: -0.02em;
  color: var(--ink);
  }
.display {
  font-size: clamp(48px, 8vw, 132px);
  line-height: 0.92;
  letter-spacing: -0.035em;
}
.h1 { font-size: clamp(40px, 6vw, 88px); }
.h2 { font-size: clamp(32px, 4.5vw, 64px); }
.h3 { font-size: clamp(24px, 2.6vw, 36px); line-height: 1.08; letter-spacing: -0.015em; }
.h4 { font-size: clamp(20px, 1.6vw, 24px); line-height: 1.2; letter-spacing: -0.01em; }
.italic { font-style: italic;  }

.eyebrow {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-60);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.eyebrow::before {
  content: '';
  width: 18px;
  height: 1px;
  background: currentColor;
  display: inline-block;
}
.eyebrow.no-rule::before { display: none; }

.lede {
  font-size: clamp(18px, 1.6vw, 22px);
  line-height: 1.5;
  color: var(--ink-60);
  font-weight: 400;
  max-width: 58ch;
}

.section-number {
  font-family: var(--display);
  font-style: italic;
  font-weight: 300;
  font-size: clamp(14px, 1.1vw, 16px);
  color: var(--brass);
  letter-spacing: 0.04em;
}

/* ------------------------------------------------------------
   LAYOUT PRIMITIVES
------------------------------------------------------------ */
.container {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gutter);
  position: relative;
  z-index: 2;
}
section { position: relative; z-index: 2; }
.section-pad   { padding: clamp(80px, 10vw, 160px) 0; }
.section-pad-s { padding: clamp(56px, 7vw, 100px) 0; }

.divider-thin { height: 1px; background: var(--ink-12); width: 100%; }

/* ------------------------------------------------------------
   BUTTONS / LINKS
------------------------------------------------------------ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 26px;
  border-radius: 999px;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: -0.005em;
  transition: all 0.4s var(--ease);
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}
.btn svg { transition: transform 0.4s var(--ease); }
.btn:hover svg { transform: translate(3px, -3px); }

.btn-primary {
  background: linear-gradient(135deg, var(--mc-purple), var(--mc-purple-light));
  color: var(--cream);
}
.btn-primary:hover { background: linear-gradient(135deg, var(--mc-purple-dark), var(--mc-purple)); transform: translateY(-2px); box-shadow: 0 18px 42px -24px rgba(72,35,102,.55); }

.btn-accent {
  background: linear-gradient(135deg, var(--brass), var(--brass-light));
  color: #fff;
}
.btn-accent:hover { background: var(--brass-deep); transform: translateY(-1px); }

.btn-ghost {
  color: var(--ink);
  border: 1px solid var(--ink-12);
  background: transparent;
}
.btn-ghost:hover { border-color: var(--ink); background: var(--ink); color: var(--cream); }

.btn-text {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  font-size: 14px;
  padding-bottom: 2px;
  border-bottom: 1px solid currentColor;
  transition: gap 0.3s var(--ease);
}
.btn-text:hover { gap: 12px; }

.arrow-ne {
  width: 14px; height: 14px; flex-shrink: 0;
}

/* ------------------------------------------------------------
   ANNOUNCEMENT BAR
------------------------------------------------------------ */
.announce {
  background: var(--ink);
  color: var(--cream);
  padding: 10px 0;
  font-size: 13px;
  letter-spacing: -0.005em;
  position: relative;
  z-index: 60;
}
.announce .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.announce a {
  color: var(--brass-light);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: opacity 0.3s;
}
.announce a:hover { opacity: 0.75; }
.announce-left { display: flex; align-items: center; gap: 16px; }
.announce-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--brass); display: inline-block; }
.announce-meta { display: flex; align-items: center; gap: 20px; font-size: 12px; color: rgba(244,238,226,0.6); }
.announce-meta span { font-family: var(--mono); letter-spacing: 0.04em; }
@media (max-width: 720px) {
  .announce-meta { display: none; }
}

/* ------------------------------------------------------------
   HEADER / NAV
------------------------------------------------------------ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,0.88);
  backdrop-filter: saturate(180%) blur(16px);
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  border-bottom: 1px solid transparent;
  transition: background 0.4s var(--ease), border-color 0.4s var(--ease), backdrop-filter 0.4s;
}
.site-header.is-scrolled {
  background: rgba(255,255,255,0.92);
  backdrop-filter: saturate(180%) blur(18px);
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  border-bottom-color: var(--ink-08);
}
[data-theme="dark"] .site-header,
[data-theme="dark"] .site-header.is-scrolled {
  background: rgba(18, 9, 26, 0.88);
}

.nav-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 22px 0;
  gap: 30px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--display);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.brand-mark {
  width: 36px; height: 36px;
  display: grid; place-items: center;
  background: var(--mc-purple);
  color: var(--cream);
  border-radius: 4px;
  font-family: var(--display);
  font-style: italic;
  font-weight: 500;
  font-size: 20px;
  line-height: 1;
  position: relative;
}
.brand-mark::after {
  content: '';
  position: absolute;
  inset: -3px;
  border: 1px solid var(--ink);
  border-radius: 6px;
  opacity: 0.3;
}
.brand-sub {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-60);
  display: block;
  margin-top: 2px;
  line-height: 1;
}

.nav-main {
  display: flex;
  gap: 4px;
  justify-content: center;
}
.nav-main-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex-wrap: wrap;
}
.nav-main a {
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  border-radius: 999px;
  transition: background 0.3s var(--ease), color 0.3s;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.nav-main a svg { opacity: 0.5; transition: transform 0.3s; }
.nav-main a:hover { background: var(--ink-08); }
.nav-main a:hover svg { transform: rotate(180deg); }

.nav-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: flex-end;
}
.icon-btn {
  width: 40px; height: 40px;
  display: grid; place-items: center;
  border-radius: 999px;
  color: var(--ink);
  transition: background 0.3s;
}
.icon-btn:hover { background: var(--ink-08); }

.header-apply {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: linear-gradient(135deg, var(--mc-purple), var(--mc-purple-light));
  color: var(--cream);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  flex-shrink: 0;
  text-decoration: none;
  transition: all 0.3s var(--ease);
}
.header-apply:hover { background: linear-gradient(135deg, var(--brass), var(--brass-light)); color: #fff; transform: translateY(-1px); }

.menu-toggle {
  display: none;
  width: 40px; height: 40px;
  border-radius: 999px;
  position: relative;
}
.menu-toggle span {
  position: absolute;
  left: 10px; right: 10px;
  height: 1.5px;
  background: var(--ink);
  transition: transform 0.3s, opacity 0.3s;
}
.menu-toggle span:nth-child(1) { top: 16px; }
.menu-toggle span:nth-child(2) { top: 22px; }
.menu-toggle.open span:nth-child(1) { transform: translateY(3px) rotate(45deg); }
.menu-toggle.open span:nth-child(2) { transform: translateY(-3px) rotate(-45deg); }

@media (max-width: 960px) {
  .nav-main { display: none; }
  .menu-toggle { display: grid; place-items: center; }
  .header-apply { display: none; }
  .nav-row { grid-template-columns: 1fr auto; }
}

/* mobile drawer */
.mobile-drawer {
  position: fixed;
  inset: 0;
  background: rgba(246,247,251,0.98);
  z-index: 80;
  padding: 110px var(--gutter) 40px;
  transform: translateY(-20px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
  overflow-y: auto;
}
.mobile-drawer.open { opacity: 1; visibility: visible; transform: translateY(0); }
[data-theme="dark"] .mobile-drawer { background: rgba(18,9,26,0.98); }
.mobile-drawer nav { display: flex; flex-direction: column; gap: 4px; }
.mobile-drawer nav a {
  font-family: var(--display);
  font-size: 32px;
  letter-spacing: -0.02em;
  padding: 12px 0;
  border-bottom: 1px solid var(--ink-08);
}
.mobile-drawer .btn { margin-top: 32px; }

/* ------------------------------------------------------------
   HERO
------------------------------------------------------------ */
.hero {
  padding: clamp(40px, 6vw, 80px) 0 clamp(60px, 8vw, 120px);
  position: relative;
}
.hero .container { position: relative; }

.hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: clamp(24px, 4vw, 60px);
  align-items: end;
}
@media (max-width: 960px) { .hero-grid { grid-template-columns: 1fr; } }

.hero-head .eyebrow { margin-bottom: 28px; }
.hero-head .display {
  margin-bottom: 36px;
}
.hero-head .display em {
  font-style: italic;
  color: var(--brass);
  
}
.hero-lede { margin-bottom: 40px; max-width: 42ch; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 48px; }

/* Hero image collage */
.hero-visual {
  position: relative;
  aspect-ratio: 4 / 5;
  min-height: clamp(500px, 58vh, 680px);
  max-height: 720px;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--stone);
}
.hero-visual img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  filter: contrast(1.04) saturate(0.92);
}
.hero-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,22,40,0) 40%, rgba(10,22,40,0.35) 100%);
  pointer-events: none;
}
.hero-badge {
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
  background: rgba(244, 238, 226, 0.92);
  backdrop-filter: blur(12px);
  padding: 18px 22px;
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 13px;
}
.hero-badge strong { display: block; font-size: 14px; font-weight: 600; margin-bottom: 2px; color: var(--ink); }
.hero-badge span { color: var(--ink-60); }
.hero-badge-icon {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--brass);
  display: grid; place-items: center;
  color: white;
  flex-shrink: 0;
}

/* floating card on hero */
.hero-floater {
  position: absolute;
  top: 8%;
  left: -40px;
  background: var(--paper);
  padding: 18px 22px;
  border-radius: var(--r-md);
  box-shadow: 0 20px 60px -20px rgba(10,22,40,0.25);
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  max-width: 220px;
  border: 1px solid var(--ink-08);
}
@media (max-width: 960px) {
  .hero-floater { display: none; }
}
.hero-floater-num {
  font-family: var(--display);
  font-size: 32px;
  font-weight: 400;
  color: var(--brass);
  line-height: 1;
}
.hero-floater-lbl {
  color: var(--ink-60);
  font-size: 12px;
  line-height: 1.35;
}

/* search in hero */
.hero-search {
  margin-top: 40px;
  background: var(--paper);
  border: 1px solid var(--ink-08);
  border-radius: var(--r-lg);
  padding: 10px 10px 10px 22px;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 540px;
  box-shadow: 0 8px 24px -14px rgba(10,22,40,0.15);
}
.hero-search svg { color: var(--ink-40); flex-shrink: 0; }
.hero-search input {
  flex: 1;
  border: 0;
  background: none;
  padding: 12px 0;
  font-size: 15px;
  outline: none;
}
.hero-search input::placeholder { color: var(--ink-40); }
.hero-search button {
  background: var(--ink);
  color: var(--cream);
  padding: 12px 22px;
  border-radius: var(--r-md);
  font-size: 14px;
  font-weight: 500;
  transition: background 0.3s;
}
.hero-search button:hover { background: var(--brass); color: white; }

/* hero meta row */
.hero-meta {
  margin-top: 80px;
  padding-top: 28px;
  border-top: 1px solid var(--ink-12);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 760px) { .hero-meta { grid-template-columns: repeat(2, 1fr); gap: 32px 20px; } }
.hero-meta-item .num {
  font-family: var(--display);
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.02em;
  margin-bottom: 8px;
}
.hero-meta-item .num em { font-style: italic; color: var(--brass); }
.hero-meta-item .lbl {
  font-size: 13px;
  color: var(--ink-60);
  line-height: 1.4;
}

/* news ticker */
.news-ticker {
  background: linear-gradient(90deg, var(--mc-purple-dark), var(--mc-purple));
  color: var(--cream);
  padding: 14px 0;
  overflow: hidden;
  position: relative;
}
.news-ticker::before, .news-ticker::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0; width: 80px;
  z-index: 2;
  pointer-events: none;
}
.news-ticker::before { left: 0; background: linear-gradient(90deg, var(--mc-purple-dark), transparent); }
.news-ticker::after  { right: 0; background: linear-gradient(-90deg, var(--mc-purple), transparent); }
.ticker-track {
  display: flex;
  gap: 60px;
  white-space: nowrap;
  animation: ticker 60s linear infinite;
  width: max-content;
}
.ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  font-size: 13px;
  font-family: var(--mono);
  font-weight: 400;
  letter-spacing: 0.01em;
}
.ticker-item .tag {
  color: var(--brass-light);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 10px;
}
.ticker-item .bullet { color: var(--brass); }
@keyframes ticker {
  to { transform: translateX(-50%); }
}

/* ------------------------------------------------------------
   QUICK ACCESS
------------------------------------------------------------ */
.quick {
  background: var(--paper);
  padding: clamp(60px, 7vw, 100px) 0;
}
.quick-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 48px;
  flex-wrap: wrap;
  gap: 24px;
}
.quick-head h2 { max-width: 18ch; }

.quick-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1px;
  background: var(--ink-08);
  border: 1px solid var(--ink-08);
  border-radius: var(--r-lg);
  overflow: hidden;
}
@media (max-width: 1040px) { .quick-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .quick-grid { grid-template-columns: repeat(2, 1fr); } }

.qa-card {
  background: var(--paper);
  padding: 32px 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  transition: background 0.35s var(--ease), color 0.35s;
  min-height: 200px;
}
.qa-card:hover { background: linear-gradient(135deg, var(--mc-purple), var(--mc-purple-dark)); color: #fff; }
.qa-card:hover .qa-icon { background: var(--brass); color: white; border-color: var(--brass); }
.qa-card:hover .qa-num { color: rgba(244,238,226,0.4); }

.qa-head { display: flex; justify-content: space-between; align-items: start; }
.qa-icon {
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 1px solid var(--ink-12);
  display: grid; place-items: center;
  transition: all 0.35s var(--ease);
}
.qa-num {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--ink-40);
  letter-spacing: 0.1em;
  transition: color 0.35s;
}
.qa-card h4 {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.1;
}
.qa-card p {
  font-size: 13px;
  line-height: 1.5;
  opacity: 0.7;
  margin-top: -8px;
}
.qa-arrow { margin-top: auto; align-self: start; }
.qa-card:hover .qa-arrow { color: var(--brass-light); }

/* ------------------------------------------------------------
   ABOUT + STATS
------------------------------------------------------------ */
.about { background: var(--cream-soft); }
.about-grid {
  display: grid;
  grid-template-columns: 0.45fr 0.55fr;
  gap: clamp(40px, 6vw, 100px);
  align-items: start;
}
@media (max-width: 900px) { .about-grid { grid-template-columns: 1fr; } }

.about-left { position: sticky; top: 120px; }
.about-left .eyebrow { margin-bottom: 32px; }
.about-left h2 { margin-bottom: 32px; }
.about-left h2 em { color: var(--brass); font-style: italic; }

.about-body p {
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 1.2em;
  color: var(--ink);
}
.about-body p:first-child::first-letter {
  font-family: var(--display);
  font-size: 76px;
  line-height: 0.85;
  float: left;
  padding: 6px 12px 0 0;
  font-weight: 400;
  color: var(--brass);
  font-style: italic;
}

.pillars {
  margin-top: 40px;
  display: grid;
  gap: 0;
  border-top: 1px solid var(--ink-12);
}
.pillar {
  padding: 24px 0;
  border-bottom: 1px solid var(--ink-12);
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 20px;
  align-items: start;
}
.pillar-num {
  font-family: var(--display);
  font-style: italic;
  font-size: 18px;
  color: var(--brass);
  padding-top: 2px;
}
.pillar-body h4 {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 6px;
  letter-spacing: -0.01em;
}
.pillar-body p {
  color: var(--ink-60);
  font-size: 14px;
  line-height: 1.55;
}
.pillar-expand {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 1px solid var(--ink-12);
  display: grid; place-items: center;
  color: var(--ink-60);
  transition: all 0.3s;
}
.pillar:hover .pillar-expand { background: var(--ink); color: var(--cream); border-color: var(--ink); }

/* stats row (separate section) */
.stats {
  background: linear-gradient(135deg, var(--mc-purple-dark), var(--mc-purple));
  color: var(--cream);
  padding: clamp(60px, 7vw, 100px) 0;
  position: relative;
  overflow: hidden;
}
.stats::before {
  content: '';
  position: absolute;
  top: -50%; right: -20%;
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(184, 135, 62, 0.14) 0%, transparent 60%);
  pointer-events: none;
}
.stats .container { position: relative; z-index: 2; }
.stats-head { margin-bottom: 64px; max-width: 700px; }
.stats-head .eyebrow { color: var(--brass-light); margin-bottom: 24px; }
.stats-head h2 { color: var(--cream); }
.stats-head h2 em { color: var(--brass-light); font-style: italic; }

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
@media (max-width: 900px) { .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 48px 24px; } }
@media (max-width: 480px) { .stats-grid { grid-template-columns: 1fr; } }

.stat {
  padding-top: 28px;
  border-top: 1px solid rgba(244,238,226,0.22);
}
.stat-num {
  font-family: var(--display);
  font-size: clamp(52px, 6.5vw, 88px);
  font-weight: 300;
  line-height: 0.9;
  letter-spacing: -0.035em;
  color: var(--cream);
  margin-bottom: 16px;
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.stat-num sup {
  font-size: 0.4em;
  color: var(--brass-light);
  font-style: italic;
  vertical-align: super;
  margin-left: 6px;
}
.stat-lbl {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(244,238,226,0.6);
  margin-bottom: 10px;
}
.stat-desc {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(244,238,226,0.8);
}

/* ------------------------------------------------------------
   PROGRAMS
------------------------------------------------------------ */
.programs { background: var(--cream); }
.programs-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 56px;
  align-items: end;
}
@media (max-width: 800px) { .programs-head { grid-template-columns: 1fr; } }
.programs-head h2 em { color: var(--brass); font-style: italic; }

.prog-filter {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  padding: 6px;
  background: var(--paper);
  border: 1px solid var(--ink-08);
  border-radius: 999px;
  align-self: end;
  justify-self: end;
}
@media (max-width: 800px) { .prog-filter { justify-self: start; } }
.prog-filter button {
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  color: var(--ink-60);
  transition: all 0.3s var(--ease);
  white-space: nowrap;
}
.prog-filter button.is-active {
  background: var(--ink);
  color: var(--cream);
}
.prog-filter button:not(.is-active):hover { color: var(--ink); background: var(--ink-08); }

.prog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 1000px) { .prog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .prog-grid { grid-template-columns: 1fr; } }

.prog-card {
  background: var(--paper);
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--ink-08);
  display: flex;
  flex-direction: column;
  transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}
.prog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 30px 60px -30px rgba(10,22,40,0.2);
}
.prog-media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  position: relative;
  background: var(--stone);
}
.prog-media img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.7s var(--ease);
}
.prog-card:hover .prog-media img { transform: scale(1.05); }
.prog-media-label {
  position: absolute;
  top: 16px; left: 16px;
  padding: 6px 12px;
  background: rgba(244,238,226,0.92);
  backdrop-filter: blur(10px);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
}
.prog-body {
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}
.prog-body h3 {
  font-family: var(--display);
  font-size: 26px;
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 1.1;
}
.prog-body p {
  color: var(--ink-60);
  font-size: 14px;
  line-height: 1.55;
  flex: 1;
}
.prog-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 18px;
  border-top: 1px solid var(--ink-08);
  font-size: 12px;
  color: var(--ink-60);
}
.prog-meta .dur { font-family: var(--mono); letter-spacing: 0.04em; }
.prog-meta .arr {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--cream);
  display: grid; place-items: center;
  transition: all 0.3s;
}
.prog-card:hover .arr { background: var(--ink); color: var(--cream); }

.prog-cta {
  text-align: center;
  margin-top: 48px;
}

/* ------------------------------------------------------------
   RESEARCH & INNOVATION (split editorial)
------------------------------------------------------------ */
.research {
  background: var(--ink);
  color: var(--cream);
  position: relative;
}
.research .container { position: relative; z-index: 2; }

.research-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: end;
  margin-bottom: 64px;
}
@media (max-width: 800px) { .research-head { grid-template-columns: 1fr; } }
.research-head .eyebrow { color: var(--brass-light); }
.research-head h2 { color: var(--cream); }
.research-head h2 em { color: var(--brass-light); font-style: italic; }
.research-head p { color: rgba(244,238,226,0.75); }

.research-main {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 32px;
}
@media (max-width: 1000px) { .research-main { grid-template-columns: 1fr; } }

.research-feature {
  background: var(--ink-2);
  border: 1px solid rgba(244,238,226,0.08);
  border-radius: var(--r-xl);
  overflow: hidden;
  position: relative;
}
.research-feature-media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.research-feature-media img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.85) contrast(1.05);
}
.research-feature-body { padding: clamp(24px, 3vw, 40px); }
.research-feature-body .tag {
  display: inline-block;
  padding: 6px 12px;
  background: rgba(184,135,62,0.18);
  color: var(--brass-light);
  border-radius: 4px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.research-feature-body h3 {
  font-family: var(--display);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin-bottom: 16px;
  color: var(--cream);
}
.research-feature-body p {
  color: rgba(244,238,226,0.75);
  font-size: 15px;
  margin-bottom: 28px;
  max-width: 52ch;
}
.research-feature-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 20px;
  border-top: 1px solid rgba(244,238,226,0.1);
  font-size: 13px;
  color: rgba(244,238,226,0.65);
}
.research-feature-meta .author { display: flex; align-items: center; gap: 10px; }
.research-feature-meta .avatar {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--brass); color: white;
  display: grid; place-items: center;
  font-family: var(--display); font-style: italic;
  font-size: 14px;
}

.research-list { display: flex; flex-direction: column; gap: 20px; }
.research-item {
  background: rgba(244,238,226,0.04);
  border: 1px solid rgba(244,238,226,0.08);
  border-radius: var(--r-md);
  padding: 24px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 20px;
  align-items: center;
  transition: all 0.4s var(--ease);
}
.research-item:hover {
  background: rgba(184,135,62,0.08);
  border-color: rgba(184,135,62,0.3);
}
.research-item-num {
  font-family: var(--display);
  font-style: italic;
  font-size: 28px;
  color: var(--brass-light);
  line-height: 1;
}
.research-item h4 {
  font-family: var(--display);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin-bottom: 4px;
  color: var(--cream);
}
.research-item p {
  font-size: 12px;
  color: rgba(244,238,226,0.6);
  font-family: var(--mono);
  letter-spacing: 0.04em;
}
.research-item .arr {
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(244,238,226,0.2);
  display: grid; place-items: center;
  color: var(--cream);
}
.research-item:hover .arr { background: var(--brass); border-color: var(--brass); }

/* ------------------------------------------------------------
   NEWS & EVENTS
------------------------------------------------------------ */
.news { background: var(--paper); }
.news-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 56px;
}
.news-head h2 { margin-top: 24px; }
.news-head h2 em { color: var(--brass); font-style: italic; }

.news-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 32px;
}
@media (max-width: 900px) { .news-grid { grid-template-columns: 1fr; } .news-feature { min-height: 340px; } }

.news-feature {
  position: relative;
  aspect-ratio: 16 / 10;
  min-height: 420px;
  max-height: 560px;
  border-radius: var(--r-xl);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(28px, 3vw, 44px);
  color: #fff;
  isolation: isolate;
}
.news-feature img {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: -2;
  transition: transform 0.9s var(--ease);
}
.news-feature:hover img { transform: scale(1.04); }
.news-feature::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(10,22,40,0.7) 70%, rgba(10,22,40,0.9) 100%);
  z-index: -1;
}
.news-feature .tag {
  display: inline-block;
  padding: 6px 12px;
  background: rgba(255,255,255,0.18);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: 4px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 20px;
  width: fit-content;
}
.news-feature h3 {
  font-family: var(--display);
  font-size: clamp(28px, 3.2vw, 44px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin-bottom: 16px;
  max-width: 22ch;
}
.news-feature-meta {
  display: flex;
  gap: 20px;
  font-size: 13px;
  opacity: 0.85;
  font-family: var(--mono);
  letter-spacing: 0.04em;
}

.news-list { display: flex; flex-direction: column; gap: 16px; }
.news-list-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--ink-12);
  margin-bottom: 8px;
}
.news-list-head h4 {
  font-family: var(--display);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.event-card {
  padding: 22px;
  border-radius: var(--r-md);
  border: 1px solid var(--ink-08);
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 20px;
  align-items: center;
  transition: all 0.35s var(--ease);
}
.event-card:hover {
  border-color: var(--ink);
  background: var(--cream);
}
.event-date {
  width: 64px;
  text-align: center;
  border-right: 1px solid var(--ink-12);
  padding-right: 20px;
}
.event-date .d {
  font-family: var(--display);
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.event-date .m {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-60);
  margin-top: 6px;
}
.event-body h5 {
  font-family: var(--display);
  font-size: 19px;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin-bottom: 6px;
}
.event-body .meta {
  font-size: 12px;
  color: var(--ink-60);
  font-family: var(--mono);
  letter-spacing: 0.03em;
}
.event-arr {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--cream);
  display: grid; place-items: center;
  color: var(--ink);
  transition: all 0.3s;
}
.event-card:hover .event-arr { background: var(--ink); color: var(--cream); }

/* ------------------------------------------------------------
   STUDENT LIFE
------------------------------------------------------------ */
.student-life {
  background: var(--cream-soft);
  overflow: hidden;
}
.life-head {
  max-width: 700px;
  margin-bottom: 56px;
}
.life-head h2 em { color: var(--brass); font-style: italic; }

.life-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: 240px 240px 240px;
  gap: 16px;
}
@media (max-width: 900px) {
  .life-grid { grid-template-rows: 200px 200px 200px 200px; }
}
@media (max-width: 620px) {
  .life-grid { grid-template-rows: repeat(6, 200px); }
}
.life-tile {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  isolation: isolate;
  cursor: pointer;
}
.life-tile img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.7s var(--ease);
}
.life-tile::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(10,22,40,0.75) 100%);
  transition: opacity 0.4s;
}
.life-tile:hover img { transform: scale(1.06); }
.life-tile-label {
  position: absolute;
  left: 18px; right: 18px; bottom: 18px;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  color: white;
  gap: 12px;
}
.life-tile-label h5 {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.1;
}
.life-tile-label .tag {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.8;
}

.life-t1 { grid-column: span 5; grid-row: span 2; }
.life-t2 { grid-column: span 4; grid-row: span 1; }
.life-t3 { grid-column: span 3; grid-row: span 1; }
.life-t4 { grid-column: span 3; grid-row: span 1; }
.life-t5 { grid-column: span 4; grid-row: span 2; }
.life-t6 { grid-column: span 4; grid-row: span 1; }
.life-t7 { grid-column: span 3; grid-row: span 1; }
@media (max-width: 900px) {
  .life-t1 { grid-column: span 12; grid-row: span 1; }
  .life-t2, .life-t3, .life-t4 { grid-column: span 6; }
  .life-t5 { grid-column: span 12; grid-row: span 1; }
  .life-t6, .life-t7 { grid-column: span 6; }
}
@media (max-width: 620px) {
  .life-t1, .life-t2, .life-t3, .life-t4, .life-t5, .life-t6, .life-t7 {
    grid-column: span 12;
  }
}

/* ------------------------------------------------------------
   TESTIMONIALS
------------------------------------------------------------ */
.testimonials {
  background: var(--cream);
}
.test-inner {
  display: grid;
  grid-template-columns: 0.4fr 0.6fr;
  gap: clamp(32px, 5vw, 80px);
  align-items: start;
}
@media (max-width: 900px) { .test-inner { grid-template-columns: 1fr; } }

.test-left .eyebrow { margin-bottom: 28px; }
.test-left h2 { margin-bottom: 20px; }
.test-left h2 em { color: var(--brass); font-style: italic; }
.test-left p { color: var(--ink-60); margin-bottom: 32px; font-size: 16px; }

.test-nav {
  display: flex;
  gap: 8px;
  margin-top: 40px;
}
.test-nav button {
  width: 44px; height: 44px;
  border: 1px solid var(--ink-12);
  border-radius: 50%;
  display: grid; place-items: center;
  transition: all 0.3s;
}
.test-nav button:hover { background: var(--ink); color: var(--cream); border-color: var(--ink); }

.test-quote {
  position: relative;
  padding-top: 24px;
  border-top: 1px solid var(--ink-12);
}
.quote-mark {
  font-family: var(--display);
  font-style: italic;
  font-size: 90px;
  line-height: 0.7;
  color: var(--brass);
  margin-bottom: 20px;
}
.test-quote blockquote {
  font-family: var(--display);
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.25;
  letter-spacing: -0.015em;
  font-weight: 400;
  margin-bottom: 32px;
  color: var(--ink);
}
.test-quote blockquote em { color: var(--brass); font-style: italic; }

.test-author {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 24px;
  border-top: 1px solid var(--ink-12);
}
.test-avatar {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--stone);
  overflow: hidden;
  flex-shrink: 0;
}
.test-avatar img { width: 100%; height: 100%; object-fit: cover; }
.test-author-info strong {
  display: block;
  font-weight: 500;
  font-size: 15px;
  margin-bottom: 2px;
}
.test-author-info span {
  font-size: 13px;
  color: var(--ink-60);
  font-family: var(--mono);
  letter-spacing: 0.02em;
}

/* ------------------------------------------------------------
   CTA
------------------------------------------------------------ */
.cta-banner {
  padding: clamp(60px, 8vw, 120px) 0;
  background: var(--cream);
}
.cta-box {
  background: var(--ink);
  color: var(--cream);
  border-radius: var(--r-xl);
  padding: clamp(40px, 6vw, 90px) clamp(28px, 5vw, 80px);
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 48px;
  align-items: center;
}
@media (max-width: 800px) { .cta-box { grid-template-columns: 1fr; padding: 48px 28px; } }
.cta-box::before {
  content: '';
  position: absolute;
  top: -40%; right: -15%;
  width: 550px; height: 550px;
  background: radial-gradient(circle, rgba(184,135,62,0.22) 0%, transparent 60%);
  pointer-events: none;
}
.cta-box::after {
  content: '01';
  font-family: var(--display);
  font-style: italic;
  font-size: 380px;
  font-weight: 300;
  line-height: 1;
  position: absolute;
  right: -40px;
  bottom: -80px;
  color: rgba(244,238,226,0.04);
  pointer-events: none;
  z-index: 0;
}
.cta-left { position: relative; z-index: 2; }
.cta-left .eyebrow { color: var(--brass-light); margin-bottom: 24px; }
.cta-left h2 {
  color: var(--cream);
  font-size: clamp(40px, 5vw, 72px);
  margin-bottom: 20px;
}
.cta-left h2 em { color: var(--brass-light); font-style: italic; }
.cta-left p { color: rgba(244,238,226,0.75); max-width: 50ch; }

.cta-right { position: relative; z-index: 2; }
.cta-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.cta-opt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  background: rgba(244,238,226,0.05);
  border: 1px solid rgba(244,238,226,0.1);
  border-radius: var(--r-md);
  transition: all 0.35s var(--ease);
  color: var(--cream);
}
.cta-opt:hover {
  background: var(--brass);
  border-color: var(--brass);
  color: white;
}
.cta-opt-label { display: flex; align-items: center; gap: 16px; }
.cta-opt-label span {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--brass-light);
  text-transform: uppercase;
}
.cta-opt:hover .cta-opt-label span { color: rgba(255,255,255,0.85); }
.cta-opt h4 {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 400;
  letter-spacing: -0.01em;
}

/* ------------------------------------------------------------
   FOOTER
------------------------------------------------------------ */
.site-footer {
  background: linear-gradient(135deg, var(--mc-purple-dark), var(--mc-purple));
  color: rgba(244,238,226,0.82);
  padding: clamp(60px, 7vw, 100px) 0 40px;
  position: relative;
  overflow: hidden;
}
.site-footer::before {
  content: 'MOUNTCREST';
  font-family: var(--display);
  font-weight: 300;
  font-style: italic;
  font-size: clamp(120px, 22vw, 320px);
  line-height: 0.8;
  letter-spacing: -0.05em;
  position: absolute;
  left: -20px;
  bottom: -40px;
  color: rgba(244,238,226,0.03);
  pointer-events: none;
  white-space: nowrap;
}
.site-footer .container { position: relative; z-index: 2; }

.footer-top {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr 1.3fr;
  gap: 40px;
  padding-bottom: 64px;
  border-bottom: 1px solid rgba(244,238,226,0.15);
}
@media (max-width: 1000px) {
  .footer-top { grid-template-columns: 1fr 1fr; gap: 48px 32px; }
}
@media (max-width: 600px) {
  .footer-top { grid-template-columns: 1fr; }
}

.footer-brand { max-width: 320px; }
.footer-brand .brand { color: var(--cream); margin-bottom: 20px; }
.footer-brand .brand-mark { background: var(--cream); color: var(--ink); }
.footer-brand .brand-mark::after { border-color: var(--cream); }
.footer-brand .brand-sub { color: rgba(244,238,226,0.55); }
.footer-brand p {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(244,238,226,0.65);
  margin-bottom: 28px;
}

.footer-newsletter label {
  display: block;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brass-light);
  margin-bottom: 14px;
}
.footer-newsletter form {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 6px 6px 18px;
  background: rgba(244,238,226,0.06);
  border: 1px solid rgba(244,238,226,0.12);
  border-radius: 999px;
}
.footer-newsletter input {
  flex: 1;
  background: none;
  border: 0;
  padding: 10px 0;
  color: var(--cream);
  font-size: 14px;
  outline: none;
}
.footer-newsletter input::placeholder { color: rgba(244,238,226,0.4); }
.footer-newsletter button {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--brass), var(--brass-light));
  color: white;
  display: grid; place-items: center;
  transition: background 0.3s;
}
.footer-newsletter button:hover { background: var(--brass-light); }

.footer-col h5 {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brass-light);
  margin-bottom: 22px;
}
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.footer-col a {
  color: rgba(244,238,226,0.75);
  font-size: 14px;
  transition: color 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.footer-col a:hover { color: var(--brass-light); }

.footer-contact p {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(244,238,226,0.75);
  margin-bottom: 10px;
}
.footer-contact a { color: var(--cream); border-bottom: 1px solid rgba(244,238,226,0.2); }
.footer-contact a:hover { color: var(--brass-light); border-color: var(--brass-light); }

.footer-social {
  display: flex;
  gap: 10px;
  margin-top: 24px;
}
.footer-social a {
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(244,238,226,0.15);
  display: grid; place-items: center;
  color: rgba(244,238,226,0.8);
  transition: all 0.3s;
}
.footer-social a:hover {
  background: var(--brass);
  border-color: var(--brass);
  color: white;
  transform: translateY(-2px);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 32px;
  font-size: 12px;
  color: rgba(244,238,226,0.5);
  flex-wrap: wrap;
  gap: 16px;
  font-family: var(--mono);
  letter-spacing: 0.04em;
}
.footer-bottom a:hover { color: var(--brass-light); }
.footer-bottom-links { display: flex; gap: 24px; flex-wrap: wrap; }

/* ------------------------------------------------------------
   THEME TOGGLE
------------------------------------------------------------ */
.theme-toggle {
  position: fixed;
  bottom: 24px; right: 24px;
  width: 48px; height: 48px;
  border-radius: 50%;
  background: var(--ink);
  color: var(--cream);
  display: grid; place-items: center;
  z-index: 100;
  box-shadow: 0 8px 24px -8px rgba(10,22,40,0.4);
  transition: transform 0.3s var(--ease);
}
.theme-toggle:hover { transform: rotate(20deg); }
.theme-toggle svg { transition: transform 0.4s var(--ease); }
[data-theme="dark"] .theme-toggle { background: var(--brass); }

/* ------------------------------------------------------------
   REVEAL ANIMATIONS
------------------------------------------------------------ */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.9s var(--ease), transform 0.9s var(--ease);
}
.reveal.in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ============================================================
   WordPress Core — alignments, captions, galleries
   ============================================================ */

.alignleft   { float: left;  margin: .4rem 1.6rem 1rem 0; }
.alignright  { float: right; margin: .4rem 0 1rem 1.6rem; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignwide   { max-width: 1200px; margin-left: auto; margin-right: auto; }
.alignfull   { width: 100vw; margin-left: calc(50% - 50vw); }

.wp-caption { max-width: 100%; }
.wp-caption-text,
.wp-block-image figcaption {
  font-family: var(--font-sans);
  font-size: .82rem;
  letter-spacing: .02em;
  color: var(--ink-60);
  margin-top: .55rem;
  text-align: left;
}

.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
  position: absolute !important; word-wrap: normal !important;
}
.screen-reader-text:focus {
  background: var(--paper); color: var(--ink);
  clip: auto !important; clip-path: none;
  display: block; font-size: .9rem; font-weight: 600;
  height: auto; width: auto; left: 8px; top: 8px;
  padding: 14px 22px; text-decoration: none; z-index: 100000;
}

.skip-link { position: absolute; left: -9999px; top: 0; z-index: 999; }
.skip-link:focus { left: 8px; top: 8px; background: var(--ink); color: var(--cream); padding: .75rem 1.25rem; border-radius: 6px; }

/* Gutenberg block spacing */
.wp-block-quote,
blockquote.wp-block-quote {
  border-left: 3px solid var(--brass);
  padding-left: 1.5rem;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.3rem;
  line-height: 1.5;
  color: var(--ink);
  margin: 2rem 0;
}
.wp-block-quote cite { display: block; margin-top: .6rem; font-style: normal; font-family: var(--font-sans); font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-60); }

/* Entry content defaults (single posts, pages) */
.entry-content { font-family: var(--font-serif); font-size: 1.12rem; line-height: 1.75; color: var(--ink); }
.entry-content > * + * { margin-top: 1.35em; }
.entry-content h2 { font-family: var(--font-serif); font-size: 2rem; letter-spacing: -.01em; margin-top: 2.2em; }
.entry-content h3 { font-family: var(--font-serif); font-size: 1.5rem; margin-top: 1.8em; }
.entry-content a { color: var(--brass); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.entry-content a:hover { color: var(--brass-light); }
.entry-content ul, .entry-content ol { padding-left: 1.4rem; }
.entry-content code { font-family: var(--font-mono); font-size: .9em; background: var(--ink-08); padding: .1em .35em; border-radius: 3px; }
.entry-content pre { font-family: var(--font-mono); background: var(--ink); color: var(--cream); padding: 1.25rem; border-radius: 10px; overflow-x: auto; font-size: .88rem; line-height: 1.55; }

/* Comments */
.comments-area { margin-top: 4rem; padding-top: 3rem; border-top: 1px solid var(--ink-12); }
.comments-title { font-family: var(--font-serif); font-size: 1.75rem; margin-bottom: 2rem; }
.comment-list { list-style: none; padding: 0; }
.comment-list li { padding: 1.5rem 0; border-bottom: 1px solid var(--ink-08); }
.comment-author { font-weight: 600; margin-bottom: .25rem; }
.comment-meta { font-size: .8rem; color: var(--ink-60); margin-bottom: .75rem; }
.comment-form label { display: block; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .35rem; color: var(--ink-60); }
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url],
.comment-form textarea {
  width: 100%; font: inherit; padding: .8rem 1rem;
  border: 1px solid var(--ink-12); border-radius: 8px;
  background: var(--paper); color: var(--ink);
}
.comment-form textarea { min-height: 160px; resize: vertical; }

/* Pagination */
.pagination,
.posts-navigation,
.nav-links {
  display: flex; flex-wrap: wrap; gap: .4rem; align-items: center;
  margin-top: 3rem; font-family: var(--font-sans); font-size: .9rem;
}
.nav-links .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; padding: 0 .85rem;
  border: 1px solid var(--ink-12); border-radius: 999px;
  color: var(--ink); text-decoration: none;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.nav-links .page-numbers:hover,
.nav-links .page-numbers.current {
  background: var(--ink); color: var(--cream); border-color: var(--ink);
}

/* Search widget / search form */
.search-form { display: flex; gap: .5rem; align-items: stretch; }
.search-form .search-field {
  flex: 1; font: inherit; padding: .75rem 1rem;
  border: 1px solid var(--ink-12); border-radius: 999px;
  background: var(--paper); color: var(--ink);
}
.search-form .search-submit {
  font: 600 .85rem/1 var(--font-sans); letter-spacing: .05em; text-transform: uppercase;
  padding: 0 1.25rem; border: 0; border-radius: 999px;
  background: var(--ink); color: var(--cream); cursor: pointer;
}

/* AJAX search dropdown */
.ajax-search-results {
  position: absolute; top: calc(100% + 10px); left: 0; right: 0;
  background: var(--paper); border: 1px solid var(--ink-12);
  border-radius: 14px; box-shadow: 0 30px 60px -20px rgba(10,22,40,.2);
  max-height: 480px; overflow-y: auto; z-index: 200;
  opacity: 0; transform: translateY(-8px); pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}
.ajax-search-results.is-open { opacity: 1; transform: translateY(0); pointer-events: auto; }
.ajax-search-results .search-result {
  display: block; padding: 1rem 1.25rem; border-bottom: 1px solid var(--ink-08);
  text-decoration: none; color: var(--ink); transition: background .2s ease;
}
.ajax-search-results .search-result:hover,
.ajax-search-results .search-result:focus { background: var(--cream); }
.ajax-search-results .search-result__type {
  font: 500 .7rem/1 var(--font-sans); letter-spacing: .12em;
  text-transform: uppercase; color: var(--brass); margin-bottom: .3rem;
}
.ajax-search-results .search-result__title {
  font-family: var(--font-serif); font-size: 1.05rem; letter-spacing: -.01em;
}
.ajax-search-results .search-result__excerpt {
  font-size: .82rem; color: var(--ink-60); margin-top: .35rem; line-height: 1.5;
}
.ajax-search-results .search-result--empty {
  padding: 1.75rem; text-align: center; color: var(--ink-60); font-size: .9rem;
}

/* Widget areas */
.widget { margin-bottom: 2.5rem; }
.widget-title {
  font: 600 .72rem/1 var(--font-sans);
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--ink-60); margin-bottom: 1rem;
}
.widget ul { list-style: none; padding: 0; margin: 0; }
.widget ul li { padding: .4rem 0; border-bottom: 1px solid var(--ink-08); }
.widget ul li:last-child { border-bottom: 0; }
.widget a { color: var(--ink); text-decoration: none; }
.widget a:hover { color: var(--brass); }

/* 404 page */
.page-404 { min-height: 60vh; display: grid; place-items: center; text-align: center; padding: 4rem 1.5rem; }
.page-404 .display-title { font-size: clamp(5rem, 18vw, 12rem); line-height: .9; color: var(--brass); font-style: italic; }
.page-404 .lede { max-width: 42ch; margin: 1.5rem auto; color: var(--ink-60); }

/* Breadcrumbs */
.breadcrumbs { font: 500 .78rem/1 var(--font-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-60); margin-bottom: 2rem; }
.breadcrumbs ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.breadcrumbs li + li::before { content: "/"; margin-right: .5rem; color: var(--ink-40); }
.breadcrumbs a { color: var(--ink); text-decoration: none; }
.breadcrumbs a:hover { color: var(--brass); }

/* WooCommerce — minimal harmonisation */
.woocommerce ul.products li.product .price { color: var(--ink); font-family: var(--font-serif); }
.woocommerce ul.products li.product h2 { font-family: var(--font-serif); }
.woocommerce .button, .woocommerce button.button {
  background: var(--ink) !important; color: var(--cream) !important;
  border-radius: 999px !important; font: 600 .82rem/1 var(--font-sans) !important;
  letter-spacing: .05em !important; text-transform: uppercase !important;
  padding: .85rem 1.75rem !important;
}


/* ------------------------------------------------------------
   MountCrest polish layer — brand fidelity, logo safety, mobile fixes
------------------------------------------------------------ */
.custom-logo-link,
.custom-logo-link:hover {
  background: transparent !important;
  box-shadow: none !important;
}
.custom-logo {
  max-height: 64px;
  width: auto;
  object-fit: contain;
  background: transparent !important;
}
.site-header .brand,
.footer-brand .brand {
  min-width: 0;
}
.mobile-drawer .mobile-nav,
.mobile-drawer .menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mobile-drawer li { list-style: none; }
.mobile-drawer a { display: flex; align-items: center; justify-content: space-between; }
@media (max-width: 960px) {
  .site-header { z-index: 90; }
  .nav-row { padding: 14px 0; }
  .brand { font-size: 18px; }
  .custom-logo { max-height: 52px; }
  .nav-actions .icon-btn { display: none; }
  .mobile-drawer { top: 0; }
}
@media (max-width: 600px) {
  .display { font-size: clamp(42px, 14vw, 68px); }
  .hero-search { flex-wrap: wrap; padding: 16px; border-radius: 18px; }
  .hero-search input, .hero-search button { width: 100%; }
  .hero-search button { justify-content: center; }
  .quick-grid { border-radius: 18px; }
}

/* Import-ready Gutenberg page layouts */
.aureus-import-page {
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(2rem, 5vw, 5rem) 1.5rem;
}
.aureus-import-hero {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  padding: clamp(2.25rem, 6vw, 5.5rem);
  background:
    radial-gradient(circle at 85% 15%, rgba(153, 102, 51, .28), transparent 32%),
    linear-gradient(135deg, var(--violet-900), var(--violet));
  color: #fff;
  box-shadow: var(--shadow-lg);
}
.aureus-import-hero::after {
  content: "";
  position: absolute;
  inset: auto -8% -35% auto;
  width: min(420px, 55vw);
  height: min(420px, 55vw);
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.05);
}
.aureus-import-hero .aureus-eyebrow {
  color: var(--brass-200);
  margin-bottom: 1rem;
}
.aureus-import-hero h1 {
  max-width: 850px;
  margin: 0;
  color: #fff;
  font-size: clamp(2.4rem, 7vw, 5rem);
  line-height: .96;
}
.aureus-import-hero .aureus-page-lede {
  max-width: 760px;
  margin-top: 1.4rem;
  color: rgba(255,255,255,.84);
  font-size: clamp(1.05rem, 2vw, 1.3rem);
}
.aureus-import-section {
  margin-top: 1.25rem;
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid var(--ink-08);
  border-radius: 24px;
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}
.aureus-import-section h2 {
  margin-top: 0;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
}
.aureus-import-section p,
.aureus-import-section li {
  color: var(--ink-70);
  line-height: 1.75;
}
.aureus-import-section ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .8rem;
  padding-left: 0;
  list-style: none;
}
.aureus-import-section li {
  padding: .9rem 1rem;
  border-radius: 16px;
  background: rgba(72, 35, 102, .055);
  border-left: 3px solid var(--brass);
}
[data-theme="dark"] .aureus-import-section li {
  background: rgba(255,255,255,.055);
}
@media (max-width: 640px) {
  .aureus-import-page { padding-inline: 1rem; }
  .aureus-import-hero { border-radius: 22px; }
  .aureus-import-section { border-radius: 20px; }
}

/* MountCrest Admissions fallback page styling */
.mc-apply-plugin-missing{max-width:980px;margin:60px auto;padding:56px;border-radius:28px;background:linear-gradient(135deg,#482366,#996633);color:#fff;box-shadow:0 20px 50px rgba(72,35,102,.2)}
.mc-apply-plugin-missing h1{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5vw,4rem);line-height:1.05;margin:0 0 18px;color:#fff}.mc-apply-plugin-missing p{font-size:1.08rem;color:rgba(255,255,255,.9);max-width:760px}.aureus-apply-page .aureus-container{max-width:1240px;margin:0 auto;padding:0 20px}

/* ------------------------------------------------------------
   MOUNTCREST SWIPER HERO UPGRADE
------------------------------------------------------------ */
.hero-swiper-section { overflow: hidden; z-index: 1; }
.aureus-hero-swiper { overflow: visible; position: relative; }
.aureus-hero-swiper .swiper-wrapper { align-items: stretch; }
.aureus-hero-swiper .swiper-slide { height: auto; opacity: 0 !important; transition: opacity .55s ease; }
.aureus-hero-swiper .swiper-slide-active { opacity: 1 !important; }
.hero-slide { width: 100%; }
.hero-swiper-controls {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 26px;
  position: relative;
  z-index: 3;
}
.hero-swiper-prev,
.hero-swiper-next {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--paper);
  border: 1px solid var(--ink-12);
  color: var(--mc-purple);
  font-size: 30px;
  line-height: 1;
  box-shadow: 0 12px 30px -18px rgba(72,35,102,.35);
  cursor: pointer;
  transition: transform .25s ease, background .25s ease, color .25s ease;
}
.hero-swiper-prev:hover,
.hero-swiper-next:hover {
  transform: translateY(-2px);
  background: var(--mc-purple);
  color: #fff;
}
.hero-swiper-pagination {
  position: static !important;
  width: auto !important;
  display: inline-flex;
  align-items: center;
  gap: 9px;
}
.hero-swiper-pagination .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  margin: 0 !important;
  opacity: .35;
  background: var(--mc-purple);
  transition: width .25s ease, opacity .25s ease, border-radius .25s ease;
}
.hero-swiper-pagination .swiper-pagination-bullet-active {
  width: 28px;
  border-radius: 999px;
  opacity: 1;
  background: var(--mc-gold);
}
.hero-swiper-section .hero-grid { align-items: center; min-height: clamp(560px, 72vh, 760px); }
.hero-swiper-section .hero-visual { aspect-ratio: 4 / 5; min-height: clamp(500px, 58vh, 680px); box-shadow: 0 30px 80px -45px rgba(72,35,102,.45); }
.hero-swiper-section .hero-visual::before {
  content: '';
  position: absolute;
  inset: auto auto 22px 22px;
  width: 118px;
  height: 118px;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  z-index: 2;
  pointer-events: none;
}
.mobile-drawer { z-index: 10000; }
.site-header { z-index: 9999; }
@media (max-width: 960px) {
  .hero-swiper-section .hero-grid { min-height: auto; gap: 34px; }
  .hero-swiper-controls { justify-content: center; margin-top: 18px; }
  .hero-swiper-section .hero-visual { aspect-ratio: 16/11; }
  .hero-swiper-section .hero-search { margin-top: 26px; }
}
@media (max-width: 560px) {
  .hero-swiper-prev,
  .hero-swiper-next { width: 40px; height: 40px; font-size: 26px; }
  .hero-swiper-section .hero-visual { border-radius: 22px; }
  .hero-swiper-section .hero-badge { left: 14px; right: 14px; bottom: 14px; padding: 14px; }
  .hero-swiper-section .hero-badge-icon { width: 38px; height: 38px; }
}

/* =========================================================
   MountCrest v1.5 — World-class homepage + programmes explorer
   ========================================================= */
.section-split-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);gap:clamp(24px,4vw,64px);align-items:end;margin-bottom:clamp(28px,4vw,54px)}
.section-split-head>p{font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.8;color:var(--muted, #64748b);margin:0}
.home-highlights{position:relative;padding:clamp(56px,7vw,96px) 0;background:linear-gradient(135deg,rgba(72,35,102,.96),rgba(72,35,102,.88)),radial-gradient(circle at 85% 20%,rgba(153,102,51,.35),transparent 32%);color:#fff;overflow:hidden}
.home-highlights:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;opacity:.28;pointer-events:none}
.home-highlights__wrap{position:relative;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.1fr);gap:clamp(28px,5vw,76px);align-items:start}
.home-highlights .eyebrow,.home-highlights .section-number{color:rgba(255,255,255,.78)}
.home-highlights .h2{color:#fff;margin-top:22px}
.home-highlights .h2 em{color:#e4c08a}
.home-highlights__cards{display:grid;gap:16px}
.highlight-card{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:22px;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:rgba(255,255,255,.08);backdrop-filter:blur(14px);box-shadow:0 24px 60px rgba(0,0,0,.18)}
.highlight-card__num{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;background:#996633;color:#fff;font-weight:800;letter-spacing:.04em}
.highlight-card__label{margin:0 0 8px;color:#e4c08a;font-weight:800;text-transform:uppercase;font-size:.74rem;letter-spacing:.12em}
.highlight-card h3{margin:0 0 8px;color:#fff;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.25}
.highlight-card p:last-child{margin:0;color:rgba(255,255,255,.78);line-height:1.7}
.programmes-showcase{background:linear-gradient(180deg,#fff,#f7f3fb)}
.programmes-showcase__head .h2{max-width:780px}
.programme-tools{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1fr);gap:18px;align-items:center;margin-bottom:26px;padding:14px;border:1px solid rgba(72,35,102,.12);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:0 18px 40px rgba(72,35,102,.08);backdrop-filter:blur(12px)}
.programme-search{display:grid;gap:8px;font-weight:800;color:#482366;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.programme-search input{width:100%;border:1px solid rgba(72,35,102,.18);border-radius:16px;padding:15px 16px;background:#fff;color:#1a1a2e;font:inherit;text-transform:none;letter-spacing:0;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.programme-search input:focus{border-color:#996633;box-shadow:0 0 0 4px rgba(153,102,51,.13)}
.programme-filter{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.programme-filter button{border:1px solid rgba(72,35,102,.18);background:#fff;color:#482366;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer;transition:.2s ease}
.programme-filter button:hover,.programme-filter button.is-active{background:#482366;color:#fff;border-color:#482366;box-shadow:0 12px 24px rgba(72,35,102,.18)}
.programme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.programme-card{position:relative;display:flex;flex-direction:column;min-height:285px;padding:24px;border-radius:26px;background:#fff;border:1px solid rgba(72,35,102,.1);box-shadow:0 18px 46px rgba(72,35,102,.08);color:inherit;text-decoration:none;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.programme-card:before{content:"";position:absolute;inset:auto -20% -40% -20%;height:130px;background:radial-gradient(circle,rgba(153,102,51,.16),transparent 60%);pointer-events:none}
.programme-card:hover{transform:translateY(-6px);border-color:rgba(153,102,51,.42);box-shadow:0 28px 64px rgba(72,35,102,.14)}
.programme-card__top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:24px;color:#996633;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.programme-card__top svg{width:18px;height:18px;color:#482366;flex:0 0 auto}
.programme-card h3,.programme-card h2{font-size:clamp(1.15rem,1.4vw,1.45rem);line-height:1.22;margin:0 0 12px;color:#231336}
.programme-card p{line-height:1.68;color:#5f6270;margin:0 0 18px}
.programme-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;position:relative;z-index:1}
.programme-meta span{display:inline-flex;border-radius:999px;background:rgba(72,35,102,.08);color:#482366;font-weight:800;font-size:.78rem;padding:8px 10px}
.programme-empty{margin-top:22px;padding:18px 20px;border-radius:18px;background:#fff3d9;color:#482366;font-weight:800;border:1px solid rgba(153,102,51,.25)}
.programmes-showcase__cta{margin-top:30px;text-align:center}
.admissions-pathway{background:#fff}
.admissions-pathway__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.05fr);gap:clamp(28px,5vw,74px);align-items:center}
.admissions-pathway__panel{padding:clamp(28px,4vw,50px);border-radius:32px;background:linear-gradient(135deg,#482366,#32164a);color:#fff;box-shadow:0 28px 70px rgba(72,35,102,.22)}
.admissions-pathway__panel .eyebrow,.admissions-pathway__panel .section-number{color:rgba(255,255,255,.75)}
.admissions-pathway__panel h2{color:#fff;margin-top:20px}
.admissions-pathway__panel h2 em{color:#e4c08a}
.admissions-pathway__panel p{color:rgba(255,255,255,.78);line-height:1.8}
.admissions-pathway__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.admissions-pathway__actions .btn-ghost{color:#fff;border-color:rgba(255,255,255,.25)}
.admissions-steps{display:grid;gap:14px}
.admissions-step{display:grid;grid-template-columns:62px 1fr;gap:18px;align-items:start;padding:22px;border-radius:24px;background:#fbfafc;border:1px solid rgba(72,35,102,.11);box-shadow:0 14px 34px rgba(72,35,102,.06)}
.admissions-step>span{width:50px;height:50px;border-radius:18px;display:grid;place-items:center;background:rgba(153,102,51,.12);color:#996633;font-weight:900}
.admissions-step h3{margin:0 0 8px;color:#231336;font-size:1.1rem}
.admissions-step p{margin:0;color:#64748b;line-height:1.65}
.programme-archive-hero{padding:clamp(70px,9vw,120px) 0;background:linear-gradient(135deg,rgba(72,35,102,.98),rgba(50,22,74,.94));color:#fff;position:relative;overflow:hidden}
.programme-archive-hero:after{content:"";position:absolute;right:-12%;top:-30%;width:520px;height:520px;border-radius:50%;background:rgba(153,102,51,.25);filter:blur(10px)}
.programme-archive-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,380px);gap:40px;align-items:end}
.programme-archive-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.6rem,6vw,5.5rem);line-height:.98;margin:20px 0;color:#fff;letter-spacing:-.04em}
.programme-archive-hero p{max-width:760px;color:rgba(255,255,255,.78);font-size:1.08rem;line-height:1.8}
.programme-archive-card{padding:26px;border-radius:28px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px)}
.programme-archive-card strong{display:block;font-family:'Playfair Display',serif;font-size:1.45rem;margin-bottom:10px;color:#fff}
.programme-archive-card p{font-size:.98rem;margin:0 0 16px;color:rgba(255,255,255,.75)}
.programme-archive-card a{color:#f0ca8f;font-weight:900;text-decoration:none}
.programme-tools--archive{margin-bottom:18px}
.faculty-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
.faculty-chips span{border-radius:999px;padding:9px 12px;background:rgba(153,102,51,.1);color:#6f4a24;font-weight:800;font-size:.82rem}
.programme-grid--archive{grid-template-columns:repeat(3,minmax(0,1fr))}
.programme-card--directory{min-height:300px}
.programme-entry{margin-top:14px;padding-top:14px;border-top:1px solid rgba(72,35,102,.1);color:#6f4a24;font-weight:800;font-size:.86rem}
[data-theme="dark"] .programmes-showcase,[data-theme="dark"] .admissions-pathway,[data-theme="dark"] .programme-directory{background:#111322}
[data-theme="dark"] .programme-card,[data-theme="dark"] .admissions-step,[data-theme="dark"] .programme-tools{background:#191c2e;border-color:rgba(255,255,255,.1);box-shadow:none}
[data-theme="dark"] .programme-card h2,[data-theme="dark"] .programme-card h3,[data-theme="dark"] .admissions-step h3{color:#fff}
[data-theme="dark"] .programme-card p,[data-theme="dark"] .admissions-step p{color:#cbd5e1}
[data-theme="dark"] .programme-search input,[data-theme="dark"] .programme-filter button{background:#111322;color:#fff;border-color:rgba(255,255,255,.14)}
[data-theme="dark"] .programme-filter button.is-active{background:#996633;border-color:#996633}
@media (max-width:1100px){.programme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.programme-grid--archive{grid-template-columns:repeat(2,minmax(0,1fr))}.home-highlights__wrap,.admissions-pathway__grid,.programme-archive-hero__grid{grid-template-columns:1fr}.section-split-head,.programme-tools{grid-template-columns:1fr}.programme-filter{justify-content:flex-start}}
@media (max-width:640px){.programme-grid,.programme-grid--archive{grid-template-columns:1fr}.home-highlights,.programmes-showcase,.admissions-pathway{overflow:hidden}.highlight-card,.admissions-step{grid-template-columns:1fr}.programme-tools{padding:12px;border-radius:20px}.programme-filter{gap:7px}.programme-filter button{padding:9px 11px;font-size:.82rem}.programme-card{min-height:245px;padding:20px}.programme-archive-hero{padding-top:92px}.programme-archive-hero h1{font-size:clamp(2.35rem,13vw,3.6rem)}}

/* ------------------------------------------------------------
   MountCrest v1.6 fixes — readability, programme metadata, footer logo
------------------------------------------------------------ */
.entry-content .aureus-import-hero,
.aureus-import-hero {
  background: radial-gradient(circle at 86% 16%, rgba(153,102,51,.34), transparent 34%), linear-gradient(135deg, #2E1642 0%, #482366 60%, #5f3182 100%) !important;
  color: #fff !important;
  isolation: isolate;
}
.entry-content .aureus-import-hero *,
.aureus-import-hero * {
  color: inherit;
}
.entry-content .aureus-import-hero .aureus-eyebrow,
.aureus-import-hero .aureus-eyebrow {
  color: #f0d6ad !important;
}
.entry-content .aureus-import-hero h1,
.aureus-import-hero h1 {
  color: #fff !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.18);
}
.entry-content .aureus-import-hero .aureus-page-lede,
.aureus-import-hero .aureus-page-lede,
.entry-content .aureus-import-hero p,
.aureus-import-hero p {
  color: rgba(255,255,255,.88) !important;
}
.entry-content .aureus-import-section,
.aureus-import-section {
  color: var(--ink) !important;
}
.entry-content .aureus-import-section p,
.entry-content .aureus-import-section li,
.aureus-import-section p,
.aureus-import-section li {
  color: var(--ink-70) !important;
}
.footer-custom-logo {
  max-width: min(260px, 100%);
  max-height: 86px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  background: transparent !important;
  filter: none;
}
.footer-logo-link {
  display: inline-flex;
  width: fit-content;
}
.footer-brand .custom-logo,
.footer-brand .footer-custom-logo {
  background: transparent !important;
}
.programme-meta {
  align-items: flex-start;
}
.programme-meta span {
  line-height: 1.35;
}

/* =========================================================
   MountCrest v1.7 — Hero image caption card + Elementor safety
   ========================================================= */
.hero-image-caption-card{
  z-index:3;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.58);
  -webkit-backdrop-filter:blur(14px) saturate(1.05);
  backdrop-filter:blur(14px) saturate(1.05);
  box-shadow:0 20px 45px -24px rgba(24,20,40,.45);
}
.hero-image-caption-card .hero-badge-copy{min-width:0;}
.hero-image-caption-card strong{font-size:15px;line-height:1.25;color:var(--mc-purple,#482366);}
.hero-image-caption-card span{display:block;font-size:13px;line-height:1.55;color:rgba(24,24,40,.72);}
.hero-image-caption-card .hero-badge-icon{
  background:linear-gradient(135deg,var(--mc-gold,#996633),#c89b5c);
  box-shadow:0 12px 26px -16px rgba(153,102,51,.8);
}
.elementor .hero-swiper-section,
.elementor-page .hero-swiper-section{width:100%;max-width:none;}
.elementor-widget-shortcode .hero-swiper-section{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.elementor-widget-shortcode .hero-swiper-section .container{max-width:1240px;margin-left:auto;margin-right:auto;}
@media (max-width:560px){
  .hero-image-caption-card strong{font-size:14px;}
  .hero-image-caption-card span{font-size:12.5px;}
}

/* Aureus Forms */
.aureus-form-wrap{max-width:760px;margin:2rem auto;padding:1.5rem;border:1px solid rgba(72,35,102,.12);border-radius:18px;background:#fff;box-shadow:0 14px 40px rgba(72,35,102,.08)}
.aureus-form{display:grid;gap:1rem}.aureus-form-field{margin:0}.aureus-form label{display:block;margin:0 0 .4rem;font-weight:700;color:#1a1a2e}.aureus-form input[type=text],.aureus-form input[type=email],.aureus-form input[type=tel],.aureus-form input[type=number],.aureus-form select,.aureus-form textarea{width:100%;min-height:48px;border:1px solid rgba(72,35,102,.18);border-radius:12px;padding:.85rem 1rem;background:#fff;color:#1a1a2e}.aureus-form textarea{min-height:140px}.aureus-form input:focus,.aureus-form select:focus,.aureus-form textarea:focus{outline:3px solid rgba(153,102,51,.2);border-color:#996633}.aureus-form-submit{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:.9rem 1.35rem;background:#482366;color:#fff;font-weight:800;cursor:pointer}.aureus-form-submit:hover{background:#2e1642}.aureus-form-message{padding:1rem;border-radius:12px;margin-bottom:1rem;font-weight:700}.aureus-form-success{background:#eef8f1;color:#135c2b}.aureus-form-error{background:#fff1f0;color:#8a1f11}.aureus-payment-note{padding:1rem;border-radius:14px;background:#f8f4ef;border:1px solid rgba(153,102,51,.22);color:#1a1a2e}.aureus-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* -------------------------------------------------------------------------
 * Page Options System
 * ---------------------------------------------------------------------- */
.aureus-page-header {
  margin-bottom: 3rem;
}
.aureus-page-header--compact {
  margin-bottom: 1.75rem;
}
.aureus-page-header--compact .h1 {
  font-size: clamp(2.25rem, 5vw, 4.5rem);
}
.aureus-page-section--no-top {
  padding-top: 0 !important;
}
.aureus-page-section--no-bottom {
  padding-bottom: 0 !important;
}
.container-standard {
  max-width: 1180px;
  margin-inline: auto;
  padding-inline: var(--container-pad, 24px);
}
.container-wide {
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: var(--container-pad, 24px);
}
.container-full {
  width: 100%;
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}
.container-full > .aureus-breadcrumbs,
.container-full > article > .aureus-page-header,
.container-full > article > .entry-content > :not(.alignfull) {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-pad, 24px);
  padding-right: var(--container-pad, 24px);
}
.aureus-page-full-width .entry-content > .alignfull,
.aureus-content-width-full .entry-content > .alignfull {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}
.aureus-hide-page-title .page-header,
.aureus-hide-breadcrumbs .aureus-breadcrumbs,
.aureus-hide-featured-image .aureus-page-featured-image {
  display: none !important;
}
.aureus-hide-site-header .site-main {
  padding-top: 0;
}
.elementor-page.aureus-page-full-width .aureus-page-section,
.elementor-page.aureus-content-width-full .aureus-page-section {
  padding-left: 0;
  padding-right: 0;
}

/* Leadership directory */
.leadership-hero{background:linear-gradient(135deg,rgba(72,35,102,.06),rgba(153,102,51,.08));}
.leadership-hero__grid,.leader-profile-hero__grid,.leader-profile-body__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(2rem,5vw,5rem);align-items:center;}
.leadership-hero h1,.leader-profile-hero h1{font-family:var(--font-serif);font-size:clamp(3rem,8vw,6.5rem);line-height:.92;letter-spacing:-.05em;margin:.5rem 0 1.25rem;color:var(--ink);}
.leadership-hero p,.leader-profile-summary{font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.8;color:var(--ink-70);max-width:64ch;}
.leadership-hero__card,.leader-info-card{border:1px solid var(--ink-12);border-radius:24px;background:var(--paper);box-shadow:var(--shadow-soft);padding:clamp(1.25rem,3vw,2rem);}
.leadership-tools{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:1rem;align-items:center;margin-bottom:2rem;}
.leader-filter{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;}
.leader-filter a{display:inline-flex;align-items:center;border:1px solid var(--ink-12);border-radius:999px;padding:.7rem 1rem;text-decoration:none;color:var(--ink);font-weight:700;font-size:.82rem;background:var(--paper);}
.leader-filter a.is-active,.leader-filter a:hover{background:var(--mc-primary,#482366);color:#fff;border-color:transparent;}
.leadership-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.4vw,1.75rem);}
.leader-card{display:flex;flex-direction:column;min-height:100%;text-decoration:none;color:inherit;border:1px solid var(--ink-12);border-radius:28px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow-soft);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.leader-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium);border-color:rgba(72,35,102,.22);}
.leader-card__photo{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,rgba(72,35,102,.12),rgba(153,102,51,.16));overflow:hidden;margin:0;display:grid;place-items:center;}
.leader-card__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.leader-card:hover .leader-card__img{transform:scale(1.04);}
.leader-card__placeholder{width:92px;height:92px;border-radius:999px;display:grid;place-items:center;background:var(--mc-primary,#482366);color:#fff;font:700 3rem/1 var(--font-serif);}
.leader-card__body{padding:1.35rem;}
.leader-card__group{display:inline-flex;margin-bottom:.85rem;border-radius:999px;background:rgba(72,35,102,.08);color:var(--mc-primary,#482366);padding:.4rem .7rem;font:800 .72rem/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;}
.leader-card h3{font-family:var(--font-serif);font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.05;margin:0 0 .7rem;color:var(--ink);}
.leader-card__position{font-weight:800;color:var(--ink);margin:.2rem 0;}
.leader-card__dept{color:var(--ink-60);margin:.2rem 0 1rem;}
.leader-card__link{font-weight:800;color:var(--mc-primary,#482366);}
.leader-profile-hero{background:linear-gradient(135deg,rgba(72,35,102,.06),rgba(153,102,51,.09));}
.leader-profile-position{font-weight:800;font-size:1.25rem;color:var(--mc-primary,#482366);margin:0 0 1rem;}
.leader-profile-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;}
.leader-profile-photo{margin:0;border-radius:32px;overflow:hidden;aspect-ratio:4/5;background:linear-gradient(135deg,rgba(72,35,102,.12),rgba(153,102,51,.16));display:grid;place-items:center;box-shadow:var(--shadow-medium);}
.leader-profile-photo__img{width:100%;height:100%;object-fit:cover;display:block;}
.leader-profile-body__grid{align-items:start;grid-template-columns:minmax(0,1fr) minmax(280px,360px);}
.leader-profile-main{background:var(--paper);border:1px solid var(--ink-12);border-radius:28px;padding:clamp(1.4rem,3vw,2.5rem);box-shadow:var(--shadow-soft);}
.leader-profile-main h2,.leader-info-card h2{font-family:var(--font-serif);font-size:clamp(1.8rem,3vw,2.5rem);margin-top:0;color:var(--ink);}
.leader-research-list{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem;}
.leader-research-list span{border-radius:999px;background:rgba(72,35,102,.08);color:var(--mc-primary,#482366);font-weight:800;padding:.65rem .9rem;}
.leader-info-card{position:sticky;top:calc(var(--header-height,80px) + 1.5rem);}
.leader-info-card dl{display:grid;gap:1rem;margin:1rem 0 0;}
.leader-info-card dt{font-weight:800;color:var(--ink);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;}
.leader-info-card dd{margin:0;color:var(--ink-70);line-height:1.6;}
.leader-info-card a{color:var(--mc-primary,#482366);font-weight:800;text-decoration:none;}
.leader-social-links{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--ink-12);}
.leader-social-links a{border:1px solid var(--ink-12);border-radius:999px;padding:.6rem .8rem;background:rgba(72,35,102,.04);}
@media(max-width:960px){.leadership-hero__grid,.leader-profile-hero__grid,.leader-profile-body__grid,.leadership-tools{grid-template-columns:1fr}.leader-filter{justify-content:flex-start}.leadership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leader-info-card{position:static}}
@media(max-width:640px){.leadership-grid{grid-template-columns:1fr}.leader-card__photo{aspect-ratio:16/11}.leadership-hero h1,.leader-profile-hero h1{font-size:clamp(2.6rem,16vw,4.4rem)}}

/* v1.17 Navigation cleanup and active state */
.nav-main-list,
.nav-main ul,
.nav-main li,
.mobile-nav,
.mobile-nav li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mobile-nav {
  display: block;
}
.nav-main .current-menu-item > a,
.nav-main .current_page_item > a,
.nav-main .current-menu-ancestor > a,
.nav-main .current_page_ancestor > a,
.mobile-nav .current-menu-item > a,
.mobile-nav .current_page_item > a {
  background: rgba(72, 35, 102, 0.12);
  color: var(--mc-purple);
  font-weight: 700;
}
.nav-main .current-menu-item > a::after,
.nav-main .current_page_item > a::after,
.nav-main .current-menu-ancestor > a::after,
.nav-main .current_page_ancestor > a::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 5px;
  height: 2px;
  border-radius: 999px;
  background: var(--brass);
}

/* v1.17 Gallery albums */
.life-tile { color: inherit; text-decoration: none; }
.life-tile:focus-visible { outline: 3px solid var(--brass); outline-offset: 4px; }
.gallery-archive-grid .life-tile { min-height: 320px; }
.aureus-album-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 18px;
  margin-top: 32px;
}
.aureus-album-image {
  display: block;
  border-radius: 24px;
  overflow: hidden;
  background: var(--ink-04);
  box-shadow: 0 18px 45px rgba(17, 15, 31, 0.08);
}
.aureus-album-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .35s var(--ease);
}
.aureus-album-image:hover img { transform: scale(1.04); }

/* -------------------------------------------------------------------------
 * v1.18 Shared standard page hero
 * ---------------------------------------------------------------------- */
.aureus-standard-hero .breadcrumbs,
.programme-archive-hero .breadcrumbs {
  color: rgba(255,255,255,.72);
  margin-bottom: 1.15rem;
}
.aureus-standard-hero .breadcrumbs a,
.programme-archive-hero .breadcrumbs a {
  color: rgba(255,255,255,.92);
}
.aureus-standard-hero .breadcrumbs li + li::before,
.programme-archive-hero .breadcrumbs li + li::before {
  color: rgba(255,255,255,.45);
}
.aureus-standard-hero--compact {
  padding: clamp(58px, 7vw, 96px) 0;
}
.aureus-standard-hero__card a {
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.45);
}
.aureus-standard-hero__card a:hover {
  color: var(--brass-light, #c89b5c);
  border-color: currentColor;
}
.aureus-page-section .entry-content {
  position: relative;
  z-index: 1;
}
@media (max-width: 720px) {
  .aureus-standard-hero .programme-archive-card {
    padding: 20px;
  }
}


/* Homepage editable content region */
.aureus-home-editable{padding:clamp(2.5rem,5vw,5rem) 0;background:var(--mc-bg,#f6f7fb);}
.aureus-home-editable .container{max-width:1180px;margin-inline:auto;padding-inline:clamp(1rem,3vw,2rem);}
.aureus-home-editable :where(.elementor,.wp-block-group,.wp-block-cover){margin-block:0;}
.aureus-home-editable > .container > *:first-child{margin-top:0;}
.aureus-home-editable > .container > *:last-child{margin-bottom:0;}

/* ============================================================
   Leadership v1.21 — additional polish over the v1.20 base
   ============================================================ */

/* Filter button row inside the leadership-tools strip */
.leader-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.leader-filter button {
  appearance: none;
  background: transparent;
  border: 1px solid var(--ink-12, rgba(0, 0, 0, 0.12));
  color: var(--ink, #1a1a2e);
  border-radius: 999px;
  padding: 8px 16px;
  font: 600 0.78rem/1 var(--font-sans, system-ui);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.leader-filter button:hover { border-color: var(--mc-primary, #482366); }
.leader-filter button.is-active {
  background: var(--mc-primary, #482366);
  color: #fff;
  border-color: var(--mc-primary, #482366);
}

/* Single-leader meta dl (Appointed / Education) */
.leader-profile-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 20px;
  margin: 28px 0 0;
  padding: 22px 0 0;
  border-top: 1px solid var(--ink-12, rgba(0, 0, 0, 0.08));
}
.leader-profile-meta > div { margin: 0; }
.leader-profile-meta dt {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--ink-60, #777);
  margin-bottom: 6px;
}
.leader-profile-meta dd {
  margin: 0;
  font-size: 0.95rem;
  color: var(--ink, #1a1a2e);
}

/* Real social-icon strip (replaces text labels) */
.leader-social-links {
  display: flex;
  gap: 8px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--ink-12, rgba(0, 0, 0, 0.08));
}
.leader-social-links a {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(72, 35, 102, 0.06);
  color: var(--mc-primary, #482366);
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.leader-social-links a:hover {
  background: var(--mc-primary, #482366);
  color: #fff;
  transform: translateY(-1px);
}
.leader-social-links svg { width: 18px; height: 18px; }

/* Single-leader photo placeholder */
.leader-profile-photo__placeholder {
  width: 100%;
  aspect-ratio: 4/5;
  border-radius: 24px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(72, 35, 102, 0.12), rgba(153, 102, 51, 0.16));
  font: 700 6rem/1 var(--font-serif, 'Playfair Display', serif);
  color: rgba(72, 35, 102, 0.42);
}

/* Related leaders block */
.leader-profile-related {
  background: var(--paper-soft, #fafaf7);
  border-top: 1px solid var(--ink-12, rgba(0, 0, 0, 0.08));
}
.leader-profile-related__head {
  margin-bottom: 32px;
}
.leader-profile-related__head h2 {
  font-family: var(--font-serif, 'Playfair Display', serif);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  margin: 8px 0 0;
  line-height: 1.15;
}
.leadership-grid--related {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 960px) { .leadership-grid--related { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .leadership-grid--related { grid-template-columns: 1fr; } }

/* Admin metabox sectioning for the leader form */
.aureus-leader-admin-section {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #6b4d92;
  margin: 18px 0 6px;
  padding-top: 10px;
  border-top: 1px solid #e6e6ea;
}
.aureus-leader-admin-section:first-of-type { border-top: 0; padding-top: 0; }

/* ============================================================
   data-theme="auto" coverage — when Customizer is set to "Follow
   system", let the OS preference pick the variant. The pre-paint
   bootstrap script in header.php will swap "auto" → "dark"/"light"
   for the JS-enabled path; this block keeps the no-JS path correct.
   ============================================================ */
@media (prefers-color-scheme: dark) {
  [data-theme="auto"] .leadership-archive,
  [data-theme="auto"] .leadership-grid,
  [data-theme="auto"] .leader-single,
  [data-theme="auto"] .leader-profile-related,
  [data-theme="auto"] .programmes-showcase,
  [data-theme="auto"] .admissions-pathway,
  [data-theme="auto"] .programme-directory { background: #111322; color: #e7e9f0; }

  [data-theme="auto"] .leader-card,
  [data-theme="auto"] .leader-info-card,
  [data-theme="auto"] .programme-card,
  [data-theme="auto"] .admissions-step,
  [data-theme="auto"] .programme-tools { background: #191c2e; border-color: rgba(255,255,255,0.1); box-shadow: none; }

  [data-theme="auto"] .leader-card h3,
  [data-theme="auto"] .programme-card h2,
  [data-theme="auto"] .programme-card h3,
  [data-theme="auto"] .admissions-step h3 { color: #fff; }

  [data-theme="auto"] .leader-card__dept,
  [data-theme="auto"] .programme-card p,
  [data-theme="auto"] .admissions-step p { color: #cbd5e1; }

  [data-theme="auto"] .leader-card__group { background: rgba(245, 217, 154, 0.12); color: #f5d99a; }

  [data-theme="auto"] .leader-social-links a { background: rgba(255,255,255,0.08); color: #f5d99a; }
  [data-theme="auto"] .leader-social-links a:hover { background: var(--mc-primary, #482366); color: #fff; }

  [data-theme="auto"] .programme-search input,
  [data-theme="auto"] .programme-filter button,
  [data-theme="auto"] .leader-filter button { background: #111322; color: #fff; border-color: rgba(255,255,255,0.14); }
  [data-theme="auto"] .programme-filter button.is-active,
  [data-theme="auto"] .leader-filter button.is-active { background: #996633; border-color: #996633; }
}

/* ============================================================
   Print stylesheet for leader profiles — institutional comms often
   need print-ready bios. Strip nav chrome, force light, keep the
   article + aside details inline.
   ============================================================ */
@media print {
  .announce, .site-header, .mobile-drawer, .theme-toggle,
  .site-footer, .leader-profile-actions, .leader-profile-related,
  .breadcrumbs, .skip-link { display: none !important; }
  .leader-single { background: #fff !important; color: #000 !important; }
  .leader-profile-hero, .leader-profile-body { padding: 12pt 0 !important; }
  .leader-profile-hero__grid,
  .leader-profile-body__grid { display: block !important; }
  .leader-profile-photo { max-width: 200px; margin: 0 auto 18pt; }
  .leader-info-card { border: 1px solid #ccc; box-shadow: none !important; page-break-inside: avoid; }
  a { color: #000 !important; text-decoration: underline; }
  a[href^="mailto:"]::after,
  a[href^="tel:"]::after { content: ""; }
}

/* ============================================================
   Mega Menu (v1.23) — opt-in per top-level menu item.
   Items without _aureus_menu_mega_enabled fall through to the
   normal dropdown styles already defined elsewhere in this file.
   ============================================================ */

.nav-main .menu-item--mega {
  position: static; /* lets the absolute mega-panel span the viewport width */
}

.nav-main .menu-item--mega > a {
  position: relative;
}
.nav-main .menu-item--mega > a::after {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: 6px;
  vertical-align: middle;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 0.2s ease;
}
.nav-main .menu-item--mega.is-open > a::after,
.nav-main .menu-item--mega > a[aria-expanded="true"]::after {
  transform: translateY(1px) rotate(225deg);
}

/* Mega panel — full-width dropdown */
.nav-main .mega-panel {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 50;
  background: var(--paper, #fff);
  border-top: 1px solid var(--ink-12, rgba(0, 0, 0, 0.08));
  border-bottom: 1px solid var(--ink-12, rgba(0, 0, 0, 0.08));
  box-shadow: 0 24px 48px -16px rgba(46, 22, 66, 0.18);
  padding: 32px 0 28px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
}
.nav-main .menu-item--mega.is-open > .mega-panel,
.nav-main .menu-item--mega:hover > .mega-panel,
.nav-main .menu-item--mega:focus-within > .mega-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0s;
}
.nav-main .mega-panel__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 48px;
  align-items: start;
}
.nav-main .menu-item--mega .mega-panel__feature ~ * { /* no-op anchor */ }

/* Column grid — drives by class added by the walker (cols-2/3/4) */
.nav-main .mega-panel__columns {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 32px;
}
.nav-main .menu-item--mega-cols-2 .mega-panel__columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nav-main .menu-item--mega-cols-4 .mega-panel__columns { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Children inside the mega panel — flat list of links */
.nav-main .mega-panel__columns > li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-main .mega-panel__columns > li > a {
  display: block;
  padding: 10px 12px;
  margin-left: -12px;
  border-radius: 8px;
  color: var(--ink, #1a1a2e);
  font-weight: 500;
  font-size: 0.95rem;
  line-height: 1.4;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.nav-main .mega-panel__columns > li > a:hover,
.nav-main .mega-panel__columns > li > a:focus-visible {
  background: var(--ink-08, rgba(72, 35, 102, 0.08));
  color: var(--mc-purple, #482366);
  outline: none;
}

/* Column heading — sits above the link it's attached to */
.nav-main .mega-panel__columns .mega-column__heading {
  font-family: var(--display, 'Playfair Display', serif);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ink-60, #777);
  margin: 18px 0 6px 0;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--ink-12, rgba(0, 0, 0, 0.08));
}
.nav-main .mega-panel__columns .menu-item--column-start:first-child .mega-column__heading,
.nav-main .mega-panel__columns > li:first-child .mega-column__heading {
  margin-top: 0;
}

/* Feature card */
.nav-main .mega-panel__feature {
  background: var(--cream, #f6f7fb);
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.nav-main .mega-panel__feature-figure {
  margin: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--cream-soft, #f0ecf5);
}
.nav-main .mega-panel__feature-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.nav-main .mega-panel__feature-body {
  padding: 18px 20px 20px;
}
.nav-main .mega-panel__feature-title {
  font-family: var(--display, 'Playfair Display', serif);
  font-size: 1.1rem;
  line-height: 1.25;
  margin: 0 0 6px;
  color: var(--ink, #1a1a2e);
}
.nav-main .mega-panel__feature-text {
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--ink-60, #555);
  margin: 0 0 14px;
}
.nav-main .mega-panel__feature-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
  padding: 8px 14px;
}

/* Bottom strip CTA */
.nav-main .mega-panel__footer {
  grid-column: 1 / -1;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--ink-12, rgba(0, 0, 0, 0.08));
  text-align: right;
}
.nav-main .mega-panel__footer-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  font-size: 0.88rem;
  color: var(--mc-purple, #482366);
  text-decoration: none;
}
.nav-main .mega-panel__footer-cta:hover { text-decoration: underline; }

/* Mobile drawer adaptation — accordion with stacked columns */
@media (max-width: 960px) {
  .nav-main .menu-item--mega { position: relative; }
  .nav-main .mega-panel {
    position: static;
    box-shadow: none;
    border: 0;
    padding: 0 0 0 16px;
    background: transparent;
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: none;
    max-height: 0;
    overflow: hidden;
  }
  .nav-main .menu-item--mega.is-open > .mega-panel { max-height: none; padding: 8px 0 16px 16px; }
  .nav-main .mega-panel__inner {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 0;
  }
  .nav-main .mega-panel__columns,
  .nav-main .menu-item--mega-cols-2 .mega-panel__columns,
  .nav-main .menu-item--mega-cols-4 .mega-panel__columns {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .nav-main .mega-panel__feature { display: none; } /* keep mobile drawer concise */
  .nav-main .mega-panel__footer { text-align: left; padding-top: 8px; }
}

/* Same dropdown markup is also rendered inside the mobile drawer.
   The drawer's own scope (.mobile-drawer) needs equivalent rules. */
.mobile-drawer .menu-item--mega > a::after {
  content: '+';
  font-weight: 400;
  border: 0;
  width: auto;
  height: auto;
  transform: none;
  margin-left: 8px;
  display: inline-block;
}
.mobile-drawer .menu-item--mega.is-open > a::after { content: '−'; }
.mobile-drawer .mega-panel {
  display: none;
  padding-left: 16px;
}
.mobile-drawer .menu-item--mega.is-open > .mega-panel { display: block; }
.mobile-drawer .mega-panel__inner { display: block; }
.mobile-drawer .mega-panel__columns {
  display: block;
  margin: 0;
  padding: 0;
}
.mobile-drawer .mega-panel__columns .mega-column__heading {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-60, #777);
  margin: 12px 0 4px;
}
.mobile-drawer .mega-panel__columns > li > a { padding: 8px 0; font-size: 0.95rem; }
.mobile-drawer .mega-panel__feature { display: none; }
.mobile-drawer .mega-panel__footer { padding-top: 8px; border-top: 1px solid var(--ink-12); }
.mobile-drawer .mega-panel__footer-cta { font-size: 0.85rem; }

/* Dark mode coverage */
[data-theme="dark"] .nav-main .mega-panel {
  background: #191c2e;
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 24px 48px -16px rgba(0, 0, 0, 0.5);
}
[data-theme="dark"] .nav-main .mega-panel__columns > li > a { color: #e7e9f0; }
[data-theme="dark"] .nav-main .mega-panel__columns > li > a:hover,
[data-theme="dark"] .nav-main .mega-panel__columns > li > a:focus-visible {
  background: rgba(255, 255, 255, 0.06);
  color: #f5d99a;
}
[data-theme="dark"] .nav-main .mega-panel__columns .mega-column__heading {
  color: #a0a8b8;
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
[data-theme="dark"] .nav-main .mega-panel__feature { background: #111322; }
[data-theme="dark"] .nav-main .mega-panel__feature-title { color: #fff; }
[data-theme="dark"] .nav-main .mega-panel__feature-text { color: #cbd5e1; }
[data-theme="dark"] .nav-main .mega-panel__footer { border-top-color: rgba(255, 255, 255, 0.1); }
[data-theme="dark"] .nav-main .mega-panel__footer-cta { color: #f5d99a; }

@media (prefers-color-scheme: dark) {
  [data-theme="auto"] .nav-main .mega-panel {
    background: #191c2e;
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 24px 48px -16px rgba(0, 0, 0, 0.5);
  }
  [data-theme="auto"] .nav-main .mega-panel__columns > li > a { color: #e7e9f0; }
  [data-theme="auto"] .nav-main .mega-panel__columns > li > a:hover,
  [data-theme="auto"] .nav-main .mega-panel__columns > li > a:focus-visible {
    background: rgba(255, 255, 255, 0.06);
    color: #f5d99a;
  }
  [data-theme="auto"] .nav-main .mega-panel__columns .mega-column__heading { color: #a0a8b8; border-bottom-color: rgba(255, 255, 255, 0.1); }
  [data-theme="auto"] .nav-main .mega-panel__feature { background: #111322; }
  [data-theme="auto"] .nav-main .mega-panel__feature-title { color: #fff; }
  [data-theme="auto"] .nav-main .mega-panel__feature-text { color: #cbd5e1; }
  [data-theme="auto"] .nav-main .mega-panel__footer { border-top-color: rgba(255, 255, 255, 0.1); }
  [data-theme="auto"] .nav-main .mega-panel__footer-cta { color: #f5d99a; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .nav-main .mega-panel,
  .nav-main .menu-item--mega > a::after { transition: none; }
}

/* v1.25 Homepage refinement: balanced hero, searchable header, editable ticker */
.hero-swiper-section .hero-title,
.hero-head .display.hero-title {
  font-size: clamp(3.2rem, 6vw, 6.5rem);
  line-height: .95;
  letter-spacing: -0.04em;
}
@media (max-width: 600px) {
  .hero-swiper-section .hero-title,
  .hero-head .display.hero-title {
    font-size: clamp(2.6rem, 12vw, 4.25rem);
  }
}
.aureus-search-panel {
  position: fixed;
  inset: 0;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .24s var(--ease-soft), visibility .24s var(--ease-soft);
}
.aureus-search-panel.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.aureus-search-panel__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(18, 9, 26, .55);
  backdrop-filter: blur(10px);
}
.aureus-search-panel__dialog {
  position: relative;
  width: min(720px, calc(100% - 32px));
  margin: clamp(70px, 12vh, 130px) auto 0;
  padding: clamp(24px, 4vw, 42px);
  border-radius: var(--r-xl);
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 35px 90px -40px rgba(18, 9, 26, .55);
  border: 1px solid var(--ink-12);
}
.aureus-search-panel__dialog h2 {
  font-family: var(--display);
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1;
  margin-bottom: 10px;
}
.aureus-search-panel__dialog p {
  color: var(--ink-60);
  margin-bottom: 22px;
}
.aureus-search-panel__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--ink-08);
  color: var(--ink);
  font-size: 28px;
  line-height: 1;
}
.aureus-global-search {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-radius: var(--r-lg);
  background: var(--cream);
  border: 1px solid var(--ink-12);
}
.aureus-global-search input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 13px 10px;
  outline: none;
  color: var(--ink);
}
.aureus-global-search button {
  padding: 13px 22px;
  border-radius: var(--r-md);
  background: var(--mc-purple);
  color: #fff;
  font-weight: 700;
}
.search-panel-open { overflow: hidden; }
@media (max-width: 600px) {
  .aureus-global-search { flex-direction: column; align-items: stretch; }
  .aureus-global-search button { width: 100%; }
}

/* v1.26 Bricks / builder compatibility layer */
.aureus-builder-canvas {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.aureus-builder-canvas > .container,
.aureus-builder-canvas .container-full {
    max-width: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}
.aureus-builder-canvas article,
.aureus-builder-content {
    width: 100%;
    max-width: none;
    margin: 0;
}
.aureus-builder-content > *:first-child {
    margin-top: 0;
}
.aureus-builder-content > *:last-child {
    margin-bottom: 0;
}
.aureus-bricks-mode .entry-content,
.aureus-bricks-mode .entry-content :where(.brxe-section, .brxe-container, .bricks-site-wrapper),
.aureus-builder-content :where(.brxe-section, .brxe-container, .bricks-site-wrapper) {
    max-width: none;
}
.aureus-bricks-mode .entry-content :where(.brxe-section, .brxe-container) {
    box-sizing: border-box;
}
.aureus-bricks-mode .aureus-page-section,
.aureus-bricks-mode .aureus-home-editable {
    background: transparent;
}
/* Imported demo pages already have a standard theme page hero; hide the older inner intro to avoid duplicate headers. */
body:not(.aureus-hide-page-title) .entry-content .aureus-import-hero {
    display: none;
}


/* v2.0.3 hero visibility hardening: show first slide if Swiper JS fails, hide inactive slides only after init. */
.aureus-hero-swiper:not(.swiper-initialized) .swiper-slide{opacity:1!important;}
.aureus-hero-swiper:not(.swiper-initialized) .swiper-slide:not(:first-child){display:none!important;}
.aureus-hero-swiper.swiper-initialized .swiper-slide{opacity:0!important;}
.aureus-hero-swiper.swiper-initialized .swiper-slide.swiper-slide-active{opacity:1!important;}

/* ============================================================
   Ticker — clickable items (v2.0.5)
   When an item has a URL set, it renders as <a class="ticker-item">.
   These rules carry the same look as the <span> form but add a
   subtle hover/focus underline so users know it's interactive.
   ============================================================ */
a.ticker-item {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.18s ease;
}
a.ticker-item:hover,
a.ticker-item:focus-visible {
  opacity: 0.85;
  outline: none;
}
a.ticker-item:hover .tag,
a.ticker-item:focus-visible .tag {
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* ============================================================
   Faculty / Staff Directory — v2.2.0
   Mirrors the leadership card/grid system; the single-faculty
   profile reuses .leader-profile-* classes directly so contact
   cards, hero photo, related-blocks and meta rows feel
   consistent between the two profile types.
   ============================================================ */

/* Hero (archive + dept term archive) reuses .leadership-hero. The
   faculty-specific wrapper is here purely as a hook for any future
   per-section override. */
.faculty-hero { background: linear-gradient(135deg, rgba(72, 35, 102, .06), rgba(153, 102, 51, .08)); }

/* Search + department filter strip on the directory page. */
.faculty-tools {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 1rem;
  align-items: center;
  margin-bottom: 2rem;
}
.faculty-filter {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  justify-content: flex-end;
}
.faculty-filter button {
  border: 1px solid var(--ink-12);
  border-radius: 999px;
  padding: .7rem 1rem;
  background: var(--paper);
  color: var(--ink);
  font: 700 .82rem/1 var(--font-sans);
  letter-spacing: .02em;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.faculty-filter button:hover { border-color: var(--mc-primary, #482366); }
.faculty-filter button.is-active {
  background: var(--mc-primary, #482366);
  color: #fff;
  border-color: transparent;
}

/* Grid + card. */
.faculty-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.4vw, 1.75rem);
}
.faculty-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--ink-12);
  border-radius: 28px;
  overflow: hidden;
  background: var(--paper);
  box-shadow: var(--shadow-soft);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.faculty-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-medium);
  border-color: rgba(72, 35, 102, .22);
}
.faculty-card__photo {
  position: relative;
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, rgba(72, 35, 102, .12), rgba(153, 102, 51, .16));
  overflow: hidden;
  margin: 0;
  display: grid;
  place-items: center;
}
.faculty-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}
.faculty-card:hover .faculty-card__img { transform: scale(1.04); }
.faculty-card__placeholder {
  width: 92px;
  height: 92px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--mc-primary, #482366);
  color: #fff;
  font: 700 3rem/1 var(--font-serif);
}
.faculty-card__body { padding: 1.35rem; }
.faculty-card__dept {
  display: inline-flex;
  margin-bottom: .85rem;
  border-radius: 999px;
  background: rgba(72, 35, 102, .08);
  color: var(--mc-primary, #482366);
  padding: .4rem .7rem;
  font: 800 .72rem/1 var(--font-sans);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.faculty-card h3 {
  font-family: var(--font-serif);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  line-height: 1.05;
  margin: 0 0 .7rem;
  color: var(--ink);
}
.faculty-card__position {
  font-weight: 800;
  color: var(--ink);
  margin: .2rem 0;
}
.faculty-card__research {
  color: var(--ink-60);
  margin: .2rem 0 1rem;
  font-size: .92rem;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.faculty-card__link {
  font-weight: 800;
  color: var(--mc-primary, #482366);
}

/* Empty + "no match" state on the directory. */
.faculty-empty {
  grid-column: 1 / -1;
  padding: 2rem;
  text-align: center;
  color: var(--ink-60);
  border: 1px dashed var(--ink-12);
  border-radius: 20px;
  background: rgba(72, 35, 102, .03);
}

/* Education list on the single profile. */
.faculty-education-list {
  margin: 1rem 0 1.5rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .5rem;
}
.faculty-education-list li {
  position: relative;
  padding-left: 1.4rem;
  color: var(--ink-70);
  line-height: 1.55;
}
.faculty-education-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .65em;
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  background: var(--mc-gold, #BC9B6A);
}

/* Related faculty grid spacing matches the related-leaders block. */
.faculty-grid--related { margin-top: 1.5rem; }

/* Responsive — same breakpoints as the leadership grid. */
@media (max-width: 960px) {
  .faculty-tools { grid-template-columns: 1fr; }
  .faculty-filter { justify-content: flex-start; }
  .faculty-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .faculty-grid--related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .faculty-grid,
  .faculty-grid--related { grid-template-columns: 1fr; }
  .faculty-card__photo { aspect-ratio: 16 / 11; }
}

/* Admin-side faculty metabox panel hook (keeps room for future
   admin-only tweaks; the structural rules live on the shared
   .aureus-program-admin-* classes already styled in style.css and
   the admin-inline CSS in functions.php). */
.aureus-faculty-admin-section {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #2c2c54;
  margin: 18px 0 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e0d8eb;
}

/* ============================================================
   Academic Calendar — v2.3.0
   Single event page, month-grid archive, list view, term archive.
   The hero reuses .leadership-hero, the list reuses card-style
   patterns so the calendar feels native to the rest of the theme.
   ============================================================ */

/* Single event page */
.event-hero {
  position: relative;
  padding: clamp(2rem, 5vw, 4rem) 0;
  overflow: hidden;
}
.event-hero.is-past .event-hero__img { filter: grayscale(.8) opacity(.5); }
.event-hero__media {
  position: relative;
  margin-bottom: 1.5rem;
}
.event-hero__img {
  width: 100%;
  max-height: 480px;
  object-fit: cover;
  border-radius: 28px;
  display: block;
}
.event-hero__content { position: relative; }
.event-hero__date {
  font-family: var(--font-serif);
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  color: var(--ink);
  margin: .5rem 0 0;
}
.event-hero__notice {
  display: inline-block;
  margin-top: 1rem;
  padding: .55rem 1rem;
  background: rgba(0, 0, 0, .08);
  color: var(--ink-60);
  border-radius: 999px;
  font-weight: 700;
  font-size: .85rem;
}

.event-body__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: clamp(1.5rem, 4vw, 3rem);
}
.event-body__main { line-height: 1.7; font-size: 1.05rem; }
.event-body__aside { display: grid; gap: 1.5rem; align-content: start; }

.event-info-card {
  background: var(--paper);
  border: 1px solid var(--ink-12);
  border-radius: 24px;
  padding: 1.5rem;
  box-shadow: var(--shadow-soft);
}
.event-info-card h2 {
  font-family: var(--font-serif);
  font-size: 1.4rem;
  margin: 0 0 1rem;
}
.event-info-card dl { display: grid; grid-template-columns: max-content 1fr; column-gap: 1rem; row-gap: .5rem; margin: 0 0 1.25rem; }
.event-info-card dt { font-weight: 800; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-60); padding-top: .15em; }
.event-info-card dd { margin: 0; color: var(--ink); }
.event-info-card dd a { color: var(--mc-primary, #482366); }

.event-rsvp-btn { display: block; text-align: center; width: 100%; margin-bottom: .75rem; }

.event-add-to-calendar { position: relative; }
.event-add-to-calendar__toggle { display: block; width: 100%; text-align: center; }
.event-add-to-calendar__menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  list-style: none;
  margin: 0;
  padding: .35rem;
  background: var(--paper);
  border: 1px solid var(--ink-12);
  border-radius: 14px;
  box-shadow: var(--shadow-medium);
  z-index: 20;
}
.event-add-to-calendar__menu li { margin: 0; }
.event-add-to-calendar__menu a {
  display: block;
  padding: .6rem .85rem;
  border-radius: 10px;
  color: var(--ink);
  text-decoration: none;
  font-weight: 600;
}
.event-add-to-calendar__menu a:hover,
.event-add-to-calendar__menu a:focus-visible {
  background: rgba(72, 35, 102, .07);
  color: var(--mc-primary, #482366);
}
.event-add-to-calendar__menu[hidden] { display: none; }

.event-series-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.event-series-list a {
  display: grid;
  gap: .15rem;
  padding: .75rem .9rem;
  background: rgba(72, 35, 102, .04);
  border-radius: 12px;
  color: var(--ink);
  text-decoration: none;
}
.event-series-list a:hover { background: rgba(72, 35, 102, .09); }
.event-series-list strong { display: block; font-family: var(--font-serif); font-size: 1.05rem; }
.event-series-list span { font-size: .85rem; color: var(--ink-60); }

/* Archive — calendar */
.event-archive-hero { background: linear-gradient(135deg, rgba(72, 35, 102, .06), rgba(188, 155, 106, .12)); }

.event-calendar__toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}
.event-calendar__nav { display: flex; align-items: center; gap: .5rem; }
.event-calendar__nav .btn-secondary { padding: .55rem .9rem; min-width: 0; }
.event-calendar__title {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  margin: 0 .5rem;
}
.event-calendar__today {
  background: none;
  border: 1px solid var(--ink-12);
  border-radius: 999px;
  padding: .5rem .9rem;
  font-weight: 700;
  font-size: .85rem;
  color: var(--ink);
  text-decoration: none;
  margin-left: .35rem;
}
.event-calendar__today:hover { background: rgba(72, 35, 102, .07); }

.event-calendar__view-toggle { display: flex; border: 1px solid var(--ink-12); border-radius: 999px; padding: 4px; }
.event-calendar__view-toggle a {
  padding: .45rem .95rem;
  font-weight: 700;
  font-size: .82rem;
  text-decoration: none;
  color: var(--ink);
  border-radius: 999px;
  transition: background .18s ease, color .18s ease;
}
.event-calendar__view-toggle a.is-active {
  background: var(--mc-primary, #482366);
  color: #fff;
}

.event-calendar__filter {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1.5rem;
}
.event-calendar__filter a {
  border: 1px solid var(--ink-12);
  border-radius: 999px;
  padding: .55rem .9rem;
  background: var(--paper);
  color: var(--ink);
  text-decoration: none;
  font: 700 .82rem/1 var(--font-sans);
  letter-spacing: .02em;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.event-calendar__filter a:hover { border-color: var(--mc-primary, #482366); }
.event-calendar__filter a.is-active {
  background: var(--mc-primary, #482366);
  color: #fff;
  border-color: transparent;
}

/* Month grid */
.event-calendar__grid {
  border: 1px solid var(--ink-12);
  border-radius: 20px;
  overflow: hidden;
  background: var(--paper);
}
.event-calendar__weekdays,
.event-calendar__week {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.event-calendar__weekdays {
  background: rgba(72, 35, 102, .06);
  border-bottom: 1px solid var(--ink-12);
}
.event-calendar__weekday {
  padding: .65rem .5rem;
  font: 800 .72rem/1 var(--font-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-60);
  text-align: center;
}
.event-calendar__week + .event-calendar__week { border-top: 1px solid var(--ink-12); }
.event-calendar__cell {
  min-height: 110px;
  padding: .5rem;
  position: relative;
  border-right: 1px solid var(--ink-12);
  background: var(--paper);
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.event-calendar__cell:last-child { border-right: none; }
.event-calendar__cell--empty { background: rgba(0, 0, 0, .015); }
.event-calendar__cell.is-today { background: rgba(188, 155, 106, .12); }
.event-calendar__cell.has-events .event-calendar__day-num { color: var(--mc-primary, #482366); font-weight: 800; }
.event-calendar__day-num {
  font: 700 .92rem/1 var(--font-sans);
  color: var(--ink);
  align-self: flex-start;
}
.event-calendar__events {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .2rem;
  overflow: hidden;
}
.event-calendar__events li { line-height: 1.15; }
.event-calendar__events a {
  display: block;
  padding: .25rem .45rem;
  border-radius: 6px;
  font-size: .78rem;
  color: #fff;
  background: var(--mc-primary, #482366);
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.event-calendar__events a:hover { background: var(--mc-primary-dark, #2e1642); }

/* List view (mobile-first; also used on desktop list toggle) */
.event-calendar__list { display: grid; gap: 1.25rem; }
.event-calendar__list-day {
  background: var(--paper);
  border: 1px solid var(--ink-12);
  border-radius: 16px;
  padding: 1rem 1.25rem;
}
.event-calendar__list-day h3 {
  font-family: var(--font-serif);
  font-size: 1.2rem;
  margin: 0 0 .65rem;
  color: var(--mc-primary, #482366);
}
.event-calendar__list-day ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.event-calendar__list-day li { margin: 0; }
.event-calendar__list-day a {
  display: grid;
  gap: .15rem;
  padding: .65rem .85rem;
  background: rgba(72, 35, 102, .04);
  border-radius: 10px;
  color: var(--ink);
  text-decoration: none;
}
.event-calendar__list-day a:hover { background: rgba(72, 35, 102, .09); }
.event-calendar__list-day strong { font-family: var(--font-serif); font-size: 1.02rem; }
.event-calendar__list-day span { color: var(--ink-60); font-size: .85rem; }

.event-calendar__empty {
  padding: 2rem;
  text-align: center;
  color: var(--ink-60);
  border: 1px dashed var(--ink-12);
  border-radius: 16px;
}

/* Responsive */
@media (max-width: 960px) {
  .event-body__grid { grid-template-columns: 1fr; }
  /* Below 960px the grid view becomes hard to read on phones — collapse
     the calendar grid to its day-num + dot indicator. The list-view URL
     (?view=list) gives the same content as a tappable list. */
  .event-calendar__grid .event-calendar__cell {
    min-height: 56px;
    padding: .35rem .35rem .4rem;
  }
  .event-calendar__grid .event-calendar__events { display: none; }
  .event-calendar__grid .event-calendar__cell.has-events::after {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--mc-primary, #482366);
    align-self: center;
    margin-top: auto;
  }
  .event-calendar__weekday { font-size: .65rem; padding: .55rem .2rem; }
}
@media (max-width: 640px) {
  .event-calendar__toolbar { gap: .65rem; }
  .event-calendar__nav .btn-secondary { padding: .45rem .7rem; }
  .event-calendar__title { font-size: 1.3rem; margin: 0; }
}


/* ============================================================
   Production QA pass — accessibility and motion preferences
   ============================================================ */
:focus-visible {
  outline: 3px solid var(--brass-light);
  outline-offset: 3px;
}
.skip-link.screen-reader-text:focus,
.skip-link.screen-reader-text:focus-visible {
  clip: auto !important;
  clip-path: none !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  white-space: normal !important;
  left: 12px !important;
  top: 12px !important;
  z-index: 100000;
  background: var(--ink);
  color: var(--cream);
  padding: .8rem 1rem;
  border-radius: var(--r-sm);
  box-shadow: 0 12px 32px rgba(0,0,0,.18);
}
.mobile-drawer[aria-hidden="true"],
.aureus-search-panel[aria-hidden="true"] {
  pointer-events: none;
}
.mobile-drawer[aria-hidden="false"],
.aureus-search-panel[aria-hidden="false"] {
  pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
@media print {
  .announce, .site-header, .mobile-drawer, .aureus-search-panel, .site-footer, .btn, .header-apply, .menu-toggle, .icon-btn {
    display: none !important;
  }
  body {
    background: #fff !important;
    color: #000 !important;
  }
  a[href]::after {
    content: " (" attr(href) ")";
    font-size: 90%;
  }
}

/* ============================================================
   Aureus v2.5.4 — Mobile view refinement pass
   Fixes mobile header, drawer, overflow, tap targets and narrow layouts.
   ============================================================ */
@media (max-width: 960px) {
  html.aureus-menu-open,
  body.aureus-menu-open {
    overflow: hidden !important;
    touch-action: none;
  }

  .announce {
    font-size: 12px;
    line-height: 1.35;
  }
  .announce .container {
    min-height: 34px;
    justify-content: center;
    text-align: center;
  }
  .announce-left {
    gap: 8px;
    justify-content: center;
  }

  .site-header {
    z-index: 10020;
    background: rgba(255,255,255,.96);
    -webkit-backdrop-filter: saturate(180%) blur(18px);
    backdrop-filter: saturate(180%) blur(18px);
    border-bottom-color: rgba(31,25,31,.08);
  }
  [data-theme="dark"] .site-header,
  [data-theme="dark"] .site-header.is-scrolled {
    background: rgba(18,9,26,.96);
    border-bottom-color: rgba(255,255,255,.10);
  }
  .nav-row {
    min-height: 72px;
    padding: 10px 0;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .site-header .brand {
    overflow: hidden;
    max-width: 100%;
  }
  .site-header .brand > a,
  .site-header .brand .custom-logo-link {
    min-width: 0;
  }
  .site-header .brand span:not(.brand-mark):not(.brand-sub) {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .custom-logo {
    max-width: min(62vw, 230px);
    max-height: 50px;
  }
  .brand-sub {
    max-width: 58vw;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .nav-actions {
    gap: 8px;
  }
  .menu-toggle {
    display: inline-grid !important;
    place-items: center;
    width: 46px;
    height: 46px;
    background: var(--ink-06);
    border: 1px solid var(--ink-08);
    flex: 0 0 auto;
  }
  [data-theme="dark"] .menu-toggle {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.12);
  }
  .menu-toggle span {
    left: 12px;
    right: 12px;
    height: 2px;
  }
  .menu-toggle span:nth-child(1) { top: 17px; }
  .menu-toggle span:nth-child(2) { top: 26px; }
  .menu-toggle.open span:nth-child(1) { transform: translateY(4.5px) rotate(45deg); }
  .menu-toggle.open span:nth-child(2) { transform: translateY(-4.5px) rotate(-45deg); }

  .mobile-drawer {
    position: fixed;
    inset: 0;
    z-index: 10010;
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: calc(92px + env(safe-area-inset-top, 0px)) clamp(18px, 5vw, 34px) calc(28px + env(safe-area-inset-bottom, 0px));
    background: rgba(255,255,255,.985);
    transform: translateX(100%);
    opacity: 1;
    visibility: hidden;
    transition: transform .32s var(--ease), visibility .32s var(--ease);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .mobile-drawer.open,
  .mobile-drawer[aria-hidden="false"] {
    visibility: visible;
    transform: translateX(0);
  }
  [data-theme="dark"] .mobile-drawer {
    background: #12091a;
  }
  .mobile-drawer::before {
    content: 'Menu';
    display: block;
    font-family: var(--mono);
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--ink-60);
    margin-bottom: 2px;
  }
  .mobile-drawer nav,
  .mobile-drawer .mobile-nav,
  .mobile-drawer .menu {
    width: 100%;
    display: block;
  }
  .mobile-drawer .mobile-nav > li,
  .mobile-drawer .menu > li {
    border-bottom: 1px solid var(--ink-08);
  }
  [data-theme="dark"] .mobile-drawer .mobile-nav > li,
  [data-theme="dark"] .mobile-drawer .menu > li {
    border-bottom-color: rgba(255,255,255,.10);
  }
  .mobile-drawer nav a,
  .mobile-drawer a {
    width: 100%;
    min-height: 52px;
    padding: 14px 0;
    font-family: var(--display);
    font-size: clamp(1.45rem, 7vw, 2.35rem);
    line-height: 1.05;
    color: var(--ink);
    border-bottom: 0;
    gap: 14px;
  }
  [data-theme="dark"] .mobile-drawer nav a,
  [data-theme="dark"] .mobile-drawer a {
    color: #f8f3ea;
  }
  .mobile-drawer .sub-menu,
  .mobile-drawer .mega-panel,
  .mobile-drawer .mega-panel__columns {
    margin-left: 0;
    padding-left: 14px;
  }
  .mobile-drawer .sub-menu a,
  .mobile-drawer .mega-panel__columns > li > a {
    min-height: 40px;
    padding: 9px 0;
    font-family: var(--sans);
    font-size: .98rem;
    line-height: 1.35;
    color: var(--ink-70);
  }
  [data-theme="dark"] .mobile-drawer .sub-menu a,
  [data-theme="dark"] .mobile-drawer .mega-panel__columns > li > a {
    color: rgba(248,243,234,.78);
  }
  .mobile-drawer .btn,
  .mobile-drawer .btn-accent {
    margin-top: 18px;
    width: 100%;
    justify-content: center;
    min-height: 54px;
    font-family: var(--sans);
    font-size: .92rem;
  }

  .hero {
    padding-top: 32px;
  }
  .hero-grid,
  .about-grid,
  .research-main,
  .news-grid,
  .cta-box,
  .footer-grid {
    grid-template-columns: 1fr !important;
  }
  .hero-visual,
  .hero-card {
    max-width: 100%;
  }
  .hero-meta,
  .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
  .quick-grid,
  .prog-grid,
  .programme-grid,
  .programme-grid--archive,
  .leadership-grid {
    grid-template-columns: 1fr !important;
  }
  .container,
  .aureus-import-page {
    width: min(100% - 32px, var(--container)) !important;
  }
  img, video, iframe {
    max-width: 100%;
  }
}

@media (max-width: 520px) {
  .custom-logo { max-width: 68vw; max-height: 46px; }
  .brand { font-size: 16px; }
  .brand-mark { width: 34px; height: 34px; }
  .brand-sub { display: none; }
  .mobile-drawer { padding-top: calc(86px + env(safe-area-inset-top, 0px)); }
  .display,
  .hero-title,
  .page-hero h1,
  .programme-archive-hero h1,
  .leadership-hero h1,
  .leader-profile-hero h1 {
    font-size: clamp(2.35rem, 13vw, 4rem) !important;
    line-height: .96 !important;
    letter-spacing: -.04em;
  }
  .hero-meta,
  .stats-grid {
    grid-template-columns: 1fr !important;
  }
  .hero-search,
  .programmes-showcase,
  .programme-tools,
  .leadership-tools,
  .event-calendar__toolbar {
    border-radius: 18px !important;
  }
  .footer-grid > * {
    min-width: 0;
  }
}


/* =========================================================
   v2.5.5 — Mobile hero architecture fix
   Collapses the homepage hero/slider into a true single-column
   mobile flow and prevents the wide desktop visual column from
   leaving blank space on narrow screens.
   ========================================================= */
@media (max-width: 768px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
  }

  .site,
  .site-content,
  main,
  .container,
  .wrapper,
  .hero,
  .hero-swiper-section,
  .aureus-hero-swiper,
  .aureus-hero-swiper .swiper-wrapper,
  .aureus-hero-swiper .swiper-slide,
  .hero-slide {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .hero,
  .hero-swiper-section {
    padding: 28px 0 48px !important;
    min-height: auto !important;
  }

  .hero .container,
  .hero-swiper-section .container {
    width: min(100% - 32px, var(--container, 1180px)) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  .hero-grid,
  .hero-swiper-section .hero-grid,
  .home-hero,
  .aureus-hero-grid {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
  }

  .hero-head,
  .hero-content,
  .hero-text,
  .hero-copy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  .hero-head .eyebrow {
    margin-bottom: 18px !important;
  }

  .hero-title,
  h1.hero-title,
  .hero-head .display,
  .display.hero-title {
    font-size: clamp(2.25rem, 11vw, 3.35rem) !important;
    line-height: .94 !important;
    letter-spacing: -0.04em !important;
    margin-bottom: 22px !important;
    max-width: 9.5ch;
  }

  .hero-lede,
  .hero-head .lede {
    max-width: 34ch !important;
    margin-bottom: 24px !important;
    font-size: .98rem !important;
    line-height: 1.65 !important;
  }

  .hero-ctas,
  .hero-buttons,
  .hero-cta-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    margin-bottom: 24px !important;
  }

  .hero-ctas .btn,
  .hero-buttons .btn,
  .hero-cta-group .btn {
    width: 100% !important;
    justify-content: center !important;
    min-height: 46px !important;
  }

  .hero-search,
  .hero-search-box {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 24px !important;
    flex-wrap: wrap !important;
    padding: 16px !important;
    border-radius: 18px !important;
  }

  .hero-search input,
  .hero-search button {
    width: 100% !important;
  }

  .hero-search button {
    justify-content: center !important;
  }

  .hero-visual,
  .hero-media,
  .hero-image,
  .hero-slider,
  .hero-swiper-section .hero-visual {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 20px !important;
  }

  .hero-visual img,
  .hero-image img,
  .hero-slider img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .hero-badge,
  .hero-swiper-section .hero-badge,
  .hero-image-caption-card {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    padding: 12px !important;
    gap: 10px !important;
    border-radius: 16px !important;
  }

  .hero-badge-icon,
  .hero-swiper-section .hero-badge-icon {
    width: 36px !important;
    height: 36px !important;
  }

  .hero-badge strong {
    font-size: 13px !important;
  }

  .hero-badge span {
    font-size: 12px !important;
  }

  .hero-swiper-controls {
    justify-content: center !important;
    margin-top: 18px !important;
  }

  .hero-swiper-prev,
  .hero-swiper-next {
    width: 40px !important;
    height: 40px !important;
    font-size: 26px !important;
  }

  .hero-meta {
    margin-top: 38px !important;
    padding-top: 22px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 16px !important;
  }

  .hero-meta-item .num {
    font-size: clamp(30px, 11vw, 42px) !important;
  }

  .floating-actions,
  .floating-toggle,
  .theme-toggle,
  .accessibility-toggle {
    right: 12px !important;
    transform: scale(.92);
  }

  .floating-actions {
    bottom: 18px !important;
    gap: 10px !important;
  }

  .floating-actions button,
  .theme-toggle,
  .accessibility-toggle {
    width: 44px !important;
    height: 44px !important;
  }
}

@media (max-width: 420px) {
  .hero .container,
  .hero-swiper-section .container {
    width: min(100% - 24px, var(--container, 1180px)) !important;
  }

  .hero-title,
  h1.hero-title,
  .hero-head .display,
  .display.hero-title {
    max-width: 8.75ch;
  }

  .hero-visual,
  .hero-swiper-section .hero-visual {
    aspect-ratio: 1 / 1.05 !important;
  }
}

/* =========================================================
   v2.5.6 — Mobile dark-mode readability and header alignment
   Fixes low-contrast event cards in dark mode, mobile drawer
   content sitting under the fixed header/admin bar, and moves
   the hamburger control fully to the right edge of the nav row.
   ========================================================= */
@media (max-width: 960px) {
  .nav-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
  }

  .nav-actions {
    margin-left: auto !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
  }

  .nav-actions .icon-btn,
  .nav-actions .header-apply {
    display: none !important;
  }

  .menu-toggle {
    margin-left: auto !important;
    justify-self: end !important;
  }

  .mobile-drawer {
    padding-top: calc(112px + env(safe-area-inset-top, 0px)) !important;
  }

  body.admin-bar .mobile-drawer {
    padding-top: calc(144px + env(safe-area-inset-top, 0px)) !important;
  }

  .mobile-drawer::before {
    color: rgba(31,25,31,.72) !important;
  }

  [data-theme="dark"] .mobile-drawer::before {
    color: rgba(248,243,234,.78) !important;
  }
}

@media (max-width: 600px) {
  body.admin-bar .site-header {
    top: 46px;
  }

  body.admin-bar .mobile-drawer {
    padding-top: calc(150px + env(safe-area-inset-top, 0px)) !important;
  }
}

@media (max-width: 520px) {
  .nav-row {
    min-height: 70px !important;
  }

  .custom-logo {
    max-width: min(58vw, 210px) !important;
  }

  .menu-toggle {
    width: 48px !important;
    height: 48px !important;
  }

  .mobile-drawer {
    padding-top: calc(118px + env(safe-area-inset-top, 0px)) !important;
  }
}

[data-theme="dark"] .news-list,
[data-theme="dark"] .news-list-head,
[data-theme="dark"] .news-list-head h4,
[data-theme="dark"] .event-card,
[data-theme="dark"] .event-card:visited,
[data-theme="dark"] .event-body,
[data-theme="dark"] .event-body h5,
[data-theme="dark"] .event-date .d {
  color: #f8f3ea !important;
}

[data-theme="dark"] .event-card {
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(255,255,255,.14) !important;
}

[data-theme="dark"] .event-card:hover,
[data-theme="dark"] .event-card:focus-visible {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(245,217,154,.45) !important;
}

[data-theme="dark"] .event-body .meta,
[data-theme="dark"] .event-date .m {
  color: rgba(248,243,234,.78) !important;
}

[data-theme="dark"] .event-date {
  border-right-color: rgba(255,255,255,.18) !important;
}

[data-theme="dark"] .event-arr {
  background: rgba(0,0,0,.32) !important;
  color: #f8f3ea !important;
}

[data-theme="dark"] .event-card:hover .event-arr,
[data-theme="dark"] .event-card:focus-visible .event-arr {
  background: #f5d99a !important;
  color: #12091a !important;
}

[data-theme="dark"] .news-list-head {
  border-bottom-color: rgba(255,255,255,.16) !important;
}

/* v2.5.9 — Mobile header: pin menu toggle to the screen edge */
@media (max-width:960px){.nav-row{gap:16px!important}.nav-actions{margin-right:calc((var(--gutter,24px) * -1) + max(6px, env(safe-area-inset-right,6px)))!important}.menu-toggle{margin-left:8px!important}}
@media (max-width:520px){.nav-actions{margin-right:calc((var(--gutter,20px) * -1) + max(8px, env(safe-area-inset-right,8px)))!important}.menu-toggle{margin-left:10px!important}}

/* v2.6.1 — Logo variants */
.aureus-logo{display:inline-flex;align-items:center;text-decoration:none;line-height:0;max-width:100%}.aureus-logo__img{display:block;max-height:64px;width:auto;height:auto}html:not([data-theme="dark"]) .aureus-logo__img--dark,[data-theme="light"] .aureus-logo__img--dark{display:none}[data-theme="dark"] .aureus-logo:has(.aureus-logo__img--dark) .aureus-logo__img--light{display:none}@supports not selector(:has(*)){[data-theme="dark"] .aureus-logo__img--light{display:none}[data-theme="dark"] .aureus-logo:not(:has(.aureus-logo__img--dark)) .aureus-logo__img--light{display:block}}
.site-header .aureus-logo__img{max-height:48px}@media (max-width:960px){.site-header .aureus-logo__img{max-height:40px}}
.site-footer .aureus-logo__img{max-height:56px}

/* v2.7.8 — desktop dropdown for non-mega submenu items */
.nav-main-list .menu-item-has-children:not(.menu-item--mega) > .sub-menu{position:absolute;top:100%;left:0;min-width:220px;margin:0;padding:8px;list-style:none;background:var(--paper,#fff);border:1px solid var(--ink-12,rgba(0,0,0,0.08));border-radius:12px;box-shadow:0 18px 36px -12px rgba(46,22,66,0.18);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity 0.2s ease,transform 0.2s ease,visibility 0s linear 0.2s;z-index:50;display:flex;flex-direction:column;gap:2px}
.nav-main-list .menu-item-has-children:not(.menu-item--mega){position:relative}
.nav-main-list .menu-item-has-children:not(.menu-item--mega):hover > .sub-menu,.nav-main-list .menu-item-has-children:not(.menu-item--mega):focus-within > .sub-menu,.nav-main-list .menu-item-has-children:not(.menu-item--mega).is-open > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);transition:opacity 0.2s ease,transform 0.2s ease,visibility 0s linear 0s}
.nav-main-list .menu-item-has-children:not(.menu-item--mega) > .sub-menu li{display:block;width:100%}
.nav-main-list .menu-item-has-children:not(.menu-item--mega) > .sub-menu a{display:flex;align-items:center;width:100%;padding:10px 14px;font-size:14px;font-weight:500;color:var(--ink);border-radius:8px;text-decoration:none;white-space:nowrap;background:transparent}
.nav-main-list .menu-item-has-children:not(.menu-item--mega) > .sub-menu a:hover,.nav-main-list .menu-item-has-children:not(.menu-item--mega) > .sub-menu a:focus-visible{background:var(--ink-08,rgba(0,0,0,0.04));color:var(--mc-purple,#52247F)}
.nav-main-list .menu-item-has-children:not(.menu-item--mega) .mega-column__heading{display:none}
.nav-main-list .menu-item-has-children:not(.menu-item--mega) > a::after{content:'';display:inline-block;width:6px;height:6px;margin-left:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform 0.2s ease;opacity:0.6}
.nav-main-list .menu-item-has-children:not(.menu-item--mega):hover > a::after,.nav-main-list .menu-item-has-children:not(.menu-item--mega).is-open > a::after{transform:translateY(1px) rotate(225deg);opacity:1}
@media (max-width:960px){.nav-main-list .menu-item-has-children:not(.menu-item--mega) > .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:0 0 0 16px;background:transparent}}
