:root {
  --navy-900: #031330;
  --navy-850: #04204f;
  --navy-800: #072a63;
  --navy-700: #103879;
  --gold-500: #c6913e;
  --gold-400: #dfb46d;
  --gold-300: #edd39f;
  --ink-900: #111d37;
  --ink-700: #2c3b59;
  --ink-500: #5b6780;
  --line-200: #dbe1ec;
  --line-100: #e9edf5;
  --paper: #f7f8fc;
  --white: #ffffff;
  --radius-xl: 18px;
  --radius-lg: 14px;
  --radius-md: 10px;
  --shadow-soft: 0 8px 24px rgba(12, 26, 55, 0.08);
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: "Manrope", "Segoe UI", sans-serif;
  color: var(--ink-900);
  background: var(--paper);
  line-height: 1.42;
}

h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  letter-spacing: 0.01em;
}

p {
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

html {
  scroll-behavior: smooth;
}

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.7s ease,
    transform 0.7s ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.container {
  width: min(1122px, calc(100% - 40px));
/* margin-left: 200px;*/
  margin: 0 auto;
}

.site-header {
  background: linear-gradient(90deg, #02112b 0%, #062860 48%, #041737 100%);
  border-bottom: 1px solid rgba(201, 145, 62, 0.3);
  position: sticky;
  top: 0;
  z-index: 50;
}

.site-header .container {
  width: calc(100% - 20px);
  max-width: none;
  margin: 0 auto;
}

.nav-wrap {
  min-height: 80px;
  display: flex;
  align-items: center;
  gap: 20px;
  padding-left: 20px;
  padding-right: 8px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #f5ebd8;
  flex-shrink: 0;
}

.brand-shield {
  width: 50px;
  height: 50px;
  border: 1.6px solid var(--gold-500);
  border-radius: 6px;
  display: block;
  background-color: #ffffff;
  background-image: url("../img/logo1.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  color: transparent;
  font-size: 0;
  line-height: 0;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}

.brand-text {
  font-size: 2rem;
  line-height: 0.9;
  letter-spacing: 0.035em;
}

.brand-text small {
  display: block;
  margin-top: 6px;
  font-family: "Manrope", sans-serif;
  font-size: 0.64rem;
  letter-spacing: 0.22em;
  color: #e4cc9f;
}

.menu-toggle {
  display: none;
  margin-left: auto;
  border: 1px solid rgba(255, 255, 255, 0.55);
  color: #fff;
  background: transparent;
  padding: 8px 10px;
  border-radius: 8px;
}

.main-nav {
  margin-left: 14px;
  display: flex;
  align-items: center;
  gap: 1px;
  flex: 1 1 auto;
  justify-content: flex-start;
  min-width: 0;
  overflow: visible;
}

.main-nav a,
.main-nav button {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #f4f6ff;
  font-size: 0.83rem;
  font-weight: 700;
  padding: 12px 8px;
  border-radius: 8px;
  white-space: nowrap;
  flex: 0 0 auto;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    transform 0.18s ease;
}

.main-nav button {
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  font-weight: 500;
}

.header-cta {
  margin-left: 14px;
  flex-shrink: 0;
}

.main-nav a:hover,
.main-nav button:hover,
.main-nav a.active,
.main-nav button.active {
  color: var(--gold-300);
  background: rgba(255, 255, 255, 0.06);
  transform: translateY(-1px);
}

.main-nav a.active::after,
.main-nav button.active::after {
  content: "";
  position: absolute;
  left: 11px;
  right: 11px;
  bottom: 6px;
  height: 2px;
  background: var(--gold-500);
}

.nav-dropdown {
  position: relative;
  flex: 0 0 auto;
}

.nav-dropdown-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 8px;
}

.nav-dropdown-link i {
  font-size: 0.68em;
  transition: transform 0.18s ease;
}

.nav-dropdown:hover .nav-dropdown-link i,
.nav-dropdown:focus-within .nav-dropdown-link i,
.nav-dropdown.open .nav-dropdown-link i,
.nav-dropdown-link.active i {
  transform: rotate(180deg);
}

.nav-dropdown-menu {
  position: absolute;
  left: 0;
  top: 100%;
  min-width: 220px;
  padding: 10px;
  border: 1px solid rgba(201, 145, 62, 0.28);
  border-radius: 14px;
  background: rgba(2, 17, 43, 0.98);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.22);
  display: flex;
  flex-direction: column;
  gap: 4px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  pointer-events: none;
  transition:
    opacity 0.18s ease,
    transform 0.18s ease,
    visibility 0.18s ease;
  z-index: 20;
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.nav-dropdown-menu a {
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
}

.nav-dropdown-menu a:hover,
.nav-dropdown-menu a.active {
  background: rgba(255, 255, 255, 0.08);
}

.nav-dropdown-menu a.active::after {
  left: 12px;
  right: 12px;
  bottom: 7px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 8px;
  border: 1px solid transparent;
  padding: 12px 21px;
  font-size: 0.95rem;
  font-weight: 700;
  transition: 0.2s ease;
}

.btn.small {
  padding: 11px 16px;
  font-size: 0.9rem;
}

.btn-gold {
  background: linear-gradient(180deg, #d6aa62 0%, #bb8433 100%);
  color: #fffdf9;
  border-color: rgba(255, 255, 255, 0.28);
}

.btn-gold:hover {
  filter: brightness(1.06);
}

.btn-outline {
  background: rgba(3, 21, 53, 0.45);
  border-color: rgba(207, 163, 89, 0.48);
  color: #f3f7ff;
}

.btn-outline:hover {
  background: rgba(198, 145, 62, 0.16);
}

.btn-navy {
  background: #052760;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
}

.math-primary-btn {
  background: linear-gradient(180deg, #4f79a2 0%, #3c658d 100%);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  padding: 16px 28px;
  min-height: 62px;
  letter-spacing: 0.04em;
  box-shadow: 0 14px 30px rgba(60, 101, 141, 0.16);
}

.math-primary-btn:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
}

.math-outline-btn {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(77, 116, 159, 0.42);
  color: #4b6781;
  border-radius: 999px;
  padding: 16px 28px;
  min-height: 62px;
  letter-spacing: 0.04em;
}

.math-outline-btn:hover {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(77, 116, 159, 0.62);
}

.math-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid rgba(47, 127, 123, 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  color: #24454e;
  font-size: 0.9rem;
  font-weight: 800;
  transition: 0.2s ease;
}

.math-pill:hover,
.math-pill:focus-visible {
  border-color: rgba(239, 100, 66, 0.42);
  color: #b83f23;
  transform: translateY(-1px);
}

.page {
  overflow-x: clip;
}

.hero,
.page-banner {
  position: relative;
  color: #fff;
  background-color: #041d49;
  background-size: cover;
  background-position: center;
}

.hero::before,
.page-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(2, 15, 38, 0.92) 0%, rgba(3, 24, 60, 0.78) 46%, rgba(4, 21, 48, 0.52) 100%);
}

.hero-inner,
.page-banner .container {
  position: relative;
  z-index: 1;
}

.hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 36px;
  align-items: center;
  padding: 64px 0 66px;
}

.hero-copy h1 {
  font-size: clamp(2.5rem, 5.2vw, 5.1rem);
  line-height: 0.98;
}

.hero-copy .accent {
  color: var(--gold-300);
}

.hero-copy p {
  margin-top: 18px;
  max-width: 610px;
  color: #dde6fa;
  font-size: 1.05rem;
}

.hero-actions {
  margin-top: 25px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.hero-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.hero-list li {
  padding: 11px 12px;
  border: 1px solid rgba(211, 171, 97, 0.45);
  border-radius: 11px;
  background: rgba(4, 23, 57, 0.5);
  color: #f1f5ff;
  font-size: 0.94rem;
  font-weight: 700;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.mini-strip {
  position: relative;
  z-index: 2;
  margin-top: -18px;
  padding-bottom: 34px;
}

.strip-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid rgba(203, 152, 72, 0.48);
  border-radius: 14px;
  background: rgba(4, 26, 66, 0.96);
  overflow: hidden;
}

.strip-grid .item {
  padding: 23px 16px;
  text-align: center;
  color: #f0f5ff;
  font-weight: 600;
  display: grid;
  justify-items: center;
  gap: 8px;
  border-right: 1px solid rgba(203, 152, 72, 0.26);
}

.strip-grid .item:last-child {
  border-right: 0;
}

.home-diagnose {
  position: relative;
  overflow: hidden;
  color: #f2f7ff;
  background: #031738;
}

.home-diagnose .container {
  width: calc(100% - 20px);
  max-width: none;
}

.home-diagnose-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(100deg, rgba(2, 16, 41, 0.76) 14%, rgba(3, 26, 67, 0.85) 58%, rgba(2, 18, 45, 0.95) 100%),
    url("https://images.unsplash.com/photo-1534996858221-380b92700493?auto=format&fit=crop&w=1800&q=80");
  background-size: cover;
  background-position: center;
}

.home-diagnose-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(0, 0.72fr);
  gap: 0;
  align-items: stretch;
  min-height: 560px;
  padding: 0;
}

.home-diagnose-visual {
  position: relative;
  min-height: 560px;
  background-image:
    radial-gradient(circle at 38% 42%, rgba(237, 212, 159, 0.28) 0 9%, rgba(9, 43, 98, 0.12) 24%, rgba(6, 30, 70, 0.04) 46%, transparent 64%),
    linear-gradient(135deg, rgba(13, 54, 122, 0.24) 0%, rgba(2, 13, 35, 0.08) 66%, rgba(2, 13, 35, 0) 100%),
    url("../img/img2233.png");
  background-size: cover;
  background-position: center 40%;
  border-right: 1px solid rgba(214, 169, 90, 0.18);
}

.visual-glow {
  position: absolute;
  top: 24%;
  left: 56%;
  width: 180px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 219, 154, 0.92) 0%, rgba(249, 191, 78, 0.2) 42%, rgba(249, 191, 78, 0) 72%);
}

.home-diagnose-copy {
  padding: 62px 10px 28px 62px;
  display: flex;
  flex-direction: column;
}

.home-diagnose-copy h2 {
  font-size: clamp(2.25rem, 3.4vw, 4.2rem);
  line-height: 1.08;
  color: #ffffff;
}

.home-diagnose-copy h3 {
  margin-top: 16px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.6rem, 2.1vw, 2.45rem);
  font-weight: 600;
  color: #e0bc7a;
  letter-spacing: 0.03em;
}

.home-diagnose-copy p {
  margin-top: 22px;
  max-width: none;
  font-size: 1.08rem;
  line-height: 1.7;
  color: #dbe6fb;
}

.home-diagnose-actions {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.home-diagnose-actions .btn {
  min-width: 220px;
  min-height: 58px;
  font-size: 1.04rem;
}

.home-diagnose-actions .btn-outline {
  background: rgba(2, 19, 49, 0.25);
}

.home-diagnose-points {
  margin-top: 28px;
  padding-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  border-top: 1px solid rgba(223, 180, 109, 0.3);
}

.home-diagnose-points span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 1.01rem;
  color: #eaf1ff;
  white-space: nowrap;
}

.home-diagnose-points i {
  color: #dfb46d;
  font-size: 1.06rem;
}

.page-title-panel {
  background: #fff;
  border-bottom: 1px solid var(--line-100);
  padding: 50px 0 38px;
}

.page-title-panel h1 {
  text-align: center;
  color: #10214b;
  font-size: clamp(2.6rem, 5vw, 4.8rem);
}

.page-title-panel p {
  margin: 14px auto 0;
  max-width: 760px;
  text-align: center;
  color: var(--ink-500);
  font-size: 1.02rem;
}

.page-banner .container {
  padding: 76px 0;
}

.page-banner h1 {
  font-size: clamp(2.5rem, 5vw, 4.9rem);
  max-width: 700px;
}

.page-banner p {
  margin-top: 16px;
  max-width: 620px;
  font-size: 1.06rem;
  color: #d8e4fc;
}

.section-title {
  text-align: center;
  color: #121f40;
  font-size: clamp(2rem, 4vw, 3.3rem);
  margin-bottom: 10px;
}

.section-intro {
  margin: 0 auto;
  text-align: center;
  color: var(--ink-500);
  max-width: 760px;
}

.content-block {
  padding: 58px 0;
}

.card-grid {
  margin-top: 28px;
  display: grid;
  gap: 14px;
}

.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.grid-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.card {
  border: 1px solid var(--line-200);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.card.pad {
  padding: 22px 20px;
}

.icon-badge {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 800;
  margin-bottom: 14px;
}

.icon-badge i {
  font-size: 1.25rem;
  line-height: 1;
}

.icon-blue { background: #1c4e9a; }
.icon-green { background: #3e7d41; }
.icon-purple { background: #5c46a6; }
.icon-gold { background: #b57e2f; }

.card h4 {
  color: #172543;
  font-size: 1.76rem;
  line-height: 1.04;
  margin-bottom: 8px;
}

.card p,
.card li {
  color: #324163;
  font-size: 0.96rem;
}

.card ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}

.card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  color: #0f356f;
  font-weight: 800;
  font-size: 0.95rem;
}

.card-link i {
  font-size: 0.82rem;
}

.stat-band {
  margin-top: 20px;
  border: 1px solid var(--line-200);
  background: #fff;
  border-radius: 14px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
}

.stat {
  border-right: 1px solid var(--line-200);
  padding: 20px 16px;
  text-align: center;
}

.stat:last-child {
  border-right: 0;
}

.stat strong {
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2rem;
  color: #132448;
}

.inline-icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid rgba(203, 152, 72, 0.5);
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
}

.hero-list li .inline-icon {
  width: 26px;
  height: 26px;
  color: var(--gold-300);
  background: rgba(3, 21, 52, 0.52);
}

.strip-grid .inline-icon,
.feature .inline-icon {
  color: var(--gold-300);
  background: rgba(3, 21, 52, 0.46);
}

.stat .inline-icon {
  margin: 0 auto 8px;
  color: #1a315f;
  border-color: rgba(26, 49, 95, 0.33);
  background: #f5f8ff;
}

.tabs {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  border: 1px solid var(--line-200);
  border-radius: 10px;
  overflow: hidden;
}

.tab-btn {
  cursor: pointer;
  border: 0;
  border-right: 1px solid var(--line-200);
  flex: 1;
  min-width: 150px;
  padding: 14px 12px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #13274f;
  background: #fff;
}

.tab-btn:last-child {
  border-right: 0;
}

.tab-btn.active {
  background: #05265f;
  color: #fff;
}

.tab-panel {
  display: none;
}

.tab-panel.active {
  display: block;
}

.programs-coverage-note {
  margin: 16px 0 0;
  padding: 12px 14px;
  border: 1px solid rgba(198, 145, 62, 0.3);
  border-radius: 10px;
  background: linear-gradient(90deg, rgba(241, 247, 255, 0.92) 0%, rgba(251, 253, 255, 0.94) 100%);
  color: #2f3f60;
  font-size: 0.93rem;
}

.programs-paged-grid .card h4 {
  font-size: 1.48rem;
  line-height: 1.06;
}

.programs-paged-grid .card ul {
  margin-top: 4px;
}

.programs-pager {
  margin-top: 16px;
}

.modal-open {
  overflow: hidden;
}

.programs-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: none;
}

.programs-modal.open {
  display: block;
}

.programs-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 14, 36, 0.7);
  backdrop-filter: blur(2px);
}

