:root {
  --yellow: #ffdd00;
  --black: #20242a;
  --ink: #15171b;
  --muted: #68707a;
  --line: #e1e3e6;
  --paper: #ffffff;
  --soft: #f4f4f1;
  --soft-2: #ededeb;
  --green: #77a928;
  --blue: #0785e8;
  --pink: #f51f55;
  --radius: 8px;
  --shadow: 0 24px 70px rgba(21, 23, 27, 0.14);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  line-height: 1.42;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img, video { display: block; width: 100%; height: auto; }
.google-translate-mount {
  position: fixed;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
button, input, textarea, select { font: inherit; }
h1, h2, h3, p, blockquote, span, a, strong, li, dd, dt {
  overflow-wrap: anywhere;
}

.skip-link {
  position: fixed;
  left: 16px;
  top: -48px;
  z-index: 200;
  background: var(--black);
  color: #fff;
  padding: 10px 14px;
}
.skip-link:focus { top: 16px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 22px;
  min-height: 76px;
  padding: 14px clamp(18px, 4vw, 56px);
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid rgba(32, 36, 42, 0.1);
  backdrop-filter: blur(18px);
}
.brand img { width: 164px; max-width: 35vw; }
.main-nav {
  display: flex;
  justify-content: center;
  gap: clamp(12px, 1.45vw, 22px);
  font-size: 13px;
  font-weight: 800;
}
.main-nav a:hover { color: var(--pink); }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.header-social {
  display: flex;
  gap: 6px;
}
.header-social a {
  display: inline-grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
}
.header-social svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.header-social a:nth-child(2) svg,
.header-social a:nth-child(3) svg {
  fill: currentColor;
  stroke: none;
}
.language-switch { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 800; }
.language-switch select {
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  padding: 0 9px;
  color: var(--ink);
  font-weight: 800;
}
.header-phone { font-size: 14px; font-weight: 900; white-space: nowrap; }
.menu-button {
  display: none;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: var(--yellow);
  padding: 12px;
}
.menu-button span { display: block; height: 2px; margin: 5px 0; background: var(--black); }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}
.button:hover, .version-button:hover { transform: translateY(-2px); }
.button-dark { background: var(--black); color: #fff; }
.button-yellow { background: var(--yellow); color: var(--black); }
.button-light { background: #fff; color: var(--black); border-color: rgba(32, 36, 42, 0.24); }
.button-sound { background: transparent; color: inherit; border-color: currentColor; }

.hero {
  position: relative;
  min-height: calc(100svh - 76px);
  overflow: hidden;
  background: #060606;
  color: #fff;
}
.hero-video {
  position: absolute;
  inset: 0;
  height: 100%;
  object-fit: cover;
  opacity: 0.92;
}
.hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.58), rgba(0,0,0,.18) 46%, rgba(0,0,0,.04));
}
.ball-field {
  display: none;
}
.hero-content {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: calc(100svh - 76px);
  width: min(1180px, calc(100% - 36px));
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(44px, 7vw, 94px) 0 clamp(128px, 12vw, 170px);
  margin: 0 auto;
}
.hero-content::before {
  content: "";
  position: absolute;
  left: -24px;
  top: 50%;
  width: min(680px, calc(100vw - 36px));
  height: calc(100% - 178px);
  max-height: 620px;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.52);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius);
  backdrop-filter: blur(10px);
  z-index: -1;
}
.version-tools { display: flex; gap: 8px; margin-bottom: 24px; }
.version-button {
  min-height: 36px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 999px;
  padding: 0 14px;
  background: rgba(255,255,255,.1);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}
.version-button.active { background: var(--yellow); color: var(--black); border-color: var(--yellow); }
.hero-kicker {
  margin: 0 0 18px;
  color: var(--yellow);
  font-size: 14px;
  font-weight: 900;
}
h1, h2, h3, p { margin-top: 0; letter-spacing: 0; }
h1 {
  max-width: 600px;
  margin-bottom: 24px;
  font-size: clamp(42px, 4.8vw, 68px);
  line-height: .94;
  font-weight: 900;
}
.hero-content > p:not(.hero-kicker) {
  max-width: 560px;
  margin-bottom: 30px;
  color: rgba(255,255,255,.86);
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.34;
}
.copy-b, body[data-variant="b"] .copy-a { display: none; }
body[data-variant="b"] .copy-b { display: inline; }
.hero-cta { display: flex; flex-wrap: wrap; gap: 12px; }

.trust-marquee {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  z-index: 5;
  overflow: hidden;
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow);
}
.trust-track { display: flex; width: max-content; animation: marquee 34s linear infinite; }
.trust-track article {
  width: clamp(230px, 22vw, 340px);
  min-height: 86px;
  padding: 16px 20px;
  border-right: 1px solid rgba(32, 36, 42, .14);
}
.trust-track strong { display: block; color: var(--yellow); font-size: clamp(28px, 3vw, 42px); line-height: 1; font-weight: 900; }
.trust-track span { display: block; margin-top: 7px; color: var(--muted); font-size: 13px; }

.section {
  position: relative;
  padding: clamp(72px, 9vw, 132px) clamp(18px, 5vw, 76px);
}
.section-copy {
  width: 100%;
  max-width: 980px;
  min-width: 0;
}
.section-label {
  display: inline-flex;
  margin-bottom: 18px;
  padding: 10px 14px;
  background: var(--yellow);
  color: var(--black);
  font-size: clamp(16px, 1.45vw, 21px);
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
}
h2 {
  width: 100%;
  max-width: 980px;
  margin-bottom: 22px;
  font-size: clamp(34px, 4.1vw, 62px);
  line-height: 1.02;
  font-weight: 900;
}
.section-copy > p:not(.section-label) {
  width: 100%;
  max-width: 760px;
  color: var(--muted);
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.58;
}
blockquote {
  width: 100%;
  max-width: 720px;
  margin: 24px 0 0;
  padding: 20px 24px;
  border-left: 6px solid var(--yellow);
  background: var(--soft);
  color: var(--black);
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.16;
  font-weight: 900;
}

.about-section {
  display: grid;
  grid-template-columns: minmax(320px, .92fr) minmax(420px, 1.08fr);
  gap: clamp(30px, 6vw, 86px);
  align-items: start;
  background: var(--paper);
}
.about-media {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  width: 100%;
  min-width: 0;
}
.about-media img {
  max-width: 100%;
  min-width: 0;
  height: min(34vw, 430px);
  object-fit: contain;
  background: transparent;
  border-radius: var(--radius);
}
.about-media img:first-child { grid-row: auto; height: min(34vw, 430px); }
.target-values-visual {
  display: grid;
  gap: 16px;
  width: min(100%, 920px);
  margin: 30px 0 0;
}
.target-values-visual article {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 6px clamp(14px, 2vw, 26px);
  align-items: start;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.target-values-visual img {
  width: 88px;
  height: 88px;
  object-fit: contain;
  grid-row: span 2;
}
.target-values-visual h3 {
  margin: 0;
  color: var(--black);
  font-size: clamp(30px, 3vw, 42px);
  line-height: .95;
  font-weight: 900;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
}
.target-values-visual p {
  margin: 0;
  grid-column: 2;
  color: var(--black);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.35;
}
.about-principles {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 10px;
}
.about-principles-carousel {
  grid-column: 1 / -1;
}
.about-principles-arrow,
.program-card-arrow,
.module-arrow {
  display: none !important;
}
.about-principles article {
  padding: 22px;
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.about-principles h3 {
  margin-bottom: 10px;
  font-size: 22px;
}
.about-principles p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}
.company-strip {
  grid-column: 1 / -1;
  width: 100vw;
  margin-top: 26px;
  margin-left: calc(50% - 50vw);
}
.company-strip > p,
.company-strip small {
  margin-left: clamp(18px, 5vw, 76px);
}
.company-strip > p { font-weight: 900; color: var(--black); }
.company-strip small { display: block; margin-top: 12px; color: var(--muted); }
.logo-marquee { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.logo-track { display: flex; width: max-content; animation: marquee 34s linear infinite; }
.logo-track span {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: center;
  place-items: center;
  width: clamp(190px, 17vw, 270px);
  min-height: 110px;
  margin-right: 1px;
  padding: 18px;
  background: #fff;
  border-right: 1px solid var(--line);
  color: var(--black);
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 900;
  text-align: center;
}
.logo-track img {
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.ucam-section {
  display: grid;
  grid-template-columns: minmax(280px, .86fr) minmax(360px, 1.14fr);
  gap: clamp(30px, 6vw, 86px);
  align-items: center;
  background: #fff;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.ucam-logo {
  width: 158px;
  margin-top: 22px;
}
.ucam-section figure {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.ucam-section figure img {
  min-height: 430px;
  object-fit: contain;
}

.mba-section {
  display: grid;
  grid-template-columns: minmax(340px, 1.05fr) minmax(320px, .95fr);
  gap: clamp(30px, 5vw, 68px);
  background: var(--soft);
}
.mba-video-card {
  overflow: hidden;
  align-self: start;
  border-radius: var(--radius);
  background: #111;
  box-shadow: var(--shadow);
}
.mba-video-card video { aspect-ratio: 16 / 10; object-fit: cover; }
.mba-photo-strip {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.mba-photo-strip img {
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background: transparent;
  border: 0;
  border-radius: var(--radius);
}
.mba-facts {
  padding: clamp(24px, 4vw, 42px);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.mba-facts img { width: 132px; margin-bottom: 24px; }
.mba-facts dl { margin: 0 0 24px; }
.mba-facts div {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}
.mba-facts dt { font-size: 12px; font-weight: 900; text-transform: uppercase; }
.mba-facts dd { margin: 0; color: var(--muted); }
.mba-facts p { color: var(--muted); font-size: 14px; }
.module-panel {
  position: relative;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(420px, 1.22fr);
  gap: 0;
  margin-top: 20px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(32,36,42,.2);
  border-radius: var(--radius);
  box-shadow: 0 18px 54px rgba(21,23,27,.08);
}
.module-balls {
  position: absolute;
  right: 3vw;
  top: -80px;
  width: min(42vw, 540px);
  aspect-ratio: 1;
  opacity: .28;
  pointer-events: none;
  background-image:
    radial-gradient(circle, var(--yellow) 0 6px, transparent 7px),
    radial-gradient(circle, var(--green) 0 5px, transparent 6px),
    radial-gradient(circle, #c8c8c8 0 5px, transparent 6px),
    radial-gradient(circle, #f0f0f0 0 5px, transparent 6px);
  background-size: 42px 42px, 58px 58px, 74px 74px, 88px 88px;
  mask-image: radial-gradient(circle, #000 0 58%, transparent 72%);
  animation: slowRotate 32s linear infinite;
}
.module-intro {
  position: relative;
  padding: clamp(26px, 4vw, 44px);
  background:
    radial-gradient(circle at 18% 78%, rgba(255,221,0,.36), transparent 86px),
    radial-gradient(circle at 84% 18%, rgba(255,255,255,.08), transparent 120px),
    var(--black);
  color: #fff;
  z-index: 1;
}
.module-intro .section-label { background: var(--yellow); color: var(--black); }
.module-intro h3 {
  max-width: 520px;
  margin-bottom: 18px;
  font-size: clamp(34px, 4vw, 58px);
  line-height: .96;
}
.module-intro p:not(.section-label) {
  max-width: 520px;
  color: rgba(255,255,255,.76);
  font-size: 16px;
  line-height: 1.55;
}
.module-list {
  position: relative;
  z-index: 1;
  display: grid;
  background: #fff;
}
.module-carousel {
  position: relative;
  z-index: 1;
  display: grid;
  min-width: 0;
}
.module-card {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 20px;
  padding: clamp(20px, 3vw, 32px);
  border-bottom: 1px solid var(--line);
  background: linear-gradient(90deg, rgba(255,221,0,.08), transparent 42%);
}
.module-card:last-child { border-bottom: 0; }
.module-card:hover {
  background:
    radial-gradient(circle at 96% 26%, rgba(255,221,0,.28), transparent 58px),
    #fff;
}
.module-number {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border-radius: 50%;
  background: var(--yellow);
  color: var(--black);
  font-weight: 900;
}
.module-panel h3 { margin-bottom: 10px; font-size: clamp(24px, 2.2vw, 34px); line-height: 1.02; }
.module-panel p { margin-bottom: 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
.module-panel ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}
.module-panel li {
  position: relative;
  padding: 8px 10px 8px 24px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--soft);
  color: var(--black);
  font-size: 13px;
  font-weight: 800;
}
.module-panel li::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transform: translateY(-50%);
  background: var(--yellow);
}

.professors-section { background: #fff; }
.faculty-pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}
.faculty-pillars article {
  display: grid;
  gap: 8px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--soft);
}
.faculty-pillars strong {
  color: var(--black);
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
}
.faculty-pillars span {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.45;
}
.professor-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 34px;
}
.professor-carousel {
  position: relative;
}
.professor-arrow {
  display: none !important;
}
.professor-grid article {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  overflow: visible;
  padding: 0 0 20px;
  background: #fff;
  border: 0;
  border-radius: 0;
}
.professor-grid img {
  width: 100%;
  height: 320px;
  margin: 0;
  object-fit: cover;
  object-position: center top;
  background: transparent;
  filter: grayscale(1);
  transition: filter 180ms ease;
}
.professor-grid article:hover img { filter: grayscale(0); transform: none; }
.professor-grid h3 { margin: 16px 14px 8px; font-size: 20px; line-height: 1.05; }
.professor-grid p { margin: 0 14px; color: var(--muted); font-size: 14px; line-height: 1.42; }
.professor-grid blockquote {
  margin: 0 14px 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--black);
  font-size: 15px;
  line-height: 1.25;
  font-weight: 900;
}

.programs-section { background: var(--black); color: #fff; }
.programs-section .section-copy > p { color: rgba(255,255,255,.72); }
.program-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 34px;
}
.program-grid article {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius);
  overflow: hidden;
}
.program-grid img { aspect-ratio: 4 / 3; object-fit: contain; background: transparent; }
.program-grid h3 { margin: 22px 20px 10px; font-size: 27px; }
.program-grid p { margin: 0 20px 22px; color: rgba(255,255,255,.74); }
.program-grid .button { margin: auto 20px 22px; width: fit-content; }
.program-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 28px;
}
.program-photo-carousel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 28px;
}
.program-photo-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(460px, 54vw);
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.program-photo-track::-webkit-scrollbar { display: none; }
.program-photo-track img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background: transparent;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius);
  scroll-snap-align: center;
}
.carousel-button {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--yellow);
  color: var(--black);
  font-size: 34px;
  font-weight: 900;
  cursor: pointer;
}
.program-detail-grid article {
  padding: 24px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius);
}
.program-detail-grid h3 {
  font-size: 24px;
  line-height: 1.04;
}
.program-detail-grid p,
.program-detail-grid li {
  color: rgba(255,255,255,.74);
  font-size: 15px;
  line-height: 1.48;
}
.program-detail-grid ul {
  margin: 16px 0 0;
  padding-left: 18px;
}
.video-placeholder {
  display: grid;
  min-height: 260px;
  place-items: center;
  border: 1px dashed rgba(32,36,42,.35);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 20% 25%, rgba(255,221,0,.5), transparent 80px),
    var(--soft);
  color: var(--muted);
  font-weight: 900;
}
.alumni-section {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(28px, 4vw, 52px);
  background: var(--paper);
}
.alumni-video-feature {
  overflow: hidden;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.alumni-video-feature {
  background: #111;
}
.alumni-video-feature video {
  width: min(100%, 1180px);
  margin: 0 auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #111;
}

.testimonials-section { background: var(--soft); }
.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 34px;
}
.testimonial-grid article {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.testimonial-grid video {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #111;
}
.youtube-testimonial a {
  position: relative;
  display: block;
  color: var(--black);
}
.youtube-testimonial img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
}
.youtube-testimonial span {
  position: absolute;
  left: 16px;
  bottom: 16px;
  padding: 9px 13px;
  border-radius: 999px;
  background: var(--yellow);
  color: var(--black);
  font-size: 13px;
  font-weight: 900;
}
.testimonial-grid h3 { margin: 18px 18px 8px; font-size: 22px; }
.testimonial-grid p { margin: 0 18px 20px; color: var(--muted); }

.program-video-showcase {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: clamp(30px, 5vw, 60px);
}

.program-video-showcase article,
.local-video-grid article {
  overflow: hidden;
  background: #fff;
  color: var(--black);
  border: 0;
  border-radius: 8px;
  box-shadow: 0 22px 70px rgba(0,0,0,.18);
}

.program-video-showcase .feature-video-card {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  align-items: center;
}

.program-video-showcase video,
.local-video-grid video {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #101216;
}

.program-video-showcase .feature-video-card video {
  min-height: 420px;
}

.program-video-showcase div {
  display: grid;
  gap: 12px;
  padding: clamp(22px, 3vw, 38px);
}

.program-video-showcase span {
  width: fit-content;
  padding: 7px 10px;
  background: var(--yellow);
  color: var(--black);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
}

.program-video-showcase h3,
.local-video-grid h3 {
  margin: 18px 18px 8px;
  color: var(--black);
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.04;
}

.program-video-showcase .feature-video-card h3 {
  margin: 0;
  font-size: clamp(38px, 4vw, 64px);
}

.program-video-showcase p,
.local-video-grid p {
  margin: 0 18px 22px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.45;
}

.program-video-showcase .feature-video-card p {
  margin: 0;
  font-size: 18px;
  line-height: 1.45;
}

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

.contact-section {
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(340px, 1fr);
  gap: clamp(30px, 6vw, 80px);
  background: #fff;
}
.contact-links { display: grid; gap: 8px; font-size: clamp(22px, 3vw, 38px); font-weight: 900; }
.contact-social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.contact-social a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--black);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}
.contact-social svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.contact-social a:nth-child(2) svg,
.contact-social a:nth-child(3) svg {
  fill: currentColor;
  stroke: none;
}
.contact-form {
  display: grid;
  gap: 16px;
  padding: clamp(24px, 4vw, 40px);
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.contact-form label { display: grid; gap: 8px; font-size: 13px; font-weight: 900; text-transform: uppercase; }
.contact-form input, .contact-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 12px 13px;
  background: #fff;
  color: var(--ink);
  font-size: 16px;
  font-weight: 300;
  text-transform: none;
}
.consent {
  grid-template-columns: 18px 1fr;
  align-items: start;
  color: var(--muted);
  font-size: 12px !important;
  line-height: 1.35;
  text-transform: none !important;
}
.consent input { width: 18px; height: 18px; margin: 0; }
.form-status { margin: 0; color: var(--green); font-weight: 900; }

