/*
Theme Name: CITARES Industrial Learning
Theme URI: https://citares.edu.vn/
Author: CITARES / 8Hz Toolkit
Description: Custom WordPress theme for CITARES — industrial learning, workforce development and program pages.
Version: 0.2.0
Requires at least: 6.3
Tested up to: 6.7
Requires PHP: 8.0
Text Domain: citares
*/

:root {
  --citares-blue: #0878f9;
  --citares-blue-2: #2e9cff;
  --citares-navy: #062651;
  --citares-ink: #102c58;
  --citares-muted: #61728c;
  --citares-line: #e3eaf3;
  --citares-white: #ffffff;
  --citares-bg: #f7f9fc;
  --citares-bg-blue: #f2f8ff;
  --citares-bg-warm: #fff8ed;
  --citares-radius: 20px;
  --citares-shadow: 0 18px 50px rgba(6, 38, 81, .10);
  --citares-container: 1440px;
  --citares-header: 82px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--citares-ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }

.citares-container { width: min(92%, var(--citares-container)); margin-inline: auto; }
.citares-section { padding-block: 92px; }
.citares-section--blue { background: var(--citares-bg-blue); }
.citares-section--gray { background: var(--citares-bg); }
.citares-section--warm { background: var(--citares-bg-warm); }
.citares-section--navy { background: var(--citares-navy); color: #fff; }

.section-kicker {
  margin: 0 0 12px;
  color: var(--citares-blue);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.section-title {
  margin: 0;
  max-width: 900px;
  font-size: clamp(2rem, 3.2vw, 3.6rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}
.section-lead { max-width: 760px; margin: 18px 0 0; color: var(--citares-muted); font-size: 1.08rem; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 42px; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 750;
  transition: .2s ease;
  cursor: pointer;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--citares-blue); color: #fff; box-shadow: 0 12px 28px rgba(8,120,249,.24); }
.btn-primary:hover { background: #006be0; }
.btn-secondary { border-color: rgba(255,255,255,.42); color: #fff; background: rgba(255,255,255,.08); }
.btn-outline { border-color: #cfd9e6; color: var(--citares-navy); background: #fff; }
.btn-link { color: var(--citares-blue); font-weight: 800; }

.card {
  border: 1px solid var(--citares-line);
  border-radius: var(--citares-radius);
  background: #fff;
  box-shadow: 0 10px 35px rgba(15,45,80,.06);
  overflow: hidden;
}
.card-body { padding: 28px; }
.card-title { margin: 0 0 10px; font-size: 1.25rem; line-height: 1.25; }
.card-text { margin: 0; color: var(--citares-muted); }

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  height: var(--citares-header);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(214,224,237,.9);
}
.header-inner { height: 100%; display: flex; align-items: center; gap: 26px; }
.site-brand { flex: 0 0 auto; }
.site-brand img, .custom-logo-link img { width: 210px; max-height: 56px; object-fit: contain; object-position: left center; }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 24px; }
.main-nav a, .mega-trigger {
  border: 0; background: none; color: #244469; padding: 26px 0; font-weight: 700; cursor: pointer;
}
.main-nav a:hover, .mega-trigger:hover, .mega-trigger[aria-expanded="true"] { color: var(--citares-blue); }
.header-actions { display: flex; align-items: center; gap: 10px; }
.header-actions .btn { min-height: 42px; padding-inline: 16px; }
.lang-link { font-size: .84rem; font-weight: 800; color: #526d8d; padding: 10px; }
.mobile-toggle { display: none; margin-left: auto; border: 0; background: transparent; width: 44px; height: 44px; font-size: 1.35rem; }

.mega-menu {
  position: fixed;
  left: 50%;
  top: calc(var(--citares-header) + 8px);
  width: min(92vw, 1320px);
  transform: translateX(-50%) translateY(-8px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background: #fff;
  border: 1px solid var(--citares-line);
  border-radius: 22px;
  box-shadow: 0 30px 70px rgba(8,33,70,.18);
  transition: .18s ease;
}
.mega-menu.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0); }
.mega-grid { display: grid; grid-template-columns: repeat(5, 1fr) 1.15fr; gap: 24px; padding: 32px; }
.mega-col h3 { margin: 0 0 13px; font-size: .8rem; color: #31577f; letter-spacing: .08em; text-transform: uppercase; }
.mega-col a { display: block; padding: 6px 0; color: #4f6885; font-size: .94rem; }
.mega-col a:hover { color: var(--citares-blue); }
.mega-feature { padding: 24px; border-radius: 18px; background: linear-gradient(145deg, var(--citares-navy), #0b4a86); color: #fff; }
.mega-feature small { opacity: .75; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.mega-feature h3 { margin: 18px 0 10px; font-size: 1.45rem; line-height: 1.15; }
.mega-feature p { margin: 0 0 20px; opacity: .82; }

/* Hero */
.home-hero, .program-hero {
  position: relative;
  isolation: isolate;
  color: #fff;
  background: linear-gradient(100deg, #031c3a 0%, #062651 42%, #0c538b 100%);
  overflow: hidden;
}
.home-hero::after, .program-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 82% 30%, rgba(50,167,255,.38), transparent 32%), linear-gradient(90deg, rgba(2,23,49,.96), rgba(2,23,49,.55) 55%, rgba(2,23,49,.12));
}
.home-hero.has-bg::before, .program-hero.has-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--hero-image);
  background-size: cover;
  background-position: center;
}
.home-hero { min-height: 690px; display: flex; align-items: center; }
.hero-content { padding-block: 88px 54px; }
.hero-kicker { color: #7ec9ff; font-size: .84rem; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; }
.hero-title { margin: 18px 0; max-width: 820px; font-size: clamp(3.2rem, 6.1vw, 6.7rem); line-height: .95; letter-spacing: -.055em; }
.hero-title em { color: #62bdff; font-style: normal; }
.hero-subtitle { max-width: 700px; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(1.1rem, 1.7vw, 1.42rem); }
.hero-actions { display: flex; gap: 12px; margin-top: 34px; flex-wrap: wrap; }
.hero-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; max-width: 900px; margin-top: 64px; }
.hero-stat { border-left: 1px solid rgba(255,255,255,.24); padding-left: 18px; }
.hero-stat strong { display: block; font-size: 1.8rem; line-height: 1; }
.hero-stat span { display: block; margin-top: 6px; color: rgba(255,255,255,.7); font-size: .88rem; }

/* Home sections */
.path-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.path-card { min-height: 300px; padding: 30px; display: flex; flex-direction: column; justify-content: end; color: #fff; background: linear-gradient(155deg, #0a345f, #0b77c2); position: relative; }
.path-card:nth-child(2) { background: linear-gradient(155deg, #17365a, #487dab); }
.path-card:nth-child(3) { background: linear-gradient(155deg, #0c4d61, #1e9b9f); }
.path-card:nth-child(4) { background: linear-gradient(155deg, #202d46, #465d85); }
.path-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 75% 15%, rgba(255,255,255,.18), transparent 35%); }
.path-card > * { position: relative; }
.path-card small { opacity: .72; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }
.path-card h3 { margin: 12px 0 8px; font-size: 1.55rem; }
.path-card p { margin: 0; opacity: .78; }
.path-card .arrow { margin-top: 24px; font-size: 1.5rem; }

.partner-logos { display: grid; grid-template-columns: repeat(8, minmax(0,1fr)); align-items: center; gap: 26px; }
.partner-logo { min-height: 74px; display: flex; align-items: center; justify-content: center; color: #5b6f87; font-weight: 900; letter-spacing: .03em; filter: grayscale(1); opacity: .72; transition: .2s; }
.partner-logo:hover { filter: none; opacity: 1; }
.partner-logo img { max-width: 126px; max-height: 46px; object-fit: contain; }

.domain-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.domain-card { min-height: 260px; padding: 26px; display: flex; flex-direction: column; background: #fff; }
.domain-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: var(--citares-bg-blue); color: var(--citares-blue); font-size: 1.35rem; }
.domain-card h3 { margin: 38px 0 10px; font-size: 1.2rem; }
.domain-card p { margin: 0; color: var(--citares-muted); }
.domain-card .btn-link { margin-top: auto; padding-top: 22px; }

.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.value-card { min-height: 450px; padding: 34px; border-radius: 24px; position: relative; overflow: hidden; }
.value-card h3 { margin: 0 0 14px; font-size: 2rem; line-height: 1.05; }
.value-card p { color: inherit; opacity: .8; }
.value-card--dark { color: #fff; background: linear-gradient(145deg, #061f41, #0b5b92); }
.value-card--light { background: #eaf5ff; }
.value-card--gray { background: #edf1f5; }
.check-list { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 10px; }
.check-list li::before { content: "✓"; color: #45a8ff; font-weight: 900; margin-right: 10px; }
.passport-card { margin-top: 28px; padding: 22px; border-radius: 18px; background: #fff; box-shadow: var(--citares-shadow); color: var(--citares-ink); }
.skill-row { display: grid; grid-template-columns: 120px 1fr 34px; gap: 10px; align-items: center; margin: 11px 0; font-size: .86rem; }
.skill-bar { height: 7px; border-radius: 99px; background: #e6edf6; overflow: hidden; }
.skill-bar > span { display: block; height: 100%; background: var(--citares-blue); border-radius: inherit; }

.story-grid, .insight-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.story-card blockquote { margin: 0; color: #3b5777; font-size: 1.03rem; }
.story-meta { display: flex; gap: 12px; align-items: center; margin-top: 24px; }
.story-avatar { width: 48px; height: 48px; border-radius: 50%; background: #dfeaf5; overflow: hidden; }
.story-meta strong, .story-meta span { display: block; }
.story-meta span { color: var(--citares-muted); font-size: .86rem; }
.insight-card .thumb { aspect-ratio: 16 / 9; background: linear-gradient(145deg, #0c4d7a, #3b9ad2); overflow: hidden; }
.insight-card .thumb img { width: 100%; height: 100%; object-fit: cover; }
.insight-card .meta { color: var(--citares-blue); font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.final-cta { position: relative; overflow: hidden; border-radius: 28px; padding: 64px; background: linear-gradient(120deg, #061f41, #0a568a); color: #fff; }
.final-cta::after { content: ""; position: absolute; width: 420px; height: 420px; right: -100px; top: -160px; border-radius: 50%; background: rgba(49,171,255,.18); }
.final-cta h2 { margin: 0; max-width: 760px; font-size: clamp(2.3rem, 4vw, 4.6rem); line-height: 1; letter-spacing: -.04em; }
.final-cta p { max-width: 640px; color: rgba(255,255,255,.74); }
.final-cta .hero-actions { position: relative; z-index: 1; }

/* Program */
.program-hero { min-height: 560px; display: flex; align-items: end; }
.program-hero .hero-title { font-size: clamp(3rem, 5.2vw, 5.8rem); }
.program-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.meta-pill { padding: 9px 13px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: rgba(255,255,255,.84); font-size: .85rem; }
.program-subnav { position: sticky; top: var(--citares-header); z-index: 500; background: rgba(255,255,255,.96); backdrop-filter: blur(14px); border-bottom: 1px solid var(--citares-line); }
.program-subnav-inner { display: flex; gap: 24px; align-items: center; min-height: 60px; overflow-x: auto; scrollbar-width: none; }
.program-subnav a { white-space: nowrap; color: #526c89; font-size: .9rem; font-weight: 700; }
.program-subnav a:hover { color: var(--citares-blue); }
.program-subnav .btn { margin-left: auto; min-height: 38px; }
.program-copy { max-width: 900px; }
.program-copy > *:first-child { margin-top: 0; }
.program-copy h2, .program-copy h3 { line-height: 1.2; }
.program-copy ul, .program-copy ol { padding-left: 1.2em; }
.program-copy li + li { margin-top: 8px; }
.program-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; align-items: start; }
.program-side-card { padding: 28px; position: sticky; top: 160px; }
.program-side-card h3 { margin-top: 0; }
.program-side-card dl { margin: 0; }
.program-side-card dt { color: var(--citares-muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 800; margin-top: 16px; }
.program-side-card dd { margin: 4px 0 0; font-weight: 700; }
.program-archive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }

/* Footer */
.site-footer { background: #041a34; color: #dce9f6; padding-top: 70px; }
.footer-grid { display: grid; grid-template-columns: 1.3fr repeat(4, 1fr); gap: 42px; padding-bottom: 48px; }
.footer-brand img { max-width: 220px; filter: brightness(0) invert(1); opacity: .95; }
.footer-brand p { color: #93abc4; max-width: 340px; }
.footer-col h4 { margin: 0 0 16px; color: #fff; }
.footer-col a { display: block; padding: 5px 0; color: #9db1c7; }
.footer-col a:hover { color: #fff; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); padding: 20px 0; color: #8099b4; font-size: .86rem; display: flex; justify-content: space-between; gap: 20px; }

@media (max-width: 1180px) {
  .main-nav { gap: 16px; }
  .main-nav a, .mega-trigger { font-size: .91rem; }
  .header-actions .btn-outline { display: none; }
  .domain-grid { grid-template-columns: repeat(3, 1fr); }
  .partner-logos { grid-template-columns: repeat(4, 1fr); }
  .mega-grid { grid-template-columns: repeat(3, 1fr); }
  .mega-feature { grid-column: span 3; }
}

@media (max-width: 900px) {
  :root { --citares-header: 70px; }
  .citares-section { padding-block: 68px; }
  .site-brand img, .custom-logo-link img { width: 175px; }
  .mobile-toggle { display: block; }
  .main-nav, .header-actions .lang-link, .header-actions .btn-outline { display: none; }
  .header-actions { margin-left: 0; }
  .header-actions .btn-primary { min-height: 40px; }
  .mobile-nav-open .main-nav {
    position: fixed; inset: var(--citares-header) 0 auto 0; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 20px 6vw 26px; background: #fff; border-bottom: 1px solid var(--citares-line); box-shadow: 0 18px 40px rgba(6,38,81,.12);
  }
  .mobile-nav-open .main-nav a, .mobile-nav-open .mega-trigger { padding: 12px 0; text-align: left; }
  .mega-menu { position: fixed; top: calc(var(--citares-header) + 250px); width: 92vw; max-height: 62vh; overflow-y: auto; }
  .mega-grid { grid-template-columns: 1fr 1fr; }
  .mega-feature { grid-column: span 2; }
  .home-hero { min-height: 620px; }
  .hero-stats { grid-template-columns: repeat(2, 1fr); }
  .path-grid { grid-template-columns: repeat(2, 1fr); }
  .domain-grid { grid-template-columns: repeat(2, 1fr); }
  .value-grid, .story-grid, .insight-grid, .program-archive-grid { grid-template-columns: 1fr 1fr; }
  .program-grid-2 { grid-template-columns: 1fr; }
  .program-side-card { position: static; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: span 2; }
}

@media (max-width: 640px) {
  .citares-section { padding-block: 52px; }
  .citares-container { width: min(90%, var(--citares-container)); }
  .site-brand img, .custom-logo-link img { width: 148px; }
  .header-actions .btn-primary { padding-inline: 13px; font-size: .86rem; }
  .mega-grid { grid-template-columns: 1fr; }
  .mega-feature { grid-column: auto; }
  .hero-content { padding-block: 72px 42px; }
  .hero-title { font-size: clamp(2.9rem, 14vw, 4.5rem); }
  .hero-stats { gap: 14px; margin-top: 46px; }
  .hero-stat strong { font-size: 1.45rem; }
  .section-head { align-items: start; flex-direction: column; margin-bottom: 30px; }
  .path-grid, .domain-grid, .value-grid, .story-grid, .insight-grid, .program-archive-grid { grid-template-columns: 1fr; }
  .path-card { min-height: 240px; }
  .partner-logos { grid-template-columns: repeat(2, 1fr); }
  .program-subnav .btn { display: none; }
  .final-cta { padding: 38px 28px; border-radius: 22px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
}

/* v0.2 refinements */
.citares-section { padding-block: 104px; }
.partner-logos { grid-template-columns: repeat(10, minmax(0,1fr)); }
.partner-logo { font-size: clamp(.76rem, 1.05vw, 1.08rem); filter: none; opacity: .88; }
.partner-logo:hover { opacity: 1; transform: translateY(-1px); }
.partner--siemens { color:#009999; }
.partner--abb { color:#e21b23; }
.partner--yaskawa { color:#1359a6; }
.partner--fanuc { color:#e31a1a; }
.partner--schneider-electric { color:#2d9f4b; }
.partner--mitsubishi-electric { color:#e21c2a; }
.partner--festo { color:#0072bc; }
.partner--bosch { color:#e20015; }
.partner--samsung { color:#1428a0; }
.partner--vinfast { color:#202a38; letter-spacing:.16em; }

.program-tagline { margin: 0 0 10px; color:#8bd0ff; font-size:1.05rem; font-weight:800; letter-spacing:.02em; }
.program-section { scroll-margin-top: calc(var(--citares-header) + 62px); }
.program-section--overview { background:linear-gradient(180deg,#f4f9ff,#eef6ff); }
.program-section--warm { background:linear-gradient(180deg,#fffaf1,#fff5e5); }
.program-section--blue { background:linear-gradient(180deg,#edf7ff,#e7f3ff); }
.program-section--white { background:#fff; }
.program-section--soft { background:linear-gradient(180deg,#f6f9fc,#eef3f8); }
.program-prose { margin-top:24px; color:#405c79; font-size:1.06rem; }
.program-benefits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:34px; }
.program-benefit { padding:18px; border:1px solid rgba(8,120,249,.12); border-radius:16px; background:rgba(255,255,255,.8); }
.program-benefit span { display:block; color:var(--citares-blue); font-size:1.25rem; }
.program-benefit strong,.program-benefit small { display:block; }
.program-benefit strong { margin-top:8px; }
.program-benefit small { margin-top:6px; color:var(--citares-muted); line-height:1.4; }
.program-side-cta { width:100%; margin-top:24px; }
.outcome-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.outcome-card { padding:24px; border:1px solid rgba(8,120,249,.12); border-radius:18px; background:#fff; box-shadow:0 12px 32px rgba(15,45,80,.05); }
.outcome-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; color:var(--citares-blue); background:var(--citares-bg-blue); font-size:1.35rem; }
.outcome-card h3 { margin:20px 0 8px; font-size:1.08rem; }
.outcome-card p { margin:0; color:var(--citares-muted); }
.curriculum-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.curriculum-card { min-height:100%; }
.curriculum-card .card-body { padding:20px; }
.curriculum-card h3 { margin:14px 0 2px; font-size:1.02rem; line-height:1.25; }
.curriculum-card small { color:var(--citares-blue); font-weight:800; }
.curriculum-card ul { margin:14px 0 0; padding-left:18px; color:var(--citares-muted); font-size:.9rem; }
.curriculum-number { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--citares-blue); color:#fff; font-size:.78rem; font-weight:900; }
.program-card-image { width:100%; aspect-ratio:16/9; object-fit:cover; background:#e8eef5; }
.program-split-section { display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:start; }
.section-title--compact { font-size:clamp(1.8rem,2.4vw,2.75rem); }
.equipment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:28px; }
.equipment-card .card-body,.project-card .card-body { padding:18px; }
.equipment-card h3,.project-card h3 { margin:8px 0 4px; font-size:1rem; }
.equipment-card p,.project-card p { margin:6px 0 0; color:var(--citares-muted); font-size:.88rem; }
.equipment-card small,.project-card small { color:var(--citares-blue); font-weight:800; }
.equipment-visual { height:120px; display:grid; place-items:center; background:linear-gradient(145deg,#eaf5ff,#f7fbff); color:var(--citares-blue); font-size:2rem; }
.project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:28px; }
.project-visual { height:120px; display:grid; place-items:center; background:linear-gradient(145deg,#0a345f,#1689cf); color:#fff; font-weight:800; }
.program-bottom-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; }
.program-panel { padding:32px; border-radius:22px; border:1px solid var(--citares-line); background:#fff; }
.program-panel--passport { background:#edf7ff; }
.career-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:28px; }
.career-role { min-height:90px; display:flex; gap:10px; align-items:center; padding:16px; border-radius:14px; background:#f7faff; border:1px solid #e4edf7; }
.career-role span { color:var(--citares-blue); font-size:1.4rem; }
.passport-card--program { box-shadow:none; border:1px solid #d9e9f8; }
.program-note { color:#4b6683; }
.faq-wrap { max-width:1000px; }
.faq-list { margin-top:36px; display:grid; gap:12px; }
.faq-item { padding:18px 22px; border:1px solid rgba(8,120,249,.14); border-radius:15px; background:#fff; }
.faq-item summary { cursor:pointer; font-weight:800; color:var(--citares-navy); }
.faq-item p { color:var(--citares-muted); margin:12px 0 0; }
.program-rich-content { margin-top:28px; max-width:1000px; color:#405c79; }

@media (max-width:1180px){
  .partner-logos{grid-template-columns:repeat(5,1fr)}
  .curriculum-grid{grid-template-columns:repeat(3,1fr)}
  .program-benefits{grid-template-columns:repeat(2,1fr)}
  .equipment-grid,.project-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .citares-section{padding-block:78px}
  .outcome-grid{grid-template-columns:repeat(2,1fr)}
  .program-split-section,.program-bottom-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .citares-section{padding-block:58px}
  .partner-logos{grid-template-columns:repeat(2,1fr)}
  .outcome-grid,.curriculum-grid,.equipment-grid,.project-grid,.program-benefits,.career-grid{grid-template-columns:1fr}
}
