/* ══════════════════════════════════════════════════════════════════════════
   MUFA · VIETNAM AUSTRALIAN TRADE SKILLS CENTRE (VATSC)
   Aesthetic Theme: MUFA Warm Beige, Minimalist Wood Touch & Architectural Harmony
   ══════════════════════════════════════════════════════════════════════════ */

:root {
  --mufa-bg: #faf8f5;
  --mufa-ink: #29251f;
  --mufa-brown: #90613d;
  --mufa-brown-dark: #493324;
  --mufa-brown-hover: #724724;
  --mufa-brown-light: #b89270;
  --mufa-brown-soft: #f4eee7;
  --mufa-surface: #efe8df;
  --mufa-surface-alt: #f0ebe4;
  --mufa-surface-warm: #ece4da;
  --mufa-line: #d6c7b9;
  --mufa-line-strong: #c8b7a3;
  --mufa-muted: #78736d;
  --mufa-dark-wood: #30241b;
  --mufa-ease: cubic-bezier(.22, 1, .36, 1);
}

/* ── Base resets & shared heading styles ── */
.training-hero,
.training-fields-section,
.training-skills-gap,
.training-rpl-section,
.training-flow-section,
.training-audiences-section,
.training-requirements-section,
.training-facilities-section,
.training-philosophy-section,
.training-partnership-roadmap-section,
.training-cta-section {
  position: relative;
  box-sizing: border-box;
}

.training-hero p,
.training-fields-section p,
.training-skills-gap p,
.training-rpl-section p,
.training-flow-section p,
.training-audiences-section p,
.training-requirements-section p,
.training-facilities-section p,
.training-philosophy-section p,
.training-partnership-roadmap-section p,
.training-cta-section p {
  color: var(--mufa-muted);
}

.education-breadcrumb {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--mufa-muted);
  margin-bottom: 35px;
}
.education-breadcrumb a {
  color: var(--mufa-muted);
  text-decoration: none;
  transition: color .3s;
}
.education-breadcrumb a:hover {
  color: var(--mufa-brown);
}
.education-breadcrumb span {
  color: var(--mufa-line-strong);
}

.education-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 35px;
  margin-bottom: 45px;
}
.education-section-heading .eyebrow {
  font-size: 10px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  font-weight: 500;
  margin-bottom: 8px;
  display: block;
}
.education-section-heading h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(34px, 3.5vw, 48px);
  margin: 0;
  line-height: 1.18;
  color: var(--mufa-ink);
  font-weight: 400;
}
.education-section-heading h2 em {
  font-style: italic;
  color: var(--mufa-brown);
  font-weight: 400;
}
.education-section-heading .heading-desc {
  font-size: 14px;
  color: var(--mufa-muted);
  max-width: 420px;
  line-height: 1.65;
  margin: 0;
}

/* ══════════════════════════════════════════════════════════════════════════
   HERO SECTION — MUFA WARM BEIGE LUXURY
══════════════════════════════════════════════════════════════════════════ */
.training-hero {
  padding: 30px 0 75px;
  background: #eee7df;
  border-bottom: 1px solid var(--mufa-line);
}
.training-hero-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 9%;
  align-items: start;
}
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(144, 97, 61, 0.08);
  border: 1px solid rgba(144, 97, 61, 0.22);
  padding: 6px 14px;
  margin-bottom: 22px;
}
.hero-badge .badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mufa-brown);
}
.hero-badge .badge-text {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mufa-brown);
}
.hero-content h1 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(40px, 4.4vw, 66px);
  line-height: 1.15;
  margin: 0 0 22px;
  color: var(--mufa-ink);
  font-weight: 400;
  letter-spacing: -1px;
}
.hero-content h1 em {
  font-style: italic;
  color: var(--mufa-brown);
  font-weight: 400;
}
.training-hero-slogan {
  font-size: 14px;
  line-height: 1.65;
  color: var(--mufa-brown-dark) !important;
  padding: 14px 20px;
  background: #faf8f5;
  border-left: 3px solid var(--mufa-brown);
  margin-bottom: 24px;
}
.hero-content .training-intro {
  font-size: 15px;
  line-height: 1.7;
  color: var(--mufa-muted);
  margin-bottom: 35px;
  max-width: 620px;
}
.hero-cta-group {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}
.hero-cta-group .button {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  padding: 15px 26px;
  font-size: 13.5px;
  font-weight: 500;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: all .3s var(--mufa-ease);
  box-sizing: border-box;
}
.hero-cta-group .button span {
  font-size: 18px;
  line-height: 1;
  transition: transform .35s;
  color: inherit !important;
}
.hero-cta-group .button:hover span {
  transform: translate(3px, -2px);
  color: inherit !important;
}

/* Primary Button (Filled) */
.hero-cta-group .button-primary {
  background: var(--mufa-brown) !important;
  color: #ffffff !important;
  border: 1px solid var(--mufa-brown) !important;
}
.hero-cta-group .button-primary * {
  color: #ffffff !important;
}
.hero-cta-group .button-primary:hover {
  background: var(--mufa-brown-dark) !important;
  border-color: var(--mufa-brown-dark) !important;
  color: #ffffff !important;
}
.hero-cta-group .button-primary:hover * {
  color: #ffffff !important;
}