.chatbot {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 160;
  display: grid;
  justify-items: end;
  gap: 10px;
}
.chatbot-toggle {
  width: 68px;
  height: 68px;
  border: 0;
  border-radius: 50%;
  background: var(--yellow);
  color: var(--black);
  box-shadow: var(--shadow);
  font-weight: 900;
  cursor: pointer;
}
.chatbot-panel {
  width: min(360px, calc(100vw - 36px));
  padding: 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.chatbot-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.chatbot-head button {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: var(--black);
  color: #fff;
  font-size: 22px;
  cursor: pointer;
}
.chatbot-messages {
  display: grid;
  gap: 10px;
  max-height: 220px;
  overflow: auto;
  margin-bottom: 12px;
}
.chatbot-messages p {
  margin: 0;
  padding: 12px;
  border-radius: var(--radius);
  background: var(--soft);
  color: var(--muted);
  font-size: 14px;
}
.chatbot-messages p.answer {
  background: var(--black);
  color: #fff;
}
.chatbot-form {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}
.chatbot-form label {
  display: grid;
  gap: 8px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.chatbot-form textarea {
  width: 100%;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 10px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 300;
  text-transform: none;
}
.chatbot-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.chatbot-quick button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.site-footer {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, 1fr);
  gap: clamp(24px, 5vw, 70px);
  padding: clamp(46px, 7vw, 82px) clamp(18px, 5vw, 76px);
  background: var(--black);
  color: #fff;
}
.footer-brand img { width: 190px; padding: 12px; background: #fff; border-radius: 6px; }
.footer-brand p, .site-footer p, .site-footer a { color: rgba(255,255,255,.76); }
.site-footer h2 { color: var(--yellow); font-size: 14px; text-transform: uppercase; }
.site-footer a { display: block; margin: 10px 0; }
.social-links { display: flex; gap: 10px; margin-top: 18px; }
.social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
}
.social-links svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.social-links a:nth-child(2) svg, .social-links a:nth-child(3) svg { fill: currentColor; stroke: none; }

body[data-variant="b"] .hero-video { opacity: .86; }
body[data-variant="b"] .hero-shade {
  background:
    radial-gradient(circle at 76% 42%, rgba(255,221,0,.12), transparent 28vw),
    linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.34) 48%, rgba(0,0,0,.08));
}
body[data-variant="b"] .hero-content { width: min(1340px, calc(100% - 72px)); }
body[data-variant="b"] h1 { max-width: 760px; color: #fff; }
body[data-variant="b"] .trust-marquee { background: rgba(32,36,42,.92); color: #fff; }
body[data-variant="b"] .trust-track article { border-right-color: rgba(255,255,255,.18); }
body[data-variant="b"] .trust-track span { color: rgba(255,255,255,.76); }
body[data-variant="b"] .about-section { background: var(--soft); }
body[data-variant="b"] .module-panel { grid-template-columns: minmax(320px, .92fr) minmax(420px, 1.08fr); }
body[data-variant="b"] .module-intro { background: var(--black); }

@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes slowRotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes ballDrift {
  from { background-position: 10% 20%, 78% 18%, 35% 72%, 90% 82%; }
  to { background-position: 12% 24%, 74% 22%, 38% 68%, 86% 78%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

/* Premium pass */
.button {
  box-shadow: 0 10px 28px rgba(21,23,27,.08);
}
.button:hover,
.carousel-button:hover,
.chatbot-toggle:hover {
  transform: translateY(-2px) scale(1.025);
  box-shadow: 0 18px 46px rgba(21,23,27,.16);
}
.hero {
  min-height: 100svh;
}
.hero-video {
  transform: scale(1.04);
  opacity: .86;
  filter: saturate(1.04) contrast(1.08);
}
.hero-shade {
  background:
    radial-gradient(circle at 76% 42%, rgba(255,221,0,.12), transparent 28vw),
    linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.34) 48%, rgba(0,0,0,.08));
}
.hero-content {
  width: min(1340px, calc(100% - 72px));
  display: grid;
  grid-template-columns: minmax(320px, 680px) minmax(280px, 420px);
  align-content: center;
  column-gap: clamp(42px, 8vw, 140px);
  padding-bottom: clamp(160px, 16vw, 210px);
}
.hero-content::before {
  display: none;
}
.version-tools,
.hero-kicker,
.hero-content h1,
.hero-content > p:not(.hero-kicker),
.hero-cta {
  grid-column: 1;
}
.hero-kicker {
  font-size: clamp(14px, 1.2vw, 18px);
  letter-spacing: .01em;
}
h1 mark {
  display: block;
  padding: 0;
  background: transparent;
  color: var(--yellow);
}
body[data-variant="b"] h1,
h1 {
  max-width: 760px;
  font-size: clamp(54px, 7.2vw, 108px);
  line-height: .9;
  text-wrap: balance;
}
.hero-content > p:not(.hero-kicker) {
  max-width: 680px;
  font-size: clamp(18px, 1.45vw, 24px);
}
.hero-quote {
  grid-column: 2;
  align-self: center;
  margin: 80px 0 0;
  padding: clamp(22px, 3vw, 34px);
  border-left: 4px solid var(--yellow);
  color: #fff;
  background: rgba(0,0,0,.26);
  backdrop-filter: blur(14px);
}
.hero-quote span {
  display: block;
  color: var(--yellow);
  font-size: 70px;
  line-height: .7;
  font-weight: 900;
}
.hero-quote p {
  margin-bottom: 18px;
  font-size: clamp(20px, 2vw, 30px);
  line-height: 1.16;
  font-weight: 900;
}
.hero-quote strong {
  color: rgba(255,255,255,.78);
  font-size: 13px;
  text-transform: uppercase;
}
.trust-marquee {
  left: clamp(18px, 6vw, 96px);
  right: clamp(18px, 6vw, 96px);
  bottom: 34px;
  width: auto;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  background: rgba(10,10,10,.56) !important;
  backdrop-filter: blur(18px);
}
.trust-track {
  animation-duration: 46s;
}
.trust-track article {
  min-height: 104px;
  padding: 22px 30px;
  border-right-color: rgba(255,255,255,.18) !important;
}
.trust-track strong {
  color: #fff;
  text-shadow: 0 0 28px rgba(255,221,0,.28);
}
.trust-track span {
  color: rgba(255,255,255,.74) !important;
}
.section {
  isolation: isolate;
}
.section:nth-of-type(even) {
  background: #fff;
}
.section:nth-of-type(odd):not(.hero):not(.programs-section) {
  background: var(--soft);
}
.section-cta,
.module-cta {
  margin-top: 28px;
}
.about-media img,
.program-grid img,
.program-photo-track img,
.mba-photo-strip img,
.ucam-section figure img,
.testimonial-grid video,
.testimonial-grid img,
.alumni-video-feature video {
  transition: transform 420ms ease, box-shadow 420ms ease, filter 420ms ease;
}
.about-media img:hover,
.program-grid article:hover img,
.program-photo-track img:hover,
.mba-photo-strip img:hover,
.ucam-section figure:hover img,
.testimonial-grid article:hover video,
.testimonial-grid article:hover img,
.alumni-video-feature:hover video {
  transform: scale(1.03);
  box-shadow: 0 24px 70px rgba(21,23,27,.18);
}
.target-values-visual {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  max-width: 980px;
}
.target-values-visual article {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  min-height: 260px;
  padding: 26px;
  overflow: hidden;
  border: 1px solid rgba(32,36,42,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 18px 54px rgba(21,23,27,.08);
  transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease;
}
.target-values-visual article::after {
  content: "";
  position: absolute;
  inset: auto -40px -60px auto;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,221,0,.35), transparent 70%);
  opacity: 0;
  transition: opacity 260ms ease, transform 260ms ease;
}
.target-values-visual article:hover {
  transform: translateY(-8px);
  border-color: rgba(255,221,0,.72);
  box-shadow: 0 28px 80px rgba(21,23,27,.16);
}
.target-values-visual article:hover::after {
  opacity: 1;
  transform: translate(-10px, -10px);
}
.target-values-visual img {
  grid-row: auto;
  width: 96px;
  height: 96px;
  animation: valueFloat 4.8s ease-in-out infinite;
}
.target-values-visual p {
  grid-column: auto;
}
.mba-section {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  align-items: center;
  background:
    radial-gradient(circle at 88% 18%, rgba(255,221,0,.2), transparent 20vw),
    var(--soft);
}
.mba-video-card {
  min-height: clamp(380px, 48vw, 680px);
  align-self: stretch;
}
.mba-video-card video {
  height: 100%;
  min-height: clamp(380px, 48vw, 680px);
  aspect-ratio: auto;
}
.module-card {
  cursor: pointer;
  transition: background 240ms ease, transform 240ms ease, box-shadow 240ms ease;
}
.module-card.active {
  background:
    radial-gradient(circle at 92% 18%, rgba(255,221,0,.42), transparent 90px),
    #fff;
  box-shadow: inset 6px 0 0 var(--yellow);
}
.module-card:not(.active) p,
.module-card:not(.active) ul {
  display: none;
}
.module-card:hover {
  transform: translateX(4px);
}
.testimonials-section {
  background: #101216;
  color: #fff;
}
.testimonials-section .section-copy > p {
  color: rgba(255,255,255,.7);
}
.testimonial-grid {
  grid-template-columns: 1.25fr .85fr .85fr;
  align-items: stretch;
}
.testimonial-grid article {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.16);
  color: #fff;
}
.testimonial-grid article:first-child {
  grid-row: span 2;
}
.testimonial-grid article:first-child video {
  aspect-ratio: 16 / 13;
}
.testimonial-grid article:first-child h3 {
  font-size: clamp(30px, 3vw, 48px);
}
.testimonial-grid article:first-child p {
  color: #fff;
  font-size: clamp(19px, 1.8vw, 26px);
  line-height: 1.25;
  font-weight: 900;
}
.testimonial-grid p {
  color: rgba(255,255,255,.72);
}
.reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 700ms ease, transform 700ms ease;
}
.reveal.in-view {
  opacity: 1;
  transform: translateY(0);
}
@keyframes valueFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@media (max-width: 1180px) {
  .site-header { grid-template-columns: auto auto; justify-content: space-between; }
  .menu-button { display: block; }
  .main-nav, .header-actions {
    position: fixed;
    left: 0;
    right: 0;
    display: none;
    background: #fff;
    box-shadow: var(--shadow);
  }
  .main-nav {
    top: 76px;
    z-index: 99;
    flex-direction: column;
    align-items: flex-start;
    padding: 22px;
  }
  .header-actions { top: 390px; z-index: 98; padding: 18px 22px; }
  body.menu-open .main-nav, body.menu-open .header-actions { display: flex; }
  .about-section, .ucam-section, .mba-section, .contact-section { grid-template-columns: minmax(0, 1fr); }
  .module-panel, body[data-variant="b"] .module-panel { grid-template-columns: 1fr; }
  .professor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .program-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .program-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .program-photo-track { grid-auto-columns: minmax(420px, 76vw); }
  .faculty-pillars { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  .site-header { min-height: 70px; padding: 12px 16px; }
  .brand img { width: 138px; }
  .main-nav { top: 70px; }
  .header-actions { top: 380px; flex-direction: column; align-items: flex-start; }
  .header-social { order: 5; }
  .hero-content {
    display: flex;
    min-height: 760px;
    padding: 34px 34px 148px;
    width: 100%;
  }
  .hero-content::before {
    left: 18px;
    right: 18px;
    width: auto;
    height: calc(100% - 206px);
  }
  h1 { font-size: clamp(38px, 11vw, 58px); }
  body[data-variant="b"] h1,
  h1 { font-size: clamp(42px, 13vw, 64px); }
  .hero-quote {
    display: none;
  }
  h2 { font-size: clamp(32px, 9vw, 50px); }
  .hero-cta, .version-tools { width: 100%; }
  .hero-cta .button { flex: 1 1 100%; }
  .trust-marquee { left: 0; right: 0; bottom: 0; width: 100vw; }
  .trust-track article { width: 220px; min-height: 78px; }
  .section { padding: 58px 18px; }
  .about-media, .program-grid, .program-detail-grid, .testimonial-grid, .professor-grid, .module-panel, body[data-variant="b"] .module-panel, .site-footer { grid-template-columns: minmax(0, 1fr); }
  .target-values-visual article { grid-template-columns: 74px minmax(0, 1fr); gap: 10px 14px; }
  .target-values-visual img { width: 74px; height: 74px; grid-row: span 2; }
  .target-values-visual p { grid-column: 2; }
  .program-photo-carousel { grid-template-columns: 42px minmax(0, 1fr) 42px; }
  .program-photo-track { grid-auto-columns: minmax(260px, 100%); }
  .carousel-button { width: 42px; height: 42px; }
  .mba-photo-strip { grid-template-columns: minmax(0, 1fr); }
  .about-media img, .about-media img:first-child { height: auto; min-height: 0; aspect-ratio: 4 / 3; }
  .alumni-video-feature video { min-height: 0; aspect-ratio: 16 / 10; }
  .about-principles-carousel,
  .module-carousel {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    gap: 8px;
    align-items: center;
  }
  .about-principles-arrow,
  .module-arrow {
    display: grid !important;
  }
  .about-principles-arrow,
  .module-arrow {
    width: 34px;
    height: 34px;
    font-size: 25px;
  }
  .about-principles {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 4px;
    scrollbar-width: none;
    margin-top: 0;
  }
  .about-principles::-webkit-scrollbar { display: none; }
  .about-principles article {
    display: grid;
    grid-template-columns: minmax(104px, .42fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    flex: 0 0 100%;
    min-height: 142px;
    padding: 16px;
    scroll-snap-align: center;
  }
  .about-principles h3 {
    margin: 0;
    font-size: 17px;
    line-height: 1.12;
  }
  .about-principles p {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.45;
  }
  .module-list {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    gap: 0;
    margin-top: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    background: transparent;
  }
  .module-list::-webkit-scrollbar { display: none; }
  .module-card {
    scroll-snap-align: center;
    min-width: 0;
  }
  .module-card { grid-template-columns: 1fr; }
  .mba-facts div { grid-template-columns: 1fr; gap: 4px; }
  .contact-links { font-size: clamp(24px, 8vw, 38px); word-break: break-word; }
  .chatbot { right: 12px; bottom: 12px; }
  .professor-carousel {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: 10px;
    align-items: center;
    margin-top: 28px;
  }
  .professor-arrow {
    display: grid !important;
  }
  .professor-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    margin-top: 0;
  }
  .professor-grid::-webkit-scrollbar { display: none; }
  .professor-grid article {
    scroll-snap-align: center;
    min-width: 0;
    overflow: visible;
  }
  .professor-grid img {
    height: 270px;
  }
  .professor-grid h3,
  .professor-grid blockquote,
  .professor-grid p {
    max-width: 100%;
  }
}

/* 2026-07-20 black edition + program carousel */
body,
.section,
.about-section,
.ucam-section,
.professors-section,
.contact-section {
  background: #101216 !important;
  color: #fff !important;
}
.section-copy > p,
.about-principles p,
.target-values-visual p,
.faculty-pillars span,
.professor-grid p,
.contact-section .section-copy > p {
  color: rgba(255,255,255,.72) !important;
}
.section-divider {
  border-top-color: rgba(255,255,255,.14);
}
.section-divider p:not(.section-label) {
  color: rgba(255,255,255,.72) !important;
}
.about-media img,
.about-principles article,
.target-values-visual article,
.faculty-pillars article,
.professor-grid article,
.contact-form,
.mba-facts,
.module-panel {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.14) !important;
  color: #fff !important;
}
.target-values-visual h3,
.about-principles h3,
.faculty-pillars strong,
.professor-grid h3,
.professor-grid blockquote {
  color: #fff !important;
}
.ucam-section {
  grid-template-columns: minmax(340px, .72fr) minmax(0, 1.28fr) !important;
}
.ucam-section .section-copy p::before {
  background: radial-gradient(circle, rgba(255,221,0,.65), rgba(255,221,0,.12));
}
.ucam-campus-card::after,
.ucam-photo-logo {
  display: none !important;
}
.ucam-ia-feature {
  grid-template-columns: 210px minmax(0, 1fr) !important;
  padding: clamp(30px, 5vw, 64px) !important;
  border: 1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 14% 30%, rgba(255,221,0,.22), transparent 220px),
    rgba(255,255,255,.055) !important;
}
.ucam-ia-logo {
  width: 210px;
  max-width: 100%;
  padding: 24px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
}
.ucam-ia-feature h3 {
  color: #fff !important;
}
.ucam-ia-feature p:not(.section-label) {
  color: rgba(255,255,255,.74) !important;
}
.module-panel {
  background: #101216 !important;
  border: 1px solid rgba(255,255,255,.14);
}
.module-intro {
  background:
    radial-gradient(circle at 16% 78%, rgba(255,221,0,.24), transparent 90px),
    #101216 !important;
}
.module-list {
  background: #101216 !important;
}
.module-card {
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  border-left-color: var(--yellow) !important;
  box-shadow: none !important;
}
.module-card.active {
  background: rgba(255,255,255,.08) !important;
}
.module-card p {
  color: rgba(255,255,255,.72) !important;
}
.module-card li {
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.13) !important;
  color: #fff !important;
}
.program-card-carousel {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 56px;
  gap: 18px;
  align-items: center;
  margin-top: 34px;
}
.program-card-arrow {
  display: grid !important;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.05);
  color: #fff;
}
.program-card-arrow:hover {
  background: var(--yellow);
  color: var(--black);
}
.program-card-carousel .program-grid {
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: minmax(360px, 31.5%);
  grid-template-columns: none !important;
  gap: 22px !important;
  margin-top: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.program-card-carousel .program-grid::-webkit-scrollbar {
  display: none;
}
.program-card-carousel .program-grid article {
  scroll-snap-align: center;
}
.contact-section {
  background: #101216 !important;
}
.contact-form {
  background: rgba(255,255,255,.96) !important;
  color: var(--black) !important;
}
.contact-form label,
.contact-form p {
  color: var(--black) !important;
}
.contact-links a {
  color: rgba(255,255,255,.82) !important;
}
@media (max-width: 1180px) {
  .ucam-ia-feature {
    grid-template-columns: 160px minmax(0, 1fr) !important;
  }
  .ucam-ia-logo {
    width: 160px;
  }
  .program-card-carousel .program-grid {
    grid-auto-columns: minmax(330px, 48%);
  }
}
@media (max-width: 780px) {
  .ucam-ia-feature {
    grid-template-columns: 1fr !important;
  }
  .ucam-ia-logo {
    width: 150px;
  }
  .program-card-carousel {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: 10px;
  }
  .program-card-carousel .program-grid {
    grid-auto-columns: 100%;
  }
}

/* Absolute final lock for the requested black version. */
html body,
html body .section,
html body .about-section,
html body .ucam-section,
html body .professors-section,
html body .programs-section,
html body .mba-section,
html body .alumni-section,
html body .testimonials-section,
html body .site-footer {
  background: #101216 !important;
  color: #fff !important;
}
html body .module-intro,
html body .module-list,
html body .module-panel,
html body .module-card {
  background: #101216 !important;
  color: #fff !important;
}
html body .module-card,
html body .target-values-visual article,
html body .about-principles article,
html body .faculty-pillars article,
html body .professor-grid article {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.14) !important;
}
html body .program-card-carousel #programCardTrack {
  display: grid !important;
  grid-template-columns: none !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(360px, 31.5%) !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
}
html body .program-card-arrow {
  display: grid !important;
}

/* Final UCAM + IA readability pass */
html body .ucam-section {
  grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr) !important;
  gap: clamp(28px, 5vw, 72px) !important;
  align-items: stretch !important;
}

html body .ucam-section .section-copy {
  align-self: center;
}

html body .ucam-section .ucam-logo,
html body .ucam-ia-logo {
  display: none !important;
}

html body .ucam-campus-card {
  position: relative;
  min-height: 520px;
  border: 0 !important;
  border-radius: 18px !important;
  background: #16191f !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.34) !important;
}

html body .ucam-campus-card > img:first-child {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover !important;
}

html body .ucam-campus-card .ucam-photo-logo {
  position: absolute;
  right: 28px;
  bottom: 28px;
  display: block !important;
  width: min(180px, 32vw);
  height: auto;
  min-height: 0;
  object-fit: contain !important;
  padding: 18px 22px;
  border-radius: 14px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 55px rgba(0,0,0,.32);
}

html body .ucam-ia-feature {
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: minmax(0, .84fr) minmax(280px, .38fr) !important;
  align-items: center;
  margin-top: clamp(26px, 4vw, 46px);
  padding: clamp(28px, 5vw, 58px) !important;
  border: 1px solid rgba(255,221,0,.28) !important;
  border-radius: 22px;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,221,0,.18), transparent 240px),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.035)) !important;
  box-shadow: 0 32px 90px rgba(0,0,0,.26);
}

html body .ucam-ia-feature::after {
  content: "IA";
  justify-self: end;
  display: grid;
  width: clamp(180px, 22vw, 310px);
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 26%, rgba(255,255,255,.72), transparent 0 18%, transparent 19%),
    radial-gradient(circle at 50% 50%, var(--yellow) 0 55%, rgba(255,221,0,.22) 56% 68%, transparent 69%);
  color: #101216;
  font-size: clamp(64px, 9vw, 126px);
  font-weight: 900;
  letter-spacing: 0;
  box-shadow: 0 30px 95px rgba(255,221,0,.22);
}

html body .ucam-ia-feature h3 {
  max-width: 820px;
  margin: 10px 0 16px;
  color: #fff !important;
  font-size: clamp(34px, 4.2vw, 68px);
  line-height: .98;
  letter-spacing: 0;
}

html body .ucam-ia-feature p:not(.section-label) {
  max-width: 820px;
  margin: 0;
  color: rgba(255,255,255,.78) !important;
  font-size: clamp(17px, 1.35vw, 22px);
  line-height: 1.5;
}

html body .ucam-ia-feature ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