.programs-modal-dialog {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(900px, calc(100% - 30px));
  max-height: min(78vh, 760px);
  overflow: auto;
  border-radius: 14px;
  border: 1px solid rgba(200, 155, 79, 0.4);
  background: linear-gradient(180deg, #f9fbff 0%, #f2f6ff 100%);
  box-shadow: 0 26px 56px rgba(3, 16, 40, 0.35);
  padding: 18px 18px 16px;
}

.programs-modal-close {
  position: sticky;
  top: 0;
  margin-left: auto;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  border: 1px solid #cad5ea;
  background: #fff;
  color: #18325f;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.programs-modal-dialog h3 {
  margin-top: 8px;
  color: #17284a;
  font-size: clamp(2rem, 3vw, 3rem);
}

.programs-modal-list {
  margin: 14px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
}

.programs-modal-list li {
  color: #2f3f60;
  font-size: 0.95rem;
  line-height: 1.45;
}

body[data-page="newmha"],
body[data-page="math-subject"],
body[data-page^="honors-math-"] {
  --math-bg: #edf5f1;
  --math-panel: #ffffff;
  --math-ink: #183045;
  --math-muted: #51657a;
  --math-line: #d4e2dd;
  --math-accent: #ef6442;
  --math-accent-2: #2f7f7b;
  background:
    radial-gradient(circle at 12% 0%, rgba(239, 100, 66, 0.09) 0 11%, transparent 42%),
    radial-gradient(circle at 90% 5%, rgba(47, 127, 123, 0.09) 0 11%, transparent 35%),
    linear-gradient(180deg, #f7fbf9 0%, var(--math-bg) 100%);
}

body[data-page="newmha"] main,
body[data-page="math-subject"] main,
body[data-page^="honors-math-"] main {
  color: var(--math-ink);
}

.math-subject-hero,
.math-detail-hero {
  position: relative;
  overflow: hidden;
  background-color: var(--math-bg);
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid rgba(47, 127, 123, 0.12);
}

.math-subject-hero::before,
.math-detail-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(247, 251, 249, 0.82) 0%, rgba(237, 245, 241, 0.92) 100%);
  pointer-events: none;
}

.math-subject-hero::after,
.math-detail-hero::after {
  content: "";
  position: absolute;
  right: -120px;
  bottom: -160px;
  width: 420px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(47, 127, 123, 0.17) 0%, rgba(47, 127, 123, 0.02) 60%, transparent 72%);
  pointer-events: none;
}

.math-subject-hero .container,
.math-detail-hero .container,
.math-track .container {
  position: relative;
  z-index: 1;
}

.math-subject-hero-grid,
.math-detail-grid,
.math-track-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  gap: 40px;
  align-items: center;
}

.math-subject-hero-grid {
  padding: 64px 0 60px;
}

.math-kicker,
.math-section-label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.math-kicker {
  color: var(--math-accent-2);
}

.math-kicker span,
.math-section-label span {
  display: block;
  width: 28px;
  height: 3px;
  border-radius: 999px;
  background: var(--math-accent);
}

.math-kicker--dark {
  color: var(--math-ink);
}

.math-subject-copy h1,
.math-detail-copy h1 {
  margin-top: 16px;
  color: var(--math-ink);
  font-size: clamp(3rem, 5.5vw, 5.2rem);
  line-height: 0.93;
}

.math-detail-copy h2,
.math-track-copy h2 {
  margin-top: 14px;
  color: var(--math-ink);
  font-size: clamp(2.4rem, 4.2vw, 4rem);
  line-height: 1.02;
}

.math-subject-lead,
.math-track-intro,
.math-detail-lead {
  margin-top: 18px;
  color: var(--math-ink);
  font-size: 1.05rem;
  line-height: 1.7;
}

.math-subject-body,
.math-track-italic,
.math-detail-body {
  margin-top: 14px;
  color: var(--math-muted);
  font-size: 1rem;
  line-height: 1.72;
}

.math-track-italic {
  font-style: italic;
}

.math-subject-actions,
.math-detail-actions {
  margin-top: 26px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.math-hero-stats {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.math-hero-stats article {
  padding: 16px 14px 15px;
  border: 1px solid var(--math-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 12px 24px rgba(18, 41, 68, 0.04);
}

.math-hero-stats strong {
  display: block;
  color: var(--math-ink);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2rem;
  line-height: 1;
}

.math-hero-stats span {
  display: block;
  margin-top: 6px;
  color: var(--math-muted);
  font-size: 0.9rem;
  line-height: 1.35;
}

.math-subject-visual {
  position: relative;
  min-height: 520px;
  border-radius: 30px;
  overflow: hidden;
  background: linear-gradient(180deg, #dcece8 0%, #edf5f1 100%);
  box-shadow: 0 28px 58px rgba(18, 41, 68, 0.14);
}

.math-subject-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.math-subject-visual::before,
.math-track-visual-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(15, 28, 39, 0.1) 0%, rgba(15, 28, 39, 0.18) 100%),
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.26) 0%, transparent 42%);
  pointer-events: none;
}

.math-subject-visual-chip,
.math-track-visual-card {
  position: absolute;
  left: 18px;
  right: 18px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.82);
  box-shadow: 0 18px 34px rgba(16, 31, 53, 0.12);
}

.math-subject-visual-chip {
  top: 18px;
  padding: 10px 14px;
  color: var(--math-ink);
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.math-subject-visual-panel {
  position: absolute;
  right: 18px;
  bottom: 18px;
  max-width: 68%;
  padding: 16px 18px 17px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.86);
  box-shadow: 0 18px 36px rgba(16, 31, 53, 0.12);
}

.math-subject-visual-panel span,
.math-track-visual-card span {
  display: block;
  color: var(--math-accent-2);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.math-subject-visual-panel strong,
.math-track-visual-card strong {
  display: block;
  margin-top: 8px;
  color: var(--math-ink);
  font-size: 1.22rem;
  line-height: 1.2;
}

.math-subject-visual-panel p {
  margin-top: 8px;
  color: var(--math-muted);
  font-size: 0.94rem;
  line-height: 1.58;
}

.math-track {
  position: relative;
  padding: 76px 0;
  scroll-margin-top: 92px;
}

.math-track--elementary {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(236, 245, 241, 0.98) 100%);
}

.math-track--secondary {
  background: linear-gradient(180deg, rgba(236, 245, 241, 0.98) 0%, rgba(227, 238, 233, 0.98) 100%);
}

.math-track-grid {
  gap: 38px;
}

.math-section-label {
  color: #7d8a8a;
}

.math-section-label span {
  width: 30px;
}

.math-note,
.math-detail-note {
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(47, 127, 123, 0.18);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--math-ink);
  font-size: 0.96rem;
  line-height: 1.58;
}

.math-course-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.math-course-card {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 108px;
  padding: 18px 18px 17px;
  border: 1px solid var(--math-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 24px rgba(16, 31, 53, 0.05);
  text-align: left;
  color: inherit;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease,
    background 0.22s ease;
}

.math-course-card:hover,
.math-course-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(239, 100, 66, 0.5);
  box-shadow: 0 18px 30px rgba(16, 31, 53, 0.12);
}

.math-course-card.is-featured {
  border-color: rgba(47, 127, 123, 0.36);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 250, 249, 0.98) 100%);
}

.math-course-card .course-flag {
  display: inline-flex;
  align-self: start;
  align-items: center;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(239, 100, 66, 0.12);
  color: #b84a2d;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.math-course-card strong {
  color: var(--math-ink);
  font-size: 1.08rem;
  line-height: 1.25;
}

.math-course-card small {
  color: var(--math-muted);
  font-size: 0.93rem;
  line-height: 1.55;
}

.math-track-visual-frame {
  position: relative;
  min-height: 460px;
  border-radius: 30px;
  overflow: hidden;
  background: linear-gradient(180deg, #dcece8 0%, #edf5f1 100%);
  box-shadow: 0 26px 54px rgba(18, 41, 68, 0.12);
}

.math-track-visual-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.math-track-visual-frame--alt {
  min-height: 430px;
}

.math-track-visual-card {
  bottom: 18px;
  padding: 14px 16px 16px;
}

.math-track-visual-card strong {
  margin-top: 6px;
}

.math-detail-preview {
  position: relative;
  padding: 72px 0 70px;
  background:
    radial-gradient(circle at 8% 0%, rgba(239, 100, 66, 0.08) 0 9%, transparent 30%),
    linear-gradient(180deg, rgba(247, 251, 249, 0.95) 0%, rgba(232, 241, 236, 0.98) 100%);
  scroll-margin-top: 92px;
}

.math-detail-preview:target {
  box-shadow: inset 0 0 0 3px rgba(239, 100, 66, 0.14);
}

.math-detail-grid {
  gap: 34px;
  align-items: start;
}

.math-detail-copy h1 {
  max-width: 11ch;
}

.math-detail-link {
  display: inline-flex;
  margin-top: 16px;
  color: var(--math-accent-2);
  font-size: 0.98rem;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(47, 127, 123, 0.34);
  text-underline-offset: 3px;
}

.math-next-course {
  margin-top: 18px;
  color: var(--math-ink);
  font-size: 0.98rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.math-next-course a {
  color: var(--math-accent-2);
  text-decoration: underline;
  text-decoration-color: rgba(47, 127, 123, 0.34);
  text-underline-offset: 3px;
  text-transform: none;
  letter-spacing: 0;
}

.math-overview-card {
  padding: 24px 24px 22px;
  border: 1px solid var(--math-line);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 50px rgba(16, 31, 53, 0.1);
}

.math-overview-card h2,
.math-overview-card h3 {
  color: var(--math-ink);
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.08;
}

.math-overview-card ul {
  margin: 18px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 10px;
}

.math-overview-card li {
  color: var(--math-ink);
  font-size: 0.98rem;
  line-height: 1.58;
}

.math-overview-cost {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--math-line);
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.math-overview-cost strong {
  color: var(--math-ink);
  font-size: 2rem;
  line-height: 1;
}

.math-overview-cost span {
  color: var(--math-muted);
  font-size: 1rem;
  font-style: italic;
}

.math-accordion-grid {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.math-accordion {
  border: 1px solid var(--math-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 28px rgba(16, 31, 53, 0.06);
  padding: 18px 18px 16px;
}

.math-accordion[open] {
  border-color: rgba(47, 127, 123, 0.34);
}

.math-accordion summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--math-ink);
  font-weight: 800;
  font-size: 1rem;
}

.math-accordion summary::-webkit-details-marker {
  display: none;
}

.math-accordion summary::after {
  content: "+";
  color: var(--math-accent);
  font-size: 1.3rem;
  font-weight: 900;
  line-height: 1;
}

.math-accordion[open] summary::after {
  content: "−";
}

.math-accordion p {
  margin-top: 12px;
  color: var(--math-muted);
  font-size: 0.95rem;
  line-height: 1.64;
}

.math-accordion ul {
  margin: 12px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
}

.math-accordion li {
  color: var(--math-muted);
  font-size: 0.94rem;
  line-height: 1.52;
}

.question-bank-page {
  background: #f6f7fb;
}

.qb-hero {
  position: relative;
  padding: 40px 0 30px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 251, 255, 0.92) 100%),
    #f8f9fc;
}

.qb-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/4.jpg");
  background-size: cover;
  background-position: center;
  opacity: 0.11;
  mix-blend-mode: multiply;
  pointer-events: none;
}

.qb-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.66fr) minmax(0, 1.1fr);
  gap: 0px;
  align-items: center;
}

.qb-kicker {
  color: #a26f2a;
  font-size: 0.9rem;
  letter-spacing: 0.07em;
  font-weight: 800;
}

.qb-copy h1 {
  margin-top: 12px;
  font-size: clamp(2.6rem, 3.6vw, 5rem);
  line-height: 0.92;
  color: #0e2046;
}

.qb-lead {
  margin-top: 16px;
  color: #9a6320;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.62rem, 2.2vw, 2.65rem);
  line-height: 1.1;
}

.qb-detail {
  margin-top: 16px;
  color: #2f4266;
  font-size: 1rem;
  line-height: 1.72;
}

.qb-actions {
  margin-top: 22px;
}

.qb-outline-btn {
  background: #fff;
  border-color: rgba(181, 126, 47, 0.7);
  color: #a06a27;
}

.qb-visual {
  position: relative;
  margin-left: 120px;
  margin-right: -120px;
}

.qb-laptop {
  position: relative;
  filter: drop-shadow(0 22px 28px rgba(10, 26, 61, 0.22));
}

.qb-screen {
  border: 10px solid #181f2f;
  border-radius: 20px;
  background: #0c1c3f;
  overflow: hidden;
  display: block;
  min-height: 428px;
}

.qb-screen-shot {
  width: 100%;
  height: 100%;
  min-height: 428px;
  /*object-fit: cover;*/
  object-position: center;
}

