/* The approved Move character system, scoped to the existing Classes layout. */
body.ma-classes {
  --class-ink: #0a1628;
  --class-muted: #526274;
  --class-red: #e31b23;
  --class-blue: #0077aa;
  --class-yellow: #ffd749;
  --class-line: #d8e2e8;
  --class-blue-wash: #edf8ff;
  --class-red-wash: #fff0f0;
  --class-yellow-wash: #fffbe9;
  background: #fff !important;
  color: var(--class-ink) !important;
  font-family: 'Outfit', system-ui, sans-serif;
}
.ma-classes :is(.ma-grain, .ma-court, .ma-edge, .ma-hero-glow) { display: none !important; }
.ma-classes :is(.ma-spot, .ma-endcap)::before,
.ma-classes .ma-endcap::after { display: none !important; }
.ma-classes :is(.page-hero, main > section) { background: #fff !important; }
.ma-classes #schedule { background: var(--class-blue-wash) !important; }
.ma-classes .classes-women { background: var(--class-red-wash) !important; }
.ma-classes .classes-endcap { background: var(--class-yellow-wash) !important; }

/* Display type changes character; the page's original hierarchy stays intact. */
.ma-classes :is(h1, h2, h3, h4, .ma-disc-title, .ma-bjj-tile-title, .s-val, .cook-gallery-title) {
  font-family: Inter, 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
  line-height: 1.13 !important;
  color: var(--class-ink) !important;
  text-wrap: balance;
}
.ma-classes :is(h1, h2, .wwo-title) { color: var(--class-blue) !important; }
.ma-classes .page-hero h1 { font-size: clamp(2.6rem, 5.5vw, 4.3rem) !important; }
.ma-classes .classes-programs > div > h2,
.ma-classes .classes-nutrition h2 { font-size: clamp(2.2rem, 4.6vw, 3.4rem) !important; }
.ma-classes #schedule h2 { font-size: clamp(1.8rem, 3vw, 2.3rem) !important; }
.ma-classes :is(p, li, .section-subtitle, .wwo-sub, .cg-check-row, .ma-tile-body, .ma-sched-note, .ma-legend-card, .fem-li) {
  color: var(--class-muted) !important;
}
.ma-classes :is(p, .section-subtitle, .wwo-sub) { text-wrap: pretty; }
.ma-classes :is(.cg-info-panel p, .cg-check-row, .ma-tile-body) { font-size: .9375rem !important; line-height: 1.7; }
.ma-classes :is([style*="color:rgba(255"], [style*="color: rgba(255"], [style*="color:#fff"], [style*="color:var(--white)"]) {
  color: var(--class-muted) !important;
}
.ma-classes :is(h1, h2, .wwo-title)[style] { color: var(--class-blue) !important; }
.ma-classes :is(.hl-red, h2 em, .wwo-title .red, [style*="color:var(--red)"], [style*="color:#E31B23"]) { color: var(--class-red) !important; }
.ma-classes :is(.hl-blue, .hl-green, [style*="color:#5bc8f5"], [style*="color:#0099DD"], [style*="color:#3FB4F0"]) { color: var(--class-blue) !important; }
.ma-classes :is(.hl-gold, [style*="color:var(--gold-soft)"], [style*="color:#FFD749"]) {
  color: var(--class-ink) !important;
}
.ma-classes :is(em.hl-gold, strong[style*="color:var(--gold-soft)"]) {
  background: linear-gradient(transparent 58%, var(--class-yellow) 58%);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.ma-classes :is(.ma-swipe, .fem-shine) {
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--class-red) !important;
  text-decoration: underline;
  text-decoration-color: var(--class-yellow);
  text-decoration-thickness: .1em;
  text-underline-offset: .1em;
}
.ma-classes .ma-swipe::after { display: none !important; }
.ma-classes :is(.ma-hero-eyebrow, .section-label, .wwo-eyebrow, .sub, .k, .cook-gallery-eyebrow) {
  font-family: Inter, 'Outfit', sans-serif !important;
  color: var(--class-red) !important;
  font-weight: 700;
  font-size: .75rem;
  letter-spacing: .09em !important;
}
.ma-classes :is(.ma-hero-eyebrow, .tab-eyebrow-pill) { background: #fff; border-color: var(--class-line); box-shadow: none; }
.ma-classes :is(.ma-hero-eyebrow-dot, .tab-eyebrow-pill::before) { background: var(--class-yellow); box-shadow: none; }
.ma-classes :is(.ma-hero-chips .ma-chip, .cg-pill, .ma-endcap-chip) {
  background: #fff !important;
  color: var(--class-ink) !important;
  border: 1px solid var(--class-line) !important;
  box-shadow: none !important;
}
.ma-classes :is(.ma-chip--red, .cg-pill.r) { color: var(--class-red) !important; background: var(--class-red-wash) !important; }
.ma-classes :is(.ma-chip--blue, .cg-pill.b) { color: var(--class-blue) !important; background: var(--class-blue-wash) !important; }
.ma-classes :is(.ma-chip--gold, .cg-pill.g) { background: var(--class-yellow-wash) !important; }

/* Match the homepage navigation without changing its links or menu. */
.ma-classes #navbar {
  background: #fff !important;
  border: 1px solid var(--class-line);
  border-radius: 0 0 24px 24px;
  box-shadow: none !important;
}
.ma-classes #navbar :is(.nav-links a, .nav-phone) { color: var(--class-ink) !important; font-family: Inter, 'Outfit', sans-serif; }
.ma-classes #navbar .nav-links a:hover { color: var(--class-red) !important; background: var(--class-red-wash) !important; }
.ma-classes #navbar .nav-members { background: #fff !important; box-shadow: none; }
.ma-classes #navbar .mobile-menu-btn { color: var(--class-ink) !important; background: var(--class-yellow) !important; border-radius: 50%; }
.ma-classes #navbar a.nav-cta { background: var(--class-red) !important; color: #fff !important; border-radius: 999px; }

/* Illustration nooks are in normal layout and never cover a link or paragraph. */
.ma-classes .classes-title-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin: 0 auto 12px;
  max-width: 100%;
}
.ma-classes .classes-title-row > :is(h1, h2, h3) { min-width: 0; margin-bottom: 0 !important; }
.ma-classes .member-scene {
  float: none;
  flex-shrink: 0;
  margin: 0;
  --member-ground: #fff;
}
.ma-classes .classes-toon { width: 136px; }
.ma-classes .classes-title-row--small { gap: 16px; }
.ma-classes .classes-title-row--small .classes-toon { width: 112px; }
.ma-classes .classes-program-scene {
  width: min(100%, 300px);
  aspect-ratio: 16 / 9;
  margin: -8px auto 16px;
}
.ma-classes .classes-women .member-scene { --member-ground: var(--class-red-wash); }
.ma-classes :is(.classes-endcap, .ma-nutri-card) .member-scene { --member-ground: var(--class-yellow-wash); }
.ma-classes .classes-endcap-title { max-width: 800px; }
.ma-classes .ma-nutri-card .classes-program-scene { width: min(100%, 380px); }
.ma-classes .member-motion-toggle { border-radius: 12px; }
.ma-classes .member-motion-toggle:hover { background: var(--class-yellow); }