html body .ucam-ia-feature li {
  position: relative;
  min-width: 0;
  padding: 16px 16px 16px 38px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.065);
  color: rgba(255,255,255,.84);
  font-size: 15px;
  line-height: 1.35;
}

html body .ucam-ia-feature li::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 22px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--yellow);
  box-shadow: 0 0 22px rgba(255,221,0,.72);
}

@media (max-width: 980px) {
  html body .ucam-section {
    grid-template-columns: 1fr !important;
  }

  html body .ucam-campus-card,
  html body .ucam-campus-card > img:first-child {
    min-height: 390px;
  }

  html body .ucam-ia-feature {
    grid-template-columns: 1fr !important;
  }

  html body .ucam-ia-feature::after {
    display: none;
  }

  html body .ucam-ia-feature ul {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1180px) {
  html body .program-card-carousel #programCardTrack {
    grid-auto-columns: minmax(330px, 48%) !important;
  }
}
@media (max-width: 780px) {
  html body .program-card-carousel #programCardTrack {
    grid-auto-columns: 100% !important;
  }
}

/* Visual refresh from supplied layout references */
.zoomable-image {
  cursor: zoom-in;
}
.about-media img,
.about-principles img,
.ucam-section figure img,
.ucam-ia-card img,
.mba-photo-strip img,
.program-grid img,
.program-photo-track img,
.youtube-testimonial img {
  border: 0 !important;
  outline: 0;
}
.about-media img:hover,
.about-principles article:hover img,
.ucam-section figure:hover img,
.ucam-ia-card:hover img,
.program-grid article:hover img,
.program-photo-track img:hover,
.youtube-testimonial:hover img {
  transform: scale(1.035);
  box-shadow: 0 28px 90px rgba(21,23,27,.18);
}
.image-modal[hidden] {
  display: none;
}
.image-modal {
  position: fixed;
  inset: 0;
  z-index: 410;
  display: grid;
  place-items: center;
  padding: clamp(16px, 4vw, 56px);
}
.image-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.82);
  backdrop-filter: blur(10px);
}
.image-modal-content {
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
}
.image-modal-content img {
  width: 100%;
  max-height: 86vh;
  object-fit: contain;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.image-modal-close {
  position: absolute;
  top: -18px;
  right: -18px;
  z-index: 2;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--yellow);
  color: var(--black);
  font-size: 28px;
  font-weight: 900;
  cursor: pointer;
}
.hero-quote p {
  font-size: clamp(20px, 1.7vw, 26px);
  line-height: 1.22;
}
.hero-quote strong {
  color: var(--yellow);
}
.trust-track strong {
  min-width: 1.8em;
}
.about-principles {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}
.about-principles article {
  display: grid;
  grid-template-rows: auto auto;
  gap: 18px;
  min-height: 100%;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(32,36,42,.1);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 56px rgba(21,23,27,.07);
  transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
}
.about-principles article:hover {
  transform: translateY(-6px);
  border-color: rgba(255,221,0,.72);
  box-shadow: 0 26px 80px rgba(21,23,27,.14);
}
.about-principles article > div {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 10px 14px;
  padding: 24px 24px 0;
}
.about-principles article span {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  grid-row: span 2;
  border-radius: 50%;
  background: rgba(255,221,0,.18);
  color: var(--black);
  font-weight: 900;
}
.about-principles h3 {
  margin: 0;
  font-size: clamp(20px, 1.45vw, 25px);
  line-height: 1.04;
}
.about-principles p {
  grid-column: 2;
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.46;
}
.about-principles img {
  width: calc(100% - 28px);
  height: 178px;
  margin: 0 14px 14px;
  object-fit: cover;
  border-radius: 8px;
}
.ucam-section {
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  align-items: center;
  background: #fff;
}
.ucam-section .section-copy {
  display: grid;
  gap: 16px;
}
.ucam-section .section-copy p {
  padding-left: 72px;
  position: relative;
}
.ucam-section .section-copy p::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,221,0,.55), rgba(255,221,0,.12));
}
.ucam-section figure {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 26px 90px rgba(21,23,27,.16);
}
.ucam-section figure::after {
  content: "UCAM\\A Universidad Católica de Murcia";
  white-space: pre-line;
  position: absolute;
  right: 28px;
  bottom: 28px;
  padding: 20px 24px;
  border-radius: 18px;
  background: rgba(21,23,27,.86);
  color: #fff;
  font-weight: 900;
  line-height: 1.25;
}
.ucam-logo {
  width: min(260px, 100%);
  margin-top: 8px;
}
.ucam-ia-card {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin-top: 10px;
  padding: 16px;
  border: 1px solid rgba(32,36,42,.12);
  border-radius: 14px;
  background: var(--soft);
}
.ucam-ia-card img {
  width: 96px;
  height: 96px;
  object-fit: contain;
}
.ucam-ia-card strong {
  display: block;
  margin-bottom: 6px;
  font-size: 18px;
  line-height: 1.15;
  font-weight: 900;
}
.ucam-ia-card p {
  padding-left: 0 !important;
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
}
.ucam-ia-card p::before {
  display: none;
}
.mba-video-card video {
  object-fit: contain;
  background: #000;
}
.module-panel {
  grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 28px 90px rgba(21,23,27,.12);
}
.module-intro {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(34px, 5vw, 64px);
}
.module-intro h3 {
  font-size: clamp(38px, 4.8vw, 64px);
  line-height: .96;
}
.module-list {
  gap: 14px;
  padding: 14px;
  background: #f7f7f4;
}
.module-card {
  grid-template-columns: 58px 76px minmax(0, 1fr) minmax(260px, .95fr);
  align-items: center;
  gap: 18px;
  padding: 22px 24px;
  border: 0;
  border-left: 6px solid var(--yellow);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(21,23,27,.07);
}
.module-card::before {
  content: "";
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 32%, rgba(255,255,255,.92), transparent 18px),
    radial-gradient(circle, rgba(255,221,0,.55), rgba(255,221,0,.14));
}
.module-number {
  width: 52px;
  height: 52px;
}
.module-card > div {
  display: contents;
}
.module-card h3 {
  margin: 0;
}
.module-card p {
  margin: 0;
  color: var(--muted);
}
.module-panel ul {
  display: grid;
  gap: 8px;
  margin: 0;
}
.module-panel li {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0 0 0 22px;
  font-size: 14px;
  line-height: 1.35;
}
.module-card:not(.active) p,
.module-card:not(.active) ul {
  display: block;
}
.module-card.active {
  background: #fff;
  box-shadow: 0 14px 40px rgba(21,23,27,.07);
}
.module-card:hover {
  transform: translateX(0) translateY(-3px);
}
.program-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.program-grid article {
  background: rgba(255,255,255,.08);
  border-radius: 16px;
}
.program-grid img {
  height: 300px;
  object-fit: contain;
}
.program-grid h3 {
  min-height: auto;
  margin: 26px 26px 12px;
  font-size: clamp(28px, 2.3vw, 40px);
}
.program-grid p {
  margin: 0 26px 26px;
  font-size: 16px;
  line-height: 1.55;
}
.program-grid .button {
  margin: auto 26px 26px;
}
.program-photo-track {
  grid-auto-columns: minmax(820px, 78vw);
  gap: 20px;
}
.program-photo-track img {
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #111;
}
.testimonials-section {
  background: #fff;
  color: var(--black);
}
.testimonials-section .section-copy > p {
  color: var(--muted);
}
.testimonial-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}
.testimonial-stats article {
  display: grid;
  gap: 4px;
  padding: 22px;
  border: 1px solid rgba(32,36,42,.1);
  border-radius: 16px;
  background: var(--soft);
}
.testimonial-stats strong {
  color: var(--black);
  font-size: clamp(34px, 3vw, 46px);
  line-height: 1;
  font-weight: 900;
}
.testimonial-stats span {
  color: var(--muted);
  font-weight: 800;
}
.testimonial-grid {
  grid-template-columns: 1.1fr .9fr .9fr;
  gap: 18px;
}
.testimonial-grid article {
  position: relative;
  border: 0;
  border-radius: 16px;
  background: #101216;
  color: #fff;
  box-shadow: 0 20px 70px rgba(21,23,27,.14);
}
.testimonial-grid video {
  width: 100%;
  min-height: 260px;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  filter: grayscale(1);
}
.testimonial-grid article:first-child {
  grid-row: span 2;
}
.testimonial-grid article:first-child video {
  min-height: 560px;
  aspect-ratio: 3 / 4;
}
.testimonial-grid h3 {
  color: #fff;
}
.testimonial-grid p {
  color: rgba(255,255,255,.84);
}
.testimonial-grid article:first-child p {
  font-size: clamp(20px, 2vw, 30px);
}
@media (max-width: 1180px) {
  .about-principles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ucam-section,
  .module-panel {
    grid-template-columns: 1fr;
  }
  .module-card {
    grid-template-columns: 58px 76px minmax(0, 1fr);
  }
  .module-panel ul {
    grid-column: 3;
  }
  .program-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 780px) {
  .about-principles {
    display: flex;
    grid-template-columns: none;
  }
  .about-principles article {
    flex: 0 0 100%;
  }
  .about-principles article > div {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 18px 18px 0;
  }
  .about-principles article span {
    width: 40px;
    height: 40px;
  }
  .about-principles p {
    grid-column: 2;
    font-size: 14px;
  }
  .about-principles img {
    height: 180px;
  }
  .ucam-section .section-copy p {
    padding-left: 0;
  }
  .ucam-section .section-copy p::before {
    display: none;
  }
  .ucam-ia-card {
    grid-template-columns: 72px minmax(0, 1fr);
  }
  .ucam-ia-card img {
    width: 72px;
    height: 72px;
  }
  .module-card {
    grid-template-columns: 52px minmax(0, 1fr);
    align-items: start;
  }
  .module-card::before {
    display: none;
  }
  .module-card > div {
    display: block;
  }
  .module-panel ul {
    grid-column: auto;
    margin-top: 14px;
  }
  .program-grid {
    grid-template-columns: 1fr;
  }
  .program-grid img {
    height: auto;
    aspect-ratio: 4 / 3;
  }
  .program-photo-track {
    grid-auto-columns: 100%;
  }
  .testimonial-stats,
  .testimonial-grid {
    grid-template-columns: 1fr;
  }
  .testimonial-grid article:first-child {
    grid-row: auto;
  }
  .testimonial-grid article:first-child video {
    min-height: 0;
    aspect-ratio: 16 / 11;
  }
  .image-modal-close {
    top: 8px;
    right: 8px;
  }
}

/* Final premium corrections */
.button-video {
  gap: 10px;
}
.button-video::before {
  content: "▶";
  display: inline-grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: var(--yellow);
  color: var(--black);
  font-size: 11px;
  line-height: 1;
}
.video-modal[hidden] {
  display: none;
}
.video-modal {
  position: fixed;
  inset: 0;
  z-index: 400;
  display: grid;
  place-items: center;
  padding: clamp(18px, 5vw, 58px);
}
.video-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.82);
  backdrop-filter: blur(12px);
}
.video-modal-content {
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  background: #050505;
  box-shadow: 0 32px 120px rgba(0,0,0,.5);
  overflow: hidden;
}
.video-modal-content video {
  display: block;
  width: 100%;
  max-height: 82vh;
  background: #000;
}
.video-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--yellow);
  color: var(--black);
  font-size: 28px;
  font-weight: 900;
  cursor: pointer;
}
.trust-marquee {
  left: 0;
  right: 0;
  bottom: 24px;
  width: 100vw;
  margin: 0;
  border-left: 0;
  border-right: 0;
  border-radius: 0;
}
.trust-track article {
  cursor: pointer;
  transition: background 220ms ease, transform 220ms ease;
}
.trust-track strong {
  display: inline-block;
  transform-origin: left center;
  transition: transform 260ms ease, color 260ms ease;
}
.trust-track article.is-boosted {
  background: rgba(255,221,0,.10);
}
.trust-track article.is-boosted strong {
  color: var(--yellow);
  transform: scale(1.18);
}
.about-section {
  align-items: start;
}
.about-media img {
  width: 100%;
  height: clamp(320px, 42vw, 560px);
  object-fit: contain;
  background: transparent;
}
.target-values-visual {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: none;
  gap: 18px;
  margin: clamp(24px, 4vw, 44px) 0 0;
}
.target-values-visual article {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  min-height: 0;
  padding: clamp(18px, 2.2vw, 28px);
  overflow: visible;
  border: 1px solid rgba(32,36,42,.12);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 56px rgba(21,23,27,.08);
}
.target-values-visual article::after {
  display: none;
}
.target-values-visual img {
  grid-row: auto;
  width: 92px;
  height: 92px;
  object-fit: contain;
}
.target-values-visual h3 {
  margin: 0 0 8px;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
  white-space: nowrap;
}
.target-values-visual p {
  grid-column: auto;
  margin: 0;
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.42;
}
.program-grid {
  grid-template-columns: repeat(7, minmax(190px, 1fr));
  align-items: stretch;
}
.program-grid article {
  transition: transform 240ms ease, border-color 240ms ease, background 240ms ease;
}
.program-grid article:hover {
  transform: translateY(-6px);
  border-color: rgba(255,221,0,.72);
  background: rgba(255,255,255,.1);
}
.program-grid img {
  width: 100%;
  height: 210px;
  object-fit: contain;
  background: rgba(255,255,255,.04);
}
.program-grid h3 {
  min-height: 2.05em;
  font-size: clamp(20px, 1.5vw, 26px);
  line-height: 1.02;
}
.program-grid p {
  font-size: 15px;
  line-height: 1.45;
}
.program-photo-track {
  grid-auto-columns: minmax(620px, 62vw);
}
.program-photo-track img {
  aspect-ratio: 16 / 9;
  object-fit: contain;
}
.alumni-section {
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  align-items: center;
}
.alumni-video-feature video {
  width: 100%;
  min-height: 480px;
  object-fit: cover;
}
.professor-grid article {
  min-height: 0;
}
.professor-grid img {
  height: 340px;
  object-fit: cover;
}
.professor-grid p,
.professor-grid blockquote {
  overflow: visible;
}
@media (max-width: 1360px) {
  .program-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 1180px) {
  .target-values-visual {
    grid-template-columns: 1fr;
  }
  .program-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .alumni-section {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 780px) {
  .hero-content {
    min-height: 790px;
    padding: 34px 22px 154px;
  }
  .hero-content > p:not(.hero-kicker) {
    font-size: 17px;
    line-height: 1.45;
  }
  .hero-cta .button {
    min-width: 0;
  }
  .trust-marquee {
    bottom: 0;
  }
  .target-values-visual {
    gap: 12px;
  }
  .target-values-visual article {
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 12px;
    padding: 16px;
  }
  .target-values-visual img {
    width: 74px;
    height: 74px;
  }
  .target-values-visual h3 {
    font-size: clamp(27px, 8vw, 34px);
  }
  .target-values-visual p {
    font-size: 14.5px;
    line-height: 1.4;
  }
  .program-grid {
    grid-template-columns: 1fr;
  }
  .program-grid img {
    height: auto;
    aspect-ratio: 4 / 3;
  }
  .program-photo-track {
    grid-auto-columns: 100%;
  }
  .program-photo-track img {
    aspect-ratio: 4 / 3;
  }
  .alumni-video-feature video {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }
  .professor-grid article {
    padding-bottom: 22px;
  }
  .professor-grid img {
    width: 100%;
    height: 300px;
  }
}

/* Final order lock: keep the latest requested layouts above older overrides. */
.program-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.program-grid img {
  height: 300px;
  object-fit: contain;
}
.program-grid h3 {
  min-height: auto;
  margin: 26px 26px 12px;
  font-size: clamp(28px, 2.3vw, 40px);
}
.program-grid p {
  margin: 0 26px 26px;
  font-size: 16px;
  line-height: 1.55;
}
.program-grid .button {
  margin: auto 26px 26px;
}
.program-photo-track {
  grid-auto-columns: minmax(820px, 78vw);
}
.program-photo-track img {
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #111;
}
.mba-video-card video {
  object-fit: contain;
  background: #000;
}
.target-values-visual h3 {
  text-transform: none;
}
@media (max-width: 1180px) {
  .program-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 780px) {
  .program-grid {
    grid-template-columns: 1fr;
  }
  .program-grid img {
    height: auto;
    aspect-ratio: 4 / 3;
  }
  .program-photo-track {
    grid-auto-columns: 100%;
  }
}

/* 2026-07-20 correction lock */
.button-sound {
  display: none !important;
}
.section-divider {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(280px, .55fr);
  gap: clamp(24px, 5vw, 74px);
  align-items: end;
  margin: clamp(34px, 5vw, 64px) 0 0;
  padding-top: clamp(30px, 5vw, 58px);
  border-top: 1px solid rgba(32,36,42,.12);
}
.section-divider .section-label {
  grid-column: 1 / -1;
  margin: 0;
  width: fit-content;
}
.section-divider h2 {
  margin: 0;
  font-size: clamp(38px, 5vw, 76px);
  line-height: .96;
}
.section-divider p:not(.section-label) {
  margin: 0;
  color: var(--muted);
  font-size: clamp(18px, 1.5vw, 24px);
  line-height: 1.35;
}
.about-principles article {
  min-height: auto !important;
}
.ucam-section {
  grid-template-columns: minmax(360px, .72fr) minmax(0, 1.28fr) !important;
  gap: clamp(38px, 6vw, 86px);
  align-items: center;
}
.ucam-section .section-copy {
  align-content: center;
}
.ucam-section .section-copy p {
  padding-left: 68px;
  font-size: clamp(17px, 1.25vw, 20px);
  line-height: 1.45;
}
.ucam-section figure img {
  min-height: clamp(460px, 48vw, 680px);
  object-fit: cover;
}
.ucam-ia-card {
  grid-template-columns: 148px minmax(0, 1fr);
  gap: 24px;
  padding: 24px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(21,23,27,.08);
}
.ucam-ia-card img {
  width: 148px;
  height: 148px;
}
.ucam-ia-card strong {
  font-size: clamp(22px, 1.8vw, 30px);
}
.ucam-ia-card p {
  color: var(--muted);
  font-size: clamp(16px, 1.15vw, 18px);
}
.mba-photo-strip img:nth-child(2) {
  object-fit: contain;
}
.module-panel {
  display: grid !important;
  grid-template-columns: minmax(340px, .82fr) minmax(0, 1.18fr) !important;
  align-items: stretch;
  background: #fff;
}
.module-intro {
  min-height: 100%;
}
.module-list {
  display: grid !important;
  gap: 14px;
  padding: 16px;
}
.module-card {
  display: grid !important;
  grid-template-columns: 70px minmax(160px, .48fr) minmax(0, 1fr) !important;
  gap: 18px 24px;
  align-items: start;
  min-height: 0 !important;
  padding: 24px !important;
  border: 0 !important;
  border-left: 6px solid var(--yellow) !important;
  border-radius: 14px !important;
  background: #fff !important;
}
.module-card::before {
  display: none !important;
}
.module-card > div {
  display: contents !important;
}
.module-number {
  grid-row: 1 / span 2;
}
.module-card h3 {
  grid-column: 2;
  margin: 0 !important;
  font-size: clamp(28px, 2.4vw, 38px) !important;
  line-height: 1 !important;
}
.module-card p {
  grid-column: 3;
  margin: 0 !important;
  color: var(--muted) !important;
  font-size: clamp(15px, 1.05vw, 17px) !important;
  line-height: 1.45 !important;
}
.module-card ul {
  grid-column: 2 / 4;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 0 !important;
  padding: 0 !important;
}
.module-card li {
  display: block;
  width: auto !important;
  padding: 10px 12px 10px 28px !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
  background: var(--soft) !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}
.programs-section {
  background: #101216 !important;
  color: #fff !important;
}
.program-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch;
}
.program-grid article {
  min-height: 0 !important;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 16px !important;
  overflow: hidden;
}
.program-grid img {
  height: 280px !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  background: #fff !important;
}
.program-grid h3 {
  margin: 24px 24px 12px !important;
  color: #fff !important;
  font-size: clamp(28px, 2.1vw, 38px) !important;
  line-height: 1 !important;
}
.program-grid p {
  margin: 0 24px 18px !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
}
.program-grid ul {
  display: grid;
  gap: 8px;
  margin: 0 24px 24px;
  padding: 0;
  list-style: none;
}
.program-grid li {
  position: relative;
  padding-left: 18px;
  color: #fff;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 800;
}
.program-grid li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--yellow);
}
.program-grid .button {
  margin: auto 24px 24px !important;
}
.program-photo-track {
  grid-auto-columns: minmax(760px, 76vw) !important;
}
.program-photo-track img {
  aspect-ratio: 16 / 9 !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
}
@media (max-width: 1180px) {
  .section-divider,
  .ucam-section,
  .module-panel {
    grid-template-columns: 1fr !important;
  }
  .program-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .module-card ul {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 780px) {
  .section-divider {
    gap: 14px;
  }
  .ucam-section .section-copy p {
    padding-left: 0;
  }
  .ucam-ia-card {
    grid-template-columns: 86px minmax(0, 1fr);
  }
  .ucam-ia-card img {
    width: 86px;
    height: 86px;
  }
  .module-card {
    grid-template-columns: 54px minmax(0, 1fr) !important;
  }
  .module-number {
    grid-row: auto;
  }
  .module-card > div {
    display: block !important;
  }
  .module-card h3,
  .module-card p,
  .module-card ul {
    grid-column: auto;
  }
  .program-grid {
    grid-template-columns: 1fr !important;
  }
  .program-grid img {
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
  }
  .program-photo-track {
    grid-auto-columns: 100% !important;
  }
}

/* 2026-07-20 second correction: darker rhythm, UCAM IA feature, mosaic gallery. */
body {
  background: #101216;
}
.about-section,
.ucam-section,
.professors-section,
.contact-section {
  background: #fff !important;
  color: var(--black);
}
.mba-section,
.alumni-section,
.testimonials-section {
  background: #101216 !important;
  color: #fff !important;
}
.mba-section .section-copy > p,
.alumni-section .section-copy > p,
.testimonials-section .section-copy > p {
  color: rgba(255,255,255,.74) !important;
}
.mba-facts,
.module-panel {
  background: rgba(255,255,255,.98) !important;
  color: var(--black);
}
.ucam-section {
  grid-template-columns: minmax(360px, .72fr) minmax(0, 1.28fr) !important;
}
.ucam-campus-card {
  min-height: clamp(500px, 48vw, 700px);
}
.ucam-campus-card img:first-child {
  height: 100%;
  min-height: clamp(500px, 48vw, 700px);
}
.ucam-photo-logo {
  position: absolute;
  right: 28px;
  bottom: 28px;
  z-index: 2;
  width: 158px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 18px;
  border-radius: 16px;
  background: rgba(255,255,255,.94);
  object-fit: contain !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.18);
}
.ucam-ia-feature {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
  margin-top: clamp(30px, 5vw, 70px);
  padding: clamp(24px, 4vw, 46px);
  border-radius: 20px;
  background: #101216;
  color: #fff;
  box-shadow: 0 28px 90px rgba(21,23,27,.18);
}
.ucam-ia-feature figure {
  position: relative;
  min-height: clamp(360px, 36vw, 560px);
  overflow: hidden;
  border-radius: 16px;
  background: #000;
}
.ucam-ia-feature figure > img:first-child {
  width: 100%;
  height: 100%;
  min-height: clamp(360px, 36vw, 560px);
  object-fit: cover;
}
.ucam-ia-feature h3 {
  max-width: 720px;
  margin-bottom: 18px;
  color: #fff;
  font-size: clamp(38px, 4.4vw, 74px);
  line-height: .95;
}
.ucam-ia-feature p:not(.section-label) {
  color: rgba(255,255,255,.76);
  font-size: clamp(18px, 1.45vw, 23px);
  line-height: 1.45;
}
.mba-photo-strip img:nth-child(2) {
  object-fit: contain !important;
}
.mba-photo-strip img:nth-child(3) {
  object-fit: contain !important;
}
.module-card {
  grid-template-columns: 62px minmax(220px, .36fr) minmax(0, 1fr) !important;
}
.module-card h3 {
  font-size: clamp(24px, 2vw, 34px) !important;
  word-break: keep-all;
  overflow-wrap: normal;
}
.module-card p {
  font-size: clamp(15px, 1vw, 16px) !important;
}
.module-card ul {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
}
.program-grid h3 {
  word-break: normal;
  overflow-wrap: normal;
}
.program-photo-carousel {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) 56px !important;
  gap: 18px;
  align-items: center;
  margin-top: 38px;
  padding: clamp(20px, 3vw, 34px);
  border-radius: 20px;
  background: #071014;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.program-mosaic-track {
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: minmax(760px, 76vw) !important;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
}
.program-photo-slide {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 18px;
  min-height: clamp(420px, 48vw, 640px);
  scroll-snap-align: center;
}
.program-photo-slide img {
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 12px;
  object-fit: cover !important;
  background: transparent !important;
}
.program-photo-slide img:first-child {
  grid-row: span 2;
}
.program-photo-carousel .carousel-button {
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.05);
  color: #fff;
}
.program-photo-carousel .carousel-button:hover {
  background: var(--yellow);
  color: var(--black);
}
.contact-section {
  align-items: stretch;
  background:
    linear-gradient(90deg, #101216 0 38%, #fff 38% 100%) !important;
  color: var(--black);
}
.contact-section .section-copy {
  color: #fff;
}
.contact-section .section-copy > p,
.contact-links a {
  color: rgba(255,255,255,.78);
}
.contact-form {
  align-self: stretch;
  border: 1px solid rgba(32,36,42,.12);
  box-shadow: 0 22px 70px rgba(21,23,27,.12);
}
@media (max-width: 1180px) {
  .ucam-section,
  .ucam-ia-feature {
    grid-template-columns: 1fr !important;
  }
  .module-card {
    grid-template-columns: 62px minmax(0, 1fr) !important;
  }
  .module-card > div {
    display: block !important;
  }
  .module-card h3,
  .module-card p,
  .module-card ul {
    grid-column: auto;
  }
  .module-card p {
    margin-top: 10px !important;
  }
  .module-card ul {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 780px) {
  .contact-section {
    background: #101216 !important;
  }
  .contact-form {
    background: #fff;
  }
  .program-photo-carousel {
    grid-template-columns: 42px minmax(0, 1fr) 42px !important;
    padding: 14px;
  }
  .program-mosaic-track {
    grid-auto-columns: 100% !important;
  }
  .program-photo-slide {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    min-height: 0;
  }
  .program-photo-slide img,
  .program-photo-slide img:first-child {
    grid-row: auto;
    height: auto;
    aspect-ratio: 4 / 3;
  }
  .ucam-photo-logo {
    width: 112px !important;
    right: 14px;
    bottom: 14px;
  }
  .module-list {
    grid-auto-columns: 100% !important;
  }
  .module-card {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 18px !important;
    overflow: hidden !important;
  }
  .module-card h3,
  .module-card p,
  .module-card li {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
  }
  .module-card ul {
    width: 100%;
    max-width: 100%;
  }
  .module-card li {
    border-radius: 14px !important;
  }
}

/* Absolute final lock for the requested black version. */
html body,
html body .section,
html body .about-section,
html body .ucam-section,
html body .professors-section,
html body .programs-section,
html body .mba-section,
html body .alumni-section,
html body .testimonials-section,
html body .site-footer {
  background: #101216 !important;
  color: #fff !important;
}
html body .module-intro,
html body .module-list,
html body .module-panel,
html body .module-card {
  background: #101216 !important;
  color: #fff !important;
}
html body .module-card,
html body .target-values-visual article,
html body .about-principles article,
html body .faculty-pillars article,
html body .professor-grid article {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.14) !important;
}
html body .program-card-carousel #programCardTrack {
  display: grid !important;
  grid-template-columns: none !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(360px, 31.5%) !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
}
html body .program-card-arrow {
  display: grid !important;
}
@media (max-width: 1180px) {
  html body .program-card-carousel #programCardTrack {
    grid-auto-columns: minmax(330px, 48%) !important;
  }
}
@media (max-width: 780px) {
  html body .program-card-carousel #programCardTrack {
    grid-auto-columns: 100% !important;
  }
}