.qb-side {
  background: linear-gradient(180deg, #01173f 0%, #05265f 100%);
  color: #d9e6ff;
  padding: 14px 10px;
}

.qb-side-brand {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 8px;
  align-items: center;
}

.qb-side-brand .brand-shield {
  width: 34px;
  height: 34px;
  border-radius: 5px;
  border-width: 1.2px;
}

.qb-side-brand strong {
  display: block;
  font-size: 0.72rem;
  line-height: 1;
  color: #f4f8ff;
}

.qb-side-brand small {
  display: block;
  margin-top: 2px;
  font-size: 0.52rem;
  letter-spacing: 0.08em;
  color: #d6b97b;
}

.qb-side ul {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: grid;
  gap: 7px;
}

.qb-side li {
  padding: 7px 8px;
  border-radius: 8px;
  font-size: 0.76rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #d6e3ff;
}

.qb-side li.active {
  background: rgba(214, 170, 98, 0.22);
  color: #f7edd9;
}

.qb-screen-main {
  padding: 12px 14px;
  background: #fdfefe;
}

.qb-screen-main header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.qb-screen-main h4 {
  color: #18294a;
  font-size: 1.15rem;
}

.qb-search {
  padding: 6px 10px;
  border: 1px solid #d8deea;
  border-radius: 999px;
  color: #78839a;
  font-size: 0.75rem;
}

.qb-screen-main h5 {
  margin-top: 12px;
  margin-bottom: 8px;
  font-family: "Manrope", sans-serif;
  color: #203257;
  font-size: 0.86rem;
  letter-spacing: 0.01em;
}

.qb-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.qb-mini-grid article {
  border: 1px solid #dce3ef;
  border-radius: 10px;
  background: #ffffff;
  min-height: 92px;
  padding: 8px 6px;
  text-align: center;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 3px;
}

.qb-mini-grid i {
  color: #173164;
  font-size: 1rem;
}

.qb-mini-grid span {
  color: #17274a;
  font-size: 0.72rem;
  font-weight: 700;
}

.qb-mini-grid small {
  color: #7d879d;
  font-size: 0.62rem;
}

.qb-laptop-base {
  display: block;
  width: 97%;
  height: 20px;
  margin: 0 auto;
  border-radius: 0 0 14px 14px;
  background: linear-gradient(180deg, #8f98a8, #6f7786);
  box-shadow: 0 14px 24px rgba(11, 24, 53, 0.3);
}

.qb-content {
  padding: 20px 0 50px;
}

.qb-heading {
  position: relative;
  text-align: center;
  color: #101f45;
  font-size: clamp(2.1rem, 3.8vw, 3.45rem);
  margin: 0;
}

.qb-heading::before,
.qb-heading::after {
  position: absolute;
  top: 50%;
  width: 74px;
  height: 1px;
  background: linear-gradient(90deg, rgba(194, 146, 72, 0), rgba(194, 146, 72, 0.92));
}

.qb-heading::before {
  left: calc(50% - 260px);
}

.qb-heading::after {
  right: calc(50% - 260px);
  transform: scaleX(-1);
}

.qb-heading-gap {
  margin-top: 24px;
}

.qb-feature-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.qb-feature-card {
  border: 1px solid #dfe4ee;
  border-radius: 14px;
  background: #fff;
  padding: 17px 16px;
  display: grid;
  grid-template-columns: 92px 1fr;
  align-items: center;
  gap: 14px;
}

.qb-icon {
  width: 78px;
  height: 78px;
  border-radius: 50%;
  border: 2px solid #bf8838;
  background: #001f4f;
  color: #dcae62;
  display: grid;
  place-items: center;
  font-size: 2rem;
}

.qb-feature-card h4 {
  color: #0f1f45;
  font-size: 2rem;
  line-height: 1.02;
}

.qb-feature-card p {
  margin-top: 8px;
  color: #324164;
  font-size: 0.95rem;
  line-height: 1.5;
}

.qb-highlight-grid {
  margin-top: 16px;
  border-top: 1px solid #e3e8f1;
  border-bottom: 1px solid #e3e8f1;
  background: #f8fafe;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.qb-highlight-grid article {
  padding: 14px 12px 16px;
  text-align: center;
  border-right: 1px solid #e3e8f1;
}

.qb-highlight-grid article:last-child {
  border-right: 0;
}

.qb-highlight-grid i {
  color: #bd8537;
  font-size: 2rem;
}

.qb-highlight-grid h4 {
  margin-top: 10px;
  color: #132449;
  font-size: 1.62rem;
  line-height: 1.08;
}

.qb-highlight-grid p {
  margin-top: 8px;
  color: #405171;
  font-size: 0.91rem;
  line-height: 1.52;
}

.qb-cta {
  margin-top: 18px;
  border: 1px solid rgba(194, 144, 69, 0.4);
  border-radius: 14px;
  background: linear-gradient(90deg, #031736 0%, #07255a 68%, #031736 100%);
  color: #eef3ff;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.qb-cta-copy {
  display: grid;
  grid-template-columns: 66px 1fr;
  align-items: center;
  gap: 12px;
}

.qb-cta-badge {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  border: 1px solid rgba(194, 144, 69, 0.8);
  color: #d8ad63;
  display: grid;
  place-items: center;
  font-size: 1.6rem;
}

.qb-cta h3 {
  font-size: clamp(2rem, 2.9vw, 3.2rem);
  line-height: 1.1;
  color: #edf4ff;
}

.qb-cta .btn {
  min-width: 320px;
}

.about-core .mini-strip {
  margin-bottom: 14px;
}

.about-card-grid {
  margin-top: 8px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.about-card {
  border: 1px solid #dde3ef;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(13, 31, 65, 0.06);
  padding: 20px 20px 18px;
  display: flex;
  flex-direction: column;
  min-height: 446px;
}

.about-card-icon {
  width: 82px;
  height: 82px;
  border-radius: 50%;
  border: 1px solid #c69243;
  background: #031f4f;
  color: #d6ad66;
  display: grid;
  place-items: center;
  margin: 2px auto 10px;
  font-size: 2.15rem;
}

.about-card h4 {
  text-align: center;
  color: #101f45;
  font-size: 3.15rem;
  line-height: 0.94;
}

.about-card-line {
  width: 54px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #d5a968, #ba8840);
  margin: 10px auto 14px;
}

.about-card p {
  color: #28395d;
  font-size: 0.98rem;
  line-height: 1.65;
  margin: 0 0 14px;
}

.about-check-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.about-check-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #26395f;
  font-size: 1.03rem;
  line-height: 1.45;
}

.about-check-list li i {
  margin-top: 2px;
  color: #c39146;
  font-size: 1.06rem;
}

.about-card .card-link {
  margin-top: auto;
  justify-content: flex-start;
  font-size: 1.02rem;
  color: #1b2f56;
}

.about-journey {
  margin-top: 16px;
  border: 1px solid rgba(198, 145, 62, 0.52);
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(90deg, #031a43 0%, #05275d 58%, #031a43 100%);
}

.about-journey-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 18px;
}

.about-journey-copy {
  display: grid;
  grid-template-columns: 74px 1fr;
  align-items: center;
  gap: 14px;
}

.about-journey-cap {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 1px solid rgba(208, 163, 86, 0.82);
  color: #dcb66f;
  display: grid;
  place-items: center;
  font-size: 2rem;
}

.about-journey-copy h3 {
  color: #f0f4ff;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.04;
}

.about-journey-copy p {
  margin-top: 6px;
  color: #d6e2fb;
  font-size: 1.03rem;
}

.about-journey-actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

.about-journey-actions .btn {
  min-width: 180px;
}

.about-journey-bottom {
  border-top: 1px solid rgba(198, 145, 62, 0.35);
  background: rgba(2, 20, 50, 0.68);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.about-journey-bottom article {
  padding: 14px 14px 16px;
  border-right: 1px solid rgba(198, 145, 62, 0.2);
}

.about-journey-bottom article:last-child {
  border-right: 0;
}

.about-journey-bottom i {
  color: #d4ad67;
  font-size: 1.95rem;
}

.about-journey-bottom h4 {
  margin-top: 8px;
  color: #f0f4ff;
  font-size: 1.36rem;
  line-height: 1.1;
}

.about-journey-bottom p {
  margin-top: 5px;
  color: #c4d3f1;
  font-size: 0.92rem;
  line-height: 1.45;
}

.contact-page {
  background: #f7f8fb;
}

.contact-hero {
  padding-top: 24px !important;
  padding-bottom: 0 !important;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(252, 253, 255, 0.92) 58%, rgba(6, 32, 80, 0.03) 100%),
    #f9fafc;
  border-bottom: 1px solid #e3e9f2;
}

.contact-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 20px;
  align-items: end;
}

.contact-hero-copy h1 {
  color: #102045;
  font-size: clamp(2.8rem, 5vw, 5rem);
  line-height: 0.95;
}

.contact-title-line {
  display: block;
  width: 96px;
  height: 4px;
  border-radius: 999px;
  margin-top: 14px;
  background: linear-gradient(90deg, #d7b475, #b98439);
}

.contact-hero-copy p {
  margin-top: 14px;
  max-width: 620px;
  color: #384a6d;
  font-size: 1.12rem;
  line-height: 1.52;
}

.contact-hero-visual {
  min-height: 230px;
  border-radius: 12px 12px 0 0;
  overflow: hidden;
}

.contact-hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border: 1px solid #d9e0ed;
}

.contact-main {
  padding-top: 0 !important;
}

.contact-layout {
  border: 1px solid #dde4ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(14, 29, 58, 0.04);
  overflow: hidden;
}

.contact-form-card {
  border: 0;
  border-right: 1px solid #e1e7f2;
  box-shadow: none;
  border-radius: 0;
}

.contact-form-card label {
  color: #1a2b4e;
}

.contact-form-card input,
.contact-form-card select,
.contact-form-card textarea {
  border-color: #d7deea;
  min-height: 42px;
  border-radius: 7px;
  background: #fcfdff;
}

.contact-submit-row {
  justify-content: center !important;
  margin-top: 10px;
}

.contact-submit-btn {
  min-width: 290px;
}

.contact-privacy-note {
  margin-top: 8px;
  text-align: center;
  color: #8a7a52;
  font-size: 0.85rem;
}

.contact-privacy-note i {
  color: #c59342;
  margin-right: 6px;
}

.contact-side {
  display: grid;
  gap: 10px;
  padding: 10px;
  background: #f8fafd;
}

.contact-promo-card {
  background: linear-gradient(180deg, #041f4f 0%, #062a62 100%);
  border-color: rgba(203, 152, 72, 0.52);
}

.contact-promo-card h4 {
  color: #fff;
  display: grid;
  grid-template-columns: 56px 1fr;
  align-items: start;
  gap: 10px;
  font-size: 2.6rem;
  line-height: 1.06;
}

.contact-promo-card h4 i {
  color: #dcb46c;
  font-size: 2.4rem;
  margin-top: 2px;
}

.contact-promo-card p {
  margin-top: 8px;
  color: #d6e1fb;
  font-size: 1.04rem;
  line-height: 1.5;
}

.contact-promo-card .hero-actions {
  margin-top: 14px;
}

.contact-promo-card .btn {
  width: 100%;
}

.contact-waiting-card h4 {
  color: #111f45;
  display: grid;
  grid-template-columns: 52px 1fr;
  align-items: center;
  gap: 10px;
  font-size: 2.45rem;
}

.contact-waiting-card h4 i {
  color: #132a56;
  font-size: 2.1rem;
}

.contact-waiting-card p {
  color: #3a4a6b;
  margin-top: 8px;
}

.contact-waiting-card .btn-outline {
  width: 100%;
  color: #112046;
  background: #fff;
  border-color: #c7cfde;
}

.contact-touch-card h4 {
  color: #12234a;
  font-size: 2.6rem;
}

.contact-touch-card ul {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  gap: 9px;
}

.contact-touch-card li {
  color: #2f4164;
  font-size: 0.96rem;
  line-height: 1.4;
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 8px;
  align-items: start;
}

.contact-touch-card li i {
  color: #b7853a;
  margin-top: 2px;
}

.contact-stat-band {
  margin-top: 16px !important;
  border-radius: 10px;
}

.contact-stat-band .stat {
  text-align: left;
  padding: 16px 14px;
}

.contact-stat-icon {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid #d5dde9;
  color: #142a56;
  font-size: 1.15rem;
  margin-bottom: 8px;
}

.contact-stat-band .stat strong {
  font-size: 1.45rem;
  line-height: 1.08;
}

.contact-stat-band .stat span {
  color: #3a4b6d;
  font-size: 0.93rem;
  line-height: 1.46;
}

/* Prevent globally injected decorative icons from duplicating contact stats icons */
.contact-stat-band .stat > .inline-icon {
  display: none !important;
}

.faculty-page {
  background: #f8f9fc;
}

.faculty-hero {
  padding: 20px 0 16px;
}

.faculty-breadcrumb {
  margin: 0;
  color: #7d8697;
  font-size: 0.8rem;
  display: flex;
  align-items: center;
  gap: 8px;
}

.faculty-breadcrumb a {
  color: #6f788b;
}

.faculty-breadcrumb strong {
  color: #b0823f;
  font-weight: 700;
}

.faculty-hero-grid {
  margin-top: 8px;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 14px;
  align-items: stretch;
}

.faculty-hero-copy h1 {
  color: #101f45;
  font-size: clamp(2.6rem, 3.8vw, 4.8rem);
  line-height: 0.92;
}

.faculty-hero-lead {
  font-weight: bold;
  margin-top: 12px;
  color: #9c7236;
  font-family: Georgia;
  font-size: 2rem;
  line-height: 1.06;
}

.faculty-hero-copy p {
  margin-top: 10px;
  font-size: 1rem;
  line-height: 1.5;
}



.faculty-hero-copy .hero-actions {
  margin-top: 16px;
}

.faculty-hero-collage {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-areas:
    "a a a"
    "b c d";
  gap: 8px;
}

.faculty-hero-collage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid #d8dfeb;
}

.faculty-hero-collage .tile-a {
  grid-area: a;
  min-height: 302px;
}

.faculty-hero-collage .tile-b,
.faculty-hero-collage .tile-c,
.faculty-hero-collage .tile-d {
  min-height: 170px;
}

.faculty-value-bar {
  background: linear-gradient(90deg, #031a43 0%, #04255a 52%, #031a43 100%);
  border-top: 1px solid rgba(194, 146, 72, 0.28);
  border-bottom: 1px solid rgba(194, 146, 72, 0.28);
}

.faculty-value-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.faculty-value-grid article {
  padding: 16px 14px;
  text-align: center;
  border-right: 1px solid rgba(194, 146, 72, 0.25);
}

.faculty-value-grid article:last-child {
  border-right: 0;
}

.faculty-value-grid i {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid rgba(210, 163, 88, 0.86);
  color: #d9ae67;
  display: inline-grid;
  place-items: center;
  font-size: 1.5rem;
}

.faculty-value-grid h4 {
  margin-top: 10px;
  color: #f2f6ff;
  font-size: 1.6rem;
  line-height: 1.06;
}

.faculty-value-grid p {
  margin-top: 6px;
  color: #c4d3f3;
  font-size: 0.93rem;
  line-height: 1.44;
}

.faculty-approach {
  padding: 18px 0 8px;
}

.faculty-kicker {
  text-align: center;
  color: #9f7740;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  font-weight: 800;
}

.faculty-approach h2 {
  margin-top: 4px;
  text-align: center;
  color: #101f45;
  font-size: clamp(2.1rem, 3.8vw, 3.7rem);
}

.faculty-approach-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.faculty-approach-grid article {
  border: 1px solid #dce3ef;
  border-radius: 10px;
  background: #fff;
  padding: 14px 14px 12px;
}

.faculty-approach-grid .icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid #c39145;
  background: #032252;
  color: #d8ad68;
  display: grid;
  place-items: center;
  font-size: 1.4rem;
}

.faculty-approach-grid h4 {
  margin-top: 8px;
  color: #132348;
  font-size: 1.9rem;
  line-height: 1.05;
}

.faculty-approach-grid p {
  margin-top: 6px;
  color: #334568;
  font-size: 0.9rem;
  line-height: 1.5;
}

.faculty-team {
  padding: 8px 0 8px;
}

.faculty-section-title {
  position: relative;
  text-align: center;
  color: #111f45;
  font-size: clamp(2.2rem, 4vw, 3.8rem);
}

.faculty-section-title::before,
.faculty-section-title::after {
  position: absolute;
  top: 50%;
  width: 72px;
  height: 1px;
  background: linear-gradient(90deg, rgba(186, 138, 63, 0), rgba(186, 138, 63, 0.9));
}

.faculty-section-title::before {
  left: calc(50% - 270px);
}

.faculty-section-title::after {
  right: calc(50% - 270px);
  transform: scaleX(-1);
}

.faculty-profile {
  border: 1px solid #dce3ef;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(11, 27, 57, 0.04);
  overflow: hidden;
}

.faculty-profile.feature {
  margin-top: 12px;
  display: grid;
  grid-template-columns: 242px 1fr;
  gap: 16px;
  padding: 14px;
  align-items: start;
}

.faculty-profile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  border-radius: 8px;
}

.faculty-profile.feature img {
  min-height: 214px;
}

.faculty-profile-content h3 {
  color: #102046;
  font-size: 2.3rem;
  line-height: 1.02;
  text-wrap: balance;
}

.faculty-profile-content {
  text-align: left;
}

.faculty-profile.feature .faculty-profile-content {
  padding: 2px 4px 2px 0;
}

.faculty-profile.feature .faculty-profile-content h3 {
  text-align: center;
}

.faculty-profile-content .role {
  display: inline-block;
  margin-top: 4px;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid rgba(185, 137, 62, 0.3);
  background: rgba(185, 137, 62, 0.08);
  color: #a2783d;
  font-size: 1rem;
  font-weight: 700;
}

.faculty-profile.feature .faculty-profile-content .role {
  display: table;
  margin: 8px auto 0;
}

.faculty-profile.feature .faculty-bullets::before {
  content: "";
  grid-column: 1 / -1;
  height: 1px;
  background: linear-gradient(90deg, rgba(189, 146, 74, 0), rgba(189, 146, 74, 0.55), rgba(189, 146, 74, 0));
}

.faculty-bullets {
  margin-top: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
}

.faculty-profile ul {
  margin: 0;
  padding-left: 20px;
  display: grid;
  gap: 8px;
}

.faculty-profile li {
  color: #334567;
  font-size: 0.96rem;
  line-height: 1.46;
}

.faculty-profile li::marker {
  color: #556b93;
}

.faculty-profile-grid {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}

.faculty-profile-grid .faculty-profile {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 12px;
  padding: 12px;
  align-items: start;
  min-height: 100%;
}

.faculty-profile-grid img {
  min-height: 182px;
}

.faculty-profile-grid .faculty-profile-content {
  padding-right: 2px;
}

.faculty-profile-grid .faculty-profile-content h3 {
  font-size: 1.85rem;
}

.faculty-profile-grid .faculty-profile-content .role {
  font-size: 0.9rem;
  line-height: 1.3;
}

.faculty-profile-grid .faculty-profile li {
  font-size: 0.82rem;
  line-height: 1.42;
}

.faculty-support {
  padding: 8px 0 8px;
}

.faculty-support-grid {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.faculty-support-grid article {
  border-top: 1px solid #e0e7f1;
  padding-top: 10px;
}

.faculty-support-grid .icon {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: 1px solid #d0a15a;
  color: #ba8840;
  display: grid;
  place-items: center;
  font-size: 1.45rem;
}

.faculty-support-grid h4 {
  margin-top: 8px;
  color: #13244a;
  font-size: 1.45rem;
  line-height: 1.08;
}

.faculty-support-grid p {
  margin-top: 5px;
  color: #395072;
  font-size: 0.92rem;
  line-height: 1.46;
}

.faculty-bottom-cta {
  padding: 8px 0 18px;
}

.faculty-bottom-box {
  border: 1px solid rgba(199, 150, 74, 0.45);
  border-radius: 14px;
  background: linear-gradient(90deg, #03193f 0%, #042456 55%, #03193f 100%);
  color: #f1f6ff;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.faculty-bottom-copy {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 12px;
  align-items: center;
}

.faculty-bottom-copy .badge {
  width: 58px;
  height: 58px;
  border-radius: 10px;
  border: 1px solid rgba(208, 163, 88, 0.8);
  color: #d8ad69;
  display: grid;
  place-items: center;
  font-size: 1.55rem;
}

.faculty-bottom-copy h3 {
  color: #f0f5ff;
  font-size: clamp(2rem, 2.8vw, 3rem);
  line-height: 1.05;
}

.faculty-bottom-copy p {
  margin-top: 4px;
  color: #c5d6f6;
  font-size: 0.96rem;
}

.faculty-bottom-actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.faculty-bottom-actions .btn {
  min-width: 240px;
}

.dark-section {
  position: relative;
  background: linear-gradient(180deg, #041a42, #041230);
  color: #eef4ff;
}

.dark-section .section-intro,
.dark-section p {
  color: #556482bf;
}

.timeline {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 22px;
}

.timeline-step {
  border: 1px solid rgba(203, 152, 72, 0.36);
  border-radius: 12px;
  background: rgba(7, 34, 78, 0.75);
  text-align: center;
  padding: 18px 12px;
}

.timeline-step strong {
  display: block;
  font-size: 2rem;
  color: var(--gold-300);
  font-family: "Cormorant Garamond", Georgia, serif;
}

.timeline-step h4 {
  margin-top: 4px;
  font-size: 2rem;
}

.timeline-step p {
  margin-top: 8px;
  font-size: 0.93rem;
  color: #dbe5fc;
}

.competition-roadmap {
  position: relative;
  background-image:
    radial-gradient(circle at 18% 18%, rgba(255, 220, 152, 0.14) 0%, rgba(255, 220, 152, 0) 34%),
    radial-gradient(circle at 82% 84%, rgba(109, 156, 255, 0.16) 0%, rgba(109, 156, 255, 0) 38%),
    url("../img/12.jpg");
  background-size: 137% auto;
  background-position: -170px 38%;
  min-height: 1120px;
  overflow: hidden;
}

.competition-roadmap .competition-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2, 16, 43, 0) 0%, rgba(2, 16, 43, 0) 48%, rgba(2, 16, 43, 0) 100%);
  backdrop-filter: saturate(115%);
}

.competition-roadmap .container {
  position: relative;
  z-index: 1;
}

.competition-roadmap .section-title {
  margin-top: 8px;
}

.competition-roadmap .section-intro {
  margin-top: 10px;
}

.roadmap-columns {
  margin-top: 36px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-radius: 12px 12px 0 0;
  background: linear-gradient(180deg, rgba(6, 27, 65, 0.52) 0%, rgba(4, 22, 55, 0.42) 100%);
  border: 1px solid rgba(201, 154, 79, 0.24);
  box-shadow: 0 18px 46px rgba(2, 11, 31, 0.38), inset 0 1px 0 rgba(255, 228, 176, 0.1);
}

.roadmap-col {
  min-height: 530px;
  padding: 0 18px 0;
  border-right: 1px solid rgba(203, 152, 72, 0.32);
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035) 0%, rgba(255, 255, 255, 0.01) 100%);
}

