/* IENET academic open course.
   Palette: ink #142f50, blue #246bce, teal #177d84, mist #f3f7fc,
   line #dce6f0 and white #ffffff. All layout rules are page-scoped. */
body[data-page="ai-open-course"] {
  --course-blue: #246bce;
  --course-navy: #142f50;
  --course-text: #2c425a;
  --course-muted: #596f86;
  --course-line: #dce6f0;
  --course-soft: #f3f7fc;
  --course-teal: #177d84;
  --course-display: "Montserrat", "Microsoft YaHei", "PingFang SC", sans-serif;
  --course-body: "Segoe UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  font-family: var(--course-body);
}
body[data-page="ai-open-course"] .subpage-main { background: var(--course-soft); }
.ai2 { color: var(--course-text); background: var(--course-soft); font: 15px/1.7 var(--course-body); }
.ai2 *, .ai2 *::before, .ai2 *::after { box-sizing: border-box; }
.ai2-wrap { width: min(1240px, calc(100% - 80px)); margin-inline: auto; }
body[data-page="ai-open-course"] .ai2 :is(h1, h2, h3, h4) {
  color: var(--course-navy); font-family: var(--course-display);
  font-weight: 700; text-transform: none; letter-spacing: -.025em;
}
.ai2 :is(h1, h2, h3, h4, p) { margin-top: 0; }
body[data-page="ai-open-course"] .ai2 h2 { margin-bottom: 24px; font-size: clamp(23px, 2.1vw, 29px); line-height: 1.4; }
.ai2 a { text-decoration: none; }
.ai2 a:focus-visible { outline: 3px solid #5cacff; outline-offset: 5px; }
.ai2 [id] { scroll-margin-top: 130px; }
.ai2 .ai2-kicker { margin: 0 0 10px; color: var(--course-blue); font-size: 12px; font-weight: 700; letter-spacing: .08em; line-height: 1.7; }

/* The course title and syllabus remain the visual focus of the hero. */
.ai2-hero { position: relative; isolation: isolate; overflow: hidden; background: #102c4e; }
.ai2-hero__bg {
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(10, 31, 57, .85), rgba(10, 31, 57, .38) 55%, rgba(10, 31, 57, .06)),
    url("assets/ai-course-hero-bg.png") right center / cover no-repeat;
}
.ai2-hero > .ai2-wrap { position: relative; padding-block: 64px 32px; }
.ai2-hero__content { max-width: 760px; }
.ai2-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; color: #b4d9f8; font: 600 12px/1.6 var(--course-display); letter-spacing: .12em; }
.ai2-eyebrow__dot { width: 7px; height: 7px; flex: 0 0 7px; background: #89dddb; border-radius: 50%; box-shadow: 0 0 0 5px rgba(137, 221, 219, .09); }
body[data-page="ai-open-course"] .ai2-hero h1 { max-width: 760px; margin-bottom: 22px; color: #fff; font-size: clamp(36px, 4vw, 55px); font-weight: 700; letter-spacing: -.025em; line-height: 1.22; text-wrap: balance; }
html[lang="zh-CN"] body[data-page="ai-open-course"] .ai2-hero h1 { max-width: 620px; font-size: clamp(36px, 3.7vw, 53px); letter-spacing: .015em; line-height: 1.35; }
.ai2-title__accent { color: #b7deff; }
.ai2-hero__lead { max-width: 620px; margin-bottom: 13px; color: #d8e7f8; font-size: 17px; line-height: 1.8; }
.ai2-hero__tags { margin-bottom: 26px; color: #a9c4df; font-size: 13px; letter-spacing: .06em; }
.ai2-hero__actions { display: flex; flex-wrap: wrap; gap: 13px; }
.ai2-button { display: inline-flex; justify-content: center; align-items: center; gap: 22px; min-height: 48px; padding: 12px 22px; border: 1px solid transparent; border-radius: 7px; font-size: 14px; font-weight: 650; line-height: 1.5; transition: background-color .18s ease, border-color .18s ease, transform .18s ease; }
.ai2-button > span:last-child { font-size: 20px; line-height: 1; }
.ai2-button--primary { color: var(--course-navy); background: #fff; box-shadow: 0 5px 20px rgba(0, 0, 0, .08); }
.ai2-button--primary:hover { color: var(--course-navy); background: #e8f2ff; transform: translateY(-2px); }
.ai2-button--ghost { color: #fff; background: rgba(255, 255, 255, .05); border-color: rgba(207, 229, 249, .4); }
.ai2-button--ghost:hover { color: #fff; background: rgba(255, 255, 255, .12); }
.ai2-facts { display: grid; grid-template-columns: .95fr 1.15fr .9fr 1.35fr 1fr; gap: 0; margin-top: 48px; padding: 23px 8px; background: rgba(255, 255, 255, .97); border: 1px solid rgba(255, 255, 255, .5); border-radius: 12px; box-shadow: 0 12px 35px rgba(7, 24, 45, .16); }
.ai2-facts article { display: flex; align-items: flex-start; min-width: 0; gap: 10px; padding: 0 17px; border-left: 1px solid var(--course-line); }
.ai2-facts article:first-child { border-left: 0; }
.ai2-facts i { display: grid; place-items: center; flex: 0 0 27px; width: 27px; height: 29px; color: var(--course-blue); }
.ai2-facts svg { width: 23px; height: 23px; }
.ai2-facts strong, .ai2-facts span { display: block; }
.ai2-facts strong { margin-bottom: 7px; color: var(--course-navy); font-size: 13px; font-weight: 700; line-height: 1.5; }
.ai2-facts span { color: var(--course-muted); font-size: 12px; line-height: 1.7; }

/* Wayfinding and the five-step learning pathway. */
.ai2-body { padding-bottom: 72px; }
.ai2-crumb { display: flex; flex-wrap: wrap; gap: 10px; padding-block: 24px 18px; color: #697f94; font-size: 12px; line-height: 1.6; }
.ai2-crumb a { color: inherit; }
.ai2-crumb a:hover { color: var(--course-blue); }
.ai2-crumb b { color: #405f7c; font-weight: 500; }
.ai2-jumpnav { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 30px; padding: 17px 0 19px; border-bottom: 1px solid var(--course-line); }
.ai2-jumpnav a { color: var(--course-text); font-size: 14px; font-weight: 650; }
.ai2-jumpnav a:hover { color: var(--course-blue); }
.ai2-jumpnav > span { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; color: var(--course-teal); font-size: 12px; font-weight: 600; }
.ai2-jumpnav > span::before { width: 6px; height: 6px; content: ""; background: currentColor; border-radius: 50%; }
.ai2-overview { display: grid; grid-template-columns: 1fr 1.15fr; align-items: center; gap: 32px 48px; padding-block: 46px 0; }
.ai2-intro p:not(.ai2-kicker) { margin: 0; color: var(--course-muted); font-size: 15px; line-height: 1.9; }
.ai2-pathway { min-width: 0; padding: 26px 28px 28px; background: #fff; border: 1px solid var(--course-line); border-radius: 12px; }
.ai2-pathway__heading { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 27px; color: var(--course-navy); font-size: 14px; font-weight: 650; }
.ai2-pathway__heading > span:last-child { color: var(--course-blue); font-size: 21px; }
.ai2-pathway ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 13px; padding: 0; margin: 0; list-style: none; }
.ai2-pathway li { position: relative; min-width: 0; }
.ai2-pathway li:not(:last-child)::after { position: absolute; top: 22px; left: 56px; right: -8px; height: 1px; content: ""; background: #cddfed; }
.ai2-pathway b { position: relative; display: grid; place-items: center; width: 47px; height: 47px; margin-bottom: 12px; color: var(--course-blue); background: #edf4fc; border: 1px solid #dce9f6; border-radius: 12px; font-size: 14px; font-weight: 700; }
html[lang="zh-CN"] .ai2-pathway b { font-size: 23px; }
.ai2-pathway li:last-child b { color: var(--course-teal); background: #eaf6f5; border-color: #d5ebe8; }
.ai2-pathway li > span { display: block; color: var(--course-muted); font-size: 11px; line-height: 1.6; }
.ai2-benefits { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.ai2-benefits article { min-width: 0; padding: 24px 20px; background: #fff; border: 1px solid var(--course-line); border-radius: 12px; transition: border-color .18s ease, transform .18s ease; }
.ai2-benefits article:hover { transform: translateY(-3px); border-color: #a8c6e5; }
.ai2-icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 18px; color: var(--course-blue); background: #edf4fc; border-radius: 11px; }
.ai2-icon svg { width: 23px; height: 23px; }
.ai2-icon--green, .ai2-icon--orange { color: var(--course-teal); background: #eaf6f5; }
body[data-page="ai-open-course"] .ai2-benefits h3 { margin-bottom: 9px; font-size: 16px; line-height: 1.5; }
.ai2-benefits p { margin: 0; color: var(--course-muted); font-size: 13px; line-height: 1.8; }

/* A two-half-day syllabus, with registration alongside it. */
.ai2-columns { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 24px; margin-top: 40px; }
.ai2-panel { min-width: 0; padding: 30px; background: #fff; border: 1px solid var(--course-line); border-radius: 14px; box-shadow: 0 5px 20px rgba(24, 58, 91, .025); }
.ai2-programme { align-items: start; }
.ai2-schedule { padding: 32px; }
body[data-page="ai-open-course"] .ai2-day h3 { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 5px 16px; margin: 0; padding: 12px 15px; color: #245991; background: #edf4fc; border-radius: 7px; font-size: 13px; line-height: 1.6; letter-spacing: 0; }
body[data-page="ai-open-course"] .ai2-day h3 span:last-child { font-size: 12px; font-weight: 500; }
body[data-page="ai-open-course"] .ai2-day--teaching h3 { color: #17676e; background: #edf7f6; }
.ai2-lessons { padding: 0; margin: 0 0 18px; list-style: none; }
.ai2-lessons li { display: grid; grid-template-columns: 47px minmax(0, 1fr); gap: 17px; padding: 23px 6px; border-bottom: 1px solid #edf1f6; }
.ai2-lessons li:last-child { border: 0; }
.ai2-lesson__number { padding-top: 3px; color: #a9bfd6; font: 400 30px/1.1 "Consolas", monospace; letter-spacing: -.025em; }
.ai2-day--teaching .ai2-lesson__number { color: #9bbeba; }
.ai2-lesson__meta { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 7px; color: #667f98; font-size: 11px; font-weight: 600; }
.ai2-lesson__meta span:last-child { white-space: nowrap; color: var(--course-blue); }
body[data-page="ai-open-course"] .ai2-lessons h4 { margin: 0 0 7px; font-size: 17px; line-height: 1.55; }
.ai2-lessons p { margin: 0; color: var(--course-muted); font-size: 13px; line-height: 1.8; }
.ai2-note { display: flex; gap: 10px; margin: 0; padding-top: 17px; border-top: 1px solid var(--course-line); color: #62758a; font-size: 12px; line-height: 1.8; }
.ai2-note i { color: var(--course-blue); font-style: normal; }
.ai2-right { display: grid; min-width: 0; gap: 24px; }
.ai2-attend { display: grid; gap: 0; }
.ai2-attend article { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 7px 15px; padding-bottom: 23px; }
.ai2-attend article + article { padding-top: 23px; padding-bottom: 0; border-top: 1px solid var(--course-line); }
.ai2-attend i { grid-row: 1 / 3; display: grid; place-items: center; width: 40px; height: 40px; color: var(--course-blue); background: #edf4fc; border-radius: 10px; }
.ai2-attend svg { width: 23px; height: 23px; }
body[data-page="ai-open-course"] .ai2-attend h3 { margin: 0; font-size: 16px; line-height: 1.5; }
.ai2-attend p { grid-column: 2; margin: 0 0 8px; color: var(--course-muted); font-size: 13px; line-height: 1.8; }
.ai2-attend a { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; min-height: 43px; padding: 10px 15px; color: #fff; background: var(--course-blue); border: 1px solid var(--course-blue); border-radius: 6px; font-size: 13px; font-weight: 650; transition: background-color .18s ease; }
.ai2-attend a:hover { background: #1958ad; }
.ai2-attend article + article a { color: var(--course-blue); background: #fff; border-color: #bdd1e9; }
.ai2-attend article + article a:hover { background: #edf4fc; }
.ai2-tools > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.ai2-tools > div > span { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 43px; padding: 10px; color: #3d5772; border: 1px solid #e3ebf4; border-radius: 7px; font-size: 12px; font-weight: 600; line-height: 1.5; }
.ai2-tools svg { flex: 0 0 19px; }
.ai2-tools b { font-weight: 600; }
.ai2-tools > p { margin: 17px 0 0; color: var(--course-muted); font-size: 12px; line-height: 1.8; }

/* Detailed content uses quieter, open layouts after the syllabus. */
.ai2-lower { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.ai2-topics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; }
.ai2-topics article { min-width: 0; padding: 21px 0; border-top: 1px solid var(--course-line); }
.ai2-topics article:nth-child(-n+3) { padding-top: 0; border: 0; }
.ai2-topics b { display: none; }
body[data-page="ai-open-course"] .ai2-topics h3 { margin-bottom: 10px; font-size: 15px; line-height: 1.6; }
.ai2-topics p { margin: 0; color: var(--course-muted); font-size: 13px; line-height: 1.8; }
.ai2-audience > div { display: grid; gap: 15px; }
.ai2-audience article { display: flex; align-items: center; gap: 14px; color: var(--course-text); font-size: 14px; font-weight: 600; }
.ai2-audience i { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; color: #5d7fa2; background: var(--course-soft); border-radius: 50%; }
.ai2-audience svg { width: 23px; height: 23px; }
.ai2-practice-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.ai2-table { border: 1px solid var(--course-line); border-radius: 9px; overflow: hidden; }
.ai2-table > div { display: grid; grid-template-columns: 132px minmax(0, 1fr); border-top: 1px solid var(--course-line); }
.ai2-table > div:first-child { border-top: 0; }
.ai2-table span { min-width: 0; padding: 16px; color: var(--course-muted); font-size: 13px; line-height: 1.8; overflow-wrap: break-word; }
.ai2-table span:first-child { color: #345576; background: #f8fafd; font-weight: 600; }
.ai2-table .ai2-table__head { background: #edf4fc; }
.ai2-table .ai2-table__head span { padding-block: 12px; color: #365a7b; background: transparent; font-size: 12px; font-weight: 700; }
.ai2-materials ul, .ai2-outcomes ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.ai2-materials li, .ai2-outcomes li { position: relative; padding-left: 27px; color: var(--course-text); font-size: 14px; line-height: 1.8; }
.ai2-materials li::before, .ai2-outcomes li::before { position: absolute; top: 4px; left: 0; display: grid; place-items: center; width: 17px; height: 17px; content: "✓"; color: var(--course-teal); background: #eaf6f5; border-radius: 50%; font-size: 11px; font-weight: 800; }
.ai2-materials__support { margin: 24px 0 0; padding: 15px 17px; color: #32676f; background: #edf7f6; border-radius: 8px; font-size: 13px; line-height: 1.8; }
.ai2-outcomes { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, .75fr); align-items: center; gap: 35px; margin-top: 40px; padding: 38px; background: #edf4fb; border-color: #dce8f4; box-shadow: none; }
.ai2-outcomes__art { display: grid; place-items: center; }
.ai2-outcomes__art img { display: block; max-width: 280px; width: 100%; height: auto; border-radius: 15px; mix-blend-mode: multiply; }
.ai2-cta { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-top: 28px; padding: 40px; color: #fff; background: #142f50; border-radius: 14px; }
.ai2-cta > div { max-width: 840px; }
.ai2-cta__label { display: block; margin-bottom: 11px; color: #9ecadd; font-size: 12px; letter-spacing: .08em; }
body[data-page="ai-open-course"] .ai2-cta h2 { color: #fff; margin-bottom: 13px; font-size: 27px; }
.ai2-cta p { margin: 0; color: #bbcede; font-size: 13px; line-height: 1.8; }
.ai2-cta__actions { display: grid; gap: 12px; flex-shrink: 0; text-align: center; }
.ai2-cta__actions > .ai2-button { min-width: 166px; color: var(--course-navy); background: #fff; }
.ai2-cta__actions > .ai2-button:hover { background: #e8f2ff; transform: translateY(-2px); }
.ai2-cta__email { color: #bbcede; font-size: 13px; line-height: 1.6; }
.ai2-cta__email:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }

/* The shared footer has long English organization labels. Let them wrap. */
body[data-page="ai-open-course"] .ienet-footer-v11__group h3 { white-space: normal; overflow-wrap: anywhere; font-size: 12px; line-height: 1.5; }
body[data-page="ai-open-course"] .ienet-footer-v11__logos--named { display: flex; flex-direction: column; align-items: flex-start; min-height: 0; gap: 20px; }
body[data-page="ai-open-course"] .ienet-footer-v11__logos--named a { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; }
body[data-page="ai-open-course"] .ienet-footer-v11__logos--named span { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; font-size: 11px; line-height: 1.5; }
body[data-page="ai-open-course"] .ienet-footer-v11__credit { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }

/* Narrow layouts retain full content and generous tap targets. */
@media (max-width: 1100px) {
  .ai2-wrap { width: calc(100% - 56px); }
  .ai2-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 0; }
  .ai2-facts article:nth-child(4) { border-left: 0; }
  .ai2-overview { grid-template-columns: 1fr; gap: 28px; }
  .ai2-benefits { gap: 10px; }
  .ai2-benefits article { padding: 20px 15px; }
  .ai2-programme { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 18px; }
  .ai2-panel { padding: 24px; }
  .ai2-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai2-topics article:nth-child(3) { padding-top: 21px; border-top: 1px solid var(--course-line); }
}
@media (max-width: 850px) {
  .ai2-hero__bg { background-position: 70% center; }
  .ai2-hero__content { max-width: 620px; }
  .ai2-hero > .ai2-wrap { padding-top: 48px; }
  .ai2-columns { grid-template-columns: 1fr; gap: 20px; margin-top: 28px; }
  .ai2-right { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .ai2-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ai2-audience > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai2-outcomes { grid-template-columns: 1fr .5fr; gap: 20px; padding: 28px; }
  .ai2-cta { align-items: flex-start; flex-direction: column; gap: 24px; padding: 30px; }
}
@media (max-width: 600px) {
  .ai2-wrap { width: calc(100% - 32px); }
  .ai2-hero__bg { background: linear-gradient(125deg, #0d2543, #174b76); }
  .ai2-hero > .ai2-wrap { padding-block: 36px 20px; }
  .ai2-eyebrow { gap: 10px; margin-bottom: 19px; font-size: 10px; letter-spacing: .07em; }
  body[data-page="ai-open-course"] .ai2-hero h1,
  html[lang="zh-CN"] body[data-page="ai-open-course"] .ai2-hero h1 { font-size: 33px; line-height: 1.35; letter-spacing: -.02em; }
  .ai2-hero__lead { font-size: 14px; line-height: 1.9; }
  .ai2-hero__tags { font-size: 11px; letter-spacing: .025em; }
  .ai2-hero__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .ai2-button { gap: 10px; padding: 12px; font-size: 12px; }
  .ai2-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 0; margin-top: 29px; padding: 21px 3px; border-radius: 10px; }
  .ai2-facts article { gap: 8px; padding: 0 11px; border-left: 0; }
  .ai2-facts article:nth-child(even) { border-left: 1px solid var(--course-line); }
  .ai2-facts article:last-child { grid-column: 1 / -1; }
  .ai2-facts strong { font-size: 12px; margin-bottom: 4px; }
  .ai2-facts span { font-size: 11px; }
  .ai2-facts i { flex-basis: 23px; width: 23px; }
  .ai2-facts svg { width: 20px; height: 20px; }
  .ai2-crumb { font-size: 10px; gap: 7px; padding-block: 19px 10px; }
  .ai2-jumpnav { gap: 12px 20px; padding-block: 12px 17px; }
  .ai2-jumpnav a { font-size: 12px; }
  .ai2-jumpnav > span { display: none; }
  .ai2-overview { gap: 23px; padding-top: 30px; }
  body[data-page="ai-open-course"] .ai2 h2 { margin-bottom: 19px; font-size: 23px; }
  .ai2-intro p:not(.ai2-kicker) { font-size: 14px; }
  .ai2-pathway { padding: 21px 18px; }
  .ai2-pathway__heading { margin-bottom: 20px; font-size: 13px; }
  .ai2-pathway ol { gap: 8px; }
  .ai2-pathway b { width: 42px; height: 42px; font-size: 11px; }
  .ai2-pathway li:not(:last-child)::after { top: 21px; left: 47px; right: -3px; }
  .ai2-pathway li > span { font-size: 10px; }
  .ai2-benefits { grid-template-columns: 1fr; gap: 0; padding: 0 18px; background: #fff; border: 1px solid var(--course-line); border-radius: 12px; }
  .ai2-benefits article { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 4px 13px; padding: 18px 0; border: 0; border-top: 1px solid #e9eff6; border-radius: 0; }
  .ai2-benefits article:first-child { border-top: 0; }
  .ai2-benefits article:hover { transform: none; }
  .ai2-icon { grid-row: 1 / 3; width: 38px; height: 38px; margin: 2px 0 0; border-radius: 9px; }
  body[data-page="ai-open-course"] .ai2-benefits h3 { font-size: 14px; margin: 0; }
  .ai2-benefits p { grid-column: 2; font-size: 12px; }
  .ai2-panel { padding: 22px 18px; border-radius: 12px; }
  .ai2-right { grid-template-columns: 1fr; }
  .ai2-lessons li { grid-template-columns: 34px minmax(0, 1fr); gap: 10px; padding: 21px 0; }
  .ai2-lesson__number { font-size: 25px; }
  body[data-page="ai-open-course"] .ai2-lessons h4 { font-size: 16px; }
  body[data-page="ai-open-course"] .ai2-day h3 { padding: 11px 12px; font-size: 12px; }
  body[data-page="ai-open-course"] .ai2-day h3 span:last-child { font-size: 11px; }
  .ai2-lessons p { font-size: 12px; }
  .ai2-note { font-size: 11px; }
  .ai2-tools > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai2-topics { gap: 0 18px; }
  body[data-page="ai-open-course"] .ai2-topics h3 { font-size: 14px; }
  .ai2-topics p { font-size: 12px; }
  .ai2-audience article { gap: 10px; font-size: 12px; }
  .ai2-audience i { flex-basis: 35px; width: 35px; height: 35px; }
  .ai2-table > div { grid-template-columns: 91px minmax(0, 1fr); }
  .ai2-table span { padding: 12px 10px; font-size: 12px; }
  .ai2-materials li, .ai2-outcomes li { padding-left: 24px; font-size: 13px; }
  .ai2-outcomes { grid-template-columns: 1fr; margin-top: 28px; }
  .ai2-outcomes__art { display: none; }
  .ai2-cta { margin-top: 22px; padding: 27px 22px; }
  body[data-page="ai-open-course"] .ai2-cta h2 { font-size: 24px; }
  .ai2-cta__actions { width: 100%; }
  .ai2-cta__actions > .ai2-button { width: 100%; min-height: 47px; font-size: 14px; }
  .ai2-body { padding-bottom: 40px; }
  /* Keep partner marks inside this page's footer without masking overflow. */
  body[data-page="ai-open-course"] .ienet-footer-v11__partners { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 18px; }
  body[data-page="ai-open-course"] .ienet-footer-v11__group { min-width: 0; padding: 0; border: 0; }
  body[data-page="ai-open-course"] .ienet-footer-v11__logos--named a { min-width: 0; flex-wrap: wrap; }
  body[data-page="ai-open-course"] .ienet-footer-v11__logos--named span { display: block; min-width: 0; width: auto; white-space: normal; overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .ai2 *, .ai2 *::before, .ai2 *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