/* Outline Button: Contrast guaranteed in both normal and hover states */
.hero-cta-group .button-outline {
  background: #faf8f5 !important;
  color: var(--mufa-brown) !important;
  border: 1px solid var(--mufa-line-strong) !important;
}
.hero-cta-group .button-outline * {
  color: var(--mufa-brown) !important;
}
.hero-cta-group .button-outline:hover {
  background: var(--mufa-brown-dark) !important;
  border-color: var(--mufa-brown-dark) !important;
  color: #ffffff !important;
}
.hero-cta-group .button-outline:hover * {
  color: #ffffff !important;
}

/* Hero highlights sidebar (MUFA Overview style) */
.training-hero-highlights {
  border-left: 1px solid #c6b39c;
  padding-left: 35px;
}
.highlight-header {
  border-bottom: 1px solid #c6b39c;
  padding-bottom: 18px;
  margin-bottom: 20px;
}
.highlight-header .eyebrow {
  font-size: 9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  font-weight: 600;
  display: block;
  margin-bottom: 6px;
}
.highlight-header h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 26px;
  margin: 0;
  line-height: 1.25;
  color: var(--mufa-ink);
}
.highlight-items {
  display: flex;
  flex-direction: column;
}
.hl-item {
  display: flex;
  gap: 20px;
  padding: 16px 0;
  border-top: 1px solid #c6b39c;
  align-items: flex-start;
}
.hl-item .hl-num {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px;
  color: var(--mufa-brown);
  line-height: 1;
  padding-top: 2px;
  flex-shrink: 0;
}
.hl-item h4 {
  font-size: 15px;
  font-weight: 500;
  margin: 0 0 3px;
  color: var(--mufa-ink);
}
.hl-item p {
  font-size: 12.5px;
  color: var(--mufa-muted);
  line-height: 1.5;
  margin: 0;
}
.highlight-footer {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #c6b39c;
}
.highlight-footer p {
  font-size: 11.5px;
  color: var(--mufa-muted);
  line-height: 1.6;
  margin: 0;
  font-style: italic;
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION 01: DYNAMIC MAJORS (NGÀNH ĐÀO TẠO)
══════════════════════════════════════════════════════════════════════════ */
.training-fields-section {
  padding: 75px 0 85px;
  background: var(--mufa-surface);
  border-bottom: 1px solid var(--mufa-line);
}
.training-tabs-nav {
  display: flex;
  gap: 10px;
  margin: 30px 0 35px;
  flex-wrap: wrap;
}
.tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 26px;
  background: #faf8f5 !important;
  border: 1px solid var(--mufa-line-strong) !important;
  color: var(--mufa-brown) !important;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all .25s ease;
  box-sizing: border-box;
}
.tab-btn .tab-index {
  font-size: 11px;
  font-family: 'Playfair Display', Georgia, serif;
  color: var(--mufa-brown) !important;
}
.tab-btn .tab-title {
  color: var(--mufa-brown) !important;
}

/* Inactive Tab Hover: Warm background with dark brown text */
.tab-btn:hover {
  background: #ede6dc !important;
  border-color: var(--mufa-brown) !important;
  color: var(--mufa-brown-dark) !important;
}
.tab-btn:hover .tab-index,
.tab-btn:hover .tab-title {
  color: var(--mufa-brown-dark) !important;
}

/* Active Tab (Selected): Rich MUFA brown with crisp white text */
.tab-btn[aria-selected="true"],
.tab-btn.active {
  background: var(--mufa-brown) !important;
  color: #ffffff !important;
  border-color: var(--mufa-brown) !important;
}
.tab-btn[aria-selected="true"] .tab-index,
.tab-btn.active .tab-index,
.tab-btn[aria-selected="true"] .tab-title,
.tab-btn.active .tab-title {
  color: #ffffff !important;
}

/* Active Tab when hovered: Darker wood background, text REMAINS crisp white */
.tab-btn[aria-selected="true"]:hover,
.tab-btn.active:hover {
  background: var(--mufa-brown-dark) !important;
  border-color: var(--mufa-brown-dark) !important;
  color: #ffffff !important;
}
.tab-btn[aria-selected="true"]:hover .tab-index,
.tab-btn.active:hover .tab-index,
.tab-btn[aria-selected="true"]:hover .tab-title,
.tab-btn.active:hover .tab-title {
  color: #ffffff !important;
}

/* Major panel detail */
.training-major-panel {
  background: #faf8f5;
  border: 1px solid var(--mufa-line);
  padding: 45px 50px;
  animation: mufaFadeIn 0.35s ease-out;
}
@keyframes mufaFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
.training-major-panel[hidden] {
  display: none;
}

.major-panel-header {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 40px;
  align-items: center;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--mufa-line);
  margin-bottom: 28px;
}
.major-meta .badge-trade {
  display: inline-block;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  font-weight: 600;
  margin-bottom: 8px;
}
.major-meta h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(28px, 3vw, 36px);
  margin: 0 0 10px;
  line-height: 1.25;
  color: var(--mufa-ink);
}
.major-desc {
  font-size: 15px;
  color: var(--mufa-muted);
  line-height: 1.6;
  margin: 0;
}

.major-cycle-card {
  background: #eee7df;
  border-left: 3px solid var(--mufa-brown);
  padding: 20px 22px;
}
.major-cycle-card .cycle-label {
  font-size: 9px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--mufa-brown-dark);
  font-weight: 600;
  display: block;
  margin-bottom: 6px;
}
.major-cycle-card .cycle-flow {
  font-size: 14.5px;
  font-weight: 500;
  color: var(--mufa-ink);
  margin: 0 0 6px;
  line-height: 1.4;
}
.major-cycle-card small {
  font-size: 12px;
  color: var(--mufa-muted);
  line-height: 1.5;
  display: block;
}