/* 2026-07-20 readability corrections */
.site-header,
.main-nav,
.header-actions {
  color: var(--black) !important;
}
.site-header a,
.site-header button,
.site-header select,
.main-nav a,
.header-phone,
.language-switch {
  color: var(--black) !important;
}
.version-tools button {
  color: #fff !important;
}
.version-tools button.active {
  color: var(--black) !important;
}
.about-media img,
.program-grid img,
.program-photo-slide img,
.program-photo-track img {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.about-media img:hover,
.program-grid article:hover img,
.program-photo-slide img:hover,
.program-photo-track img:hover {
  box-shadow: none !important;
}
.target-values-visual article,
.about-principles article {
  background: #fff !important;
  color: var(--black) !important;
  border: 0 !important;
  box-shadow: 0 20px 70px rgba(0,0,0,.22) !important;
}
.target-values-visual h3,
.about-principles h3,
.target-values-visual p,
.about-principles p {
  color: var(--black) !important;
}
.about-principles article span,
.module-number {
  background: var(--yellow) !important;
  color: var(--black) !important;
}
.company-strip {
  background: #101216 !important;
  color: #fff !important;
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.company-strip p {
  color: #fff !important;
}
.logo-marquee,
.logo-track span {
  background: #101216 !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.16) !important;
}
.ucam-campus-card .ucam-photo-logo {
  display: block !important;
  position: absolute !important;
  right: 28px !important;
  bottom: 28px !important;
  width: 150px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 16px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.2) !important;
  object-fit: contain !important;
}
.ucam-ia-feature .ucam-photo-logo {
  display: none !important;
}
.module-card,
.module-panel .module-card,
html body .module-card {
  background: #fff !important;
  color: var(--black) !important;
  border: 0 !important;
  border-left: 6px solid var(--yellow) !important;
  box-shadow: 0 18px 54px rgba(0,0,0,.18) !important;
}
.module-card h3,
.module-card p,
.module-card li,
.module-card ul,
html body .module-card p {
  color: var(--black) !important;
}
.module-card li {
  background: var(--soft) !important;
  border-color: var(--line) !important;
}
.program-grid article {
  border: 0 !important;
  box-shadow: none !important;
}
.program-grid img {
  border: 0 !important;
  background: transparent !important;
}
@media (max-width: 780px) {
  .ucam-campus-card .ucam-photo-logo {
    width: 110px !important;
    right: 14px !important;
    bottom: 14px !important;
  }
}

html body .target-values-visual article,
html body .about-principles article {
  background: #fff !important;
  color: var(--black) !important;
  border: 0 !important;
}

/* 2026-07-20 contrast cleanup */
.site-header .button,
.site-header .button-dark,
.header-actions .button,
.header-actions .button-dark {
  background: var(--yellow) !important;
  color: var(--black) !important;
  border-color: var(--yellow) !important;
}
.logo-marquee,
.logo-track,
.logo-track span {
  border: 0 !important;
  box-shadow: none !important;
}
.logo-track span {
  background: transparent !important;
  color: #fff !important;
}
.logo-track img {
  background: #fff !important;
  padding: 8px !important;
  border-radius: 8px !important;
  filter: none !important;
}
.faculty-pillars article {
  background: #fff !important;
  color: var(--black) !important;
  border: 0 !important;
  box-shadow: 0 18px 54px rgba(0,0,0,.18) !important;
}
.faculty-pillars strong,
.faculty-pillars span {
  color: var(--black) !important;
}
.program-card-carousel .program-grid article,
.program-grid article {
  background: #fff !important;
  color: var(--black) !important;
  border: 0 !important;
  box-shadow: 0 20px 70px rgba(0,0,0,.22) !important;
}
.program-grid h3,
.program-grid p,
.program-grid li {
  color: var(--black) !important;
}
.program-grid li::before {
  background: var(--yellow) !important;
}
.program-grid .button-light,
.program-grid .button-dark {
  background: var(--black) !important;
  color: #fff !important;
  border-color: var(--black) !important;
}
.program-grid img {
  background: transparent !important;
}

html body .professors-section .faculty-pillars article {
  background: #fff !important;
  color: var(--black) !important;
  border: 0 !important;
  box-shadow: 0 18px 54px rgba(0,0,0,.18) !important;
}
html body .professors-section .faculty-pillars strong,
html body .professors-section .faculty-pillars span {
  color: var(--black) !important;
}

/* 2026-07-20 final boss-preview tweaks */
.hero-quote {
  display: none !important;
}
.trust-marquee {
  bottom: clamp(42px, 7vh, 88px) !important;
  transform: scale(.92);
  transform-origin: center bottom;
}
.trust-track article {
  min-height: 82px !important;
  padding: 16px 24px !important;
}
.trust-track strong {
  font-size: clamp(24px, 2.2vw, 34px) !important;
}
.trust-track span {
  font-size: 13px !important;
}
.program-grid img {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.program-grid article {
  overflow: hidden !important;
}
.ucam-section > .section-copy > .ucam-logo,
.ucam-ia-logo {
  display: none !important;
}
.ucam-campus-card .ucam-photo-logo {
  display: block !important;
}
@media (max-width: 780px) {
  .trust-marquee {
    bottom: 24px !important;
    transform: scale(.9);
  }
  .trust-track article {
    min-height: 68px !important;
    padding: 12px 18px !important;
  }
}

/* Final mobile delivery fixes */
.version-tools {
  display: none !important;
}

@media (max-width: 780px) {
  html body .hero-content {
    padding: 34px 26px 150px !important;
  }

  html body .hero-video {
    background: #ffdd00 url("./assets/fotos/targetanimacion2026.mp4.png") center / cover no-repeat !important;
    object-fit: cover !important;
  }

  html body .about-principles-carousel,
  html body .module-carousel,
  html body .program-photo-carousel,
  html body .professor-carousel {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) 40px !important;
    gap: 8px !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  html body .about-principles,
  html body .module-list,
  html body .program-photo-track,
  html body .professor-grid {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: none !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 100% !important;
    gap: 0 !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding: 0 !important;
    scrollbar-width: none !important;
  }

  html body .about-principles::-webkit-scrollbar,
  html body .module-list::-webkit-scrollbar,
  html body .program-photo-track::-webkit-scrollbar,
  html body .professor-grid::-webkit-scrollbar {
    display: none !important;
  }

  html body .about-principles article,
  html body .module-card,
  html body .program-photo-slide,
  html body .professor-grid article {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
    box-sizing: border-box !important;
  }

  html body .about-principles article {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 14px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body .about-principles article > div {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 8px 12px !important;
    padding: 18px 18px 0 !important;
  }

  html body .about-principles h3 {
    font-size: 18px !important;
    line-height: 1.14 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  html body .about-principles p {
    grid-column: 2 !important;
    font-size: 14px !important;
    line-height: 1.42 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  html body .about-principles img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
  }

  html body .module-panel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  html body .module-intro {
    padding: 28px 22px !important;
  }

  html body .module-carousel {
    padding: 0 12px 18px !important;
  }

  html body .module-card {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 22px !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-left: 5px solid var(--yellow) !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: var(--black) !important;
  }

  html body .module-card h3 {
    font-size: 28px !important;
    line-height: 1.05 !important;
    color: var(--black) !important;
  }

  html body .module-card p {
    font-size: 15px !important;
    line-height: 1.45 !important;
    color: #4b5563 !important;
  }

  html body .module-card ul {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 14px !important;
    padding: 0 !important;
  }

  html body .module-card li {
    padding: 10px 12px !important;
    border-color: #e5e7eb !important;
    background: #f6f7f9 !important;
    color: var(--black) !important;
    font-size: 14px !important;
    line-height: 1.32 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  html body .program-photo-carousel {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body .program-photo-slide {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    gap: 12px !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body .program-photo-slide img,
  html body .program-photo-slide img:first-child,
  html body .program-photo-track img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: contain !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body .carousel-button {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 999px !important;
    font-size: 26px !important;
    z-index: 2 !important;
  }
}

@media (max-width: 780px) {
  html body .about-principles-carousel,
  html body .module-carousel,
  html body .program-photo-carousel,
  html body .professor-carousel {
    position: relative !important;
    display: block !important;
    padding: 0 0 58px !important;
    overflow: visible !important;
  }

  html body .about-principles,
  html body .module-list,
  html body .program-photo-track,
  html body .professor-grid {
    width: 100% !important;
    grid-auto-columns: 100% !important;
  }

  html body .about-principles-arrow,
  html body .module-arrow,
  html body .program-photo-carousel > .carousel-button,
  html body .professor-arrow {
    position: absolute !important;
    bottom: 0 !important;
    top: auto !important;
  }

  html body .about-principles-arrow:first-child,
  html body .module-arrow:first-child,
  html body .program-photo-carousel > .carousel-button:first-child,
  html body .professor-arrow:first-child {
    left: calc(50% - 48px) !important;
  }

  html body .about-principles-arrow:last-child,
  html body .module-arrow:last-child,
  html body .program-photo-carousel > .carousel-button:last-child,
  html body .professor-arrow:last-child {
    right: calc(50% - 48px) !important;
  }

  html body .module-carousel {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html body .module-card {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    padding: 20px !important;
    width: 100% !important;
  }

  html body .program-photo-slide img,
  html body .program-photo-slide img:first-child {
    max-height: none !important;
  }
}

/* Final spacing/alignment pass requested after mobile review */
html body .section-copy {
  max-width: none !important;
}

html body .section-copy > p:not(.section-label),
html body .section-divider p:not(.section-label),
html body .programs-section .section-copy > p,
html body .mba-section .section-copy > p,
html body .alumni-section .section-copy > p,
html body .testimonials-section .section-copy > p {
  width: 100% !important;
  max-width: 100% !important;
}

html body .trust-marquee {
  left: 50% !important;
  right: auto !important;
  width: 100vw !important;
  max-width: none !important;
  transform: translateX(-50%) !important;
  transform-origin: center bottom !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
}

html body .module-card ul {
  padding-left: 0 !important;
  list-style: none !important;
}

html body .module-card li {
  position: relative !important;
  display: block !important;
  padding-left: 22px !important;
}

html body .module-card li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: .62em !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--yellow) !important;
  box-shadow: 0 0 14px rgba(255,221,0,.55) !important;
}

html body .professor-carousel {
  position: relative !important;
}

html body .professor-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 5 !important;
  background: var(--yellow) !important;
  color: var(--black) !important;
  border-color: var(--yellow) !important;
}

html body .professor-arrow:first-child {
  left: 12px !important;
}

html body .professor-arrow:last-child {
  right: 12px !important;
}

html body .professor-grid {
  padding-left: 58px !important;
  padding-right: 58px !important;
}

@media (min-width: 781px) {
  html body .professor-arrow {
    display: none !important;
  }

  html body .professor-grid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 780px) {
  html body .trust-marquee {
    transform: translateX(-50%) !important;
  }

  html body .section-copy > p:not(.section-label),
  html body .section-divider p:not(.section-label),
  html body .programs-section .section-copy > p,
  html body .mba-section .section-copy > p,
  html body .alumni-section .section-copy > p,
  html body .testimonials-section .section-copy > p {
    max-width: 100% !important;
  }

  html body .professor-carousel {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html body .professor-grid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html body .professor-arrow {
    top: auto !important;
    bottom: 0 !important;
    transform: none !important;
  }

  html body .professor-arrow:first-child {
    left: calc(50% - 48px) !important;
  }

  html body .professor-arrow:last-child {
    right: calc(50% - 48px) !important;
  }
}

/* Final professor card text containment */
html body .professor-grid article {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  background: #1f2329 !important;
  color: #fff !important;
}

html body .professor-grid img {
  flex: 0 0 auto !important;
}

html body .professor-grid h3,
html body .professor-grid blockquote,
html body .professor-grid p {
  width: auto !important;
  max-width: calc(100% - 32px) !important;
  margin-left: 16px !important;
  margin-right: 16px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: none !important;
}

html body .professor-grid h3 {
  margin-top: 16px !important;
  margin-bottom: 8px !important;
  color: #fff !important;
  font-size: clamp(18px, 1.5vw, 21px) !important;
  line-height: 1.12 !important;
}

html body .professor-grid blockquote {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  color: #fff !important;
  font-size: clamp(13px, 1.05vw, 15px) !important;
  line-height: 1.28 !important;
}

html body .professor-grid p {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  color: rgba(255,255,255,.74) !important;
  font-size: clamp(12.5px, .95vw, 14px) !important;
  line-height: 1.42 !important;
}

@media (max-width: 780px) {
  html body .professor-grid article {
    border-radius: 0 !important;
  }

  html body .professor-grid h3,
  html body .professor-grid blockquote,
  html body .professor-grid p {
    max-width: calc(100% - 28px) !important;
    margin-left: 14px !important;
    margin-right: 14px !important;
  }

  html body .professor-grid h3 {
    font-size: 20px !important;
  }

  html body .professor-grid blockquote {
    font-size: 14px !important;
  }

  html body .professor-grid p {
    font-size: 13px !important;
  }
}

/* Absolute final module bullet containment */
html body .module-card ul,
html body .module-panel .module-card ul {
  padding-left: 0 !important;
  margin-left: 0 !important;
  list-style: none !important;
}

html body .module-card li,
html body .module-panel .module-card li {
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  padding-left: 34px !important;
  overflow: hidden !important;
}

html body .module-card li::before,
html body .module-panel .module-card li::before {
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  top: .72em !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: var(--yellow) !important;
  box-shadow: 0 0 14px rgba(255,221,0,.55) !important;
}

@media (max-width: 780px) {
  html body .module-card li,
  html body .module-panel .module-card li {
    padding: 10px 12px 10px 36px !important;
  }

  html body .module-card li::before,
  html body .module-panel .module-card li::before {
    left: 16px !important;
    top: 1.08em !important;
  }
}

/* Absolute final module bullet alignment: dot inline with the sentence start */
html body .module-card li,
html body .module-panel .module-card li,
html body .module-card ul li,
html body .module-panel .module-card ul li {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

html body .module-card li::before,
html body .module-panel .module-card li::before,
html body .module-card ul li::before,
html body .module-panel .module-card ul li::before {
  content: "" !important;
  position: static !important;
  flex: 0 0 8px !important;
  width: 8px !important;
  height: 8px !important;
  margin-top: .42em !important;
  border-radius: 999px !important;
  background: var(--yellow) !important;
  box-shadow: 0 0 14px rgba(255,221,0,.55) !important;
}

@media (max-width: 780px) {
  html body .module-card li,
  html body .module-panel .module-card li,
  html body .module-card ul li,
  html body .module-panel .module-card ul li {
    padding: 10px 12px !important;
    gap: 10px !important;
  }

  html body .module-card li::before,
  html body .module-panel .module-card li::before,
  html body .module-card ul li::before,
  html body .module-panel .module-card ul li::before {
    margin-top: .42em !important;
  }
}

/* Final title label width fix */
html body .section-label,
html body .section-divider .section-label,
html body .module-intro .section-label {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-start !important;
  padding: 7px 12px !important;
  border-radius: 0 !important;
  background: var(--yellow) !important;
  color: var(--black) !important;
  line-height: 1 !important;
}

html body .section-copy > .section-label,
html body section .section-copy > p.section-label,
html body section .section-divider > p.section-label,
html body section .module-intro > p.section-label,
html body section .ucam-ia-feature p.section-label {
  display: inline-block !important;
  width: fit-content !important;
  min-width: 0 !important;
  max-width: calc(100vw - 48px) !important;
  justify-self: start !important;
  align-self: start !important;
  padding: 7px 12px !important;
  white-space: normal !important;
}

.legal-section {
  background: var(--black);
  color: #fff;
}

.legal-hero {
  max-width: 980px;
}

.legal-hero h1 {
  margin: 20px 0 18px;
  font-size: clamp(46px, 8vw, 104px);
  line-height: .9;
  letter-spacing: 0;
}

.legal-hero > p:not(.section-label) {
  max-width: 760px;
  color: rgba(255,255,255,.72);
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.35;
}

.legal-content {
  display: grid;
  gap: 14px;
  max-width: 1040px;
  margin-top: clamp(34px, 6vw, 72px);
  padding: clamp(24px, 4vw, 48px);
  border-radius: var(--radius);
  background: #fff;
  color: var(--ink);
  box-shadow: 0 22px 70px rgba(0,0,0,.25);
}

.legal-content h2 {
  margin: 24px 0 2px;
  color: var(--black);
  font-size: clamp(24px, 3vw, 42px);
  line-height: 1.05;
}

.legal-content h2:first-child {
  margin-top: 0;
}

.legal-content p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.65;
}

.legal-content a {
  color: var(--black);
  font-weight: 900;
  text-decoration: underline;
}

.form-legal {
  display: grid;
  gap: 11px;
  padding: 14px;
  border: 1px solid rgba(21,23,27,.12);
  border-radius: 8px;
  background: rgba(255,255,255,.7);
}

.form-legal p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.form-legal a {
  color: var(--black);
  font-weight: 900;
  text-decoration: underline;
}

.cookie-banner {
  position: fixed;
  z-index: 80;
  right: clamp(16px, 3vw, 34px);
  bottom: clamp(16px, 3vw, 34px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  width: min(920px, calc(100vw - 32px));
  padding: 22px;
  border: 1px solid rgba(255,221,0,.28);
  border-radius: 12px;
  background: rgba(8,10,13,.96);
  color: #fff;
  box-shadow: 0 24px 90px rgba(0,0,0,.45);
}

.cookie-banner[hidden] {
  display: none;
}

.cookie-banner__text {
  display: grid;
  gap: 8px;
}

.cookie-banner__text strong {
  color: var(--yellow);
  font-size: 18px;
  line-height: 1;
}

.cookie-banner__text p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 13px;
  line-height: 1.45;
}

.cookie-banner__text a {
  color: #fff;
  font-weight: 900;
  text-decoration: underline;
}

.cookie-banner__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.cookie-banner .button {
  min-height: 42px;
  padding: 0 16px;
  white-space: nowrap;
}

.cookie-panel {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  align-items: center;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.14);
}

.cookie-panel[hidden] {
  display: none;
}

.cookie-panel label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: rgba(255,255,255,.86);
  font-size: 13px;
  font-weight: 700;
}

.cookie-panel input {
  width: 17px;
  height: 17px;
  accent-color: var(--yellow);
}

@media (max-width: 780px) {
  .cookie-banner {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .cookie-banner__actions {
    justify-content: stretch;
  }

  .cookie-banner .button {
    width: 100%;
  }

  .legal-content {
    padding: 22px;
  }
}

/* 2026-07-23 final MBA facts and module redesign */
html body .mba-facts {
  background: #fff !important;
  color: var(--black) !important;
}

html body .mba-facts dt {
  color: var(--black) !important;
  opacity: 1 !important;
}

html body .mba-facts dd,
html body .mba-facts p {
  color: #6f7784 !important;
}

html body .module-panel-premium {
  display: grid !important;
  grid-template-columns: minmax(360px, .38fr) minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
  padding: clamp(24px, 3vw, 38px) !important;
  overflow: visible !important;
  background:
    radial-gradient(circle at 8% 18%, rgba(255,221,0,.16), transparent 180px),
    linear-gradient(135deg, #070b0f 0%, #10141a 100%) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 12px !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.28) !important;
}

html body .module-panel-premium .module-intro {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 100% !important;
  padding: 0 clamp(8px, 2vw, 28px) 0 0 !important;
  background: transparent !important;
  color: #fff !important;
}

html body .module-panel-premium .module-intro h3 {
  max-width: 520px !important;
  margin: 22px 0 24px !important;
  color: #fff !important;
  font-size: clamp(42px, 4vw, 66px) !important;
  line-height: .98 !important;
  letter-spacing: 0 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

html body .module-panel-premium .module-intro h3::after {
  content: "" !important;
  display: block !important;
  width: 76px !important;
  height: 3px !important;
  margin-top: 28px !important;
  background: var(--yellow) !important;
}

html body .module-panel-premium .module-intro p:not(.section-label) {
  max-width: 390px !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
}

html body .module-panel-premium .module-carousel {
  display: grid !important;
  min-width: 0 !important;
}

html body .module-panel-premium .module-arrow {
  display: none !important;
}

html body .module-panel-premium .module-list {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 8px !important;
  overflow: visible !important;
  background: transparent !important;
}

html body .module-panel-premium .module-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "number number"
    "title title"
    "copy copy"
    "list list" !important;
  align-content: start !important;
  gap: 12px 18px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: clamp(22px, 2.4vw, 32px) !important;
  overflow: hidden !important;
  background: #fff !important;
  color: var(--black) !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 54px rgba(0,0,0,.22) !important;
}

html body .module-panel-premium .module-card:nth-child(1),
html body .module-panel-premium .module-card:nth-child(2),
html body .module-panel-premium .module-card:nth-child(3) {
  grid-column: span 2 !important;
}

html body .module-panel-premium .module-card:nth-child(4) {
  grid-column: span 3 !important;
}

html body .module-panel-premium .module-card:nth-child(5) {
  grid-column: span 3 !important;
}

html body .module-panel-premium .module-number {
  grid-area: number !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  color: var(--yellow) !important;
  font-size: clamp(36px, 3.2vw, 52px) !important;
  line-height: .9 !important;
  font-weight: 900 !important;
}

html body .module-panel-premium .module-icon { display: none !important; }

html body .module-panel-premium .module-card h3 {
  grid-area: title !important;
  margin: 0 !important;
  color: var(--black) !important;
  font-size: clamp(26px, 2.2vw, 34px) !important;
  line-height: 1 !important;
}

html body .module-panel-premium .module-card p {
  grid-area: copy !important;
  margin: 0 !important;
  color: #171a20 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

html body .module-panel-premium .module-card p::after {
  content: "" !important;
  display: block !important;
  width: 48px !important;
  height: 2px !important;
  margin-top: 20px !important;
  background: var(--yellow) !important;
}

html body .module-panel-premium .module-card ul {
  grid-area: list !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 16px !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body .module-panel-premium .module-card:nth-child(-n+3) ul {
  grid-template-columns: 1fr !important;
}

html body .module-panel-premium .module-card li {
  display: grid !important;
  grid-template-columns: 8px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  overflow-wrap: anywhere !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--black) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

html body .module-panel-premium .module-card li::before {
  content: "" !important;
  position: static !important;
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  margin-top: .42em !important;
  border-radius: 50% !important;
  background: var(--yellow) !important;
  transform: none !important;
}

html body .module-benefits {
  display: none !important;
}

html body .module-benefits article {
  display: grid !important;
  gap: 7px !important;
  padding: 0 22px !important;
  border-right: 1px solid rgba(255,255,255,.18) !important;
}

html body .module-benefits article:last-child {
  border-right: 0 !important;
}

html body .module-benefits strong {
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1.1 !important;
}

html body .module-benefits span {
  color: rgba(255,255,255,.72) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

@media (max-width: 1120px) {
  html body .module-panel-premium {
    grid-template-columns: 1fr !important;
  }

  html body .module-panel-premium .module-intro {
    padding-right: 0 !important;
  }

  html body .module-panel-premium .module-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body .module-panel-premium .module-card:nth-child(4),
  html body .module-panel-premium .module-card:nth-child(5) {
    grid-column: auto !important;
  }
}

@media (max-width: 780px) {
  html body .module-panel-premium {
    padding: 22px 16px !important;
    overflow: hidden !important;
  }

  html body .module-panel-premium .module-intro h3 {
    font-size: 42px !important;
  }

  html body .module-panel-premium .module-carousel {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    padding: 0 0 58px !important;
    overflow: visible !important;
  }

  html body .module-panel-premium .module-arrow {
    display: grid !important;
    position: absolute !important;
    bottom: 0 !important;
    top: auto !important;
    width: 42px !important;
    height: 42px !important;
  }

  html body .module-panel-premium .module-arrow:first-child {
    left: calc(50% - 48px) !important;
  }

  html body .module-panel-premium .module-arrow:last-child {
    right: calc(50% - 48px) !important;
  }

  html body .module-panel-premium .module-list {
    display: flex !important;
    width: 100% !important;
    gap: 12px !important;
    padding: 0 !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  html body .module-panel-premium .module-list::-webkit-scrollbar {
    display: none !important;
  }

  html body .module-panel-premium .module-card {
    grid-column: auto !important;
    flex: 0 0 100% !important;
    scroll-snap-align: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 22px !important;
  }

  html body .module-panel-premium .module-card:nth-child(1),
  html body .module-panel-premium .module-card:nth-child(2),
  html body .module-panel-premium .module-card:nth-child(3),
  html body .module-panel-premium .module-card:nth-child(4),
  html body .module-panel-premium .module-card:nth-child(5) {
    grid-column: auto !important;
  }

  html body .module-panel-premium .module-icon {
    width: 58px !important;
    height: 58px !important;
    font-size: 27px !important;
  }

  html body .module-panel-premium .module-card ul,
  html body .module-panel-premium .module-card:nth-child(-n+3) ul {
    grid-template-columns: 1fr !important;
  }

  html body .module-panel-premium .module-card h3,
  html body .module-panel-premium .module-card p,
  html body .module-panel-premium .module-card li {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  html body .module-benefits {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  html body .module-benefits article {
    padding: 0 !important;
    border-right: 0 !important;
  }

  .program-video-showcase,
  .local-video-grid {
    grid-template-columns: 1fr !important;
  }

  .program-video-showcase .feature-video-card {
    grid-template-columns: 1fr !important;
  }

  .program-video-showcase .feature-video-card video {
    min-height: 0 !important;
  }

  .program-video-showcase video,
  .local-video-grid video {
    object-fit: contain !important;
  }
}

@media (min-width: 781px) {
  html body .professor-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  html body .professor-grid article {
    min-height: 560px !important;
  }

  html body .professor-grid img {
    height: 300px !important;
    object-fit: cover !important;
    object-position: center top !important;
  }
}

/* Final refinements: UCAM, expandable modules/programs and professor placeholder */
html body .ucam-section .section-copy p::before,
html body .ucam-ia-feature li::before,
html body .ucam-ia-feature ul {
  display: none !important;
  content: none !important;
}

html body .ucam-section .section-copy p,
html body .ucam-ia-feature p:not(.section-label) {
  padding-left: 0 !important;
  color: rgba(255, 255, 255, .82) !important;
}

html body .ucam-campus-card > img:first-child {
  object-fit: cover !important;
  object-position: center center !important;
  min-height: clamp(420px, 38vw, 620px) !important;
  filter: none !important;
}

html body .module-panel-premium .module-card {
  cursor: pointer;
  overflow: hidden;
}

html body .module-panel-premium .module-card:not(.active) p,
html body .module-panel-premium .module-card:not(.active) ul {
  display: none !important;
}

html body .module-panel-premium .module-card.active p {
  display: block !important;
}

html body .module-panel-premium .module-card:focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: 4px;
}

html body .program-grid details {
  margin: 12px 0 18px;
  border-top: 1px solid rgba(15, 17, 22, .12);
  padding-top: 12px;
}

html body .program-grid summary {
  cursor: pointer;
  color: #0f1116;
  font-weight: 800;
  list-style: none;
}

html body .program-grid summary::-webkit-details-marker {
  display: none;
}

html body .program-grid summary::after {
  content: "+";
  float: right;
  color: var(--yellow);
  font-size: 24px;
  line-height: 1;
}

html body .program-grid details[open] summary::after {
  content: "-";
}

html body .program-grid details p {
  margin: 10px 0 0 !important;
  color: rgba(15, 17, 22, .72) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

html body .ucam-ia-feature .ia-details {
  margin-top: 18px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 20px;
  padding: 18px 20px;
  background: rgba(255, 255, 255, .06);
}

html body .ucam-ia-feature .ia-details summary {
  cursor: pointer;
  color: #fff;
  font-weight: 800;
  list-style: none;
}

html body .ucam-ia-feature .ia-details summary::-webkit-details-marker {
  display: none;
}

html body .ucam-ia-feature .ia-details summary::after {
  content: "+";
  float: right;
  color: var(--yellow);
  font-size: 24px;
  line-height: 1;
}

html body .ucam-ia-feature .ia-details[open] summary::after {
  content: "-";
}

html body .ucam-ia-feature .ia-details p {
  margin: 12px 0 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  line-height: 1.65 !important;
}

html body .professor-grid .professor-empty {
  min-height: 520px;
  background: transparent !important;
  border: 1px dashed rgba(255, 255, 255, .12) !important;
  box-shadow: none !important;
  pointer-events: none;
}

html body .testimonial-grid .local-testimonial-card video {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  background: #000;
}

/* Latest requested corrections */
html body .module-panel-premium .module-card:not(.active) .module-summary,
html body .module-panel-premium .module-card .module-summary {
  display: block !important;
}

html body .module-panel-premium .module-card .module-expanded {
  display: none !important;
  grid-column: 2 / -1;
}

html body .module-panel-premium .module-card.active .module-expanded {
  display: block !important;
}

html body .module-panel-premium .module-card .module-expanded p {
  display: block !important;
  margin-top: 12px !important;
  color: rgba(15, 17, 22, .74) !important;
  font-size: clamp(15px, 1vw, 17px) !important;
  line-height: 1.58 !important;
}

html body .program-grid details p,
html body .program-grid details[open] p {
  color: rgba(15, 17, 22, .74) !important;
  font-size: clamp(15px, 1vw, 17px) !important;
  line-height: 1.58 !important;
  max-width: none !important;
}

html body .program-grid details {
  width: 100%;
}

html body .program-video-showcase .outdoor-main-video video {
  object-fit: contain !important;
  background: #000;
}

html body .testimonial-grid .local-testimonial-card h3 {
  min-height: 0 !important;
}

html body.detail-open {
  overflow: hidden;
}

html body .detail-modal[hidden] {
  display: none !important;
}

html body .detail-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 56px);
}

html body .detail-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .78);
  backdrop-filter: blur(12px);
}

html body .detail-modal-card {
  position: relative;
  width: min(980px, 100%);
  max-height: min(86vh, 900px);
  overflow: auto;
  border-radius: 28px;
  background: #fff;
  color: #111318;
  padding: clamp(26px, 4vw, 58px);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .42);
}

html body .detail-modal-close {
  position: sticky;
  top: 0;
  float: right;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 999px;
  background: var(--yellow);
  color: #111318;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

html body .detail-modal-label {
  display: inline-flex;
  margin: 0 0 14px !important;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--yellow);
  color: #111318 !important;
  font-size: 13px !important;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

html body .detail-modal-card h2 {
  clear: both;
  margin: 0 0 20px;
  font-size: clamp(36px, 5vw, 74px);
  line-height: .95;
  letter-spacing: 0;
}

html body .detail-modal-media {
  margin: 20px 0 26px;
}

html body .detail-modal-media img {
  width: 100%;
  max-height: 360px;
  object-fit: cover;
  border-radius: 20px;
  display: block;
}

html body .detail-modal-body {
  display: grid;
  gap: 16px;
}

html body .detail-modal-body p,
html body .detail-modal-body li {
  color: rgba(17, 19, 24, .76) !important;
  font-size: clamp(17px, 1.35vw, 21px) !important;
  line-height: 1.58 !important;
  overflow-wrap: break-word;
}

html body .detail-modal-body .detail-lead {
  color: #111318 !important;
  font-size: clamp(20px, 2vw, 30px) !important;
  line-height: 1.25 !important;
  font-weight: 800;
}

html body .detail-modal-body ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}

html body .detail-modal-body li {
  padding: 14px 16px 14px 36px;
  border-radius: 16px;
  background: #f5f4ef;
  position: relative;
}

html body .detail-modal-body li::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 24px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--yellow);
}

html body .program-grid article,
html body .module-card {
  cursor: pointer;
}

html body .program-grid article:focus-visible,
html body .module-card:focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: 5px;
}

html body .program-grid details {
  display: none !important;
}

html body .module-panel-premium .module-card .module-expanded,
html body .module-panel-premium .module-card.active .module-expanded {
  display: none !important;
}

@media (max-width: 780px) {
  html body .module-panel-premium .module-card .module-expanded {
    grid-column: 1 / -1;
  }

  html body .module-panel-premium .module-card .module-expanded p,
  html body .program-grid details p {
    font-size: 15px !important;
    line-height: 1.55 !important;
    overflow-wrap: break-word;
  }

  html body .detail-modal {
    padding: 14px;
    align-items: end;
  }

  html body .detail-modal-card {
    max-height: 90vh;
    border-radius: 24px 24px 0 0;
    padding: 24px 20px 34px;
  }

  html body .detail-modal-card h2 {
    font-size: clamp(34px, 11vw, 48px);
  }

  html body .detail-modal-body ul {
    grid-template-columns: 1fr;
  }
}

/* Corrección final: tarjetas limpias + detalle en modal */
html body .detail-modal {
  z-index: 99999 !important;
}

html body .detail-modal-backdrop {
  background: rgba(0, 0, 0, .84) !important;
}

html body .module-panel-premium .module-card,
html body .module-panel .module-card {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 18px 24px !important;
  min-height: 0 !important;
  padding: clamp(22px, 2.4vw, 34px) !important;
  overflow: hidden !important;
}

html body .module-panel-premium .module-card .module-number,
html body .module-panel .module-card .module-number {
  grid-row: 1 / span 2 !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 64px !important;
  height: 64px !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: var(--yellow) !important;
  color: #111318 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

html body .module-panel-premium .module-card h3,
html body .module-panel .module-card h3 {
  grid-column: 2 !important;
  margin: 0 !important;
  color: #111318 !important;
  font-size: clamp(28px, 2.4vw, 42px) !important;
  line-height: 1.02 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

html body .module-panel-premium .module-card .module-summary,
html body .module-panel .module-card .module-summary {
  grid-column: 2 !important;
  display: block !important;
  margin: 0 !important;
  color: rgba(17, 19, 24, .72) !important;
  font-size: clamp(16px, 1.15vw, 20px) !important;
  line-height: 1.38 !important;
  max-width: 64ch !important;
  overflow: visible !important;
}

html body .module-panel-premium .module-card .module-expanded,
html body .module-panel-premium .module-card.active .module-expanded,
html body .module-panel .module-card .module-expanded,
html body .module-panel .module-card.active .module-expanded,
html body .module-panel-premium .module-card ul,
html body .module-panel .module-card ul {
  display: none !important;
}

html body .program-grid article {
  display: grid !important;
  align-content: start !important;
  gap: 12px !important;
  min-height: 230px !important;
  padding: clamp(24px, 2.2vw, 36px) !important;
  background: #fff !important;
  color: #111318 !important;
  border: 1px solid rgba(255, 221, 0, .18) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .16) !important;
  overflow: hidden !important;
}

html body .program-grid article img,
html body .program-grid article > ul,
html body .program-grid article > .button,
html body .program-grid article details {
  display: none !important;
}

html body .program-grid article h3 {
  margin: 0 !important;
  color: #111318 !important;
  font-size: clamp(30px, 2.6vw, 46px) !important;
  line-height: 1 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

html body .program-grid article > p {
  margin: 0 !important;
  color: rgba(17, 19, 24, .72) !important;
  font-size: clamp(16px, 1.18vw, 20px) !important;
  line-height: 1.45 !important;
  max-width: 56ch !important;
  overflow: visible !important;
}

html body .program-grid article::after {
  content: "Abrir programa";
  align-self: end;
  justify-self: start;
  margin-top: 16px;
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--yellow);
  color: #111318;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .02em;
}

html body .testimonial-grid video,
html body .testimonial-grid img,
html body .testimonial-grid .local-testimonial-card video,
html body .testimonial-grid .local-testimonial-card img,
html body .youtube-testimonial img {
  filter: none !important;
  -webkit-filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}

@media (max-width: 780px) {
  html body .module-panel-premium .module-card,
  html body .module-panel .module-card {
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 12px 16px !important;
    padding: 20px !important;
  }

  html body .module-panel-premium .module-card .module-number,
  html body .module-panel .module-card .module-number {
    width: 54px !important;
    height: 54px !important;
    font-size: 18px !important;
  }

  html body .module-panel-premium .module-card h3,
  html body .module-panel .module-card h3,
  html body .program-grid article h3 {
    font-size: 28px !important;
    line-height: 1.05 !important;
  }

  html body .module-panel-premium .module-card .module-summary,
  html body .module-panel .module-card .module-summary,
  html body .program-grid article > p {
    font-size: 16px !important;
    line-height: 1.42 !important;
  }

  html body .program-grid article {
    min-height: 220px !important;
    padding: 22px !important;
  }
}

/* Ajuste 20260730-10: cookies visibles, labels negros y bloques compactos */
html body .section-label,
html body .section-divider .section-label,
html body .module-intro .section-label,
html body section .ucam-ia-feature p.section-label {
  color: #111318 !important;
}

html body .hero-content {
  padding-top: clamp(120px, 13vh, 170px) !important;
}

html body .hero-kicker {
  display: none !important;
}

html body .section-divider h2 {
  max-width: 13ch !important;
  font-size: clamp(46px, 4.6vw, 76px) !important;
  line-height: .98 !important;
}

html body .about-principles article {
  padding-bottom: 28px !important;
}

html body .about-principles article::after {
  display: none !important;
}

html body .about-principles h3 {
  font-size: clamp(21px, 1.42vw, 27px) !important;
}

html body .about-principles p {
  font-size: clamp(16px, .92vw, 17px) !important;
  line-height: 1.36 !important;
}

html body .faculty-pillars {
  align-items: start !important;
}

html body .faculty-pillars article,
html body .faculty-pillars article:first-child {
  min-height: auto !important;
  padding: 18px 22px !important;
}

html body .faculty-pillars strong,
html body .faculty-pillars article:first-child strong {
  font-size: clamp(25px, 1.75vw, 34px) !important;
}

html body .faculty-pillars span {
  font-size: clamp(18px, 1.24vw, 22px) !important;
}

html body .cookie-banner {
  z-index: 120000 !important;
}

/* Ajuste 20260730-10: remate visual solicitado */
html body .section-divider h2 {
  max-width: 12ch !important;
  font-size: clamp(58px, 7vw, 116px) !important;
  line-height: .92 !important;
  letter-spacing: 0 !important;
}

@media (min-width: 981px) {
  html body .about-principles article {
    min-height: 520px !important;
    padding: 26px 26px 66px !important;
  }
}

html body .about-principles article > div {
  display: grid !important;
  grid-template-columns: 68px minmax(0, 1fr) !important;
  gap: 10px 18px !important;
  align-items: start !important;
}

html body .about-principles article span {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  font-size: 19px !important;
}

html body .about-principles h3 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  font-size: clamp(22px, 1.55vw, 29px) !important;
  line-height: 1.06 !important;
}

html body .about-principles p {
  grid-column: 2 !important;
  font-size: clamp(16px, .95vw, 18px) !important;
  line-height: 1.38 !important;
}

html body .about-principles article::after {
  left: 26px !important;
  bottom: 24px !important;
}

html body .faculty-pillars {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}

html body .faculty-pillars article,
html body .faculty-pillars article:first-child {
  grid-column: auto !important;
  padding: 20px 22px !important;
  min-height: 112px !important;
}

html body .faculty-pillars strong,
html body .faculty-pillars article:first-child strong {
  white-space: normal !important;
  font-size: clamp(23px, 1.6vw, 30px) !important;
  line-height: 1.04 !important;
}

html body .faculty-pillars span {
  font-size: clamp(17px, 1.15vw, 20px) !important;
  line-height: 1.25 !important;
}

html body .module-panel-premium .module-list {
  grid-template-columns: repeat(2, minmax(300px, 1fr)) !important;
}

html body .module-panel-premium .module-card,
html body .module-panel .module-card {
  min-height: 220px !important;
  overflow: visible !important;
}

html body .module-panel-premium .module-card h3,
html body .module-panel .module-card h3 {
  font-size: clamp(25px, 1.8vw, 34px) !important;
  line-height: 1.04 !important;
  white-space: normal !important;
}

html body .module-panel-premium .module-card .module-summary,
html body .module-panel .module-card .module-summary {
  font-size: clamp(15px, .96vw, 17px) !important;
  line-height: 1.38 !important;
}

html body .detail-modal-body .detail-list {
  padding: 0 !important;
  display: grid !important;
  gap: 10px !important;
}

html body .detail-modal-body .detail-list li {
  display: grid !important;
  grid-template-columns: 10px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  padding: 0 !important;
}

html body .detail-modal-body .detail-list li::before {
  position: static !important;
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  margin-top: .62em !important;
}

html body .media-open-button {
  margin-top: 16px !important;
}

@media (max-width: 980px) {
  html body .section-divider h2 {
    max-width: 100% !important;
    font-size: clamp(42px, 11vw, 68px) !important;
  }

  html body .faculty-pillars {
    grid-template-columns: 1fr 1fr !important;
  }

  html body .module-panel-premium .module-list {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  html body .about-principles article > div {
    grid-template-columns: 54px minmax(0, 1fr) !important;
  }

  html body .about-principles article span {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    font-size: 16px !important;
  }

  html body .faculty-pillars {
    grid-template-columns: 1fr !important;
  }
}

/* Ajuste 20260728-8: bloques 3x3, triángulo docente y listas en detalle */
@media (min-width: 981px) {
  html body .about-principles-carousel {
    display: block !important;
  }

  html body .about-principles-carousel .about-principles-arrow {
    display: none !important;
  }

  html body .about-principles {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  html body .about-principles article {
    min-width: 0 !important;
    width: auto !important;
    min-height: 560px !important;
    padding: 30px 30px 72px !important;
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    gap: 20px !important;
  }
}

html body .about-principles article {
  position: relative !important;
  overflow: hidden !important;
}

html body .about-principles article > div {
  min-width: 0 !important;
}

html body .about-principles h3 {
  font-size: clamp(25px, 1.8vw, 34px) !important;
  line-height: 1.05 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

html body .about-principles p {
  font-size: clamp(16px, 1.02vw, 19px) !important;
  line-height: 1.44 !important;
  overflow-wrap: break-word !important;
}

html body .about-principles article img {
  align-self: end !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
}

html body .about-principles article::after {
  position: absolute !important;
  left: 30px !important;
  bottom: 26px !important;
  margin: 0 !important;
  padding: 9px 16px !important;
  border-radius: 999px !important;
  background: #111318 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

html body .faculty-pillars {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body .faculty-pillars article:first-child {
  grid-column: 1 / -1 !important;
}

html body .faculty-pillars article:first-child strong {
  white-space: nowrap !important;
  font-size: clamp(26px, 2.4vw, 44px) !important;
  line-height: 1 !important;
}

html body .faculty-pillars strong {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

html body .detail-modal-body .detail-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body .detail-modal-body .detail-list li {
  padding: 15px 18px 15px 42px !important;
  border: 1px solid rgba(17, 19, 24, .08) !important;
  border-radius: 16px !important;
  background: #f5f4ef !important;
  color: rgba(17, 19, 24, .82) !important;
}

html body .detail-modal-body .detail-list li::before {
  left: 18px !important;
  top: 24px !important;
}

@media (max-width: 980px) {
  html body .faculty-pillars,
  html body .about-principles {
    grid-template-columns: 1fr !important;
  }

  html body .faculty-pillars article:first-child strong {
    white-space: normal !important;
  }
}

/* Ajuste 20260730-10: hero restaurada, alumni, programas y profesores */
html body .faculty-pillars article {
  min-height: 0 !important;
  padding: 22px 26px !important;
}

html body .faculty-pillars strong {
  font-size: clamp(26px, 2vw, 34px) !important;
  line-height: 1.02 !important;
}

html body .faculty-pillars span {
  font-size: clamp(18px, 1.35vw, 23px) !important;
  line-height: 1.22 !important;
}

html body .faculty-pillars article:first-child {
  padding-block: 18px !important;
}

html body .faculty-pillars article:first-child strong {
  font-size: clamp(30px, 2.2vw, 42px) !important;
}

html body .detail-modal-body .detail-intro {
  padding: 0 !important;
  margin: 0 0 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(17, 19, 24, .82) !important;
}

html body .detail-modal-body .detail-intro::before {
  display: none !important;
}

html body .conference-detail-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

html body .conference-detail-grid article {
  padding: 22px !important;
  border-left: 2px solid var(--yellow) !important;
  background: #f5f4ef !important;
  border-radius: 16px !important;
}

html body .conference-detail-grid h3 {
  margin: 0 0 12px !important;
  color: #111318 !important;
  font-size: clamp(22px, 1.7vw, 30px) !important;
  line-height: 1.05 !important;
}

html body .conference-detail-grid p {
  margin: 0 !important;
  color: rgba(17, 19, 24, .78) !important;
}

@media (max-width: 980px) {
  html body .conference-detail-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Versión visual 20260728-4: módulos y programas como bloques clicables */
html body .module-panel-premium .module-card,
html body .module-panel .module-card {
  position: relative !important;
  border: 1px solid rgba(255, 221, 0, .28) !important;
  background:
    radial-gradient(circle at 92% 16%, rgba(255, 221, 0, .18), transparent 120px),
    #ffffff !important;
}

html body .module-panel-premium .module-card::after,
html body .module-panel .module-card::after {
  content: "Abrir detalle";
  grid-column: 2 !important;
  justify-self: start !important;
  margin-top: 8px !important;
  padding: 9px 14px !important;
  border-radius: 999px !important;
  background: #111318 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
}

html body .program-card-carousel .program-grid,
html body .program-grid {
  align-items: stretch !important;
}

html body .program-grid article {
  position: relative !important;
  min-height: 260px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 90% 12%, rgba(255, 221, 0, .18), transparent 130px),
    linear-gradient(180deg, #ffffff 0%, #f7f6f1 100%) !important;
}

html body .program-grid article h3 {
  max-width: 11ch !important;
}

html body .program-grid article > p {
  max-width: 48ch !important;
}

html body .program-grid article::after {
  content: "Abrir detalle" !important;
  position: absolute !important;
  left: clamp(24px, 2.2vw, 36px) !important;
  bottom: clamp(22px, 2vw, 30px) !important;
  margin: 0 !important;
  background: #111318 !important;
  color: #ffffff !important;
}

html body .detail-modal-card {
  width: min(1040px, calc(100vw - 32px)) !important;
}

html body .detail-modal-body p {
  max-width: 78ch !important;
}

@media (max-width: 780px) {
  html body .module-panel-premium .module-card::after,
  html body .module-panel .module-card::after {
    grid-column: 1 / -1 !important;
    margin-left: 70px !important;
  }

  html body .program-grid article {
    min-height: 260px !important;
  }

  html body .program-grid article h3 {
    max-width: none !important;
  }
}

/* Ajuste 20260728-5: leer más, imagen visible y modales compactos */
html body .detail-modal {
  padding: clamp(18px, 3vw, 42px) !important;
}

html body .detail-modal-card {
  width: min(820px, calc(100vw - 36px)) !important;
  max-height: min(82vh, 760px) !important;
  border-radius: 22px !important;
  padding: clamp(24px, 3.2vw, 42px) !important;
}

html body .detail-modal-card h2 {
  font-size: clamp(32px, 4vw, 58px) !important;
}

html body .detail-modal-media img {
  max-height: 300px !important;
  object-fit: contain !important;
  background: #f4f3ef !important;
}

html body .detail-modal-body p,
html body .detail-modal-body li {
  font-size: clamp(16px, 1.12vw, 19px) !important;
  line-height: 1.52 !important;
}

html body .detail-modal-body .detail-lead {
  font-size: clamp(18px, 1.55vw, 24px) !important;
}

html body .module-panel-premium .module-card,
html body .module-panel .module-card {
  grid-template-columns: 78px minmax(0, 1fr) !important;
  column-gap: 22px !important;
}

html body .module-panel-premium .module-card .module-number,
html body .module-panel .module-card .module-number {
  position: static !important;
  z-index: 1 !important;
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
}

html body .module-panel-premium .module-card h3,
html body .module-panel .module-card h3,
html body .module-panel-premium .module-card .module-summary,
html body .module-panel .module-card .module-summary {
  grid-column: 2 !important;
  min-width: 0 !important;
}

html body .module-panel-premium .module-card::after,
html body .module-panel .module-card::after,
html body .program-grid article::after,
html body .about-principles article::after {
  content: "Leer más" !important;
}

html body .about-principles article {
  cursor: pointer !important;
}

html body .about-principles article:focus-visible {
  outline: 3px solid var(--yellow) !important;
  outline-offset: 5px !important;
}

html body .program-grid article {
  min-height: 420px !important;
  padding: 0 0 72px !important;
  grid-template-rows: auto auto 1fr !important;
  gap: 0 !important;
}

html body .program-grid article img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  object-fit: cover !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

html body .program-grid article h3 {
  max-width: none !important;
  margin: 24px 24px 10px !important;
  font-size: clamp(28px, 2.3vw, 40px) !important;
}

html body .program-grid article > p {
  max-width: none !important;
  margin: 0 24px !important;
}

html body .program-grid article::after {
  left: 24px !important;
  bottom: 24px !important;
  background: var(--yellow) !important;
  color: #111318 !important;
}

html body .video-modal {
  z-index: 100000 !important;
}

html body .video-modal-content {
  width: min(1080px, calc(100vw - 36px)) !important;
  max-height: 86vh !important;
}

html body .video-modal-content video {
  width: 100% !important;
  max-height: 82vh !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: contain !important;
  background: #000 !important;
}

html body .program-video-showcase video,
html body .local-video-grid video,
html body .testimonial-grid video,
html body .mba-video-card video,
html body .alumni-video-feature video {
  cursor: zoom-in !important;
}

@media (max-width: 780px) {
  html body .detail-modal-card {
    width: calc(100vw - 20px) !important;
    max-height: 84vh !important;
    padding: 22px 18px 28px !important;
  }

  html body .module-panel-premium .module-card,
  html body .module-panel .module-card {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    column-gap: 14px !important;
  }

  html body .module-panel-premium .module-card::after,
  html body .module-panel .module-card::after {
    grid-column: 2 !important;
    margin-left: 0 !important;
  }

  html body .program-grid article {
    min-height: 390px !important;
  }
}

/* Ajuste 20260728-6: módulos legibles y texto completo */
html body .module-panel-premium {
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.55fr) !important;
  gap: clamp(32px, 4vw, 72px) !important;
  align-items: start !important;
}

html body .module-panel-premium .module-carousel {
  min-width: 0 !important;
}

html body .module-panel-premium .module-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  overflow: visible !important;
}

html body .module-panel-premium .module-card,
html body .module-panel .module-card {
  grid-template-columns: 68px minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  min-height: 255px !important;
  padding: 28px !important;
  gap: 14px 22px !important;
}

html body .module-panel-premium .module-card .module-number,
html body .module-panel .module-card .module-number {
  width: 62px !important;
  height: 62px !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
}

html body .module-panel-premium .module-card h3,
html body .module-panel .module-card h3 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  font-size: clamp(30px, 2.2vw, 42px) !important;
  line-height: 1.03 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

html body .module-panel-premium .module-card .module-summary,
html body .module-panel .module-card .module-summary {
  grid-column: 2 !important;
  grid-row: 2 !important;
  max-width: 100% !important;
  font-size: clamp(16px, 1.05vw, 19px) !important;
}

html body .module-panel-premium .module-card::after,
html body .module-panel .module-card::after {
  grid-column: 2 !important;
  grid-row: 3 !important;
  align-self: end !important;
  justify-self: start !important;
  margin: 8px 0 0 !important;
}

html body .detail-modal-card {
  width: min(900px, calc(100vw - 36px)) !important;
  max-height: min(84vh, 820px) !important;
}

html body .detail-modal-body {
  gap: 14px !important;
}

@media (min-width: 1100px) {
  html body .module-panel-premium .module-card:nth-child(5) {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 980px) {
  html body .module-panel-premium {
    grid-template-columns: 1fr !important;
  }

  html body .module-panel-premium .module-list {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 780px) {
  html body .module-panel-premium .module-card,
  html body .module-panel .module-card {
    min-height: 230px !important;
    grid-template-columns: 56px minmax(0, 1fr) !important;
    padding: 22px !important;
  }

  html body .module-panel-premium .module-card .module-number,
  html body .module-panel .module-card .module-number {
    width: 54px !important;
    height: 54px !important;
  }
}

/* Ajuste final 20260730-10 */
html body .section-label,
html body .section-divider .section-label,
html body .module-intro .section-label,
html body section .ucam-ia-feature p.section-label {
  color: #111318 !important;
}

html body .hero-content {
  padding-top: clamp(120px, 13vh, 170px) !important;
}

html body .hero-kicker {
  display: none !important;
}

html body .section-divider h2 {
  max-width: 13ch !important;
  font-size: clamp(46px, 4.6vw, 76px) !important;
  line-height: .98 !important;
  letter-spacing: 0 !important;
}

html body .about-principles article {
  min-height: auto !important;
  padding-bottom: 28px !important;
}

html body .about-principles article::after {
  display: none !important;
  content: none !important;
}

html body .about-principles h3 {
  font-size: clamp(21px, 1.42vw, 27px) !important;
}

html body .about-principles p {
  font-size: clamp(16px, .92vw, 17px) !important;
  line-height: 1.36 !important;
}

html body .faculty-pillars {
  align-items: start !important;
}

html body .faculty-pillars article,
html body .faculty-pillars article:first-child {
  min-height: auto !important;
  padding: 18px 22px !important;
}

html body .faculty-pillars strong,
html body .faculty-pillars article:first-child strong {
  font-size: clamp(25px, 1.75vw, 34px) !important;
  line-height: 1.04 !important;
}

html body .faculty-pillars span {
  font-size: clamp(18px, 1.24vw, 22px) !important;
  line-height: 1.24 !important;
}

html body .cookie-banner {
  z-index: 120000 !important;
}

@media (max-width: 980px) {
  html body .section-divider h2 {
    max-width: 100% !important;
    font-size: clamp(40px, 10vw, 62px) !important;
  }
}

/* Ajuste final 20260730-10: título con imagen y profesores sin altura estirada */
html body .section-divider {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr) !important;
  gap: clamp(28px, 4vw, 70px) !important;
  align-items: center !important;
}

html body .section-divider-copy {
  min-width: 0 !important;
}

html body .section-divider h2 {
  max-width: 12ch !important;
  font-size: clamp(42px, 4.1vw, 70px) !important;
  line-height: 1 !important;
}

html body .section-divider-media {
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

html body .section-divider-media img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  object-position: center !important;
  border: 0 !important;
  background: transparent !important;
}

html body .professor-grid {
  align-items: start !important;
  grid-auto-rows: auto !important;
}

html body .professor-grid article {
  min-height: auto !important;
  height: fit-content !important;
  align-self: start !important;
  padding-bottom: 16px !important;
}

html body .professor-grid img {
  height: clamp(250px, 19vw, 320px) !important;
}

html body .professor-grid h3 {
  font-size: clamp(20px, 1.55vw, 24px) !important;
}

html body .professor-grid blockquote {
  font-size: clamp(14px, 1.05vw, 16px) !important;
}

html body .professor-grid p {
  font-size: clamp(13.5px, .98vw, 15px) !important;
  margin-bottom: 0 !important;
}

@media (max-width: 980px) {
  html body .section-divider {
    grid-template-columns: 1fr !important;
  }

  html body .section-divider h2 {
    max-width: 100% !important;
    font-size: clamp(38px, 10vw, 58px) !important;
  }

  html body .section-divider-media img {
    aspect-ratio: 16 / 11 !important;
  }
}

/* Ajuste final 20260730-10: labels negros y profesores uniformes */
html body .section-label,
html body p.section-label,
html body .section-copy > p.section-label,
html body section .section-copy > p.section-label,
html body section .section-divider > p.section-label,
html body section .module-intro > p.section-label,
html body section .ucam-ia-feature p.section-label,
html body .programs-section .section-label,
html body .testimonials-section .section-label,
html body .alumni-section .section-label,
html body .contact-section .section-label,
html body .professors-section .section-label,
html body .mba-section .section-label,
html body .ucam-section .section-label {
  color: #111318 !important;
  -webkit-text-fill-color: #111318 !important;
}

html body .professor-grid {
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}

html body .professor-grid article,
html body .professor-grid article.professor-empty {
  height: clamp(545px, 39vw, 610px) !important;
  min-height: clamp(545px, 39vw, 610px) !important;
  max-height: clamp(545px, 39vw, 610px) !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding-bottom: 18px !important;
}

html body .professor-grid article.professor-empty {
  background: transparent !important;
  border: 1px dashed rgba(255,255,255,.14) !important;
  box-shadow: none !important;
}

html body .professor-grid img {
  height: clamp(255px, 20vw, 315px) !important;
  flex: 0 0 auto !important;
}

html body .professor-grid h3 {
  flex: 0 0 auto !important;
  font-size: clamp(20px, 1.45vw, 23px) !important;
  line-height: 1.08 !important;
}

html body .professor-grid blockquote {
  flex: 0 0 auto !important;
  font-size: clamp(14px, 1vw, 15.5px) !important;
  line-height: 1.26 !important;
}

html body .professor-grid p {
  flex: 1 1 auto !important;
  font-size: clamp(13.5px, .95vw, 14.5px) !important;
  line-height: 1.38 !important;
  overflow: hidden !important;
}

/* Ajuste 20260731-3: título visible, habilidades en blanco y vídeos más ordenados */
html body .section-divider {
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr) !important;
  gap: clamp(30px, 4vw, 64px) !important;
}

html body .section-divider h2.title-break {
  width: 100% !important;
  max-width: 900px !important;
  font-size: clamp(48px, 4.15vw, 72px) !important;
  line-height: .98 !important;
}

html body .section-divider h2.title-break span {
  display: block !important;
  white-space: nowrap !important;
}

html body .detail-modal-body .detail-list.commercial-list,
html body .detail-modal-body .detail-list.directive-list {
  background: #fff !important;
  color: #111318 !important;
  border-radius: 18px !important;
  padding: 18px 22px !important;
  border: 1px solid rgba(17, 19, 24, .16) !important;
}

html body .detail-modal-body .detail-list.commercial-list li,
html body .detail-modal-body .detail-list.directive-list li {
  border-bottom: 1px solid rgba(17, 19, 24, .18) !important;
  padding: 12px 36px 12px 4px !important;
  color: #111318 !important;
}

html body .detail-modal-body .detail-list.commercial-list li::before,
html body .detail-modal-body .detail-list.directive-list li::before {
  background: var(--yellow) !important;
}

html body .detail-modal-body .detail-cta {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  min-width: 0 !important;
  align-self: flex-start !important;
  margin-top: 22px !important;
  padding: 12px 20px !important;
  background: var(--yellow) !important;
  border-color: var(--yellow) !important;
  color: #111318 !important;
}

html body .program-video-heading {
  grid-column: 1 / -1 !important;
  margin: clamp(46px, 6vw, 84px) 0 18px !important;
}

html body .program-video-heading .section-label {
  color: #111318 !important;
  -webkit-text-fill-color: #111318 !important;
  margin-bottom: 12px !important;
}

html body .program-video-heading h2 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(34px, 3.2vw, 56px) !important;
  line-height: 1 !important;
  position: relative !important;
  width: fit-content !important;
}

html body .program-video-heading h2::after {
  content: "" !important;
  display: block !important;
  width: min(290px, 72%) !important;
  height: 4px !important;
  margin-top: 12px !important;
  background: var(--yellow) !important;
  border-radius: 999px !important;
}

html body .program-video-showcase {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  padding: clamp(18px, 2.4vw, 28px) !important;
  background: #f7f7f5 !important;
  border-radius: 20px !important;
  border: 0 !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .28) !important;
}

html body .program-video-showcase .feature-video-card {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.28fr) minmax(320px, .72fr) !important;
  background: #101216 !important;
  border: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .26) !important;
}

html body .program-video-showcase .feature-video-card video {
  min-height: clamp(320px, 29vw, 460px) !important;
  height: 100% !important;
  object-fit: cover !important;
}

html body .program-video-showcase .feature-video-card > div {
  align-content: center !important;
  padding: clamp(30px, 4vw, 58px) !important;
  background:
    radial-gradient(circle at 78% 18%, rgba(255, 221, 0, .15), transparent 180px),
    #101216 !important;
}

html body .program-video-showcase .feature-video-card h3 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: none !important;
  font-size: clamp(42px, 4.2vw, 70px) !important;
  margin: 0 !important;
}

html body .program-video-showcase .feature-video-card p {
  max-width: 520px !important;
  color: rgba(255, 255, 255, .86) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .86) !important;
  font-size: clamp(17px, 1.2vw, 21px) !important;
  margin: 0 !important;
}

html body .program-video-showcase article:not(.feature-video-card) {
  background: #fff !important;
  color: #111318 !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, .12) !important;
}

html body .program-video-showcase article:not(.feature-video-card) video {
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
}

html body .program-video-showcase article:not(.feature-video-card) h3 {
  color: #111318 !important;
  -webkit-text-fill-color: #111318 !important;
  text-shadow: none !important;
  font-size: clamp(18px, 1.25vw, 22px) !important;
  line-height: 1.08 !important;
  margin: 16px 18px 18px !important;
}

html body .module-cta-row {
  grid-column: 1 / -1 !important;
  display: flex !important;
  justify-content: flex-start !important;
  margin-top: 30px !important;
}

html body .ucam-ia-feature .button-yellow {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  margin-top: 26px !important;
  background: var(--yellow) !important;
  border-color: var(--yellow) !important;
  color: #111318 !important;
}

html body .module-panel-premium .module-card::after,
html body .module-panel .module-card::after,
html body .program-grid article::after {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  min-width: 0 !important;
  background: var(--yellow) !important;
  border-color: var(--yellow) !important;
  color: #111318 !important;
}

html body .button-yellow,
html body .button-primary,
html body .button-accent,
html body .hero-stat-number,
html body .module-number,
html body .carousel-button,
html body .lang-toggle,
html body .chat-toggle {
  --yellow: #ffdd00;
}

@media (max-width: 1100px) {
  html body .program-video-showcase {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  html body .section-divider {
    grid-template-columns: 1fr !important;
  }

  html body .section-divider h2.title-break {
    max-width: 100% !important;
    font-size: clamp(38px, 9vw, 56px) !important;
  }

  html body .section-divider h2.title-break span {
    white-space: normal !important;
  }

  html body .program-video-showcase {
    grid-template-columns: 1fr !important;
  }

  html body .program-video-showcase .feature-video-card {
    grid-template-columns: 1fr !important;
  }
}

/* Override finale assoluto Pantone Yellow C - non aggiungere regole gialle sotto questo blocco */
:root,
html body {
  --yellow: #ffdd00 !important;
}

html body .button-yellow,
html body .button-primary,
html body .button-accent,
html body .button-dark.section-cta,
html body .module-cta-row .button,
html body .detail-modal-body .detail-cta,
html body .ucam-ia-feature .button-yellow,
html body .program-grid article::after,
html body .module-panel-premium .module-card::after,
html body .module-panel .module-card::after,
html body .section-label,
html body p.section-label,
html body .module-intro .section-label,
html body section .ucam-ia-feature p.section-label,
html body .about-principles article span,
html body .module-number,
html body .carousel-button,
html body .chat-toggle,
html body .cookie-actions button:first-child,
html body .version-button.active,
html body .program-video-heading .section-label {
  background: #ffdd00 !important;
  background-color: #ffdd00 !important;
  background-image: none !important;
  border-color: #ffdd00 !important;
  color: #111318 !important;
  -webkit-text-fill-color: #111318 !important;
  filter: none !important;
  opacity: 1 !important;
}

html body .button-yellow:hover,
html body .button-primary:hover,
html body .button-accent:hover,
html body .button-dark.section-cta:hover,
html body .module-cta-row .button:hover,
html body .detail-modal-body .detail-cta:hover,
html body .ucam-ia-feature .button-yellow:hover {
  background: #ffdd00 !important;
  background-color: #ffdd00 !important;
  background-image: none !important;
  border-color: #ffdd00 !important;
}

html body .module-card .module-number,
html body .module-panel-premium .module-card .module-number,
html body .module-panel .module-card .module-number,
html body .about-principles article > div > span {
  background: #ffdd00 !important;
  background-color: #ffdd00 !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body .module-card p::after,
html body .module-panel-premium .module-card p::after,
html body .program-video-heading h2::after,
html body .section-copy h2::after,
html body .section-divider h2::after,
html body .module-intro h3::after,
html body .detail-modal-body .detail-list li::before,
html body .module-panel-premium .module-card li::before,
html body .module-panel .module-card li::before {
  background: #ffdd00 !important;
  background-color: #ffdd00 !important;
  background-image: none !important;
}

html body .trust-track strong,
html body .site-footer h2,
html body .program-grid li::before,
html body .detail-modal-body .detail-list li::marker {
  color: #ffdd00 !important;
  -webkit-text-fill-color: #ffdd00 !important;
}

html body .module-panel-premium .module-card,
html body .module-panel .module-card,
html body .program-grid article,
html body .about-principles article {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

html body .program-video-showcase .feature-video-card > div,
html body .ucam-ia-feature,
html body .module-panel-premium,
html body .module-panel-premium .module-card,
html body .module-panel .module-card,
html body .program-grid article {
  border-color: #ffdd00 !important;
}

/* Mobile repair 2026-08-04: media, menu and compact cards */
@media (max-width: 780px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .site-header { z-index: 1000; }
  .main-nav, .header-actions {
    left: 0; right: 0; width: 100%; margin: 0;
    box-shadow: none; background: #fff !important;
  }
  .main-nav {
    top: 70px; bottom: auto; max-height: calc(100dvh - 70px);
    padding: 20px 22px 190px; overflow-y: auto;
  }
  .header-actions {
    top: auto; bottom: 0; z-index: 101;
    padding: 16px 22px max(18px, env(safe-area-inset-bottom));
    border-top: 1px solid rgba(17, 19, 24, .12);
  }
  body.menu-open::before {
    content: ""; position: fixed; inset: 70px 0 0; z-index: 97; background: #fff;
  }
  body.menu-open .main-nav, body.menu-open .header-actions { display: flex; }

  .reveal, .reveal.in-view { opacity: 1 !important; transform: none !important; }
  img, video { visibility: visible !important; opacity: 1 !important; }
  .hero { min-height: 720px; }
  .hero-video {
    display: block !important; width: 100% !important; height: 100% !important;
    object-fit: cover !important;
  }
  .section { padding-top: 48px; padding-bottom: 48px; }
  .about-media, .mba-photo-strip, .program-grid, .testimonial-grid, .local-video-grid {
    gap: 16px !important;
  }
  .about-media img, .mba-photo-strip img, .program-grid img,
  .program-photo-track img, .professor-grid img,
  .ucam-campus-card > img:first-child, .youtube-testimonial img {
    display: block !important; width: 100% !important; min-height: 0 !important;
    height: auto !important; aspect-ratio: 4 / 3 !important; object-fit: cover !important;
  }
  .target-values-visual article > img {
    display: block !important; width: 74px !important; height: 74px !important;
    object-fit: contain !important;
  }
  .ucam-campus-card, .mba-video-card, .alumni-video-feature,
  .program-video-showcase article, .local-video-grid article, .testimonial-grid article {
    min-height: 0 !important; height: auto !important;
  }
  .mba-video-card video, .alumni-video-feature video,
  .program-video-showcase video, .program-video-showcase .feature-video-card video,
  .local-video-grid video, .testimonial-grid video, .detail-video-block video {
    display: block !important; width: 100% !important; height: auto !important;
    min-height: 0 !important; max-height: none !important; aspect-ratio: 16 / 9 !important;
    object-fit: cover !important; background: #111 !important;
  }
  .program-video-showcase, .local-video-grid, .testimonial-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html body .program-video-showcase .feature-video-card {
    display: block !important; grid-template-columns: minmax(0, 1fr) !important;
  }
  html body .program-video-showcase .feature-video-card > div { padding: 24px 20px !important; }
  html body .program-video-showcase .feature-video-card h3 {
    font-size: clamp(32px, 10vw, 46px) !important;
  }

  .about-principles-carousel, .module-carousel, .professor-carousel { display: block !important; }
  .module-arrow, .module-card::after, .module-panel .module-card::after,
  .module-panel-premium .module-card::after { display: none !important; content: none !important; }
  .module-list {
    display: grid !important; grid-auto-flow: row !important;
    grid-template-columns: minmax(0, 1fr) !important; grid-auto-columns: auto !important;
    gap: 14px !important; overflow: visible !important;
  }
  html body .module-panel .module-card, html body .module-panel-premium .module-card {
    padding: 20px !important; border-radius: 14px !important;
  }
  .about-principles {
    display: grid !important; grid-template-columns: minmax(0, 1fr) !important;
    overflow: visible !important;
  }
  .about-principles-arrow { display: none !important; }
  .about-principles article {
    display: grid !important; grid-template-columns: minmax(0, 1fr) !important;
    min-height: 0 !important; padding: 16px !important;
  }
  .about-principles article img {
    display: block !important; width: 100% !important; height: auto !important;
    aspect-ratio: 16 / 10 !important; object-fit: cover !important;
  }
  .professor-carousel { margin-top: 24px !important; }
  .professor-grid {
    display: grid !important; grid-auto-flow: row !important;
    grid-template-columns: minmax(0, 1fr) !important; grid-auto-columns: auto !important;
    overflow: visible !important;
  }
  .professor-arrow { display: none !important; }
  .professor-grid article { min-height: 0 !important; }
  .program-photo-carousel { display: block !important; }
  .program-photo-carousel > .carousel-button { display: none !important; }
  .program-photo-track {
    display: grid !important; grid-auto-flow: row !important;
    grid-template-columns: minmax(0, 1fr) !important; grid-auto-columns: auto !important;
    gap: 14px !important; overflow: visible !important;
  }
}

/* Override definitivo Pantone Yellow C: tutti i gialli UI devono essere identici */
:root,
html body {
  --yellow: #ffdd00 !important;
}

html body .button-yellow,
html body .button-primary,
html body .button-accent,
html body .button-dark.section-cta,
html body .module-cta-row .button,
html body .detail-modal-body .detail-cta,
html body .ucam-ia-feature .button-yellow,
html body .program-grid article::after,
html body .module-panel-premium .module-card::after,
html body .module-panel .module-card::after,
html body .section-label,
html body p.section-label,
html body .module-intro .section-label,
html body section .ucam-ia-feature p.section-label,
html body .about-principles article span,
html body .module-number,
html body .carousel-button,
html body .chat-toggle,
html body .cookie-actions button:first-child,
html body .version-button.active,
html body .program-video-heading .section-label {
  background: #ffdd00 !important;
  background-color: #ffdd00 !important;
  background-image: none !important;
  border-color: #ffdd00 !important;
  color: #111318 !important;
  -webkit-text-fill-color: #111318 !important;
}

html body .button-yellow:hover,
html body .button-primary:hover,
html body .button-accent:hover,
html body .button-dark.section-cta:hover,
html body .module-cta-row .button:hover,
html body .detail-modal-body .detail-cta:hover,
html body .ucam-ia-feature .button-yellow:hover {
  background: #ffdd00 !important;
  background-color: #ffdd00 !important;
  background-image: none !important;
  border-color: #ffdd00 !important;
}

html body .module-card .module-number,
html body .module-panel-premium .module-card .module-number,
html body .module-panel .module-card .module-number,
html body .about-principles article > div > span {
  background: #ffdd00 !important;
  background-color: #ffdd00 !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body .module-card p::after,
html body .module-panel-premium .module-card p::after,
html body .program-video-heading h2::after,
html body .section-copy h2::after,
html body .section-divider h2::after,
html body .module-intro h3::after,
html body .detail-modal-body .detail-list li::before,
html body .module-panel-premium .module-card li::before,
html body .module-panel .module-card li::before {
  background: #ffdd00 !important;
  background-color: #ffdd00 !important;
  background-image: none !important;
}

html body .trust-track strong,
html body .site-footer h2,
html body .program-grid li::before,
html body .detail-modal-body .detail-list li::marker {
  color: #ffdd00 !important;
  -webkit-text-fill-color: #ffdd00 !important;
}

html body .program-video-showcase .feature-video-card > div,
html body .ucam-ia-feature,
html body .module-panel-premium,
html body .module-panel-premium .module-card,
html body .module-panel .module-card,
html body .program-grid article {
  border-color: #ffdd00 !important;
}

html body .module-panel-premium .module-card,
html body .module-panel .module-card,
html body .program-grid article,
html body .about-principles article {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

html body .trust-track strong,
html body .module-number,
html body .about-principles article span,
html body .program-grid article::after,
html body .module-panel-premium .module-card::after,
html body .module-panel .module-card::after,
html body .button-yellow,
html body .module-cta-row .button,
html body .detail-modal-body .detail-cta,
html body .chat-toggle {
  filter: none !important;
  opacity: 1 !important;
}

html body .trust-marquee::before,
html body .trust-marquee::after,
html body .company-strip::before,
html body .company-strip::after,
html body .module-panel-premium::before,
html body .module-panel-premium::after,
html body .program-grid article::before,
html body .module-panel-premium .module-card::before,
html body .module-panel .module-card::before {
  background-color: #ffdd00 !important;
}

@media (max-width: 780px) {
  html body .professor-grid article,
  html body .professor-grid article.professor-empty {
    height: 520px !important;
    min-height: 520px !important;
    max-height: 520px !important;
  }

  html body .professor-grid img {
    height: 275px !important;
  }
}

/* Ajuste final 20260730-10: texto profesores más grande */
html body .professor-grid article,
html body .professor-grid article.professor-empty {
  height: clamp(590px, 42vw, 670px) !important;
  min-height: clamp(590px, 42vw, 670px) !important;
  max-height: clamp(590px, 42vw, 670px) !important;
}

html body .professor-grid img {
  height: clamp(250px, 18vw, 300px) !important;
}

html body .professor-grid h3 {
  font-size: clamp(24px, 1.75vw, 30px) !important;
  line-height: 1.05 !important;
  margin-top: 20px !important;
  margin-bottom: 12px !important;
}

html body .professor-grid blockquote {
  font-size: clamp(18px, 1.22vw, 21px) !important;
  line-height: 1.22 !important;
  margin-bottom: 14px !important;
}

html body .professor-grid p {
  font-size: clamp(17px, 1.12vw, 19px) !important;
  line-height: 1.34 !important;
}

@media (max-width: 780px) {
  html body .professor-grid article,
  html body .professor-grid article.professor-empty {
    height: 600px !important;
    min-height: 600px !important;
    max-height: 600px !important;
  }

  html body .professor-grid img {
    height: 265px !important;
  }

  html body .professor-grid h3 {
    font-size: 25px !important;
  }

  html body .professor-grid blockquote {
    font-size: 18px !important;
  }

  html body .professor-grid p {
    font-size: 17px !important;
  }
}

/* Ajuste final 20260730-10: sobre target equilibrado con fotos */
@media (min-width: 981px) {
  html body .about-section {
    grid-template-columns: minmax(420px, .95fr) minmax(520px, 1.05fr) !important;
    align-items: stretch !important;
    gap: clamp(42px, 5vw, 78px) !important;
  }

  html body .about-section > .section-copy:first-child {
    display: flex !important;
    min-height: clamp(700px, 52vw, 820px) !important;
    flex-direction: column !important;
    justify-content: stretch !important;
    padding-bottom: 0 !important;
  }

  html body .about-section > .section-copy:first-child blockquote {
    margin-top: clamp(28px, 3vw, 46px) !important;
  }

  html body .about-section > .section-copy:first-child .section-cta {
    margin-top: auto !important;
    width: fit-content !important;
  }

  html body .about-section > .about-media {
    display: grid !important;
    grid-template-rows: 1fr 1fr !important;
    gap: clamp(22px, 2.8vw, 42px) !important;
    height: clamp(700px, 52vw, 820px) !important;
    align-self: stretch !important;
  }

  html body .about-section > .about-media img,
  html body .about-section > .about-media img:first-child {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    object-fit: cover !important;
    border-radius: 0 !important;
  }

  html body .about-section > .target-values-visual,
  html body .about-section > .section-divider,
  html body .about-section > .about-principles-carousel,
  html body .about-section > .company-strip {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 980px) {
  html body .about-section > .section-copy:first-child {
    min-height: 0 !important;
  }

  html body .about-section > .about-media {
    height: auto !important;
  }
}

/* Ajuste final 20260730-10: etiqueta de valores */
html body .target-values-visual .values-label {
  width: fit-content !important;
  margin: 0 0 4px !important;
  color: #111318 !important;
  -webkit-text-fill-color: #111318 !important;
  grid-column: 1 / -1 !important;
}

/* Ajuste final 20260730-10: sección de vídeos con fondos diferenciados */
html body .program-video-showcase {
  padding: clamp(18px, 2.2vw, 30px) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 221, 0, .16), transparent 220px),
    radial-gradient(circle at 88% 72%, rgba(255, 255, 255, .08), transparent 240px),
    linear-gradient(135deg, #07090c 0%, #15191f 58%, #0a0c10 100%) !important;
}

html body .program-video-showcase article {
  background: rgba(255, 255, 255, .055) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .24) !important;
}

html body .program-video-showcase article:nth-child(3n + 1) {
  background: linear-gradient(180deg, rgba(255, 221, 0, .08), rgba(255,255,255,.045)) !important;
}

html body .program-video-showcase article:nth-child(3n + 2) {
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255, 221, 0, .035)) !important;
}

html body .program-video-showcase article:nth-child(3n) {
  background: linear-gradient(180deg, rgba(255, 221, 0, .045), rgba(255,255,255,.07)) !important;
}

html body .program-video-showcase video {
  object-fit: cover !important;
}

/* Ajuste final 20260730-10: frase, zoom imagen, profesores y vídeos en detalle */
html body .professor-grid img {
  object-fit: contain !important;
  object-position: center top !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body .professor-grid article {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Ajuste final 20260730-10: fotos de profesores a sangre, sin bandas laterales */
html body .professor-grid img {
  display: block !important;
  width: 100% !important;
  height: clamp(330px, 23vw, 390px) !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center 18% !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body .professor-grid article {
  padding-top: 0 !important;
  overflow: hidden !important;
  background-clip: padding-box !important;
}

@media (max-width: 780px) {
  html body .professor-grid img {
    height: 330px !important;
    object-position: center 15% !important;
  }
}

/* Ajuste final 20260730-10: introducciones completas en la vista previa de módulos */
html body .module-panel-premium .module-card,
html body .module-panel .module-card {
  min-height: clamp(330px, 24vw, 420px) !important;
  align-content: start !important;
}

html body .module-panel-premium .module-card .module-summary,
html body .module-panel .module-card .module-summary {
  display: block !important;
  color: #5f646d !important;
  -webkit-text-fill-color: #5f646d !important;
  font-size: clamp(15px, .96vw, 17px) !important;
  line-height: 1.42 !important;
  overflow: visible !important;
}

@media (max-width: 780px) {
  html body .module-panel-premium .module-card,
  html body .module-panel .module-card {
    min-height: 410px !important;
  }
}

/* Ajuste final 20260730-10: modales por encima y módulos con altura uniforme */
html body .detail-modal {
  z-index: 10000 !important;
}

html body .detail-modal-card {
  position: relative !important;
  overflow: auto !important;
}

html body .detail-modal-close {
  position: sticky !important;
  top: 0 !important;
  margin-left: auto !important;
  z-index: 10002 !important;
}

html body .module-list {
  align-items: stretch !important;
}

html body .module-panel-premium .module-card,
html body .module-panel .module-card {
  height: clamp(390px, 28vw, 455px) !important;
  min-height: clamp(390px, 28vw, 455px) !important;
  max-height: clamp(390px, 28vw, 455px) !important;
}

html body .module-panel-premium .module-card .module-summary,
html body .module-panel .module-card .module-summary {
  display: -webkit-box !important;
  -webkit-line-clamp: 8 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

@media (max-width: 780px) {
  html body .module-panel-premium .module-card,
  html body .module-panel .module-card {
    height: 440px !important;
    min-height: 440px !important;
    max-height: 440px !important;
  }

  html body .module-panel-premium .module-card .module-summary,
  html body .module-panel .module-card .module-summary {
    -webkit-line-clamp: 9 !important;
  }
}

/* Ajuste final 20260730-10: X sin tapar texto y módulos realmente iguales */
html body .detail-modal-card {
  padding-top: clamp(78px, 7vw, 96px) !important;
  overflow: auto !important;
}

html body .detail-modal-close {
  position: fixed !important;
  top: clamp(22px, 4vw, 42px) !important;
  right: clamp(22px, 5vw, 58px) !important;
  float: none !important;
  margin: 0 !important;
  z-index: 10050 !important;
}

html body .module-panel-premium .module-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: clamp(390px, 28vw, 455px) !important;
  align-items: stretch !important;
}

html body .module-panel-premium .module-card,
html body .module-panel .module-card,
html body .module-panel-premium .module-card:nth-child(1),
html body .module-panel-premium .module-card:nth-child(2),
html body .module-panel-premium .module-card:nth-child(3),
html body .module-panel-premium .module-card:nth-child(4),
html body .module-panel-premium .module-card:nth-child(5) {
  grid-column: auto !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  box-sizing: border-box !important;
}

html body .module-panel-premium .module-card .module-summary,
html body .module-panel .module-card .module-summary {
  -webkit-line-clamp: 7 !important;
}

@media (max-width: 980px) {
  html body .module-panel-premium .module-list {
    grid-template-columns: 1fr !important;
    grid-auto-rows: 440px !important;
  }
}

/* Ajuste final 20260730-10: módulos en columna y botón debajo del texto */
html body .module-panel-premium .module-list,
html body .module-panel .module-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
}

/* Ajuste 20260730-16: título de quiénes somos más horizontal */
html body .title-break span {
  display: block;
}

html body .section-divider {
  grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr);
}

html body .section-divider-copy {
  max-width: 980px;
}

html body .section-divider h2 {
  max-width: 1040px;
  font-size: clamp(3rem, 5.2vw, 6.4rem);
  line-height: 0.94;
}

@media (max-width: 900px) {
  html body .section-divider {
    grid-template-columns: 1fr;
  }

  html body .section-divider h2 {
    font-size: clamp(2.6rem, 13vw, 4.8rem);
  }
}

/* Ajuste 20260731-1: programas, outdoor y foto ampliable */
html body .program-grid .program-objectives {
  display: none !important;
}

html body .detail-modal-body .detail-subtitle {
  margin: 22px 0 12px !important;
  color: #111318 !important;
  font-size: clamp(20px, 1.5vw, 28px) !important;
  font-weight: 800 !important;
}

html body .section-divider-media img.zoomable-image {
  cursor: zoom-in !important;
}

html body .module-panel-premium .module-card,
html body .module-panel .module-card,
html body .module-panel-premium .module-card:nth-child(1),
html body .module-panel-premium .module-card:nth-child(2),
html body .module-panel-premium .module-card:nth-child(3),
html body .module-panel-premium .module-card:nth-child(4),
html body .module-panel-premium .module-card:nth-child(5) {
  grid-column: 1 / -1 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding-bottom: 34px !important;
}

html body .module-panel-premium .module-card .module-summary,
html body .module-panel .module-card .module-summary {
  display: block !important;
  -webkit-line-clamp: unset !important;
  overflow: visible !important;
  margin-bottom: 18px !important;
}

html body .module-panel-premium .module-card::after,
html body .module-panel .module-card::after {
  position: static !important;
  grid-column: 2 !important;
  grid-row: 3 !important;
  align-self: start !important;
  justify-self: start !important;
  margin-top: 8px !important;
}

@media (max-width: 780px) {
  html body .module-panel-premium .module-card,
  html body .module-panel .module-card {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}

html body .program-video-showcase h3,
html body .program-video-showcase .feature-video-card h3,
html body .local-video-grid h3 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .65) !important;
}

html body .program-video-showcase p,
html body .program-video-showcase .feature-video-card p,
html body .local-video-grid p,
html body .program-video-showcase span {
  color: rgba(255, 255, 255, .88) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .88) !important;
}

html body .program-video-showcase article {
  background: rgba(8, 10, 14, .92) !important;
}

html body .detail-video-block {
  display: grid !important;
  gap: 16px !important;
  margin: 0 0 clamp(20px, 3vw, 34px) !important;
}

html body .detail-video-block video {
  width: 100% !important;
  max-height: 56vh !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: contain !important;
  border-radius: 16px !important;
  background: #000 !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .22) !important;
}

html body .detail-video-open {
  justify-self: start !important;
}

/* Ajuste 20260731-2: título partido por líneas exactas y listas de habilidades */
html body .section-divider {
  grid-template-columns: minmax(560px, 1fr) minmax(520px, 1.15fr) !important;
}

html body .section-divider h2.title-break {
  max-width: none !important;
  width: max-content !important;
  font-size: clamp(46px, 4.7vw, 82px) !important;
  line-height: .98 !important;
}

html body .section-divider h2.title-break span {
  display: block !important;
  white-space: nowrap !important;
}

html body .detail-modal-body .detail-list.commercial-list {
  background: var(--yellow) !important;
  color: #111318 !important;
  border-radius: 18px !important;
  padding: 18px 22px !important;
}

html body .detail-modal-body .detail-list.commercial-list li {
  border-bottom: 1px solid rgba(17, 19, 24, .24) !important;
  padding: 12px 36px 12px 4px !important;
  color: #111318 !important;
}

html body .detail-modal-body .detail-list.commercial-list li::before {
  background: #111318 !important;
}

html body .detail-modal-body .detail-list.directive-list {
  background: #fff !important;
  color: #111318 !important;
  border-radius: 18px !important;
  padding: 18px 22px !important;
  border: 1px solid rgba(17, 19, 24, .16) !important;
}

html body .detail-modal-body .detail-list.directive-list li {
  border-bottom: 1px solid rgba(17, 19, 24, .18) !important;
  padding: 12px 36px 12px 4px !important;
  color: #111318 !important;
}

html body .detail-modal-body .detail-list.directive-list li::before {
  background: var(--yellow) !important;
}

@media (max-width: 980px) {
  html body .section-divider {
    grid-template-columns: 1fr !important;
  }

  html body .section-divider h2.title-break {
    width: auto !important;
    font-size: clamp(38px, 9.5vw, 58px) !important;
  }
}

/* Override finale 20260731-3 */
html body .section-divider {
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr) !important;
  gap: clamp(30px, 4vw, 64px) !important;
}

html body .section-divider h2.title-break {
  width: 100% !important;
  max-width: 900px !important;
  font-size: clamp(48px, 4.15vw, 72px) !important;
  line-height: .98 !important;
}

html body .section-divider h2.title-break span {
  display: block !important;
  white-space: nowrap !important;
}

html body .detail-modal-body .detail-list.commercial-list,
html body .detail-modal-body .detail-list.directive-list {
  background: #fff !important;
  color: #111318 !important;
  border-radius: 18px !important;
  padding: 18px 22px !important;
  border: 1px solid rgba(17, 19, 24, .16) !important;
}

html body .detail-modal-body .detail-list.commercial-list li,
html body .detail-modal-body .detail-list.directive-list li {
  border-bottom: 1px solid rgba(17, 19, 24, .18) !important;
  padding: 12px 36px 12px 4px !important;
  color: #111318 !important;
}

html body .detail-modal-body .detail-list.commercial-list li::before,
html body .detail-modal-body .detail-list.directive-list li::before {
  background: var(--yellow) !important;
}

html body .program-video-heading {
  grid-column: 1 / -1 !important;
  margin: clamp(46px, 6vw, 84px) 0 18px !important;
}

html body .program-video-heading .section-label {
  color: #111318 !important;
  -webkit-text-fill-color: #111318 !important;
  margin-bottom: 12px !important;
}

html body .program-video-heading h2 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(34px, 3.2vw, 56px) !important;
  line-height: 1 !important;
  position: relative !important;
  width: fit-content !important;
}

html body .program-video-heading h2::after {
  content: "" !important;
  display: block !important;
  width: min(290px, 72%) !important;
  height: 4px !important;
  margin-top: 12px !important;
  background: var(--yellow) !important;
  border-radius: 999px !important;
}

html body .program-video-showcase {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  padding: clamp(18px, 2.4vw, 28px) !important;
  background: #f7f7f5 !important;
  border-radius: 20px !important;
  border: 0 !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .28) !important;
}

html body .program-video-showcase .feature-video-card {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.28fr) minmax(320px, .72fr) !important;
  background: #101216 !important;
  border: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .26) !important;
}