/* Keep the schedule grid and status labels; lift their contrast on light ground. */
.ma-classes .ma-sched-day {
  background: #fff;
  border: 2px solid var(--class-line);
  border-radius: 18px;
  box-shadow: none;
}
.ma-classes .ma-sched-day:hover { transform: none; box-shadow: none; border-color: var(--class-blue); }
.ma-classes :is(.ma-sched-day--full, .ma-slot--booked) { opacity: 1; }
.ma-classes .ma-sched-head { flex-wrap: wrap; border-color: var(--class-line); gap: 8px; }
.ma-classes .ma-sched-head--red { background: var(--class-red-wash); }
.ma-classes .ma-sched-head--blue { background: var(--class-blue-wash); }
.ma-classes .ma-sched-head--green { background: var(--class-yellow-wash); }
.ma-classes .ma-sched-head--gray { background: #f4f7fa; }
.ma-classes .ma-sched-dayname { font-family: Inter, 'Outfit', sans-serif; font-size: .875rem; font-weight: 700; letter-spacing: -.025em; color: var(--class-ink); }
.ma-classes :is(.ma-badge-open, .ma-slot-book) { background: var(--class-yellow); color: var(--class-ink); border: 1px solid #e1bf3f; }
.ma-classes :is(.ma-badge-full, .ma-slot-book--full) { background: #f4f7fa; color: var(--class-muted); border: 1px solid var(--class-line); }
.ma-classes :is(.ma-sched-none, .ma-slot-note) { color: var(--class-muted); }
.ma-classes .ma-slot { flex-wrap: wrap; border-radius: 12px; box-shadow: none; }
.ma-classes .ma-slot:hover { transform: none; box-shadow: none; }
.ma-classes .ma-slot--1on1 { background: var(--class-red-wash); border-color: #efb6b9; }
.ma-classes .ma-slot--semi { background: var(--class-blue-wash); border-color: #b3d8e9; }
.ma-classes .ma-slot--open { background: #fff; border-color: var(--class-line); }
.ma-classes .ma-slot--cook { background: var(--class-yellow-wash); border-color: #e1bf3f; }
.ma-classes .ma-slot-time { color: var(--class-ink); }
.ma-classes .ma-slot-type { color: var(--class-blue); }
.ma-classes .ma-slot--1on1 .ma-slot-type { color: var(--class-red); }
.ma-classes .ma-slot--cook .ma-slot-type { color: var(--class-ink); }
.ma-classes .ma-slot--booked { background: #f4f7fa; border-color: var(--class-line); }
.ma-classes .ma-slot--booked .ma-slot-type { color: var(--class-muted); }
.ma-classes .ma-legend-card { background: #fff; border-color: var(--class-line); }
.ma-classes .ma-legend-card strong { color: var(--class-ink); }
.ma-classes .ma-legend-card--red strong { color: var(--class-red); }
.ma-classes .ma-legend-card--blue strong { color: var(--class-blue); }
.ma-classes .ma-legend-swatch--green { background: var(--class-ink); border-color: var(--class-ink); }
.ma-classes .classes-schedule [style*="color:#86efac"] { background: var(--class-yellow) !important; border-color: #e1bf3f !important; color: var(--class-ink) !important; }
.ma-classes .classes-schedule [style*="background:#4ade80"] { background: var(--class-blue) !important; }

/* Existing tabs and their selected states adopt the three brand colors. */
.ma-classes #cgTabs .cg-tbtn {
  color: var(--class-ink) !important;
  background: #fff !important;
  border: 2px solid var(--class-line) !important;
  border-bottom-width: 4px !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .035em !important;
  box-shadow: none !important;
  min-height: 48px;
}
.ma-classes #cgTabs .cg-tbtn.active { background: var(--class-red) !important; border-color: #b91118 !important; color: #fff !important; }
.ma-classes #cgTabs #cg-tab-semi.active { background: var(--class-blue) !important; border-color: #075c7d !important; }
.ma-classes #cgTabs #cg-tab-cook.active { background: var(--class-yellow) !important; border-color: #d5af20 !important; color: var(--class-ink) !important; }
.ma-classes #cgTabs .cg-tbtn:active { transform: translateY(2px); }
.ma-classes .cg-panel[hidden] { display: none !important; }
.ma-classes .cg-panel { --program-accent: var(--class-red); --program-wash: var(--class-red-wash); }
.ma-classes #cgp-semi { --program-accent: var(--class-blue); --program-wash: var(--class-blue-wash); }
.ma-classes #cgp-cook { --program-accent: var(--class-ink); --program-wash: var(--class-yellow-wash); }
.ma-classes .cg-info-panel {
  background: #fff;
  border: 2px solid var(--class-line);
  border-top: 4px solid var(--program-accent);
  border-radius: 24px;
}
.ma-classes .cg-info-panel :is(h3, .sub) { color: var(--program-accent) !important; }
.ma-classes .cg-info-panel h3 { font-size: clamp(1.6rem, 2.5vw, 2rem) !important; }
.ma-classes .cg-stat { background: var(--program-wash); border: 1px solid var(--class-line); border-radius: 12px; }
.ma-classes .cg-stat .s-lbl { color: var(--class-muted); font-size: .6875rem; letter-spacing: .06em; }
.ma-classes .cg-stat .s-val { font-size: 1rem; line-height: 1.4 !important; }
.ma-classes .cg-check-row .ck { color: var(--program-accent) !important; }
.ma-classes .cg-c { border-radius: 18px; box-shadow: none; }
.ma-classes .cg-c:hover { box-shadow: none; }
.ma-classes :is(.ma-bjj-vid--red, .ma-bjj-vid--blue, .ma-bjj-vid--gold) { box-shadow: none; }
.ma-classes .cook-gallery { background: #fff; border-color: var(--class-line); }

/* The same card grids become simple bordered surfaces, with the real BJJ clips intact. */
.ma-classes .classes-disciplines { background: #fff !important; border-color: var(--class-line) !important; border-radius: 24px !important; }
.ma-classes :is(.ma-disc-card, .ma-bjj-tile) {
  --wc: var(--class-red) !important;
  --wcs: var(--class-red-wash) !important;
  background: #fff !important;
  border: 2px solid var(--class-line) !important;
  border-top: 4px solid var(--wc) !important;
  border-radius: 20px !important;
  box-shadow: none !important;
}
.ma-classes :is(.ma-disc-card, .ma-bjj-tile):nth-child(3n + 2) { --wc: var(--class-blue) !important; --wcs: var(--class-blue-wash) !important; }
.ma-classes :is(.ma-disc-card, .ma-bjj-tile):nth-child(3n) { --wc: var(--class-ink) !important; --wcs: var(--class-yellow-wash) !important; border-top-color: var(--class-yellow) !important; }
.ma-classes :is(.ma-disc-card, .ma-bjj-tile)::before,
.ma-classes :is(.ma-disc-card, .ma-bjj-tile)::after { display: none; }
.ma-classes :is(.ma-disc-card, .ma-bjj-tile):hover { transform: none; box-shadow: none !important; }
.ma-classes :is(.ma-disc-title, .ma-bjj-tile-title) { font-size: 1.25rem !important; }
.ma-classes :is(.ma-disc-title em, .ma-bjj-tile-title em, .ma-triplet) { color: var(--wc) !important; }
.ma-classes .tab-ibadge { background: var(--wcs); box-shadow: none; }
.ma-classes .ma-bjj-quote { background: var(--class-yellow-wash) !important; color: var(--class-ink) !important; border-color: #e1bf3f !important; }
.ma-classes .fem-li { display: block; position: relative; padding-left: 36px; min-height: 26px; line-height: 1.7; }
.ma-classes .fem-li b { color: var(--class-ink); }
.ma-classes .fem-li::before { position: absolute; top: 0; left: 0; background: #fff; color: var(--class-red); box-shadow: none; }
.ma-classes .female-grid > div:first-child { box-shadow: none !important; border: 2px solid #efb6b9; border-radius: 24px !important; }
.ma-classes .ma-nutri-card { background: var(--class-yellow-wash); border: 2px solid #ead78a; border-radius: 24px; }
.ma-classes .ma-nutri-card :is(h3, li, .k) { color: var(--class-ink) !important; }
.ma-classes .ma-nutri-card li::before { color: var(--class-blue) !important; }
.ma-classes .nut-row strong { color: var(--class-blue) !important; }

/* Solid, pressable actions; retain every original CTA label and destination. */
.ma-classes :is(.ma-cta-grad, .cg-cta, .fem-cta, .ma-nutri-card .cta, .ma-endcap-btn, .cg-info-panel a[href^="sms:"], .cg-info-panel a[href^="https://waiver"] ) {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700;
  letter-spacing: .015em !important;
  border: 2px solid var(--class-line);
  border-bottom-width: 4px;
  border-radius: 12px !important;
  box-shadow: none !important;
  min-height: 46px;
}
.ma-classes :is(.ma-cta-grad--red, .cg-cta.r, .ma-endcap-btn) { background: var(--class-red) !important; border-color: #b91118; color: #fff !important; }
.ma-classes :is(.ma-cta-grad--blue, .cg-cta.b) { background: var(--class-blue) !important; border-color: #075c7d; color: #fff !important; }
.ma-classes :is(.fem-cta, .ma-nutri-card .cta, .cg-cta.go) { background: var(--class-yellow) !important; border-color: #d5af20; color: var(--class-ink) !important; }
.ma-classes .cg-info-panel :is(a[href^="sms:"], a[href^="https://waiver"]) { background: #fff; color: var(--class-blue) !important; border-color: var(--class-line) !important; }
.ma-classes :is(.ma-cta-grad, .cg-cta, .fem-cta, .ma-endcap-btn):hover { transform: none; box-shadow: none !important; }
.ma-classes :is(.ma-cta-grad, .cg-cta, .fem-cta, .ma-endcap-btn):active { transform: translateY(2px); }
.ma-classes .classes-nutrition a[style*="background:var(--red)"] { color: #fff !important; }
.ma-classes .ma-endcap-kicker { background: #fff; color: var(--class-ink); border-color: #ead78a; }
.ma-classes .ma-endcap-chip::before { color: var(--class-blue); }

/* White captions remain readable over their original dark photo overlays. */
.ma-classes .cg-cap .cg-cap-title,
.ma-classes .ma-bjj-vtag,
.ma-classes .cg-lbc { color: #fff !important; }
.ma-classes .ma-bjj-vtag--gold { color: var(--class-ink) !important; }
.ma-classes .cg-cap .cg-cap-tag { color: var(--class-yellow) !important; }
.ma-classes .mobile-sticky-cta > div { border-top-color: var(--class-yellow) !important; }
.ma-classes .mobile-sticky-cta a:nth-child(-n + 2),
.ma-classes .mobile-sticky-cta a:nth-child(-n + 2) span { color: #fff !important; }
.ma-classes .mobile-sticky-cta a:nth-child(3),
.ma-classes .mobile-sticky-cta a:nth-child(3) span { color: var(--class-ink) !important; }
.ma-classes footer { background: var(--class-blue-wash) !important; border-top: 2px solid var(--class-line); }
.ma-classes footer :is(p, a, span, h3) { color: var(--class-ink) !important; }
.ma-classes footer h3 { font-size: 1rem; }
.ma-classes footer a:hover { color: var(--class-red) !important; }
.ma-classes .footer-bottom { border-color: var(--class-line); }
.ma-classes .ma-footer-mark img { opacity: .85 !important; }
.ma-classes .ma-stamp--btt span { border-color: var(--class-blue) !important; color: var(--class-blue) !important; }

@media (max-width: 900px) {
  .ma-classes .classes-personal-info { grid-template-columns: 1fr !important; }
  .ma-classes .classes-personal-hero { grid-template-rows: 240px !important; }
  .ma-classes :is(.classes-personal-hero, .classes-photo-three, .classes-photo-four) > .cg-c { height: 100%; min-height: 0; aspect-ratio: auto; }
}
@media (max-width: 700px) {
  .ma-classes .classes-title-row { gap: 12px; }
  .ma-classes .classes-toon, .ma-classes .classes-title-row--small .classes-toon { width: 88px; }
  .ma-classes .page-hero h1 { font-size: clamp(2rem, 8vw, 3rem) !important; }
  .ma-classes .classes-programs > div > h2,
  .ma-classes .classes-nutrition h2 { font-size: clamp(2rem, 8vw, 2.7rem) !important; }
  .ma-classes .cg-info-panel { padding: 24px 20px; }
  .ma-classes .classes-disciplines { padding: 26px 20px !important; }
  .ma-classes .classes-title-row--small h3 { font-size: 1.6rem !important; }
  .ma-classes .classes-women h2 { font-size: 1.85rem !important; }
  .ma-classes .classes-personal-hero { grid-template-columns: 1fr 1fr !important; grid-template-rows: 220px 160px !important; }
  .ma-classes .classes-personal-hero > :nth-child(2) { grid-column: 1 / -1; grid-row: 1; }
  .ma-classes .classes-photo-three, .ma-classes .classes-photo-four { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: 180px; }
  .ma-classes .classes-endcap-title h2 { font-size: clamp(2rem, 7vw, 3rem) !important; }
}
@media (max-width: 420px) {
  .ma-classes .ma-bjj-grid { grid-template-columns: 1fr; }
}
@media (max-width: 380px) {
  .ma-classes .classes-title-row--small .classes-toon { width: 72px; }
  .ma-classes .classes-title-row--small h3 { font-size: 1.375rem !important; }
  .ma-classes .classes-women h2 { font-size: 1.55rem !important; }
  .ma-classes #cgTabs .cg-tbtn { width: 100%; }
  .ma-classes .cg-stat-row { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .ma-classes :is(.fade-in, .ma-stagger > *, .cg-panel, .ma-swipe) { animation: none !important; transition: none !important; }
}