/* Specs Bar */
.major-specs-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  background: #f3ece3;
  border: 1px solid var(--mufa-line);
  padding: 16px 22px;
  margin-bottom: 35px;
}
.spec-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.spec-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--mufa-muted);
}
.spec-val {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--mufa-ink);
}

/* Major Details Grid */
.major-details-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 45px;
}
.col-title-wrap {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 22px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--mufa-line);
}
.col-icon {
  font-size: 22px;
  line-height: 1;
}
.col-title-wrap h4 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 20px;
  font-weight: 400;
  margin: 0 0 3px;
  color: var(--mufa-ink);
}
.col-title-wrap p {
  font-size: 12.5px;
  color: var(--mufa-muted);
  margin: 0;
  line-height: 1.4;
}

/* Skills checklist */
.skills-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
}
.skills-checklist li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13.5px;
  color: var(--mufa-ink);
  line-height: 1.45;
}
.skill-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  background: rgba(144, 97, 61, 0.12);
  color: var(--mufa-brown);
  font-size: 11px;
  font-weight: bold;
  flex-shrink: 0;
  margin-top: 1px;
}

/* Practice bays */
.practice-bays-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 26px;
}
.bay-card {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #f7f2ea;
  border: 1px solid var(--mufa-line);
  padding: 10px 16px;
  transition: all .25s ease;
}
.bay-card:hover {
  background: #ffffff;
  border-color: var(--mufa-brown);
  transform: translateX(3px);
}
.bay-badge {
  font-size: 10px;
  font-family: 'Playfair Display', Georgia, serif;
  color: var(--mufa-brown);
  background: #ffffff;
  border: 1px solid var(--mufa-line);
  padding: 2px 7px;
  flex-shrink: 0;
}
.bay-card h5 {
  font-size: 13.5px;
  font-weight: 400;
  margin: 0;
  color: var(--mufa-ink);
}

.major-cta-card {
  background: #eee7df;
  border: 1px solid var(--mufa-line);
  padding: 24px;
}
.major-cta-card h5 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 18px;
  margin: 0 0 6px;
  color: var(--mufa-ink);
}
.major-cta-card p {
  font-size: 13px;
  color: var(--mufa-muted);
  margin: 0 0 16px;
  line-height: 1.5;
}
.major-cta-card .button {
  display: inline-flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  background: var(--mufa-brown) !important;
  color: #ffffff !important;
  border: 1px solid var(--mufa-brown) !important;
  padding: 13px 20px;
  font-size: 13.5px;
  font-weight: 500;
  text-decoration: none;
  transition: all .3s;
  box-sizing: border-box;
}
.major-cta-card .button * {
  color: #ffffff !important;
}
.major-cta-card .button:hover {
  background: var(--mufa-brown-dark) !important;
  border-color: var(--mufa-brown-dark) !important;
  color: #ffffff !important;
}
.major-cta-card .button:hover * {
  color: #ffffff !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION 02: SKILLS GAP TRAINING
══════════════════════════════════════════════════════════════════════════ */
.training-skills-gap {
  padding: 85px 0;
  background: var(--mufa-bg);
  border-bottom: 1px solid var(--mufa-line);
}
.gap-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 8%;
  align-items: center;
}
.gap-intro .eyebrow {
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  font-weight: 500;
  margin-bottom: 8px;
  display: block;
}
.gap-intro h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(32px, 3.4vw, 44px);
  margin: 0 0 18px;
  line-height: 1.2;
  color: var(--mufa-ink);
  font-weight: 400;
}
.gap-intro h2 em {
  font-style: italic;
  color: var(--mufa-brown);
}
.gap-desc {
  font-size: 15px;
  color: var(--mufa-muted);
  line-height: 1.65;
  margin-bottom: 26px;
}
.gap-questions {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.gap-q-box {
  display: flex;
  gap: 15px;
  padding: 18px 22px;
  background: #f7f2ea;
  border: 1px solid var(--mufa-line);
}
.gap-q-box.known {
  border-left: 3px solid var(--mufa-brown);
}
.gap-q-box.gap {
  border-left: 3px solid #b89270;
}
.gap-q-box .q-icon {
  font-size: 20px;
  line-height: 1;
}
.gap-q-box h4 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 17px;
  margin: 0 0 4px;
  color: var(--mufa-ink);
}
.gap-q-box p {
  font-size: 13px;
  color: var(--mufa-muted);
  line-height: 1.5;
  margin: 0;
}