html body .program-video-showcase .feature-video-card video {
  min-height: clamp(320px, 29vw, 460px) !important;
  height: 100% !important;
  object-fit: cover !important;
}

html body .program-video-showcase .feature-video-card > div {
  align-content: center !important;
  padding: clamp(30px, 4vw, 58px) !important;
  background:
    radial-gradient(circle at 78% 18%, rgba(255, 221, 0, .15), transparent 180px),
    #101216 !important;
}

html body .program-video-showcase .feature-video-card h3 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: none !important;
  font-size: clamp(42px, 4.2vw, 70px) !important;
  margin: 0 !important;
}

html body .program-video-showcase .feature-video-card p {
  max-width: 520px !important;
  color: rgba(255, 255, 255, .86) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .86) !important;
  font-size: clamp(17px, 1.2vw, 21px) !important;
  margin: 0 !important;
}

html body .program-video-showcase article:not(.feature-video-card) {
  background: #fff !important;
  color: #111318 !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, .12) !important;
}

html body .program-video-showcase article:not(.feature-video-card) video {
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
}

html body .program-video-showcase article:not(.feature-video-card) h3 {
  color: #111318 !important;
  -webkit-text-fill-color: #111318 !important;
  text-shadow: none !important;
  font-size: clamp(18px, 1.25vw, 22px) !important;
  line-height: 1.08 !important;
  margin: 16px 18px 18px !important;
}