.roadmap-col:last-child {
  border-right: 0;
}

.roadmap-col h3 {
  color: var(--gold-300);
  font-size: 3rem;
  text-align: center;
  line-height: 0.95;
}

.roadmap-col h3::after {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  margin: 8px auto 0;
  background: rgba(223, 180, 109, 0.9);
}

.roadmap-list {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.roadmap-list li {
  color: #f2f6ff;
  font-size: 0.97rem;
  font-weight: 600;
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  text-shadow: 0 1px 6px rgba(2, 9, 28, 0.35);
}

.roadmap-list li i {
  color: #f0d9aa;
  font-size: 0.8rem;
}

.roadmap-node {
  --node-line: rgba(223, 180, 109, 0.78);
  --node-dot: #f4d084;
  --node-glow: rgba(244, 208, 132, 0.5);
  --trail-drop: 120px;
  --trail-shift-x: 0px;
  margin-top: auto;
  padding-top: 30px;
  display: grid;
  justify-items: center;
  position: relative;
}

.roadmap-node::before {
  content: "";
  position: absolute;
  top: 0;
  width: 2px;
  height: 26px;
  transform: translateX(var(--trail-shift-x));
  background: repeating-linear-gradient(
    to bottom,
    var(--node-line) 0 3px,
    transparent 3px 7px
  );
}

.roadmap-node::after {
  display: none;
}

.roadmap-node.stage-3 {
  --node-line: rgba(160, 194, 255, 0.78);
  --node-dot: #9ec2ff;
  --node-glow: rgba(129, 173, 255, 0.42);
}

.roadmap-node.stage-5 {
  --node-line: rgba(255, 112, 153, 0.82);
  --node-dot: #ff7ca9;
  --node-glow: rgba(250, 118, 168, 0.44);
}

.roadmap-node.stage-1 { --trail-drop: 180px; --trail-shift-x: 0px; }
.roadmap-node.stage-2 { --trail-drop: 150px; --trail-shift-x: 5px; }
.roadmap-node.stage-3 { --trail-drop: 122px; --trail-shift-x: 0px; }
.roadmap-node.stage-4 { --trail-drop: 100px; --trail-shift-x: -20px; }
.roadmap-node.stage-5 { --trail-drop: 80px; --trail-shift-x: -8px; }

.roadmap-badge {
  --badge-border: #e2b65a;
  --badge-inner-border: rgba(250, 225, 160, 0.94);
  --badge-glow: rgba(230, 190, 102, 0.22);
  --badge-fill: rgba(9, 35, 78, 0.02);
  --badge-num: #f0c85f;
  width: 62px;
  height: 68px;
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  line-height: 1;
  position: relative;
  isolation: isolate;
  filter: drop-shadow(0 0 12px var(--badge-glow));
  transform: translateX(var(--trail-shift-x));
}

.roadmap-badge::before {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% - 2px);
  width: 2px;
  height: var(--trail-drop);
  transform: translateX(-50%);
  background: repeating-linear-gradient(
    to bottom,
    var(--node-line) 0 4px,
    transparent 4px 8px
  );
}

.roadmap-badge::after {
  /*content: "";*/
  position: absolute;
  left: 50%;
  top: calc(100% + var(--trail-drop) - 2px);
  width: 12px;
  height: 12px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--node-dot);
  box-shadow:
    0 0 0 5px rgba(255, 229, 164, 0.2),
    0 0 18px rgba(255, 239, 201, 0.88),
    0 0 30px var(--node-glow);
}

.roadmap-hex {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.roadmap-hex .hex-outer {
  fill: var(--badge-fill);
  stroke: var(--badge-border);
  stroke-width: 3.2;
  vector-effect: non-scaling-stroke;
}

.roadmap-hex .hex-inner {
  fill: none;
  stroke: var(--badge-inner-border);
  stroke-width: 1.25;
  vector-effect: non-scaling-stroke;
}

.roadmap-num {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  color: var(--badge-num);
  font-size: 2.2rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0;
  text-align: center;
  width: 1ch;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 8px rgba(255, 240, 190, 0.18);
}

.roadmap-badge.stage-3 {
  --badge-border: #9ec4ff;
  --badge-inner-border: rgba(219, 233, 255, 0.95);
  --badge-glow: rgba(138, 181, 255, 0.26);
  --badge-num: #dbe9ff;
}

.roadmap-badge.stage-5 {
  --badge-border: #ff719c;
  --badge-inner-border: rgba(255, 199, 217, 0.96);
  --badge-glow: rgba(255, 121, 174, 0.28);
  --badge-num: #ffc7d9;
}

.competition-cta {
  justify-content: center;
  margin-top: 120px;
}

.competition-feature-row {
  margin-top: 28px;
  background: linear-gradient(90deg, rgba(6, 31, 77, 0.84) 0%, rgba(5, 26, 66, 0.76) 100%);
  border: 1px solid rgba(223, 180, 109, 0.24);
  box-shadow: inset 0 1px 0 rgba(255, 223, 156, 0.11);
}

.math-circle-page {
  background: #031734;
}

.math-circle-subnav {
  border-top: 1px solid rgba(214, 173, 95, 0.22);
  border-bottom: 1px solid rgba(214, 173, 95, 0.22);
  background: rgba(2, 18, 45, 0.96);
}

.math-circle-subnav .container {
  display: flex;
  align-items: center;
  gap: 12px 16px;
  overflow-x: auto;
  padding-top: 10px;
  padding-bottom: 10px;
}

.math-circle-subnav a {
  color: #d3e0fb;
  font-size: 0.9rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  padding: 8px 4px;
  border-bottom: 2px solid transparent;
}

.math-circle-subnav a i {
  color: #dcb26a;
}

.math-circle-subnav a.active {
  color: #f8d89a;
  border-bottom-color: #d7a95b;
}

.math-circle-hero::before {
  background:
    linear-gradient(88deg, rgba(2, 14, 36, 0.94) 0%, rgba(3, 20, 51, 0.76) 42%, rgba(4, 23, 55, 0.32) 100%),
    radial-gradient(circle at 18% 16%, rgba(230, 190, 104, 0.18) 0%, rgba(230, 190, 104, 0) 34%);
}

.math-circle-hero .math-circle-hero-inner {
  padding: 48px 0 164px;
}

.math-circle-hero .container {
  width: min(1180px, calc(100% - 34px));
}

.math-circle-copy-panel {
  max-width: 520px;
  text-align: left;
  padding: 20px 18px 18px;
  border-radius: 10px;
  border: 1px solid rgba(219, 175, 95, 0.24);
  background-image:
    linear-gradient(102deg, rgba(4, 23, 56, 0.82) 0%, rgba(5, 26, 64, 0.7) 58%, rgba(5, 26, 64, 0.5) 100%),
    url("../img/11.jpg");
  background-size: cover;
  background-position: center;
  box-shadow: inset 0 1px 0 rgba(255, 227, 168, 0.15);
}

.math-circle-copy-panel h1 {
  font-size: clamp(3.1rem, 6.4vw, 5.1rem);
  line-height: 0.96;
  color: #f8f8fb;
}

.math-circle-copy-panel h2 {
  margin-top: 10px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2rem, 3.1vw, 3.05rem);
  line-height: 1.04;
  color: #dfb76d;
}

.math-circle-copy-panel p {
  margin-top: 18px;
  max-width: 470px;
  color: #d9e5fb;
  font-size: 1rem;
  line-height: 1.5;
}

.math-circle-divider {
  display: block;
  margin-top: 18px;
  width: 56px;
  height: 2px;
  background: linear-gradient(90deg, #e7c783 0%, rgba(231, 199, 131, 0.3) 100%);
}

.math-circle-emphasis {
  margin-top: 14px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.05rem, 3.25vw, 3.1rem);
  color: #e0b86f;
  line-height: 1.06;
}

.math-circle-main {
  padding-top: 0;
  background: #051b3a;
}

.math-circle-cards {
  margin-top: -120px;
  position: relative;
  z-index: 2;
  gap: 10px;
}

.math-circle-cards .card {
  border-color: #cad2df;
  box-shadow: none;
  border-radius: 10px;
  background: #fdfdfd;
}

.math-circle-cards .card.pad {
  padding: 22px 20px 18px;
}

.math-circle-cards .icon-badge {
  margin: 0 auto 12px;
}

.math-circle-cards h4 {
  font-size: 2.05rem;
  text-align: center;
  line-height: 0.95;
  color: #182442;
}

.math-circle-grade {
  margin-top: 8px;
  text-align: center;
  color: #182442;
  font-weight: 800;
}

.math-circle-cards .card > p {
  margin-top: 14px;
  color: #2c3a58;
  font-size: 0.94rem;
  line-height: 1.48;
}

.math-circle-checklist {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
  border-bottom: 1px solid #e6dcc7;
  padding-bottom: 14px;
}

.math-circle-checklist li {
  position: relative;
  padding-left: 24px;
  color: #182947;
  font-size: 0.93rem;
}

.math-circle-checklist li::before {
  content: "\f058";
  position: absolute;
  left: 0;
  top: 0.08em;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #2f7a4b;
  font-size: 0.83rem;
}

.math-circle-cards article:nth-child(2) .math-circle-checklist li::before {
  color: #2f5ea8;
}

.math-circle-cards article:nth-child(3) .math-circle-checklist li::before {
  color: #5e4ba5;
}

.math-circle-cards article:nth-child(4) .math-circle-checklist li::before {
  color: #97713b;
}

.math-circle-cards .card-link {
  margin-top: 12px;
  justify-content: center;
  color: #1b355e;
  font-weight: 700;
}

.math-circle-cta {
  margin-top: 18px;
  border-radius: 14px;
  border: 1px solid rgba(219, 174, 92, 0.48);
  background-image:
    linear-gradient(95deg, rgba(2, 22, 58, 0.95) 0%, rgba(2, 32, 78, 0.9) 62%, rgba(5, 25, 61, 0.94) 100%),
    url("../img/12.jpg");
  background-size: cover;
  background-position: center;
  padding: 18px 18px 20px;
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255, 232, 186, 0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.math-circle-cta-icon {
  width: 42px;
  height: 42px;
  margin: 0 auto;
  border-radius: 50%;
  border: 1px solid rgba(223, 182, 105, 0.72);
  display: grid;
  place-items: center;
  color: #dfb66b;
  background: rgba(2, 16, 43, 0.8);
}

.math-circle-cta h3 {
  margin-top: 10px;
  color: #f4f7ff;
  font-size: 1.75rem;
  line-height: 1.15;
}

.math-circle-cta .btn {
  margin-top: 14px;
  min-width: 300px;
  display: inline-flex;
}

.math-circle-cta-link {
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #eac989;
  font-weight: 700;
  white-space: normal;
  justify-content: center;
}

.competition-details-page {
  background: #041c44;
}

.competition-details-hero::before {
  background: linear-gradient(90deg, rgba(3, 18, 46, 0.9) 0%, rgba(4, 23, 56, 0.78) 44%, rgba(4, 23, 56, 0.56) 100%);
}

.competition-details-section {
  background: linear-gradient(180deg, #07285f 0%, #041c44 100%);
}

.competition-details-note {
  color: #d6e3ff;
  margin-bottom: 14px;
  font-size: 0.94rem;
}

.competition-details-note code {
  background: rgba(255, 255, 255, 0.14);
  padding: 2px 6px;
  border-radius: 6px;
  color: #f3f7ff;
}

.competition-details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.competition-category-card {
  border: 1px solid rgba(208, 168, 95, 0.38);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(5, 33, 78, 0.9) 0%, rgba(4, 27, 66, 0.9) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 228, 176, 0.12);
  padding: 16px 16px 14px;
}

.competition-category-card h3 {
  color: #f0d8ad;
  font-size: 2rem;
  margin-bottom: 8px;
}

.competition-category-card ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}

.competition-category-card li {
  color: #dfebff;
  font-size: 0.93rem;
  line-height: 1.45;
}

.competition-details-pager {
  margin-top: 16px;
}

.competition-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.pagination-btn {
  border: 1px solid rgba(206, 163, 86, 0.44);
  background: rgba(7, 38, 92, 0.82);
  color: #e7f0ff;
  border-radius: 8px;
  padding: 7px 12px;
  font-size: 0.86rem;
  font-weight: 700;
  cursor: pointer;
  min-width: 44px;
}

.pagination-btn.active {
  background: linear-gradient(180deg, #dbb474 0%, #bc8739 100%);
  color: #fff;
}

.pagination-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.pathway-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  color: #fff;
}

.pathway-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(2, 18, 47, 0.94) 0%, rgba(3, 24, 62, 0.82) 44%, rgba(3, 19, 46, 0.6) 100%);
}

.pathway-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(0, 0.72fr);
  gap: 28px;
  align-items: start;
  padding: 54px 0 34px;
}

.pathway-copy h1 {
  font-size: clamp(3.1rem, 6vw, 5.2rem);
  line-height: 0.92;
}

.pathway-copy h2 {
  margin-top: 16px;
  color: #e3b867;
  font-size: clamp(2rem, 3.8vw, 3.5rem);
  line-height: 0.95;
}

.pathway-copy p {
  margin-top: 14px;
  max-width: 620px;
  color: #d7e3fa;
  /*font-size: 1.02rem;*/
}

.pathway-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  max-width: none;
  width: min(1120px, calc(100vw - 84px));
  font-size: 0.88rem;
  line-height: 1.55;
  color: #e7efff;
}

.pathway-note i {
  margin-top: 3px;
  flex: 0 0 auto;
}

.pathway-points {
  margin-top: 12px;
  display: grid;
  gap: 12px;
}

.pathway-points article {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 10px;
  align-items: center;
}