/* Case study card */
.gap-case-study {
  background: #f5eee5;
  border: 1px solid var(--mufa-line);
  padding: 32px 30px;
}
.case-header {
  border-bottom: 1px solid var(--mufa-line);
  padding-bottom: 16px;
  margin-bottom: 20px;
}
.badge-case {
  font-size: 9.5px;
  letter-spacing: 1.8px;
  font-weight: 600;
  color: var(--mufa-brown);
  text-transform: uppercase;
  display: block;
  margin-bottom: 5px;
}
.case-header h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 21px;
  margin: 0;
  line-height: 1.3;
  color: var(--mufa-ink);
}
.case-comparison {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 16px;
  margin-bottom: 20px;
}
.case-col {
  background: #faf8f5;
  border: 1px solid var(--mufa-line);
  padding: 16px;
}
.case-col.need-skills {
  background: #eee5d8;
  border-color: #cdbcaa;
}
.case-tag {
  display: inline-block;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--mufa-muted);
  margin-bottom: 10px;
}
.case-tag.highlight {
  color: var(--mufa-brown-dark);
}
.case-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.case-col li {
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--mufa-ink);
  position: relative;
  padding-left: 12px;
}
.case-col li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--mufa-brown);
}
.case-conclusion {
  padding-top: 16px;
  border-top: 1px solid var(--mufa-line);
}
.case-conclusion p {
  font-size: 13px;
  line-height: 1.55;
  color: var(--mufa-ink);
  margin: 0;
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION 03: RPL PREPARATION
══════════════════════════════════════════════════════════════════════════ */
.training-rpl-section {
  padding: 80px 0;
  background: var(--mufa-surface-alt);
  border-bottom: 1px solid var(--mufa-line);
}
.rpl-portfolio-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 35px;
  align-items: start;
}
.rpl-intro-card {
  background: #faf8f5;
  border: 1px solid var(--mufa-line);
  padding: 32px;
}
.rpl-intro-card h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px;
  margin: 0 0 12px;
  line-height: 1.3;
  color: var(--mufa-ink);
}
.rpl-intro-card p {
  font-size: 14.5px;
  color: var(--mufa-muted);
  line-height: 1.6;
  margin: 0 0 22px;
}
.rpl-alert-box {
  background: #f2ece2;
  border-left: 3px solid var(--mufa-brown);
  padding: 15px 18px;
}
.rpl-alert-box strong {
  display: block;
  font-size: 12.5px;
  color: var(--mufa-brown-dark);
  margin-bottom: 5px;
}
.rpl-alert-box p {
  font-size: 12.5px;
  color: var(--mufa-muted);
  line-height: 1.5;
  margin: 0;
}

.rpl-items-container {
  background: #faf8f5;
  border: 1px solid var(--mufa-line);
  padding: 32px;
}
.items-title {
  display: block;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  font-weight: 600;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--mufa-line);
  padding-bottom: 10px;
}
.rpl-badges-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.rpl-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #f7f2ea;
  border: 1px solid var(--mufa-line);
  padding: 10px 14px;
  font-size: 13px;
  color: var(--mufa-ink);
  line-height: 1.35;
  transition: all .2s;
}
.rpl-badge:hover {
  background: #ffffff;
  border-color: var(--mufa-brown);
}
.rpl-badge span {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 13px;
  color: var(--mufa-brown);
  background: #ffffff;
  border: 1px solid var(--mufa-line);
  padding: 1px 6px;
  flex-shrink: 0;
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION 04: QUY TRÌNH ĐÀO TẠO 10 BƯỚC
══════════════════════════════════════════════════════════════════════════ */
.training-flow-section {
  padding: 85px 0;
  background: var(--mufa-bg);
  border-bottom: 1px solid var(--mufa-line);
}
.steps-flow-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}
.step-card {
  background: #faf8f5;
  border: 1px solid var(--mufa-line);
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  transition: background .4s, transform .4s;
}
.step-card:hover {
  background: #f0e9df;
  transform: translateY(-4px);
  border-color: var(--mufa-brown);
}
.step-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--mufa-line);
}
.step-number {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 30px;
  color: var(--mufa-brown);
  line-height: 1;
}
.step-stage {
  font-size: 9.5px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--mufa-muted);
}
.step-card h4 {
  font-size: 13.5px;
  font-weight: 600;
  margin: 0 0 8px;
  line-height: 1.35;
  color: var(--mufa-ink);
}
.step-card p {
  font-size: 12px;
  color: var(--mufa-muted);
  line-height: 1.55;
  margin: 0;
  flex: 1;
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION 05: ĐỐI TƯỢNG TUYỂN SINH
══════════════════════════════════════════════════════════════════════════ */
.training-audiences-section {
  padding: 85px 0;
  background: var(--mufa-surface);
  border-bottom: 1px solid var(--mufa-line);
}
.audience-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.audience-card {
  background: #faf8f5;
  border: 1px solid var(--mufa-line);
  padding: 30px 26px;
  display: flex;
  flex-direction: column;
  transition: all .35s ease;
}
.audience-card:hover {
  transform: translateY(-3px);
  border-color: var(--mufa-brown);
}
.aud-badge {
  font-size: 9.5px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  font-weight: 600;
  display: inline-block;
  margin-bottom: 12px;
}
.audience-card h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 21px;
  margin: 0 0 10px;
  color: var(--mufa-ink);
  line-height: 1.3;
}
.aud-target {
  font-size: 13.5px;
  color: var(--mufa-muted);
  line-height: 1.6;
  margin: 0 0 18px;
  flex: 1;
}
.aud-pathway {
  border-top: 1px solid var(--mufa-line);
  padding-top: 14px;
}
.aud-pathway strong {
  display: block;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--mufa-brown);
  margin-bottom: 3px;
}
.aud-pathway span {
  font-size: 12.5px;
  color: var(--mufa-ink);
  line-height: 1.5;
}
.audience-card.highlight-card {
  background: #f4ede3;
  border-color: var(--mufa-brown);
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION 06: ĐIỀU KIỆN ĐẦU VÀO
══════════════════════════════════════════════════════════════════════════ */
.training-requirements-section {
  padding: 80px 0;
  background: var(--mufa-bg);
  border-bottom: 1px solid var(--mufa-line);
}
.requirements-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 45px;
  align-items: center;
}
.req-left .eyebrow {
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  font-weight: 500;
  margin-bottom: 8px;
  display: block;
}
.req-left h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(32px, 3.4vw, 42px);
  margin: 0 0 20px;
  line-height: 1.2;
  color: var(--mufa-ink);
  font-weight: 400;
}
.req-left h2 em {
  font-style: italic;
  color: var(--mufa-brown);
}
.req-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.req-list li {
  position: relative;
  padding-left: 24px;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--mufa-ink);
}
.req-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--mufa-brown);
  font-weight: bold;
}