@media (max-width: 1100px) {
  html body .program-video-showcase {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  html body .section-divider {
    grid-template-columns: 1fr !important;
  }

  html body .section-divider h2.title-break {
    max-width: 100% !important;
    font-size: clamp(38px, 9vw, 56px) !important;
  }

  html body .section-divider h2.title-break span {
    white-space: normal !important;
  }

  html body .program-video-showcase {
    grid-template-columns: 1fr !important;
  }

  html body .program-video-showcase .feature-video-card {
    grid-template-columns: 1fr !important;
  }
}

/* Override finale assoluto Pantone Yellow C - deve restare in fondo al file */
:root,
html body {
  --yellow: #ffdd00 !important;
}

html body .button-yellow,
html body .button-primary,
html body .button-accent,
html body .button-dark.section-cta,
html body .module-cta-row .button,
html body .detail-modal-body .detail-cta,
html body .ucam-ia-feature .button-yellow,
html body .program-grid article::after,
html body .module-panel-premium .module-card::after,
html body .module-panel .module-card::after,
html body .section-label,
html body p.section-label,
html body .module-intro .section-label,
html body section .ucam-ia-feature p.section-label,
html body .about-principles article span,
html body .module-number,
html body .carousel-button,
html body .chat-toggle,
html body .cookie-actions button:first-child,
html body .version-button.active,
html body .program-video-heading .section-label {
  background: #ffdd00 !important;
  background-color: #ffdd00 !important;
  background-image: none !important;
  border-color: #ffdd00 !important;
  color: #111318 !important;
  -webkit-text-fill-color: #111318 !important;
  filter: none !important;
  opacity: 1 !important;
}

html body .button-yellow:hover,
html body .button-primary:hover,
html body .button-accent:hover,
html body .button-dark.section-cta:hover,
html body .module-cta-row .button:hover,
html body .detail-modal-body .detail-cta:hover,
html body .ucam-ia-feature .button-yellow:hover {
  background: #ffdd00 !important;
  background-color: #ffdd00 !important;
  background-image: none !important;
  border-color: #ffdd00 !important;
}

html body .module-card .module-number,
html body .module-panel-premium .module-card .module-number,
html body .module-panel .module-card .module-number,
html body .about-principles article > div > span {
  background: #ffdd00 !important;
  background-color: #ffdd00 !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body .module-card p::after,
html body .module-panel-premium .module-card p::after,
html body .program-video-heading h2::after,
html body .section-copy h2::after,
html body .section-divider h2::after,
html body .module-intro h3::after,
html body .detail-modal-body .detail-list li::before,
html body .module-panel-premium .module-card li::before,
html body .module-panel .module-card li::before {
  background: #ffdd00 !important;
  background-color: #ffdd00 !important;
  background-image: none !important;
}

html body .trust-track strong,
html body .site-footer h2,
html body .program-grid li::before,
html body .detail-modal-body .detail-list li::marker {
  color: #ffdd00 !important;
  -webkit-text-fill-color: #ffdd00 !important;
}

html body .module-panel-premium .module-card,
html body .module-panel .module-card,
html body .program-grid article,
html body .about-principles article {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

html body .program-video-showcase .feature-video-card > div,
html body .ucam-ia-feature,
html body .module-panel-premium,
html body .module-panel-premium .module-card,
html body .module-panel .module-card,
html body .program-grid article {
  border-color: #ffdd00 !important;
}