.point-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(228, 187, 108, 0.74);
  display: grid;
  place-items: center;
  color: #e3ba71;
  background: rgba(5, 31, 71, 0.62);
}

.pathway-points strong {
  display: block;
  color: #f4f8ff;
  font-size: 0.98rem;
  letter-spacing: 0.015em;
}

.pathway-points small {
  display: block;
  color: #d2def6;
  margin-top: 1px;
  font-size: 0.89rem;
}

.pathway-main {
  background: linear-gradient(180deg, #031a44 0%, #02153b 62%, #021232 100%);
  padding: 10px 0 26px;
}

.pathway-dashboard {
  background: #f9fbff;
  border: 1px solid #d4ddeb;
  border-radius: 14px;
  box-shadow: 0 14px 30px rgba(7, 21, 46, 0.18);
  display: grid;
  grid-template-columns: 1fr 1.6fr 1fr 1fr;
  overflow: hidden;
}

.dash-col {
  padding: 14px 14px 12px;
  border-right: 1px solid #dce3ee;
}

.dash-col:last-child {
  border-right: 0;
}

.dash-col header {
  min-height: 42px;
  border-bottom: 1px solid #dde5f0;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #19294c;
  font-weight: 800;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
}

.dash-col header i {
  color: #15274c;
}

.profile-card {
  margin-top: 10px;
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 10px;
  align-items: center;
}

.profile-card img {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  object-fit: cover;
}

.profile-card strong {
  display: block;
  color: #1e2f55;
  font-size: 0.95rem;
}

.profile-card span {
  color: #455577;
  font-size: 0.9rem;
}

.dash-col h5 {
  margin: 12px 0 7px;
  font-size: 0.77rem;
  color: #445271;
  letter-spacing: 0.06em;
}

.chip-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.chip-wrap span {
  background: #eef3fb;
  border: 1px solid #dce4f0;
  border-radius: 5px;
  padding: 4px 8px;
  color: #27395f;
  font-size: 0.75rem;
  white-space: nowrap;
}

.curriculum-grid {
  margin-top: 10px;
  display: grid;
  gap: 6px;
}

.curriculum-grid > div {
  display: grid;
  grid-template-columns: 64px repeat(4, minmax(0, 1fr));
  gap: 6px;
  align-items: center;
}

.curriculum-grid .grid-header span {
  font-size: 0.68rem;
  color: #556482;
  font-weight: 700;
  text-align: center;
}

.curriculum-grid strong {
  color: #20335a;
  font-size: 0.75rem;
}

.curriculum-grid div span {
  background: #eff4fb;
  border: 1px solid #dae3ef;
  border-radius: 4px;
  color: #27395f;
  text-align: center;
  padding: 6px 4px;
  font-size: 0.68rem;
}

.curriculum-legend {
  margin-top: 10px;
  display: flex;
  gap: 16px;
  align-items: center;
  color: #4f5f7c;
  font-size: 0.72rem;
}

.curriculum-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;
}