.evidence-box {
  background: #f7f2ea;
  border: 1px solid var(--mufa-line);
  padding: 30px;
}
.evidence-box .eyebrow {
  font-size: 9.5px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  font-weight: 600;
  display: block;
  margin-bottom: 6px;
}
.evidence-box h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 20px;
  margin: 0 0 18px;
  color: var(--mufa-ink);
}
.evidence-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 22px;
}
.evidence-tags span {
  font-size: 12px;
  background: #faf8f5;
  border: 1px solid var(--mufa-line);
  color: var(--mufa-ink);
  padding: 5px 11px;
}
.evidence-note {
  border-top: 1px solid var(--mufa-line);
  padding-top: 16px;
}
.evidence-note p {
  font-size: 13px;
  color: var(--mufa-muted);
  line-height: 1.6;
  margin: 0;
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION 07—10: CƠ SỞ VẬT CHẤT & AN TOÀN
══════════════════════════════════════════════════════════════════════════ */
.training-facilities-section {
  padding: 85px 0;
  background: var(--mufa-surface-alt);
  border-bottom: 1px solid var(--mufa-line);
}
.facilities-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.facility-card {
  background: #faf8f5;
  border: 1px solid var(--mufa-line);
  padding: 32px;
  display: flex;
  flex-direction: column;
  transition: all .3s ease;
}
.facility-card:hover {
  transform: translateY(-3px);
  border-color: var(--mufa-brown);
}
.facility-header {
  border-bottom: 1px solid var(--mufa-line);
  padding-bottom: 14px;
  margin-bottom: 18px;
}
.facility-tag {
  font-size: 9.5px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  font-weight: 600;
  display: block;
  margin-bottom: 4px;
}
.facility-header h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px;
  margin: 0;
  color: var(--mufa-ink);
  line-height: 1.3;
}
.facility-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}
.sub-zone {
  font-size: 13px;
  line-height: 1.55;
  color: var(--mufa-muted);
  background: #f7f2ea;
  padding: 9px 13px;
  border-left: 2px solid var(--mufa-line-strong);
}
.sub-zone strong {
  color: var(--mufa-ink);
}
.facility-desc {
  font-size: 13.5px;
  color: var(--mufa-muted);
  margin: 0;
  line-height: 1.55;
}
.machinery-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 6px 0;
}
.machinery-pills span {
  font-size: 12px;
  background: #ede6dc;
  color: var(--mufa-brown-dark);
  padding: 6px 12px;
}
.facility-note {
  font-size: 11.5px;
  color: var(--mufa-muted);
  font-style: italic;
  line-height: 1.5;
  margin-top: 6px;
}

/* Safety card */
.safety-card {
  border-top: 3px solid var(--mufa-brown);
}
.safety-points {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
}
.safety-points li {
  position: relative;
  padding-left: 18px;
  font-size: 12.5px;
  color: var(--mufa-ink);
  line-height: 1.45;
}
.safety-points li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--mufa-brown);
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION 11: TRIẾT LÝ ĐÀO TẠO "LEARN BY DOING" (MUFA Dark Wood)
══════════════════════════════════════════════════════════════════════════ */
.training-philosophy-section {
  padding: 90px 0;
  background: var(--mufa-dark-wood);
  color: #e4d7c7;
  text-align: center;
}
.philosophy-box {
  max-width: 860px;
  margin: 0 auto;
}
.philosophy-box .eyebrow {
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #d5b99d;
  font-weight: 500;
  display: block;
  margin-bottom: 12px;
}
.philosophy-box h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(34px, 4vw, 50px);
  letter-spacing: 1px;
  margin: 0 0 32px;
  color: #ffffff;
  font-weight: 400;
}
.learning-loop {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 35px;
}
.loop-step {
  font-size: 13.5px;
  font-weight: 400;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 7px 15px;
}
.loop-step.highlight {
  background: var(--mufa-brown);
  border-color: var(--mufa-brown);
  color: #ffffff;
}
.loop-arrow {
  color: rgba(255, 255, 255, 0.4);
  font-size: 15px;
}
.philosophy-box blockquote {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.65;
  font-style: italic;
  color: #e4d7c7;
  margin: 0;
  border: none;
  padding: 0 20px;
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION 12 & 13: RTO PARTNERSHIP & ROADMAP
══════════════════════════════════════════════════════════════════════════ */
.training-partnership-roadmap-section {
  padding: 85px 0;
  background: var(--mufa-surface);
  border-bottom: 1px solid var(--mufa-line);
}
.dual-columns-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 35px;
}
.col-card {
  background: #faf8f5;
  border: 1px solid var(--mufa-line);
  padding: 35px 32px;
}
.col-card .eyebrow {
  font-size: 9.5px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  font-weight: 600;
  display: block;
  margin-bottom: 8px;
}
.col-card h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 24px;
  margin: 0 0 14px;
  color: var(--mufa-ink);
}
.col-card p {
  font-size: 14px;
  color: var(--mufa-muted);
  line-height: 1.65;
  margin-bottom: 18px;
}

.disclosure-list {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.disclosure-list li {
  position: relative;
  padding-left: 18px;
  font-size: 13px;
  color: var(--mufa-ink);
  line-height: 1.45;
}
.disclosure-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--mufa-brown);
}
.legal-statement {
  background: #f4eee7;
  border-left: 3px solid var(--mufa-brown);
  padding: 13px 16px;
  font-size: 12.5px;
  color: var(--mufa-brown-dark);
  line-height: 1.5;
}

/* Roadmap Phase */
.phase-block {
  background: #f7f2ea;
  border: 1px solid var(--mufa-line);
  padding: 18px 20px;
  margin-bottom: 15px;
}
.phase-block.current {
  border-left: 3px solid var(--mufa-brown);
}
.phase-block.future {
  border-left: 3px solid var(--mufa-line-strong);
}
.phase-badge {
  display: inline-block;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--mufa-brown);
  text-transform: uppercase;
  margin-bottom: 5px;
}
.phase-badge.secondary {
  color: var(--mufa-muted);
}
.phase-block h4 {
  font-size: 13.5px;
  font-weight: 600;
  margin: 0 0 10px;
  color: var(--mufa-ink);
}
.phase-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.phase-tags span {
  font-size: 12px;
  background: #faf8f5;
  border: 1px solid var(--mufa-line);
  color: var(--mufa-muted);
  padding: 5px 11px;
}
.phase-tags span.tag-active {
  background: rgba(144, 97, 61, 0.1);
  color: var(--mufa-brown);
  border-color: var(--mufa-brown);
  font-weight: 500;
}
.phase-note {
  font-size: 11.5px;
  color: var(--mufa-muted);
  font-style: italic;
  display: block;
  line-height: 1.5;
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION 14: CTA & INQUIRY FORM (MUFA Contact Style)
══════════════════════════════════════════════════════════════════════════ */
.training-cta-section {
  padding: 85px 0 95px;
  background: var(--mufa-surface-warm);
}
.cta-banner-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 50px;
  align-items: start;
}
.cta-info .eyebrow {
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  font-weight: 500;
  display: block;
  margin-bottom: 8px;
}
.cta-info h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(32px, 3.6vw, 46px);
  line-height: 1.18;
  margin: 0 0 14px;
  color: var(--mufa-ink);
  font-weight: 400;
}
.cta-info h2 em {
  font-style: italic;
  color: var(--mufa-brown);
}
.cta-motto {
  font-size: 13.5px;
  color: var(--mufa-brown-dark);
  letter-spacing: 0.5px;
  margin-bottom: 10px;
}
.cta-sub {
  font-size: 14.5px;
  color: var(--mufa-muted);
  line-height: 1.65;
  margin-bottom: 26px;
}

.cta-dual-boxes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.cta-option-box {
  background: #faf8f5;
  border: 1px solid var(--mufa-line);
  padding: 22px 18px;
  display: flex;
  flex-direction: column;
}
.option-tag {
  font-size: 9.5px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  font-weight: 600;
  margin-bottom: 6px;
  display: block;
}
.cta-option-box h4 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 16.5px;
  margin: 0 0 6px;
  color: var(--mufa-ink);
}
.cta-option-box p {
  font-size: 12.5px;
  color: var(--mufa-muted);
  line-height: 1.5;
  margin: 0 0 16px;
  flex: 1;
}
.cta-option-box .button {
  padding: 13px 20px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  text-align: center;
  justify-content: center;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  transition: all .3s var(--mufa-ease);
  box-sizing: border-box;
}
.cta-option-box .button span {
  color: inherit !important;
  transition: transform .35s;
}
.cta-option-box .button:hover span {
  transform: translate(3px, -2px);
  color: inherit !important;
}

/* Primary Button */
.cta-option-box .button-primary {
  background: var(--mufa-brown) !important;
  color: #ffffff !important;
  border: 1px solid var(--mufa-brown) !important;
}
.cta-option-box .button-primary * {
  color: #ffffff !important;
}
.cta-option-box .button-primary:hover {
  background: var(--mufa-brown-dark) !important;
  border-color: var(--mufa-brown-dark) !important;
  color: #ffffff !important;
}
.cta-option-box .button-primary:hover * {
  color: #ffffff !important;
}

/* Outline Button */
.cta-option-box .button-outline {
  background: #faf8f5 !important;
  color: var(--mufa-brown) !important;
  border: 1px solid var(--mufa-line-strong) !important;
}
.cta-option-box .button-outline * {
  color: var(--mufa-brown) !important;
}
.cta-option-box .button-outline:hover {
  background: var(--mufa-brown-dark) !important;
  border-color: var(--mufa-brown-dark) !important;
  color: #ffffff !important;
}
.cta-option-box .button-outline:hover * {
  color: #ffffff !important;
}