.dot.done { background: #8ca58a; }
.dot.now { background: #d0b989; }
.dot.plan { background: #a4acc1; }

.calendar-list {
  margin-top: 10px;
  display: grid;
  gap: 10px;
}

.calendar-list article {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 10px;
}

.calendar-list b {
  color: #1c2f56;
  font-size: 0.78rem;
  line-height: 1.1;
}

.calendar-list strong {
  display: block;
  color: #1e3058;
  font-size: 0.84rem;
}

.calendar-list span {
  color: #556482;
  font-size: 0.77rem;
}

.uni-list {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.uni-list li {
  color: #25385f;
  font-size: 0.87rem;
  display: flex;
  align-items: center;
  gap: 10px;
}

.uni-list .badge {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  color: #fff;
  font-size: 0.62rem;
  font-weight: 800;
}

.badge.red { background: #8f2431; }
.badge.blue { background: #204f88; }
.badge.gold { background: #a77d33; }

.goal-btn {
  margin-top: 12px;
  width: 100%;
  border: 1px solid #cfd9e9;
  background: #fff;
  color: #33496f;
  border-radius: 7px;
  min-height: 36px;
  font-weight: 700;
}

.pathway-process {
  margin-top: 20px;
  border-top: 1px solid rgba(210, 175, 102, 0.28);
  border-bottom: 1px solid rgba(210, 175, 102, 0.22);
  padding: 18px 8px 26px;
}

.pathway-process h2 {
  text-align: center;
  color: #f2f7ff;
  font-size: clamp(2rem, 3.5vw, 3.5rem);
  margin-bottom: 18px;
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 6px;
}

.process-grid article {
  text-align: center;
  position: relative;
  padding: 0 6px;
}

.process-grid article:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 25px;
  right: -10px;
  width: 20px;
  border-top: 1px dashed rgba(212, 173, 95, 0.7);
}

.process-icon {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  margin: 0 auto;
  border: 1px solid rgba(217, 180, 102, 0.75);
  background: rgba(4, 31, 75, 0.65);
  display: grid;
  place-items: center;
  color: #ddb66f;
  font-size: 1.35rem;
}

.process-icon .ap-mark {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.7rem;
  line-height: 1;
  letter-spacing: 0.03em;
}

.process-grid b {
  display: inline-grid;
  place-items: center;
  margin-top: 6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid rgba(217, 180, 102, 0.55);
  color: #dcb064;
  font-size: 0.74rem;
}

.process-grid h4 {
  margin-top: 8px;
  color: #f0f5ff;
  font-size: 1.75rem;
  line-height: 1.02;
}

.process-grid p {
  margin-top: 6px;
  color: #c5d5f2;
  font-size: 0.82rem;
}

.process-cta {
  justify-content: center;
  margin-top: 22px;
}

.process-footnote {
  margin-top: 8px;
  text-align: center;
  color: #d0dbf1;
  font-size: 0.95rem;
}

.pathway-advantages {
  background: #031129;
  border-top: 1px solid rgba(220, 184, 108, 0.25);
}

.advantage-grid {
  min-height: 94px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.advantage-grid article {
  padding: 16px 14px;
  border-right: 1px solid rgba(220, 184, 108, 0.2);
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px;
  align-items: center;
}

.advantage-grid article:last-child {
  border-right: 0;
}

.adv-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(220, 184, 108, 0.7);
  color: #dbb064;
  background: rgba(4, 28, 66, 0.7);
  display: grid;
  place-items: center;
}

.advantage-grid strong {
  display: block;
  color: #f4f8ff;
  font-size: 0.98rem;
}

.advantage-grid p {
  margin-top: 3px;
  color: #bfcce8;
  font-size: 0.82rem;
}

.cta-band {
  margin-top: 26px;
  border: 1px solid rgba(203, 152, 72, 0.45);
  border-radius: 14px;
  padding: 20px;
  background: linear-gradient(90deg, #05204e 0%, #06295f 100%);
  color: #f2f7ff;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.cta-band h3 {
  font-size: 2.05rem;
}

.feature-row {
  margin-top: 20px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(203, 152, 72, 0.32);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.feature {
  padding: 18px 14px;
  text-align: center;
  border-right: 1px solid rgba(203, 152, 72, 0.23);
  color: #e8f0ff;
  font-size: 0.95rem;
  display: grid;
  justify-items: center;
  gap: 7px;
}

.feature:last-child {
  border-right: 0;
}

.media-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.media-card .pad {
  padding: 18px;
}

.form-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 16px;
}

.field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px 14px;
}

.field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.field.full {
  grid-column: 1 / -1;
}

label {
  font-size: 0.9rem;
  font-weight: 700;
  color: #182948;
}

input,
select,
textarea {
  border: 1px solid #d0d8e8;
  border-radius: 8px;
  min-height: 40px;
  padding: 8px 11px;
  font-family: inherit;
  font-size: 0.95rem;
}

textarea {
  min-height: 96px;
  resize: vertical;
}

.error {
  min-height: 14px;
  color: #bd2d2d;
  font-size: 0.8rem;
}

.success-message {
  margin-top: 10px;
  color: #197c44;
  font-weight: 700;
}

.site-footer {
  margin-top: 0;
  background: #031733;
  border-top: 1px solid rgba(203, 152, 72, 0.3);
  color: #d6e2fb;
  scroll-margin-top: 96px;
}

.footer-top {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 18px;
  padding: 32px 0;
}

.footer-col h5 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 1.2rem;
}

.footer-col a,
.footer-col p {
  display: block;
  margin-bottom: 6px;
  color: #d6e2fb;
  font-size: 0.92rem;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding: 12px 0 16px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 0.86rem;
}

@media (max-width: 1200px) {
  .main-nav a {
    font-size: 0.73rem;
    padding: 11px 8px;
  }

  .grid-6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .grid-5 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .timeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .roadmap-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 18px;
  }

  .roadmap-col {
    min-height: 430px;
  }

  .pathway-hero-grid {
    grid-template-columns: 1fr;
  }

  .pathway-note {
    width: 100%;
  }

  .pathway-dashboard {
    grid-template-columns: 1fr 1fr;
  }

  .process-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px 8px;
  }

  .process-grid article:not(:last-child)::after {
    display: none;
  }

  .advantage-grid {
    grid-template-columns: 1fr 1fr;
  }

  .feature-row,
  .stat-band {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-diagnose-copy {
    padding-left: 40px;
    padding-right: 10px;
  }

  .math-circle-copy-panel {
    max-width: 580px;
  }

  .competition-details-grid {
    grid-template-columns: 1fr;
  }

  body[data-page="newmha"] .math-subject-hero-grid,
  body[data-page="newmha"] .math-track-grid,
  body[data-page="newmha"] .math-detail-grid,
  body[data-page^="honors-math-"] .math-detail-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  body[data-page="newmha"] .math-accordion-grid,
  body[data-page^="honors-math-"] .math-accordion-grid {
    grid-template-columns: 1fr;
  }

  body[data-page="newmha"] .math-hero-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="newmha"] .math-subject-visual,
  body[data-page="newmha"] .math-track-visual-frame,
  body[data-page^="honors-math-"] .math-subject-visual,
  body[data-page^="honors-math-"] .math-track-visual-frame {
    min-height: 340px;
  }

  body[data-page="newmha"] .math-subject-visual-panel {
    max-width: none;
  }
}

@media (max-width: 900px) {
  .menu-toggle {
    display: inline-flex;
  }

  .nav-wrap {
    min-height: 74px;
    flex-wrap: wrap;
    padding: 10px 0;
    gap: 10px;
  }

  .main-nav {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    margin: 0;
    flex-direction: column;
    align-items: stretch;
    transition: max-height 0.24s ease;
  }

  .main-nav.open {
    max-height: 560px;
    padding: 8px 0 12px;
    margin-top: 4px;
    border: 1px solid rgba(201, 154, 79, 0.32);
    border-radius: 10px;
    background: rgba(3, 22, 54, 0.92);
  }

  .main-nav a,
  .main-nav button {
    font-size: 0.92rem;
    padding: 11px 12px;
  }

  .nav-dropdown {
    width: 100%;
  }

  .nav-dropdown-link {
    width: 100%;
    justify-content: space-between;
  }

  .nav-dropdown-menu {
    position: static;
    min-width: 0;
    display: none;
    margin-top: 0;
    padding: 0 0 4px 12px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
    gap: 4px;
  }

  .nav-dropdown.open .nav-dropdown-menu,
  .nav-dropdown:focus-within .nav-dropdown-menu {
    display: grid;
  }

  .nav-dropdown-menu a {
    padding: 10px 12px 10px 18px;
  }

  .header-cta {
    margin-left: auto;
  }

  .hero-inner,
  .page-banner .container {
    padding: 36px 0;
  }

  .content-block {
    padding: 40px 0;
  }

  .section-title {
    font-size: clamp(1.9rem, 8vw, 2.7rem);
    margin-bottom: 8px;
  }

  .section-intro {
    font-size: 0.94rem;
    line-height: 1.58;
  }

  .page-title-panel {
    padding: 34px 0 26px;
  }

  .page-title-panel p {
    margin-top: 10px;
    font-size: 0.95rem;
  }

  .hero-copy p,
  .page-banner p {
    font-size: 0.96rem;
    line-height: 1.58;
  }

  .hero-list {
    gap: 8px;
  }

  .hero-list li {
    padding: 9px 10px;
    font-size: 0.86rem;
  }

  .mini-strip {
    margin-top: -42px;
    padding-bottom: 22px;
  }

  .strip-grid {
    grid-template-columns: 1fr 1fr;
  }

  .strip-grid .item {
    padding: 16px 10px;
  }

  .strip-grid .item:nth-child(2n) {
    border-right: 0;
  }

  .strip-grid .item:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(203, 152, 72, 0.26);
  }

  .roadmap-columns {
    grid-template-columns: 1fr;
    margin-top: 18px;
  }

  .roadmap-col {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(203, 152, 72, 0.28);
    padding: 0 8px 20px;
  }

  .roadmap-col:last-child {
    border-bottom: 0;
  }

  .roadmap-node {
    margin-top: 14px;
    padding-top: 18px;
  }

  .roadmap-node {
    --trail-drop: 30px;
    --trail-shift-x: 0px;
  }

  .pathway-main {
    padding-top: 0;
  }

  .pathway-copy h1 {
    font-size: clamp(2.5rem, 8vw, 4rem);
  }

  .pathway-copy h2 {
    font-size: clamp(1.8rem, 6vw, 2.8rem);
  }

  .pathway-dashboard {
    grid-template-columns: 1fr;
  }

  .dash-col {
    border-right: 0;
    border-bottom: 1px solid #dce3ee;
  }

  .dash-col:last-child {
    border-bottom: 0;
  }

  .curriculum-grid > div {
    grid-template-columns: 1fr;
  }

  .curriculum-grid .grid-header {
    display: none;
  }

  .process-grid {
    grid-template-columns: 1fr 1fr;
  }

  .advantage-grid {
    grid-template-columns: 1fr;
  }

  .advantage-grid article {
    border-right: 0;
    border-bottom: 1px solid rgba(220, 184, 108, 0.2);
  }

  .advantage-grid article:last-child {
    border-bottom: 0;
  }

  .hero-inner {
    grid-template-columns: 1fr;
  }

  .hero-actions .btn {
    width: 100%;
  }

  .home-diagnose-inner {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .home-diagnose-visual {
    display: none;
  }

  .visual-glow {
    top: 32%;
    left: 50%;
    transform: translateX(-50%);
    width: 140px;
  }

  .home-diagnose-copy {
    padding: 26px 14px 22px;
  }

  .home-diagnose-copy h2 {
    font-size: clamp(2rem, 8vw, 3rem);
  }

  .home-diagnose-copy p {
    margin-top: 18px;
    max-width: none;
    font-size: 0.98rem;
    line-height: 1.58;
  }

  .home-diagnose-actions {
    margin-top: 24px;
  }

  .home-diagnose-actions .btn {
    width: 100%;
    min-width: 0;
    min-height: 50px;
  }

  .home-diagnose-points {
    margin-top: 16px;
    padding-top: 16px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 12px;
  }

  .pathway-note {
    width: 100%;
  }

  .math-circle-hero .math-circle-hero-inner {
    padding: 30px 0 28px;
  }

  .math-circle-subnav .container {
    gap: 8px;
    padding-top: 8px;
    padding-bottom: 8px;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .math-circle-subnav a {
    font-size: 0.83rem;
    gap: 6px;
    flex: 0 0 auto;
    padding: 9px 12px;
    border: 1px solid rgba(203, 152, 72, 0.34);
    border-radius: 999px;
    background: rgba(3, 26, 67, 0.42);
  }

  .math-circle-copy-panel {
    max-width: none;
    padding: 14px 12px 14px;
    background: rgba(3, 19, 49, 0.76);
    backdrop-filter: blur(2px);
  }

  .math-circle-copy-panel p {
    margin-top: 10px;
    max-width: none;
  }

  .math-circle-emphasis {
    margin-top: 12px;
    font-size: clamp(1.7rem, 6.7vw, 2.25rem);
  }

  .math-circle-cards {
    margin-top: 14px;
  }

  .math-circle-cta h3 {
    font-size: 1.45rem;
  }

  .math-circle-cta .btn {
    width: 100%;
    min-width: 0;
  }

  .math-circle-cta-link {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
    line-height: 1.45;
  }

  .competition-category-card h3 {
    font-size: 1.7rem;
  }

  .programs-modal-dialog {
    width: calc(100% - 18px);
    max-height: 82vh;
    padding: 14px 12px 12px;
  }

  .site-header .container {
    width: calc(100% - 14px);
  }

  .nav-wrap {
    align-items: center;
    justify-content: space-between;
    padding: 10px 0 12px;
  }

  .brand {
    gap: 10px;
    min-width: 0;
  }

  .brand-shield {
    width: 46px;
    height: 46px;
  }

  .brand-text {
    font-size: 1.65rem;
    line-height: 0.95;
    letter-spacing: 0.02em;
  }

  .brand-text small {
    font-size: 0.56rem;
    letter-spacing: 0.16em;
  }

  .header-cta {
    order: 3;
    width: 100%;
    margin: 6px 0 0;
  }

  .header-cta.btn,
  .header-cta .btn {
    width: 100%;
    max-width: none;
    justify-content: center;
  }

  .main-nav {
    order: 4;
  }

  .tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .tab-btn {
    flex: 0 0 auto;
    min-width: 158px;
  }

  .programs-paged-grid {
    margin-top: 12px !important;
  }

  .programs-paged-grid .card h4 {
    font-size: 1.36rem;
  }

  body[data-page="programs"] .programs-coverage-note {
    margin-top: 12px;
    padding: 10px 12px;
    font-size: 0.88rem;
  }

  body[data-page="programs"] .programs-paged-grid .card ul li:nth-child(n + 4) {
    display: none;
  }

  body[data-page="programs"] .programs-paged-grid .card p,
  body[data-page="programs"] .programs-paged-grid .card li {
    font-size: 0.9rem;
  }

  body[data-page="programs"] .competition-pagination {
    gap: 6px;
    flex-wrap: wrap;
  }

  .programs-pager {
    margin-top: 12px;
  }

  body[data-page="question-bank"] main > section:first-of-type .container,
  body[data-page="online-school"] main > section:first-of-type .container,
  body[data-page="contact"] main > section:first-of-type .container {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body[data-page="contact"] .contact-hero {
    padding-top: 20px !important;
  }

  body[data-page="contact"] .contact-hero-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body[data-page="contact"] .contact-hero-copy h1 {
    font-size: clamp(2.3rem, 8.6vw, 3.4rem);
  }

  body[data-page="contact"] .contact-hero-copy p {
    font-size: 0.96rem;
  }

  body[data-page="contact"] .contact-hero-visual {
    min-height: 180px;
    border-radius: 10px;
  }

  body[data-page="question-bank"] .qb-hero-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body[data-page="question-bank"] .qb-copy h1 {
    font-size: clamp(2.35rem, 9vw, 3.35rem) !important;
  }

  body[data-page="question-bank"] .qb-lead {
    font-size: clamp(1.35rem, 5.8vw, 2rem);
  }

  body[data-page="question-bank"] .qb-detail {
    font-size: 0.93rem;
    line-height: 1.58;
  }

  body[data-page="question-bank"] .qb-actions .btn {
    width: 100%;
  }

  body[data-page="question-bank"] .qb-visual {
    display: none;
  }

  body[data-page="question-bank"] .qb-heading {
    font-size: clamp(1.8rem, 7.2vw, 2.35rem);
  }

  body[data-page="question-bank"] .qb-heading::before,
  body[data-page="question-bank"] .qb-heading::after {
    display: none;
  }

  body[data-page="question-bank"] .qb-feature-grid {
    grid-template-columns: 1fr;
  }

  body[data-page="question-bank"] .qb-feature-card {
    grid-template-columns: 74px 1fr;
    padding: 14px 12px;
    gap: 10px;
  }

  body[data-page="question-bank"] .qb-icon {
    width: 64px;
    height: 64px;
    font-size: 1.52rem;
  }

  body[data-page="question-bank"] .qb-feature-card h4 {
    font-size: 1.45rem;
  }

  body[data-page="question-bank"] .qb-feature-card p {
    font-size: 0.9rem;
  }

  body[data-page="question-bank"] .qb-highlight-grid {
    grid-template-columns: 1fr 1fr;
  }

  body[data-page="question-bank"] .qb-highlight-grid article {
    border-right: 1px solid #e3e8f1;
    border-bottom: 1px solid #e3e8f1;
  }

  body[data-page="question-bank"] .qb-highlight-grid article:nth-child(2n) {
    border-right: 0;
  }

  body[data-page="question-bank"] .qb-highlight-grid article:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  body[data-page="question-bank"] .qb-highlight-grid h4 {
    font-size: 1.2rem;
  }

  body[data-page="question-bank"] .qb-highlight-grid p {
    font-size: 0.84rem;
  }

  body[data-page="question-bank"] .qb-cta {
    flex-direction: column;
    align-items: stretch;
    padding: 14px 12px;
  }

  body[data-page="question-bank"] .qb-cta-copy {
    grid-template-columns: 48px 1fr;
  }

  body[data-page="question-bank"] .qb-cta-badge {
    width: 44px;
    height: 44px;
    font-size: 1.2rem;
  }

  body[data-page="question-bank"] .qb-cta h3 {
    font-size: clamp(1.45rem, 6vw, 2rem);
  }

  body[data-page="question-bank"] .qb-cta .btn {
    width: 100%;
    min-width: 0;
  }

  body[data-page="question-bank"] main > section:first-of-type img,
  body[data-page="online-school"] main > section:first-of-type img,
  body[data-page="contact"] main > section:first-of-type img {
    display: none;
  }

  body[data-page="question-bank"] main > section:first-of-type h1,
  body[data-page="online-school"] main > section:first-of-type h1,
  body[data-page="contact"] main > section:first-of-type h1 {
    font-size: clamp(2.35rem, 9vw, 3.35rem) !important;
    line-height: 0.98 !important;
  }

  body[data-page="question-bank"] main > section:first-of-type,
  body[data-page="online-school"] main > section:first-of-type,
  body[data-page="contact"] main > section:first-of-type {
    padding-top: 34px !important;
    padding-bottom: 20px !important;
  }

  body[data-page="question-bank"] .hero-actions,
  body[data-page="online-school"] .hero-actions {
    margin-top: 14px !important;
  }

  body[data-page="question-bank"] .hero-actions .btn,
  body[data-page="online-school"] .hero-actions .btn {
    width: 100%;
  }

  body[data-page="online-school"] .hero-list {
    display: none;
  }

  body[data-page="about"] .page-banner .container {
    padding-top: 34px !important;
    padding-bottom: 74px !important;
  }

  body[data-page="about"] .mini-strip {
    margin-top: -24px !important;
  }

  body[data-page="about"] .about-card-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  body[data-page="about"] .about-card {
    min-height: 0;
    padding: 16px 14px;
  }

  body[data-page="about"] .about-card h4 {
    font-size: 2.3rem;
  }

  body[data-page="about"] .about-journey-top {
    flex-direction: column;
    align-items: stretch;
    padding: 14px 12px;
  }

  body[data-page="about"] .about-journey-copy {
    grid-template-columns: 54px 1fr;
    gap: 10px;
  }

  body[data-page="about"] .about-journey-cap {
    width: 48px;
    height: 48px;
    font-size: 1.3rem;
  }

  body[data-page="about"] .about-journey-copy h3 {
    font-size: clamp(1.5rem, 6.4vw, 2.1rem);
  }

  body[data-page="about"] .about-journey-copy p {
    font-size: 0.92rem;
  }

  body[data-page="about"] .about-journey-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  body[data-page="about"] .about-journey-actions .btn {
    min-width: 0;
    width: 100%;
  }

  body[data-page="about"] .about-journey-bottom {
    grid-template-columns: 1fr 1fr;
  }

  body[data-page="about"] .about-journey-bottom article {
    border-right: 1px solid rgba(198, 145, 62, 0.2);
    border-bottom: 1px solid rgba(198, 145, 62, 0.2);
  }

  body[data-page="about"] .about-journey-bottom article:nth-child(2n) {
    border-right: 0;
  }

  body[data-page="about"] .about-journey-bottom article:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  body[data-page="pathway-planning"] .pathway-hero-grid {
    gap: 14px;
  }

  body[data-page="pathway-planning"] .pathway-copy h1 {
    font-size: clamp(2.25rem, 9vw, 3.3rem);
  }

  body[data-page="pathway-planning"] .pathway-copy h2 {
    font-size: clamp(1.65rem, 7vw, 2.35rem);
  }

  body[data-page="pathway-planning"] .pathway-copy p {
    font-size: 0.94rem;
    line-height: 1.56;
  }

  body[data-page="pathway-planning"] .pathway-note {
    width: 100%;
    max-width: none;
    font-size: 0.92rem;
    line-height: 1.5;
  }

  body[data-page="pathway-planning"] .pathway-points {
    display: none;
  }

  body[data-page="pathway-planning"] .dash-col {
    padding: 14px 12px;
  }

  body[data-page="pathway-planning"] .process-grid {
    grid-template-columns: 1fr;
  }

  body[data-page="pathway-planning"] .process-grid article {
    padding: 14px 12px;
  }

  body[data-page="competitions"] .competition-roadmap {
    background-size: cover;
    background-position: center 38%;
    min-height: auto;
  }

  body[data-page="competitions"] .competition-roadmap .container {
    padding-top: 18px !important;
  }

  body[data-page="competitions"] .roadmap-columns {
    grid-template-columns: 1fr !important;
    margin-top: 14px;
    border-radius: 12px;
    background: rgba(5, 28, 69, 0.74);
    border: 1px solid rgba(201, 154, 79, 0.26);
    box-shadow: none;
  }

  body[data-page="competitions"] .roadmap-col {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(203, 152, 72, 0.18);
    padding: 12px 12px 14px;
  }

  body[data-page="competitions"] .roadmap-col:last-child {
    border-bottom: 0;
  }

  body[data-page="competitions"] .roadmap-col h3 {
    font-size: 1.8rem;
    margin-bottom: 8px;
  }

  body[data-page="competitions"] .roadmap-col h3::after {
    margin-top: 6px;
  }

  body[data-page="competitions"] .roadmap-list {
    margin-top: 12px;
    gap: 9px;
  }

  body[data-page="competitions"] .roadmap-list li {
    min-height: auto;
    padding: 8px 0;
    font-size: 0.92rem;
    line-height: 1.35;
  }

  body[data-page="competitions"] .roadmap-list li i {
    display: none;
  }

  body[data-page="competitions"] .roadmap-node,
  body[data-page="competitions"] .roadmap-node::before,
  body[data-page="competitions"] .roadmap-node::after,
  body[data-page="competitions"] .roadmap-badge,
  body[data-page="competitions"] .roadmap-badge::before,
  body[data-page="competitions"] .roadmap-badge::after {
    display: none !important;
  }

  body[data-page="competitions"] .competition-cta {
    margin-top: 16px !important;
  }

  body[data-page="competitions"] .competition-feature-row {
    margin-top: 14px;
  }

  body[data-page="camps-intensives"] .dark-section.content-block .container {
    padding-left: 2px;
    padding-right: 2px;
  }

  body[data-page="camps-intensives"] .hero-actions {
    justify-content: stretch !important;
  }

  body[data-page="camps-intensives"] .hero-actions .btn {
    width: 100%;
  }

  body[data-page="contact"] .form-layout {
    grid-template-columns: 1fr;
  }

  body[data-page="contact"] .hero-actions button.btn {
    width: 100%;
    min-width: 0 !important;
  }

  body[data-page="contact"] .contact-form-card {
    border-right: 0;
    border-bottom: 1px solid #e1e7f2;
  }

  body[data-page="contact"] .contact-side {
    padding: 10px;
  }

  body[data-page="contact"] .contact-promo-card h4,
  body[data-page="contact"] .contact-waiting-card h4 {
    font-size: 2rem;
    grid-template-columns: 42px 1fr;
  }

  body[data-page="contact"] .contact-promo-card h4 i,
  body[data-page="contact"] .contact-waiting-card h4 i {
    font-size: 1.8rem;
  }

  body[data-page="contact"] .contact-touch-card h4 {
    font-size: 2.1rem;
  }

  body[data-page="contact"] .contact-stat-band .stat {
    text-align: left;
  }

  .faculty-hero-grid {
    grid-template-columns: 1fr;
  }

  .faculty-hero-copy h1 {
    font-size: clamp(2.35rem, 8.4vw, 3.7rem);
  }

  .faculty-hero-lead {
    font-size: clamp(1.4rem, 5.6vw, 2.1rem);
  }

  .faculty-hero-collage .tile-a {
    min-height: 230px;
  }

  .faculty-hero-collage .tile-b,
  .faculty-hero-collage .tile-c,
  .faculty-hero-collage .tile-d {
    min-height: 132px;
  }

  .faculty-value-grid {
    grid-template-columns: 1fr 1fr;
  }

  .faculty-value-grid article {
    border-right: 1px solid rgba(194, 146, 72, 0.25);
    border-bottom: 1px solid rgba(194, 146, 72, 0.25);
  }

  .faculty-value-grid article:nth-child(2n) {
    border-right: 0;
  }

  .faculty-value-grid article:nth-last-child(-n + 1) {
    border-bottom: 0;
  }

  .faculty-approach-grid {
    grid-template-columns: 1fr 1fr;
  }

  .faculty-section-title::before,
  .faculty-section-title::after {
    display: none;
  }

  .faculty-profile.feature {
    grid-template-columns: 1fr;
  }

  .faculty-profile.feature img {
    min-height: 230px;
  }

  .faculty-profile-content h3 {
    font-size: 2rem;
  }

  .faculty-bullets {
    gap: 10px;
  }

  .faculty-bullets {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .faculty-profile-grid {
    grid-template-columns: 1fr;
  }

  .faculty-support-grid {
    grid-template-columns: 1fr 1fr;
  }

  .faculty-bottom-box {
    flex-direction: column;
    align-items: stretch;
  }

  .faculty-bottom-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .faculty-bottom-actions .btn {
    min-width: 0;
    width: 100%;
  }

  .grid-2,
  .grid-3,
  .grid-4,
  .grid-5,
  .grid-6,
  .timeline,
  .field-grid,
  .form-layout,
  .feature-row,
  .stat-band,
  .strip-grid,
  .footer-top {
    grid-template-columns: 1fr;
  }

  .cta-band {
    align-items: stretch;
  }

  .cta-band .btn {
    width: 100%;
  }
}

/* newmha reference alignment: keep the hero photo, its dashed guide and
   the white cut-out on the same visual center.  The original rules used
   unrelated circles, so the photo appeared detached from both decorations. */
body[data-page="newmha"] .aops-hero-photo {
  height: 280px;
}

body[data-page="newmha"] .aops-hero-photo::before {
  left: -72px;
  top: 8px;
  width: 276px;
  height: 276px;
  border-width: 2px;
  z-index: 0;
}

body[data-page="newmha"] .aops-hero-photo::after {
  right: -106px;
  top: -44px;
  width: 310px;
  height: 310px;
  z-index: 2;
}

body[data-page="newmha"] .aops-hero-photo img {
  clip-path: ellipse(73% 100% at 47% 50%);
  object-position: center 42%;
}

/* Match the reference headings: serif, regular weight, and relaxed leading. */
body[data-page="newmha"] .aops-hero-copy h1,
body[data-page="newmha"] .aops-level-copy h2,
body[data-page="newmha"] .aops-learning h2,
body[data-page="newmha"] .aops-format h2,
body[data-page="newmha"] .aops-camps h2,
body[data-page="newmha"] .aops-history h2,
body[data-page="newmha"] .aops-designers h2,
body[data-page="newmha"] .aops-request h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 200;
  letter-spacing: 0;
}

body[data-page="newmha"] .aops-hero-copy h1 {
  margin-top: 16px;
  font-size: 2rem;
  line-height: 1.15;
}

body[data-page="newmha"] .aops-level-copy h2 {
  margin-top: 14px;
  font-size: 1.68rem;
  line-height: 1.15;
}

/* Make the top-left brand mark a bit more prominent on the newmha page. 
body[data-page="newmha"] .site-header .brand {
  gap: 14px;
}

body[data-page="newmha"] .site-header .brand-shield {
  width: 50px;
  height: 50px;
}

body[data-page="newmha"] .site-header .brand-text {
  font-size: 2.15rem;
}
*/
/* Enlarge only the page content; the shared header and footer stay at 100%. */
body[data-page="newmha"] main {
  zoom: 1.18;
  width: 100%;
}

body[data-page="newmha"] {
  overflow-x: hidden;
}

@media (max-width: 640px) {
  .container {
    width: calc(100% - 18px);
  }

  .brand-shield {
    width: 42px;
    height: 42px;
  }

  .brand-text {
    font-size: 1.28rem;
  }

  .brand-text small {
    margin-top: 4px;
    font-size: 0.5rem;
  }

  .btn.small {
    min-height: 46px;
    font-size: 1rem;
  }

  .main-nav a {
    font-size: 0.9rem;
  }

  .page-banner .container,
  .hero-inner {
    padding: 28px 0;
  }

  .hero-copy h1,
  .math-circle-copy-panel h1,
  .pathway-copy h1 {
    font-size: clamp(2rem, 10vw, 2.75rem);
  }

  .strip-grid {
    grid-template-columns: 1fr;
  }

  .strip-grid .item {
    border-right: 0;
    border-bottom: 1px solid rgba(203, 152, 72, 0.26);
  }

  .strip-grid .item:last-child {
    border-bottom: 0;
  }

  .home-diagnose-points {
    grid-template-columns: 1fr;
  }

  .home-diagnose-copy h3 {
    font-size: clamp(1.35rem, 6vw, 1.8rem);
  }

  body[data-page="competitions"] .roadmap-col h3 {
    font-size: 1.85rem;
  }

  body[data-page="competitions"] .competition-feature-row {
    display: none;
  }

  body[data-page="math-circle"] .math-circle-subnav a i {
    display: none;
  }

  body[data-page="pathway-planning"] .curriculum-legend {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
  }

  body[data-page="pathway-planning"] .goal-btn {
    width: 100%;
  }

  body[data-page="contact"] .field-grid {
    grid-template-columns: 1fr;
  }

  body[data-page="contact"] .contact-submit-btn {
    width: 100%;
    min-width: 0;
  }

  body[data-page="contact"] .contact-hero-visual {
    min-height: 150px;
  }

  .faculty-breadcrumb {
    font-size: 0.72rem;
    gap: 6px;
  }

  .faculty-hero-copy p {
    font-size: 0.93rem;
    line-height: 1.52;
  }

  .faculty-hero-collage {
    grid-template-columns: 1fr;
    grid-template-areas:
      "a"
      "b"
      "c"
      "d";
  }

  .faculty-value-grid {
    grid-template-columns: 1fr;
  }

  .faculty-value-grid article {
    border-right: 0;
  }

  .faculty-value-grid article:nth-last-child(-n + 1) {
    border-bottom: 0;
  }

  .faculty-approach-grid {
    grid-template-columns: 1fr;
  }

  .faculty-profile-grid .faculty-profile {
    grid-template-columns: 1fr;
  }

  .faculty-profile-grid img {
    min-height: 220px;
  }

  .faculty-profile-grid .faculty-profile-content h3 {
    font-size: 1.7rem;
  }

  .faculty-profile-grid .faculty-profile-content .role {
    font-size: 0.86rem;
  }

  .faculty-support-grid {
    grid-template-columns: 1fr;
  }

  .faculty-bottom-copy {
    grid-template-columns: 52px 1fr;
  }

  .faculty-bottom-copy .badge {
    width: 46px;
    height: 46px;
    font-size: 1.2rem;
  }

  .faculty-bottom-copy h3 {
    font-size: clamp(1.45rem, 6.5vw, 2rem);
  }

  .faculty-bottom-copy p {
    font-size: 0.9rem;
  }

  .faculty-bottom-actions {
    grid-template-columns: 1fr;
  }

  body[data-page="programs"] .tab-btn {
    min-width: 136px;
    font-size: 0.9rem;
  }

  body[data-page="programs"] .pagination-btn {
    min-width: 38px;
    padding: 7px 10px;
  }

  body[data-page="question-bank"] .qb-highlight-grid {
    grid-template-columns: 1fr;
  }

  body[data-page="about"] .about-journey-actions {
    grid-template-columns: 1fr;
  }

  body[data-page="about"] .about-journey-bottom {
    grid-template-columns: 1fr;
  }

  body[data-page="about"] .about-journey-bottom article {
    border-right: 0;
  }

  body[data-page="about"] .about-journey-bottom article:nth-last-child(-n + 2) {
    border-bottom: 1px solid rgba(198, 145, 62, 0.2);
  }

  body[data-page="about"] .about-journey-bottom article:last-child {
    border-bottom: 0;
  }

  body[data-page="question-bank"] .qb-highlight-grid article {
    border-right: 0;
  }

  body[data-page="question-bank"] .qb-highlight-grid article:nth-last-child(-n + 2) {
    border-bottom: 1px solid #e3e8f1;
  }

  body[data-page="question-bank"] .qb-highlight-grid article:last-child {
    border-bottom: 0;
  }

  .programs-modal-dialog h3 {
    font-size: clamp(1.65rem, 8vw, 2.35rem);
  }

  body[data-page="newmha"] .math-subject-hero-grid,
  body[data-page="newmha"] .math-track-grid,
  body[data-page="newmha"] .math-detail-grid,
  body[data-page^="honors-math-"] .math-detail-grid {
    gap: 18px;
  }

  body[data-page="newmha"] .math-subject-copy h1,
  body[data-page^="honors-math-"] .math-detail-copy h1 {
    font-size: clamp(2.5rem, 12vw, 3.45rem);
  }

  body[data-page="newmha"] .math-detail-copy h2,
  body[data-page="newmha"] .math-track-copy h2,
  body[data-page^="honors-math-"] .math-overview-card h2,
  body[data-page^="honors-math-"] .math-overview-card h3 {
    font-size: clamp(2rem, 8.5vw, 2.75rem);
  }

  body[data-page="newmha"] .math-subject-lead,
  body[data-page="newmha"] .math-track-intro,
  body[data-page="newmha"] .math-detail-lead,
  body[data-page="newmha"] .math-subject-body,
  body[data-page="newmha"] .math-track-italic,
  body[data-page="newmha"] .math-detail-body,
  body[data-page^="honors-math-"] .math-detail-lead,
  body[data-page^="honors-math-"] .math-detail-body {
    font-size: 0.96rem;
    line-height: 1.6;
  }

  body[data-page="newmha"] .math-course-grid {
    grid-template-columns: 1fr;
  }

  body[data-page="newmha"] .math-subject-actions,
  body[data-page="newmha"] .math-detail-actions,
  body[data-page^="honors-math-"] .math-detail-actions {
    flex-direction: column;
  }

  body[data-page="newmha"] .math-subject-actions .btn,
  body[data-page="newmha"] .math-detail-actions .btn,
  body[data-page^="honors-math-"] .math-detail-actions .btn,
  body[data-page^="honors-math-"] .math-accordion-grid .math-accordion {
    width: 100%;
  }

  body[data-page="newmha"] .math-subject-visual,
  body[data-page="newmha"] .math-track-visual-frame,
  body[data-page^="honors-math-"] .math-subject-visual,
  body[data-page^="honors-math-"] .math-track-visual-frame {
    min-height: 250px;
    border-radius: 22px;
  }

  body[data-page="newmha"] .math-subject-visual-chip {
    left: 12px;
    right: 12px;
    top: 12px;
    padding: 8px 12px;
    font-size: 0.8rem;
  }

  body[data-page="newmha"] .math-subject-visual-panel {
    left: 12px;
    right: 12px;
    bottom: 12px;
    max-width: none;
    padding: 14px 15px;
  }

  body[data-page="newmha"] .math-hero-stats {
    grid-template-columns: 1fr 1fr;
  }

  body[data-page^="honors-math-"] .math-overview-card {
    padding: 18px 16px;
  }

  body[data-page^="honors-math-"] .math-overview-card ul {
    margin-top: 14px;
  }

  body[data-page^="honors-math-"] .math-overview-cost {
    flex-wrap: wrap;
  }

  body[data-page^="honors-math-"] .math-accordion summary {
    font-size: 0.95rem;
  }
}

body[data-page="newmha"],
body[data-page^="honors-math-"] {
  --math-bg: #e8f4f1;
  --math-panel: #ffffff;
  --math-ink: #1d2a32;
  --math-muted: #485862;
  --math-line: #ded9d1;
  --math-accent: #f05a36;
  --math-blue: #356884;
  --math-link: #2771a6;
  background: #ffffff;
}

body[data-page="newmha"] .math-subject-hero {
  background: #356884;
  border-bottom: 0;
  min-height: 368px;
}

body[data-page="newmha"] .math-subject-hero::before {
  display: none;
}

body[data-page="newmha"] .math-subject-hero::after {
  right: 4%;
  bottom: -58px;
  width: 520px;
  background: rgba(255, 255, 255, 0.14);
  border: 4px dashed rgba(194, 226, 232, 0.75);
}

body[data-page="newmha"] .math-subject-hero-grid {
  grid-template-columns: minmax(360px, 0.52fr) minmax(480px, 0.86fr);
  gap: 56px;
  align-items: center;
  padding: 70px 0 0;
  min-height: 368px;
}

body[data-page="newmha"] .math-subject-copy {
  padding-bottom: 56px;
}

body[data-page="newmha"] .math-kicker,
body[data-page="newmha"] .math-subject-copy h1,
body[data-page="newmha"] .math-subject-lead {
  color: #ffffff;
}

body[data-page="newmha"] .math-kicker {
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  gap: 13px;
}

body[data-page="newmha"] .math-kicker span,
body[data-page="newmha"] .math-section-label span,
body[data-page^="honors-math-"] .math-kicker span {
  width: 28px;
  height: 3px;
  background: var(--math-accent);
}

body[data-page="newmha"] .math-subject-copy h1 {
  margin-top: 20px;
  font-size: 2.55rem;
  line-height: 1.05;
}

body[data-page="newmha"] .math-subject-lead {
  max-width: 560px;
  margin-top: 22px;
  font-size: 1.08rem;
  line-height: 1.55;
}

.math-subject-visual-home {
  align-self: stretch;
  min-height: 368px;
  margin-right: -110px;
  border-radius: 220px 0 0 220px;
  background: #f5f6f5;
  box-shadow: none;
}

.math-subject-visual-home::before {
  display: none;
}

.math-subject-visual-home img {
  object-position: center 50%;
}

body[data-page="newmha"] .math-track {
  padding: 86px 0 78px;
}

body[data-page="newmha"] .math-track--elementary {
  background: #ffffff;
}

body[data-page="newmha"] .math-track-grid {
  grid-template-columns: minmax(0, 0.62fr) minmax(360px, 0.38fr);
  gap: 82px;
  align-items: center;
}

body[data-page="newmha"] .math-section-label {
  color: #8d9497;
  letter-spacing: 0.02em;
}

body[data-page="newmha"] .math-track-copy h2 {
  margin-top: 18px;
  font-size: 2.55rem;
  line-height: 1.08;
}

body[data-page="newmha"] .math-track-intro {
  max-width: 690px;
  color: #35424b;
  font-size: 1rem;
  line-height: 1.55;
}

body[data-page="newmha"] .math-track-italic {
  display: none;
}

body[data-page="newmha"] .math-note {
  max-width: 700px;
  margin-top: 24px;
  padding: 18px 20px;
  border: 0;
  border-radius: 0;
  background: #eeece8;
  color: #3a444b;
  font-size: 0.98rem;
}

.math-course-grid-links {
  max-width: 700px;
  margin-top: 26px;
  gap: 18px 20px;
}

.math-course-link {
  display: flex;
  align-items: center;
  min-height: 54px;
  padding: 0 18px;
  border: 1px solid #e0ddd8;
  border-radius: 6px;
  background: #ffffff;
  color: #25323b;
  font-size: 0.98rem;
  box-shadow: 0 1px 0 rgba(27, 40, 52, 0.02);
  transition:
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.math-course-link:hover,
.math-course-link:focus-visible {
  color: #1e6c95;
  border-color: #b8cbd4;
  box-shadow: 0 10px 22px rgba(29, 54, 69, 0.08);
  transform: translateY(-2px);
}

.math-track-visual-frame-book {
  width: min(100%, 360px);
  min-height: 430px;
  height: 430px;
  margin: 0 auto;
  border-radius: 40px;
  background: #dff2ef;
  box-shadow: none;
}

.math-track-visual-frame-book::before {
  display: none;
}

.math-track-visual-frame-book img {
  width: 112%;
  height: 72%;
  margin: 14% 0 0 -6%;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 22px 32px rgba(35, 56, 68, 0.14);
}

body[data-page^="honors-math-"] main {
  color: var(--math-ink);
  background: linear-gradient(180deg, #e9f6f4 0%, #f8fbfa 82%);
}

body[data-page^="honors-math-"] .math-detail-hero {
  padding: 92px 0 66px;
  background: #e5f3f0;
  border-bottom: 0;
}

body[data-page^="honors-math-"] .math-detail-hero::before,
body[data-page^="honors-math-"] .math-detail-hero::after {
  display: none;
}

body[data-page^="honors-math-"] .math-detail-grid {
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 0.78fr);
  gap: 76px;
  align-items: start;
}

body[data-page^="honors-math-"] .math-kicker {
  color: #1d2a32;
  font-size: 1rem;
  letter-spacing: 0.02em;
}

body[data-page^="honors-math-"] .math-detail-copy h1 {
  max-width: none;
  margin-top: 26px;
  font-size: 2.8rem;
  line-height: 1.05;
}

body[data-page^="honors-math-"] .math-detail-lead,
body[data-page^="honors-math-"] .math-detail-body {
  max-width: 650px;
  color: #27363f;
  font-size: 1.08rem;
  line-height: 1.48;
}

body[data-page^="honors-math-"] .math-detail-lead strong,
body[data-page^="honors-math-"] .math-detail-body strong {
  font-weight: 800;
}

body[data-page^="honors-math-"] .math-detail-link {
  margin-top: 26px;
  color: var(--math-link);
  font-size: 1rem;
  font-weight: 500;
  text-decoration-color: currentColor;
}

body[data-page^="honors-math-"] .math-next-course {
  margin-top: 24px;
  font-size: 1rem;
  letter-spacing: 0;
}

body[data-page^="honors-math-"] .math-next-course a {
  margin-left: 12px;
  color: var(--math-link);
  font-weight: 500;
}

body[data-page^="honors-math-"] .math-detail-actions {
  margin-top: 24px;
}

body[data-page^="honors-math-"] .math-overview-card {
  border: 0;
  border-radius: 0;
  padding: 38px 40px 36px;
  background: #ffffff;
  box-shadow: none;
}

body[data-page^="honors-math-"] .math-overview-card h3 {
  font-family: "Manrope", "Segoe UI", sans-serif;
  font-size: 1.6rem;
  line-height: 1.2;
  letter-spacing: 0;
}

body[data-page^="honors-math-"] .math-overview-card ul {
  margin-top: 26px;
  padding: 20px 0 20px 22px;
  border-top: 1px solid #d9d3cd;
  border-bottom: 1px solid #d9d3cd;
  gap: 20px;
}

body[data-page^="honors-math-"] .math-overview-card li {
  font-size: 1rem;
  line-height: 1.48;
}

body[data-page^="honors-math-"] .math-overview-cost {
  margin-top: 24px;
  padding-top: 0;
  border-top: 0;
}

body[data-page^="honors-math-"] .math-overview-cost strong {
  font-family: "Manrope", "Segoe UI", sans-serif;
  font-size: 1.35rem;
}

body[data-page^="honors-math-"] .math-detail-note {
  width: min(100%, 620px);
  margin: 22px 0 0 auto;
  padding: 16px 20px;
  border: 0;
  border-radius: 0;
  background: #eeece8;
  color: #3a444b;
}

body[data-page^="honors-math-"] .content-block {
  background: #ffffff;
  padding-top: 42px;
}

.math-course-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}

.math-course-nav a,
.math-course-nav button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 13px;
  border: 1px solid #d9e0e2;
  border-radius: 999px;
  color: #40515b;
  font-size: 0.9rem;
  font-weight: 700;
  background: transparent;
}

.math-course-nav button {
  cursor: pointer;
  font: inherit;
  appearance: none;
  -webkit-appearance: none;
}

.math-course-nav a.active,
.math-course-nav a:hover,
.math-course-nav button.active,
.math-course-nav button:hover {
  color: #ffffff;
  background: #356884;
  border-color: #356884;
}

@media (max-width: 1200px) {
  body[data-page="newmha"] .math-subject-hero-grid,
  body[data-page="newmha"] .math-track-grid,
  body[data-page^="honors-math-"] .math-detail-grid {
    grid-template-columns: 1fr;
  }

  .math-subject-visual-home {
    margin-right: 0;
    min-height: 320px;
    border-radius: 42px 42px 0 0;
  }

  body[data-page="newmha"] .math-subject-copy {
    padding-bottom: 0;
  }

  body[data-page^="honors-math-"] .math-detail-note {
    margin-left: 0;
  }
}

@media (max-width: 900px) {
  body[data-page="newmha"] .math-subject-hero-grid {
    min-height: auto;
    padding-top: 44px;
  }

  body[data-page="newmha"] .math-subject-hero::after {
    display: none;
  }

  body[data-page^="honors-math-"] .math-detail-hero {
    padding: 54px 0 44px;
  }

  body[data-page^="honors-math-"] .math-overview-card {
    padding: 28px 24px;
  }
}

@media (max-width: 640px) {
  body[data-page="newmha"] .math-subject-copy h1,
  body[data-page="newmha"] .math-track-copy h2,
  body[data-page^="honors-math-"] .math-detail-copy h1 {
    font-size: 2.25rem;
  }

  body[data-page="newmha"] .math-course-grid {
    grid-template-columns: 1fr;
  }

  .math-track-visual-frame-book {
    min-height: 320px;
  }

  body[data-page^="honors-math-"] .math-detail-actions .btn {
    width: 100%;
  }
}

body[data-page="newmha"] main {
  background: #ffffff;
  color: #3f4c52;
}

body[data-page="newmha"] .aops-shell {
  width: min(980px, calc(100% - 40px));
  margin: 0 auto;
}

body[data-page="newmha"] .aops-math-hero {
  overflow: hidden;
  background: #ae9e25;
  color: #ffffff;
}

body[data-page="newmha"] .aops-hero-grid {
  min-height: 250px;
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  align-items: center;
  gap: 72px;
}

body[data-page="newmha"] .aops-hero-copy {
  padding: 42px 0 46px;
}

body[data-page="newmha"] .aops-label {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #ffffff;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.82rem;
}

body[data-page="newmha"] .aops-label::before {
  content: "";
  width: 24px;
  height: 3px;
  background: #f15a3c;
}

body[data-page="newmha"] .aops-label--muted {
  color: #6e7476;
}

body[data-page="newmha"] .aops-hero-copy h1,
body[data-page="newmha"] .aops-level-copy h2,
body[data-page="newmha"] .aops-learning h2,
body[data-page="newmha"] .aops-format h2,
body[data-page="newmha"] .aops-camps h2,
body[data-page="newmha"] .aops-history h2,
body[data-page="newmha"] .aops-designers h2,
body[data-page="newmha"] .aops-request h2 {
  color: inherit;
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: 0;
}

body[data-page="newmha"] .aops-hero-copy h1 {
  margin-top: 14px;
  font-size: 1.8rem;
  line-height: 1.05;
}

body[data-page="newmha"] .aops-hero-copy p:last-child {
  max-width: 430px;
  margin-top: 18px;
  color: #edf5f8;
  font-size: 0.84rem;
  line-height: 1.62;
}

body[data-page="newmha"] .aops-hero-photo {
  position: relative;
  height: 250px;
}

body[data-page="newmha"] .aops-hero-photo::before {
  content: "";
  position: absolute;
  left: 136px;
  width: 458px;
  top: -116px;
  height: 458px;
  border: 3px dashed rgba(210, 233, 235, 0.8);
  border-radius: 50%;
}

body[data-page="newmha"] .aops-hero-photo::after {
  /*content: "";*/
  position: absolute;
  right: -70px;
  top: -54px;
  width: 280px;
  height: 280px;
  background: #ffffff;
  border-radius: 50%;
}

body[data-page="newmha"] .aops-hero-photo img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 108%;
  object-fit: cover;
  object-position: center 42%;
  clip-path: circle(58% at 52% 46%);
  top: -10px;
  right: -120px;
}

body[data-page="newmha"] .aops-level-section {
  padding: 68px 0;
}

body[data-page="newmha"] .aops-level-section--white {
  background: #ffffff;
}

body[data-page="newmha"] .aops-level-section--tint {
  position: relative;
  overflow: hidden;
  background: #dff2ef;
  padding: 72px 0 82px;
}

body[data-page="newmha"] .aops-level-section--tint::after {
  content: "";
  position: absolute;
  right: -60px;
  bottom: -420px;
  width: 666px;
  height: 666px;
  border-radius: 50%;
  background: rgba(98, 185, 198, 0.22);
}

body[data-page="newmha"] .aops-level-section--tint::before {
  content: "";
  position: absolute;
  right: 485px;
  bottom: 58px;
  width: 148px;
  height: 86px;
  background-image: radial-gradient(rgba(55, 135, 150, 0.36) 1px, transparent 1px);
  background-size: 14px 14px;
}

body[data-page="newmha"] .aops-level-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  align-items: center;
  gap: 90px;
}

body[data-page="newmha"] .aops-level-section--tint .aops-level-grid {
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: 60px;
}

body[data-page="newmha"] .aops-level-copy h2 {
  margin-top: 12px;
  color: #495052;
  font-size: 1.70rem;
  line-height: 1.1;
}

body[data-page="newmha"] .aops-level-copy > p {
  max-width: 520px;
  margin-top: 14px;
  font-size: 0.84rem;
  line-height: 1.55;
}

body[data-page="newmha"] .aops-small-italic {
  color: #526167;
  font-style: italic;
}

body[data-page="newmha"] .aops-note {
  max-width: 470px;
  margin-top: 18px;
  padding: 13px 16px;
  background: #eeece8;
  color: #566267;
  font-size: 0.82rem;
  line-height: 1.45;
}

body[data-page="newmha"] .aops-course-grid {
  max-width: 470px;
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
}

body[data-page="newmha"] .aops-course-grid a {
  position: relative;
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: 8px 12px;
  padding-right: 42px;
  border: 1px solid #e2e6e4;
  border-radius: 5px;
  background: #ffffff;
  color: #4e5a5e;
  font-size: 0.72rem;
  line-height: 1.22;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

body[data-page="newmha"] .aops-course-grid a::after {
  content: "\f061";
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%) translateX(-6px);
  opacity: 0;
  color: currentColor;
  font-family: "Font Awesome 6 Free";
  font-size: 0.96rem;
  font-weight: 900;
  line-height: 1;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
  body[data-page="newmha"] .aops-course-grid a:hover {
    border-color: #aac6c6;
    background: #f7fbfb;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(16, 31, 53, 0.08);
    text-decoration: underline;
    text-decoration-color: currentColor;
    text-underline-offset: 2px;
  }

  body[data-page="newmha"] .aops-course-grid a:hover::after {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
}

body[data-page="newmha"] .aops-course-grid a:active {
  border-color: #98b4b4;
  background: #eef5f4;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
  transform: translateY(0) scale(0.985);
}

body[data-page="newmha"] .aops-course-grid a:focus-visible {
  outline: none;
  border-color: #6ea9c6;
  background: #f7fbfc;
  box-shadow: 0 0 0 3px rgba(71, 184, 249, 0.16), 0 8px 18px rgba(16, 31, 53, 0.08);
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-underline-offset: 2px;
}

body[data-page="newmha"] .aops-course-grid a:focus-visible::after {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

body[data-page="newmha"] .aops-course-grid--dense a {
  min-height: 50px;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
}

body[data-page="newmha"] .aops-level-art {
  justify-self: center;
  position: relative;
  border-radius: 36px;
}

body[data-page="newmha"] .aops-level-section--tint .aops-level-art {
  background: transparent;
}

body[data-page="newmha"] .aops-level-art img {
  width: 110%;
  height: 110%;
  object-fit: cover;
}

body[data-page="newmha"] .aops-book-art {
  overflow: hidden;
}

body[data-page="newmha"] .aops-book-art img {
  box-shadow: 0 16px 24px rgba(38, 58, 62, 0.14);
}

body[data-page="newmha"] .aops-class-art {
  width: 400px;
  height: 280px;
  border-radius: 36px;
  overflow: hidden;
}

body[data-page="newmha"] .aops-learning {
  padding: 62px 0 68px;
  background: #ffffff;
}

body[data-page="newmha"] .aops-learning h2 {
  text-align: center;
  font-size: 1.55rem;
}

body[data-page="newmha"] .aops-learning-grid {
  margin-top: 38px;
  display: grid;
  grid-template-columns: 165px 1fr;
  gap: 100px;
  align-items: center;
}

body[data-page="newmha"] .aops-learning-icon {
  position: relative;
  height: 160px;
  background:
    linear-gradient(30deg, transparent 49%, #edf0e6 50%, transparent 51%) 0 0 / 30px 30px,
    linear-gradient(150deg, transparent 49%, #edf0e6 50%, transparent 51%) 0 0 / 30px 30px;
}

body[data-page="newmha"] .aops-learning-icon span {
  position: absolute;
  width: 34px;
  height: 54px;
  border-radius: 18px 18px 8px 8px;
  opacity: 0.9;
}

body[data-page="newmha"] .aops-learning-icon span:nth-child(1) { left: 48px; top: 12px; background: #f5895d; }
body[data-page="newmha"] .aops-learning-icon span:nth-child(2) { left: 74px; top: 58px; background: #a8d86a; }
body[data-page="newmha"] .aops-learning-icon span:nth-child(3) { left: 105px; top: 30px; background: #6bb7cc; }
body[data-page="newmha"] .aops-learning-icon span:nth-child(4) { left: 38px; top: 96px; background: #f1a044; }

body[data-page="newmha"] .aops-feature-grid,
body[data-page="newmha"] .aops-format-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 60px;
}

body[data-page="newmha"] .aops-feature-grid h3,
body[data-page="newmha"] .aops-format-grid h3 {
  margin: 0 0 8px;
  color: #3b6f80;
  font-family: "Manrope", sans-serif;
  font-size: 0.93rem;
  font-weight: 600;
}

body[data-page="newmha"] .aops-feature-grid p,
body[data-page="newmha"] .aops-format-grid p {
  font-size: 0.82rem;
  line-height: 1.55;
}

body[data-page="newmha"] .aops-format {
  margin-top: -50px;
  padding-top: 28px;
  border-top: 2px dotted #a9be6b;
  border-bottom: 2px dotted #a9be6b;
  padding-bottom: 38px;
}

body[data-page="newmha"] .aops-format > h2 {
  color: #67615d;
  text-align: left;
  font-size: 1.5rem;
}

body[data-page="newmha"] .aops-format-grid {
  margin-top: 28px;
}

body[data-page="newmha"] .aops-camps {
  overflow: hidden;
  padding: 64px 0;
  background: #dff2ef;
}

body[data-page="newmha"] .aops-camps-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 78px;
  align-items: center;
}

body[data-page="newmha"] .aops-camps h2 {
  font-size: 1.82rem;
}

body[data-page="newmha"] .aops-camps p {
  max-width: 390px;
  margin-top: 18px;
  color: #566267;
  font-size: 0.82rem;
  line-height: 1.55;
}

body[data-page="newmha"] .aops-dark-button,
body[data-page="newmha"] .aops-outline-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 22px;
  min-width: 220px;
  min-height: 42px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

body[data-page="newmha"] .aops-dark-button {
  background: #333940;
  color: #ffffff;
}

body[data-page="newmha"] .aops-outline-button {
  border: 1px solid rgba(255, 255, 255, 0.55);
  color: #ffffff;
}

body[data-page="newmha"] .aops-camps-photo {
  position: relative;
  width: 300px;
  height: 230px;
}

body[data-page="newmha"] .aops-camps-photo::before,
body[data-page="newmha"] .aops-camps-photo::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(100, 185, 198, 0.38);
}

body[data-page="newmha"] .aops-camps-photo::before {
  left: -74px;
  top: -54px;
  width: 190px;
  height: 190px;
}

body[data-page="newmha"] .aops-camps-photo::after {
  left: 20px;
  top: -1px;
  width: 136px;
  height: 136px;
}

body[data-page="newmha"] .aops-camps-photo img {
  position: relative;
  z-index: 1;
  width: 210px;
  height: 210px;
  margin-left: 96px;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
}

body[data-page="newmha"] .aops-history {
  overflow: hidden;
  padding: 30px 0;
  background: #1f4960;
  color: #ffffff;
}

body[data-page="newmha"] .aops-history-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 92px;
  align-items: center;
}

body[data-page="newmha"] .aops-history h2 {
  font-size: 1.75rem;
}

body[data-page="newmha"] .aops-history p {
  max-width: 520px;
  margin-top: 20px;
  color: #e6eff2;
  font-size: 0.84rem;
  line-height: 1.62;
}

body[data-page="newmha"] .aops-history-photo {
  position: relative;
  width: 400px;
  height: 400px;
  border: 3px dashed rgba(205, 235, 236, 0.72);
  border-radius: 50%;
  padding: 26px;
}

body[data-page="newmha"] .aops-history-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

body[data-page="newmha"] .aops-designers {
  padding: 62px 0 72px;
  background: #ffffff;
}

body[data-page="newmha"] .aops-designers h2 {
  color: #67615d;
  text-align: center;
  font-size: 1.65rem;
}

body[data-page="newmha"] .aops-center-intro {
  margin-top: 12px;
  color: #6b777b;
  text-align: center;
  font-size: 0.78rem;
}

body[data-page="newmha"] .aops-designer-grid {
  width: min(760px, 100%);
  margin: 46px auto 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

body[data-page="newmha"] .aops-designer-grid article {
  min-height: 360px;
  padding: 84px 24px 26px;
  position: relative;
  background: #e2f4ef;
}

body[data-page="newmha"] .aops-designer-grid article:nth-child(2) {
  background: #eef7d4;
}

body[data-page="newmha"] .aops-designer-grid article:nth-child(3) {
  background: #f8e8de;
}

body[data-page="newmha"] .aops-designer-grid img {
  position: absolute;
  left: 34px;
  top: -36px;
  width: 92px;
  height: 92px;
  object-fit: cover;
  border-radius: 50%;
}

body[data-page="newmha"] .aops-designer-grid h3 {
  margin: 0 0 8px;
  color: #526061;
  font-family: "Manrope", sans-serif;
  font-size: 0.9rem;
  font-weight: 800;
}

body[data-page="newmha"] .aops-designer-grid p {
  color: #526061;
  font-size: 0.75rem;
  line-height: 1.58;
  margin-top: 6px;
}

body[data-page="newmha"] .aops-request {
  padding: 46px 0;
  background: #efeeea;
}

body[data-page="newmha"] .aops-request-grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

body[data-page="newmha"] .aops-request h2 {
  color: #67615d;
  font-size: 1.5rem;
}

body[data-page="newmha"] .aops-request p {
  margin-top: 6px;
  color: #566267;
  font-size: 0.82rem;
}

@media (max-width: 900px) {
  body[data-page="newmha"] .aops-hero-grid,
  body[data-page="newmha"] .aops-level-grid,
  body[data-page="newmha"] .aops-learning-grid,
  body[data-page="newmha"] .aops-camps-grid,
  body[data-page="newmha"] .aops-history-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  body[data-page="newmha"] .aops-hero-photo {
    height: 280px;
  }

  body[data-page="newmha"] .aops-level-art,
  body[data-page="newmha"] .aops-class-art,
  body[data-page="newmha"] .aops-camps-photo,
  body[data-page="newmha"] .aops-history-photo {
    justify-self: center;
  }

  body[data-page="newmha"] .aops-designer-grid {
    grid-template-columns: 1fr;
    gap: 56px;
  }
}

@media (max-width: 640px) {
  body[data-page="newmha"] .aops-shell {
    width: min(100% - 28px, 980px);
  }

  body[data-page="newmha"] .aops-course-grid,
  body[data-page="newmha"] .aops-feature-grid,
  body[data-page="newmha"] .aops-format-grid {
    grid-template-columns: 1fr;
  }

  body[data-page="newmha"] .aops-request-grid {
    align-items: flex-start;
    flex-direction: column;
  }
}