/* Quick Inquiry Form */
.cta-quick-form-card {
  background: #faf8f5;
  border: 1px solid var(--mufa-line);
  padding: 32px 28px;
}
.form-header {
  border-bottom: 1px solid var(--mufa-line);
  padding-bottom: 14px;
  margin-bottom: 20px;
}
.form-eyebrow {
  font-size: 9.5px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  font-weight: 600;
  display: block;
  margin-bottom: 4px;
}
.form-header h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px;
  margin: 0 0 4px;
  color: var(--mufa-ink);
}
.form-header p {
  font-size: 12.5px;
  color: var(--mufa-muted);
  margin: 0;
  line-height: 1.45;
}

.mufa-training-inquiry-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.form-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.form-group label {
  font-size: 12px;
  color: var(--mufa-ink);
}
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 11px 13px;
  border: 1px solid #c4b5a5;
  background: rgba(255, 255, 255, 0.7);
  color: var(--mufa-ink);
  font-family: inherit;
  font-size: 13.5px;
  box-sizing: border-box;
  outline: none;
  transition: all .3s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--mufa-brown);
  background: #ffffff;
}
.button-submit {
  background: var(--mufa-brown) !important;
  color: #ffffff !important;
  border: 1px solid var(--mufa-brown) !important;
  padding: 14px 20px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  transition: all .35s var(--mufa-ease);
  margin-top: 4px;
}
.button-submit * {
  color: #ffffff !important;
}
.button-submit:hover {
  background: var(--mufa-brown-dark) !important;
  border-color: var(--mufa-brown-dark) !important;
  color: #ffffff !important;
}
.button-submit:hover * {
  color: #ffffff !important;
}
.button-submit span {
  font-size: 18px;
  line-height: 1;
  color: inherit !important;
}
.form-privacy {
  font-size: 11px;
  color: var(--mufa-muted);
  text-align: center;
  line-height: 1.4;
  margin-top: 2px;
}

/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .training-hero-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .training-hero-highlights {
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid #c6b39c;
    padding-top: 25px;
  }
  .major-panel-header {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .steps-flow-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .audience-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .major-specs-bar {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  .cta-banner-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

@media (max-width: 850px) {
  .gap-grid,
  .rpl-portfolio-grid,
  .requirements-grid,
  .dual-columns-grid,
  .facilities-grid,
  .major-details-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .case-comparison {
    grid-template-columns: 1fr;
  }
  .steps-flow-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .skills-checklist {
    grid-template-columns: 1fr;
  }
  .education-section-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}

@media (max-width: 680px) {
  .training-hero {
    padding: 20px 0 45px;
  }
  .training-major-panel {
    padding: 24px 18px;
  }
  .steps-flow-grid {
    grid-template-columns: 1fr;
  }
  .audience-grid {
    grid-template-columns: 1fr;
  }
  .cta-dual-boxes {
    grid-template-columns: 1fr;
  }
  .rpl-badges-grid {
    grid-template-columns: 1fr;
  }
  .safety-points {
    grid-template-columns: 1fr;
  }
  .major-specs-bar {
    grid-template-columns: 1fr;
  }
  .hero-cta-group {
    flex-direction: column;
    align-items: stretch;
  }
  .hero-cta-group .button {
    justify-content: center;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   GLOBAL BUTTON & HOVER CONTRAST ENFORCEMENT
══════════════════════════════════════════════════════════════════════════ */
.button:hover,
.button-primary:hover,
.button-outline:hover,
.button-submit:hover,
.button:hover *,
.button-primary:hover *,
.button-outline:hover *,
.button-submit:hover * {
  color: #ffffff !important;
}

/* Outline button normal state text color */
.button-outline,
.button-outline:not(:hover),
.button-outline:not(:hover) * {
  color: var(--mufa-brown) !important;
}

/* Tab button active state text color */
.tab-btn.active,
.tab-btn[aria-selected="true"],
.tab-btn.active *,
.tab-btn[aria-selected="true"] * {
  color: #ffffff !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   SINGLE PROGRAM PAGE (mufa_admission single layout)
   ══════════════════════════════════════════════════════════════════════════ */
.program-hero {
  padding: 35px 0 65px;
  background: #eee7df;
  border-bottom: 1px solid var(--mufa-line);
}
.program-hero-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 50px;
  align-items: flex-start;
}
.program-badge-group {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.program-badge-group .badge-trade {
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  font-weight: 600;
}
.phase-tag {
  display: inline-block;
  padding: 3px 9px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: rgba(144, 97, 61, 0.1);
  color: var(--mufa-brown);
  border: 1px solid var(--mufa-line);
}
.phase-tag.active-tag {
  background: rgba(46, 125, 50, 0.1);
  color: #2e7d32;
  border-color: rgba(46, 125, 50, 0.3);
}
.program-hero-info h1 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(32px, 3.8vw, 46px);
  line-height: 1.2;
  margin: 0 0 16px;
  color: var(--mufa-ink);
  font-weight: 400;
}
.program-hero-desc {
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--mufa-muted);
  margin-bottom: 30px;
  max-width: 620px;
}
.program-cycle-hero-card {
  margin-bottom: 18px;
}
.program-cycle-hero-card .cycle-explain {
  font-size: 12.5px;
  color: var(--mufa-muted);
  line-height: 1.55;
  margin: 0;
}
.program-quick-tags {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.qtag-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #faf8f5;
  border: 1px solid var(--mufa-line);
  padding: 12px 16px;
}
.qtag-icon {
  font-size: 20px;
  line-height: 1;
  flex-shrink: 0;
}
.qtag-item strong {
  display: block;
  font-size: 13.5px;
  color: var(--mufa-ink);
  font-weight: 600;
  margin-bottom: 2px;
}
.qtag-item span {
  font-size: 12px;
  color: var(--mufa-muted);
  line-height: 1.4;
}

/* Specs Bar on Single Program */
.program-specs-section {
  padding: 30px 0 0;
  background: #faf8f5;
}
.program-specs-bar {
  margin-bottom: 0 !important;
}

/* Curriculum & Details */
.program-curriculum-section {
  padding: 70px 0;
  background: #faf8f5;
  border-bottom: 1px solid var(--mufa-line);
}
.program-details-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 45px;
}
.program-curriculum-box {
  background: #ffffff;
  border: 1px solid var(--mufa-line);
  padding: 35px 40px;
}
.program-workshop-box {
  display: flex;
  flex-direction: column;
}
.program-skills-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-bottom: 25px;
}
.curriculum-tip-box {
  display: flex;
  gap: 14px;
  background: #f7f2ea;
  border-left: 3px solid var(--mufa-brown);
  padding: 16px 20px;
  margin-top: 25px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--mufa-ink);
}
.curriculum-tip-box p {
  margin: 0;
}
.tip-icon {
  font-size: 20px;
  line-height: 1;
  flex-shrink: 0;
}
.program-extended-content {
  margin-top: 25px;
  padding-top: 25px;
  border-top: 1px solid var(--mufa-line);
}
.program-extended-content h4 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 18px;
  color: var(--mufa-ink);
  margin: 0 0 12px;
}
.program-extended-content p {
  font-size: 14px;
  line-height: 1.7;
  color: var(--mufa-muted);
}
.program-sidebar-cta {
  margin-top: auto;
}

/* RPL Step Cards on Single Program */
.program-rpl-section {
  padding: 75px 0;
  background: #eee7df;
  border-bottom: 1px solid var(--mufa-line);
}
.rpl-step-items {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 25px;
}
.rpl-step-card {
  display: flex;
  gap: 18px;
  background: #faf8f5;
  border: 1px solid var(--mufa-line);
  padding: 16px 20px;
  transition: transform .25s ease, border-color .25s ease;
}
.rpl-step-card:hover {
  transform: translateX(4px);
  border-color: var(--mufa-brown);
}
.rpl-step-card .step-num {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 24px;
  color: var(--mufa-brown);
  font-weight: 600;
  line-height: 1;
  flex-shrink: 0;
  padding-top: 2px;
}
.rpl-step-card h4 {
  font-size: 14.5px;
  font-weight: 600;
  margin: 0 0 4px;
  color: var(--mufa-ink);
}
.rpl-step-card p {
  font-size: 12.5px;
  color: var(--mufa-muted);
  line-height: 1.5;
  margin: 0;
}
.rpl-feature-box {
  background: #faf8f5;
  border: 1px solid var(--mufa-line);
  padding: 35px 38px;
}
.feature-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  margin-bottom: 10px;
}
.rpl-feature-box h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 24px;
  line-height: 1.3;
  color: var(--mufa-ink);
  margin: 0 0 20px;
}
.feature-list {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.feature-list li {
  position: relative;
  padding-left: 20px;
  font-size: 13.5px;
  color: var(--mufa-ink);
  line-height: 1.5;
}
.feature-list li::before {
  content: "•";
  color: var(--mufa-brown);
  font-size: 20px;
  position: absolute;
  left: 0;
  top: -3px;
}

/* Related Majors Grid */
.program-related-section {
  padding: 70px 0;
  background: #faf8f5;
  border-bottom: 1px solid var(--mufa-line);
}
.program-related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.related-major-card {
  background: #ffffff;
  border: 1px solid var(--mufa-line);
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all .3s ease;
}
.related-major-card:hover {
  border-color: var(--mufa-brown);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(73, 51, 36, 0.06);
}
.related-badge {
  font-size: 9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--mufa-brown);
  font-weight: 600;
  display: block;
  margin-bottom: 8px;
}
.related-major-card h4 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 16px;
  margin: 0 0 10px;
  line-height: 1.3;
}
.related-major-card h4 a {
  color: var(--mufa-ink);
  text-decoration: none;
  transition: color .2s;
}
.related-major-card h4 a:hover {
  color: var(--mufa-brown);
}
.related-desc {
  font-size: 12.5px;
  color: var(--mufa-muted);
  line-height: 1.55;
  margin-bottom: 20px;
  flex-grow: 1;
}
.related-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--mufa-line);
  padding-top: 14px;
}
.related-format {
  font-size: 11px;
  color: var(--mufa-muted);
}
.related-link {
  font-size: 12px;
  font-weight: 600;
  color: var(--mufa-brown);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: color .2s;
}
.related-link:hover {
  color: var(--mufa-brown-dark);
}

/* Responsive adjustments for Single Program */
@media (max-width: 1024px) {
  .program-hero-grid,
  .program-details-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .program-related-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 680px) {
  .program-hero {
    padding: 24px 0 45px;
  }
  .program-curriculum-box {
    padding: 24px 20px;
  }
  .program-related-grid {
    grid-template-columns: 1fr;
  }
  .rpl-feature-box {
    padding: 24px 20px;
  }
}


