:root {
  --ink: #10213f;
  --muted: #637189;
  --blue: #1764e8;
  --blue-dark: #0b3c91;
  --blue-light: #eaf3ff;
  --green: #72ad20;
  --green-light: #eef8df;
  --orange: #f47621;
  --orange-light: #fff0e5;
  --cyan: #31b7cb;
  --paper: #f3f7fc;
  --white: #fff;
  --line: rgba(25, 75, 145, .15);
  --shadow: 0 16px 40px rgba(32, 79, 142, .09);
  --radius: 8px;
  --wrap: min(1180px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; font-size: 16px; letter-spacing: 0; }
button, a { color: inherit; font: inherit; }
button { cursor: pointer; }
a { text-decoration: none; }
img { display: block; width: 100%; }
.wrap { width: var(--wrap); margin-inline: auto; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 50; height: 68px; padding: 0 max(24px, calc((100vw - 1180px) / 2)); display: flex; align-items: center; gap: 30px; border-bottom: 1px solid var(--line); color: var(--ink); background: rgba(255,255,255,.95); backdrop-filter: blur(14px); }
.brand { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.brand-mark { width: 38px; height: 38px; padding: 3px; overflow: hidden; display: grid; place-items: center; border: 1px solid rgba(23,100,232,.16); border-radius: 50%; background: #fff; box-shadow: 0 6px 16px rgba(23,100,232,.18); }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.brand-wordmark { display: inline-flex; align-items: center; color: #182236; font-size: 22px; font-style: italic; font-weight: 950; line-height: 1; }
.brand-wordmark span, .brand-wordmark em { font: inherit; letter-spacing: 0; }
.brand-wordmark em { color: #1764e8; }
.brand-domain { padding-left: 10px; border-left: 1px solid rgba(24,34,54,.18); color: #718098; font-size: 12px; font-weight: 700; line-height: 1; }
.site-nav { margin-left: auto; display: flex; align-items: center; gap: 25px; color: #53627a; font-size: 14px; }
.site-nav a { padding: 25px 0; }
.site-nav a:hover { color: var(--blue); }
.nav-cta { padding: 11px 16px; border-radius: 5px; color: #fff; background: var(--blue); font-size: 14px; font-weight: 780; }
.menu-toggle { display: none; width: 40px; height: 40px; padding: 9px; border: 0; background: transparent; }
.menu-toggle span { display: block; height: 1px; margin: 6px 0; background: var(--ink); }

.hero { padding: 68px 0 0; display: grid; align-items: stretch; overflow: hidden; background: #fff; }
.merged-hero { padding-block: 42px 38px; scroll-margin-top: 68px; }
.hero-grid { padding-block: 50px 46px; display: grid; grid-template-columns: .86fr 1.14fr; align-items: center; column-gap: 56px; row-gap: 30px; }
.hero-copy { min-width: 0; }
.kicker { display: inline-flex; align-items: center; gap: 9px; color: var(--blue); font-size: 13px; font-weight: 850; letter-spacing: 0; }
.hero-badge { padding: 9px 14px; display: inline-flex; border: 1px solid rgba(23,100,232,.55); border-radius: 999px; color: var(--blue); background: rgba(255,255,255,.58); font-size: 14px; font-weight: 850; }
.hero h1 { margin: 20px 0 16px; max-width: 680px; color: #102344; font-size: 58px; line-height: 1.12; letter-spacing: 0; }
.hero-title em { color: var(--blue); font-style: normal; }
.hero-lead { max-width: 650px; margin: 0; color: #5f6f87; font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; }
.hero-values { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.hero-values > div { min-width: 0; min-height: 88px; padding: 15px 18px; display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 13px; border: 1px solid rgba(23,100,232,.14); border-radius: 7px; background: rgba(255,255,255,.68); box-shadow: 0 10px 26px rgba(32,79,142,.05); }
.hero-values i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--blue); background: rgba(23,100,232,.11); font: 850 12px ui-monospace, monospace; }
.hero-values span { min-width: 0; display: grid; gap: 5px; }
.hero-values strong { font-size: 14px; line-height: 1.35; }
.hero-values small { color: #718099; font-size: 14px; line-height: 1.45; }
.hero-actions { margin-top: 24px; display: flex; gap: 11px; }
.button { min-height: 46px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 5px; font-size: 13px; font-weight: 780; }
.button-primary { color: #fff; background: var(--blue); }
.button-secondary { color: var(--blue); border-color: rgba(23,100,232,.35); background: #fff; }
.hero-path { margin-top: 24px; padding: 15px 16px; display: grid; grid-template-columns: 104px 1fr; align-items: center; gap: 16px; border: 1px solid var(--line); border-radius: 6px; background: rgba(255,255,255,.62); }
.hero-path > b { color: var(--blue); font-size: 14px; line-height: 1.45; }
.hero-path ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; }
.hero-path li { position: relative; min-width: 0; display: grid; justify-items: center; gap: 5px; color: #50617a; text-align: center; }
.hero-path li:not(:last-child)::after { content: "›"; position: absolute; right: -4px; top: 6px; color: #9bb0cc; font-size: 18px; }
.hero-path li span { color: var(--blue); font: 800 11px ui-monospace, monospace; }
.hero-path li strong { font-size: 12px; white-space: nowrap; }

.hero-showcase { width: 100%; aspect-ratio: 3 / 2; }
.hero-showcase figure { position: relative; width: 100%; height: 100%; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.72); border-radius: var(--radius); background: #081020; box-shadow: 0 24px 60px rgba(32,79,142,.16); }
.hero-showcase figure > img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.hero-showcase figcaption { position: absolute; inset: auto 0 0; padding: 46px 22px 18px; display: grid; gap: 5px; color: #fff; background: linear-gradient(to top, rgba(5,15,34,.88), rgba(5,15,34,0)); }
.hero-showcase figcaption span { color: #87ddff; font: 750 12px ui-monospace, monospace; }
.hero-showcase figcaption strong { font-size: 16px; line-height: 1.45; }

.section { padding: 92px 0; scroll-margin-top: 68px; }
.section-head { margin-bottom: 42px; display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 70px; }
.section-head.centered { display: block; text-align: center; }
.section-head h2, .mentor-copy h2 { margin: 15px 0 0; font-size: 43px; line-height: 1.2; letter-spacing: 0; }
.section-head > p { max-width: 480px; margin: 0; color: var(--muted); line-height: 1.8; }
.section-head.centered > p { margin: 14px auto 0; }

.core-capabilities-section { border-bottom: 1px solid var(--line); background: #f7faff; }
.core-capabilities-section .section-head { margin-bottom: 34px; }
.core-capabilities-section .section-head > p { color: var(--blue-dark); font-size: 15px; font-weight: 800; }
.capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.capability-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.capability-visual { position: relative; height: 220px; padding: 24px; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; color: #fff; background: #112747; }
.capability-visual.has-image { padding: 0; background: #edf5ff; }
.capability-visual.has-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.capability-visual i { position: absolute; left: 24px; right: 24px; top: 28px; height: 104px; border: 1px solid rgba(255,255,255,.32); border-radius: 6px; }
.capability-visual i::before, .capability-visual i::after { content: ""; position: absolute; top: 17px; bottom: 17px; border-radius: 4px; background: rgba(255,255,255,.14); }
.capability-visual i::before { left: 16px; width: 30%; }
.capability-visual i::after { left: calc(30% + 28px); right: 16px; }
.capability-visual span { position: relative; z-index: 1; font: 850 12px ui-monospace, monospace; }
.capability-visual small { position: relative; z-index: 1; margin-top: 5px; color: rgba(255,255,255,.62); font-size: 11px; }
.capability-platform .capability-visual.has-image { background: #0f58bf; }
.capability-platform .capability-visual.has-image img { object-fit: contain; }
.capability-curriculum .capability-visual { color: #154b3a; background: #dff3e7; }
.capability-curriculum .capability-visual i { border-color: rgba(21,75,58,.25); }
.capability-curriculum .capability-visual i::before, .capability-curriculum .capability-visual i::after { background: rgba(21,75,58,.12); }
.capability-curriculum .capability-visual small { color: rgba(21,75,58,.62); }
.capability-curriculum .capability-visual.has-image { background: #0f58bf; }
.capability-curriculum .capability-visual.has-image img { object-fit: contain; }
.capability-tools .capability-visual { color: #713d14; background: #ffead8; }
.capability-tools .capability-visual i { border-color: rgba(113,61,20,.23); }
.capability-tools .capability-visual i::before, .capability-tools .capability-visual i::after { background: rgba(113,61,20,.11); }
.capability-tools .capability-visual small { color: rgba(113,61,20,.62); }
.capability-tools .capability-visual.has-image { background: #0d3984; }
.capability-tools .capability-visual.has-image img { object-fit: contain; }
.capability-copy { min-height: 230px; padding: 25px 24px 28px; }
.capability-copy b { display: inline-grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: #fff; background: var(--blue); font: 850 11px ui-monospace, monospace; }
.capability-copy h3 { margin: 18px 0 10px; font-size: 22px; line-height: 1.35; }
.capability-copy p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }

.overview-section { background: #fff; }
.overview-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.overview-card { --day-color: var(--blue); --day-bg: var(--blue-light); position: relative; min-height: 430px; display: grid; grid-template-rows: 1fr auto; overflow: hidden; border: 1px solid var(--line); border-top: 5px solid var(--day-color); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); transition: transform .2s ease, box-shadow .2s ease; }
.overview-card:hover { transform: translateY(-4px); box-shadow: 0 22px 58px rgba(32, 79, 142, .14); }
.day-green { --day-color: var(--green); --day-bg: var(--green-light); }
.day-orange { --day-color: var(--orange); --day-bg: var(--orange-light); }
.day-number { position: absolute; left: 32px; top: 30px; z-index: 3; width: 58px; height: 74px; padding: 9px 0; display: grid; justify-items: center; align-content: center; border: 1px solid rgba(255,255,255,.42); border-radius: 6px; color: #fff; background: var(--day-color); box-shadow: 0 10px 22px rgba(7,22,47,.24); }
.day-number span { font: 750 7px ui-monospace, monospace; }
.day-number b { font-size: 27px; line-height: 1; }
.day-label { color: var(--day-color); font: 800 11px ui-monospace, monospace; }
.overview-content { padding: 18px 18px 24px; display: flex; min-width: 0; flex-direction: column; }
.overview-shot { position: relative; height: 178px; margin: 0 0 22px; overflow: hidden; border-radius: 6px; background: #07162f; }
.overview-shot img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.overview-shot::after { content: ""; position: absolute; inset: auto 0 0; height: 58%; background: linear-gradient(0deg, rgba(5,14,32,.82), rgba(5,14,32,0)); }
.overview-shot span { position: absolute; left: 13px; bottom: 11px; z-index: 1; color: #dff8ff; font: 850 11px ui-monospace, monospace; }
.overview-card h3 { margin: 14px 0 10px; font-size: 22px; line-height: 1.4; }
.overview-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.overview-summary { margin-top: 20px; border-top: 1px solid var(--line); }
.overview-summary > div { min-height: 54px; padding: 11px 0; display: grid; grid-template-columns: 78px 1fr; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); }
.overview-summary span { color: var(--day-color); font-size: 12px; font-weight: 850; }
.overview-summary strong { color: #344a66; font-size: 13px; line-height: 1.55; }
.overview-card small { grid-column: 1 / -1; align-self: end; padding: 20px 24px; color: #fff; background: var(--day-color); font-size: 18px; font-weight: 900; line-height: 1.35; }
.overview-card small span { display: block; margin-bottom: 8px; color: rgba(255, 255, 255, .82); font-size: 13px; font-weight: 800; }

.details-section { background: var(--paper); }
.day-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.day-tabs button { min-height: 74px; padding: 14px 20px; display: flex; align-items: center; gap: 16px; border: 1px solid var(--line); border-radius: 6px; text-align: left; background: #fff; }
.day-tabs button span { color: #8a97a9; font: 800 12px ui-monospace, monospace; }
.day-tabs button strong { font-size: 15px; }
.day-tabs button.active { color: #fff; border-color: var(--blue); background: var(--blue); }
.day-tabs button.active span { color: rgba(255,255,255,.65); }
.day-panels { margin-top: 14px; }
.day-panel { --panel-color: var(--blue); --panel-bg: var(--blue-light); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.day-panel-green { --panel-color: var(--green); --panel-bg: var(--green-light); }
.day-panel-orange { --panel-color: var(--orange); --panel-bg: var(--orange-light); }
.day-panel[hidden] { display: none; }
.day-panel > header { min-height: 190px; padding: 34px 38px; border-top: 6px solid var(--panel-color); background: var(--panel-bg); }
.day-panel > header span { color: var(--panel-color); font: 800 11px ui-monospace, monospace; }
.day-panel > header h3 { margin: 17px 0 10px; font-size: 30px; }
.day-panel > header p { max-width: 720px; margin: 0; color: #607087; line-height: 1.75; }
.daily-visual { display: grid; grid-template-columns: .95fr 1.05fr; gap: 0; border-top: 1px solid var(--line); }
.daily-image { position: relative; min-height: 440px; margin: 0; overflow: hidden; background: #07162f; }
.daily-image img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.daily-image::after { content: ""; position: absolute; inset: auto 0 0; height: 38%; background: linear-gradient(0deg, rgba(5,13,28,.78), rgba(5,13,28,0)); }
.daily-image figcaption { position: absolute; left: 22px; right: 22px; bottom: 20px; z-index: 1; color: #fff; font-size: 18px; font-weight: 850; line-height: 1.45; }
.daily-path { padding: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-content: start; background: #fff; }
.path-card { position: relative; min-height: 150px; padding: 20px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 10px 26px rgba(32, 79, 142, .06); }
.path-card::after { content: ""; position: absolute; left: 34px; top: 50px; bottom: -16px; width: 1px; background: rgba(25,75,145,.16); }
.path-card:nth-last-child(2)::after { display: none; }
.path-card span { display: inline-grid; width: 30px; height: 30px; margin-bottom: 16px; place-items: center; border-radius: 50%; color: #fff; background: var(--panel-color); font: 800 12px ui-monospace, monospace; }
.path-card b { display: block; color: #17233a; font-size: 16px; line-height: 1.35; }
.path-card p { margin: 10px 0 0; color: #607087; font-size: 14px; line-height: 1.7; }
.path-output { grid-column: 1 / -1; min-height: 122px; padding: 24px; display: flex; flex-direction: column; justify-content: center; border-radius: 8px; color: #fff; background: var(--panel-color); }
.path-output small { color: rgba(255,255,255,.72); font-size: 13px; font-weight: 850; }
.path-output strong { margin-top: 9px; font-size: 24px; line-height: 1.35; }

.teaching-support-section { border-block: 1px solid var(--line); background: #f7faff; }
.teaching-kit { padding: 0; }
.teaching-kit > header { margin-bottom: 30px; display: block; text-align: center; }
.teaching-kit h3 { margin: 12px 0 0; font-size: 36px; line-height: 1.25; }
.teaching-kit > header p { max-width: 700px; margin: 13px auto 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.teaching-path-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.teaching-stage { --stage-color: var(--blue); --stage-soft: #eaf3ff; position: relative; min-width: 0; overflow: visible; border: 1px solid color-mix(in srgb, var(--stage-color) 25%, white); border-radius: 8px; background: #fff; box-shadow: 0 14px 34px rgba(32,79,142,.08); }
.teaching-stage.stage-green { --stage-color: #3cac72; --stage-soft: #eaf8f0; }
.teaching-stage.stage-orange { --stage-color: #f28b25; --stage-soft: #fff3e6; }
.teaching-stage > header { min-height: 64px; padding: 12px 18px; display: flex; align-items: center; gap: 10px; border-radius: 7px 7px 0 0; color: #fff; background: var(--stage-color); }
.teaching-stage > header .stage-icon { width: 38px; height: 38px; display: grid; flex: 0 0 38px; place-items: center; border-radius: 50%; color: var(--stage-color); background: #fff; }
.teaching-stage > header svg { width: 21px; height: 21px; }
.teaching-stage > header b { font: 850 12px ui-monospace, monospace; opacity: .78; }
.teaching-stage > header strong { font-size: 17px; }
.teaching-stage:not(:last-child)::after { content: "›"; position: absolute; right: -17px; top: 16px; z-index: 2; color: var(--stage-color); font-size: 30px; font-weight: 800; line-height: 1; }
.stage-items { padding: 8px 18px 12px; }
.stage-items article { min-height: 106px; padding: 18px 0; display: grid; grid-template-columns: 46px minmax(0, 1fr); align-items: start; gap: 13px; border-bottom: 1px solid var(--line); }
.stage-items article:last-child { border-bottom: 0; }
.stage-items i { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 8px; color: var(--stage-color); background: var(--stage-soft); font-style: normal; }
.stage-items svg { width: 23px; height: 23px; }
.stage-items article > div { min-width: 0; display: grid; gap: 7px; }
.stage-items strong { font-size: 14px; line-height: 1.4; }
.stage-items span { color: var(--muted); font-size: 12px; line-height: 1.65; }
.teaching-stage svg, .teaching-loop svg, .teaching-benefits svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.teaching-loop { width: fit-content; max-width: 100%; min-height: 48px; margin: 20px auto 16px; padding: 10px 18px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid rgba(23,100,232,.22); border-radius: 7px; color: var(--blue); background: #fff; box-shadow: 0 8px 22px rgba(32,79,142,.06); }
.teaching-loop svg { width: 21px; height: 21px; flex: 0 0 21px; }
.teaching-loop strong { font-size: 14px; line-height: 1.5; }
.teaching-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.teaching-benefits span { position: relative; min-width: 0; min-height: 64px; padding: 12px 16px; display: flex; align-items: center; justify-content: center; gap: 9px; color: #455a76; text-align: center; font-size: 13px; font-weight: 800; line-height: 1.4; }
.teaching-benefits span:not(:last-child)::after { content: "›"; position: absolute; right: -4px; color: #9db9df; font-size: 20px; }
.teaching-benefits svg { width: 23px; height: 23px; flex: 0 0 23px; color: var(--blue); }

.projects-section { background: #fff; }
.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.project-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.project-card:hover { transform: translateY(-4px); border-color: rgba(23,100,232,.34); box-shadow: 0 24px 60px rgba(32, 79, 142, .15); }
.project-media { position: relative; aspect-ratio: 16 / 8.7; overflow: hidden; background: #081020; }
.project-media img { height: 100%; object-fit: cover; object-position: center top; transition: transform .35s ease; }
.project-card:hover .project-media img { transform: scale(1.04); }
.project-media::after { content: ""; position: absolute; inset: auto 0 0; height: 45%; background: linear-gradient(0deg, rgba(5,13,28,.76), rgba(5,13,28,0)); }
.project-media > span { position: absolute; left: 12px; bottom: 11px; z-index: 1; padding: 6px 8px; border-radius: 3px; color: #dff8ff; background: rgba(4,13,29,.82); font: 750 10px ui-monospace, monospace; }
.project-body { min-height: 220px; padding: 22px; display: flex; flex-direction: column; }
.project-body small { color: var(--blue); font-size: 11px; font-weight: 800; }
.project-body h3 { margin: 10px 0 8px; font-size: 20px; }
.project-body p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.project-tags { margin-top: 16px; display: grid; gap: 7px; }
.project-tags span { padding: 8px 10px; border-radius: 5px; color: #405573; background: #f2f6fb; font-size: 12px; font-weight: 800; line-height: 1.35; }
.online-card-section { margin-top: 28px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #f3f7fc; }
.online-card-section header { margin-bottom: 20px; display: grid; grid-template-columns: .75fr 1.25fr; align-items: end; gap: 30px; }
.online-card-section h3 { margin: 10px 0 0; font-size: 30px; line-height: 1.2; }
.online-card-section p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.material-group-head { margin: 28px 0 16px; padding-top: 22px; display: grid; grid-template-columns: 180px 1fr; align-items: start; gap: 24px; border-top: 1px solid var(--line); }
.material-group-head > span { color: var(--blue-dark); font-size: 15px; font-weight: 900; }
.material-group-head > p { max-width: 680px; }
.online-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.online-card { min-width: 0; overflow: hidden; display: grid; grid-template-rows: auto 1fr; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.online-card figure { position: relative; min-height: 0; aspect-ratio: 16 / 7.5; margin: 0; overflow: hidden; background: #07162f; }
.online-card figure img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .35s ease; }
.online-card:hover figure img { transform: scale(1.04); }
.online-card figure::after { content: ""; position: absolute; inset: auto 0 0; height: 46%; background: linear-gradient(0deg, rgba(5,13,28,.76), rgba(5,13,28,0)); }
.online-card figcaption { position: absolute; left: 18px; bottom: 16px; z-index: 1; color: #fff; font-size: 20px; font-weight: 900; }
.online-card-body { padding: 26px; display: flex; min-width: 0; flex-direction: column; }
.online-card-body small { color: var(--blue); font: 850 11px ui-monospace, monospace; }
.online-card-body h4 { margin: 12px 0 10px; color: #10213f; font-size: 24px; line-height: 1.35; }
.online-card-body p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.task-preview-grid { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.task-shot { min-width: 0; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; color: #405573; text-align: left; background: #fff; box-shadow: 0 10px 22px rgba(32,79,142,.08); }
.task-shot:hover { border-color: rgba(23,100,232,.38); transform: translateY(-2px); }
.task-shot img { width: 100%; aspect-ratio: 1280 / 900; height: auto; object-fit: contain; object-position: center; background: #eef3f8; }
.task-shot span { display: block; padding: 9px 10px; font-size: 12px; font-weight: 850; }
.online-actions { margin-top: auto; padding-top: 20px; display: flex; flex-wrap: wrap; gap: 10px; }
.demo-link, .sample-link { min-height: 40px; padding: 0 13px; display: inline-flex; align-items: center; justify-content: center; border-radius: 5px; font-size: 14px; font-weight: 850; }
.demo-link { color: #fff; background: var(--blue); }
.sample-link { color: var(--blue); border: 1px solid rgba(23,100,232,.24); background: #f7faff; }
.course-tool-section { margin-top: 34px; }
.course-tool-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.course-tool-card { min-width: 0; min-height: 238px; padding: 0; overflow: hidden; display: grid; grid-template-columns: 1.08fr .92fr; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); text-align: left; background: #fff; box-shadow: 0 12px 30px rgba(32,79,142,.07); }
.course-tool-card:hover { border-color: rgba(23,100,232,.38); transform: translateY(-2px); }
.course-tool-preview { min-width: 0; padding: 12px; display: grid; place-items: center; background: #e8eef5; }
.course-tool-preview img { width: 100%; height: 214px; object-fit: contain; object-position: center; }
.course-tool-copy { padding: 22px 20px; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.course-tool-copy b { color: var(--blue); font: 850 11px ui-monospace, monospace; }
.course-tool-copy strong { margin-top: 11px; font-size: 16px; line-height: 1.45; }
.course-tool-copy small { margin-top: 10px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.course-tool-copy em { margin-top: auto; padding-top: 16px; color: var(--blue); font-size: 12px; font-style: normal; font-weight: 850; }

.problem-solving-section { border-top: 1px solid var(--line); background: #f5f9ff; }
.problem-solving-section .section-head > p { max-width: 700px; }
.outcome-framework { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.outcome-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.outcome-art { height: 220px; background-repeat: no-repeat; background-size: 369% auto; }
.outcome-think .outcome-art { background-position: 11% 37%; }
.outcome-create .outcome-art { background-position: 49.5% 37%; }
.outcome-grow .outcome-art { background-position: 88.5% 37%; }
.outcome-copy { min-height: 218px; padding: 22px 22px 18px; display: flex; flex-direction: column; }
.outcome-copy h3 { margin: 0; font-size: 20px; line-height: 1.4; }
.outcome-card { --outcome-accent: var(--blue); }
.outcome-create { --outcome-accent: #7657eb; }
.outcome-grow { --outcome-accent: #20b9ce; }
.outcome-points, .outcome-statements { min-height: 83px; margin-top: 16px; display: grid; align-content: stretch; gap: 8px; }
.outcome-points { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.outcome-points span, .outcome-statements span { min-width: 0; min-height: 37px; padding: 7px 9px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid rgba(23,100,232,.14); border-radius: 6px; color: #38506f; text-align: center; background: #f5f9ff; font-size: 11px; font-weight: 800; line-height: 1.35; }
.outcome-points svg, .outcome-statements svg { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: var(--outcome-accent); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.six-points { grid-template-columns: repeat(3, 1fr); }
.outcome-create .outcome-points span { min-height: 83px; flex-direction: column; gap: 9px; background: #faf8ff; }
.outcome-create .outcome-points svg { width: 24px; height: 24px; flex-basis: 24px; }
.outcome-statements { grid-template-columns: 1fr; }
.outcome-statements span { justify-content: flex-start; padding-inline: 14px; text-align: left; background: #f3fcfd; }
.outcome-statements svg { width: 22px; height: 22px; flex-basis: 22px; }
.outcome-copy > b { margin-top: auto; padding-top: 16px; display: flex; align-items: center; gap: 10px; color: var(--blue); font: 850 11px ui-monospace, monospace; }
.outcome-copy > b::before, .outcome-copy > b::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.outcome-create .outcome-copy > b { color: #8465eb; }
.outcome-grow .outcome-copy > b { color: #2bb9cb; }

.evidence-section { border-top: 1px solid var(--line); background: #fff; }
.evidence-section .section-head > p { max-width: 680px; }
.evidence-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.evidence-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.evidence-report { border-color: rgba(23,100,232,.48); box-shadow: 0 18px 46px rgba(23,100,232,.14); }
.evidence-visual { position: relative; height: 280px; padding: 24px; overflow: hidden; background: #edf4ff; }
.evidence-visual.has-image { padding: 0; background: #edf4ff; }
.evidence-visual.has-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.evidence-process .evidence-visual { background: #eef8f2; }
.evidence-report .evidence-visual { background: #eef9fb; }
.evidence-visual > span { position: absolute; left: 20px; bottom: 17px; z-index: 2; padding: 7px 9px; border-radius: 4px; color: #fff; background: rgba(16,33,63,.78); font-size: 11px; font-weight: 850; }
.placeholder-panels { position: relative; height: 205px; }
.placeholder-panels i { position: absolute; width: 68%; height: 150px; border: 1px solid rgba(23,100,232,.22); border-radius: 7px; background: rgba(255,255,255,.82); box-shadow: 0 12px 24px rgba(32,79,142,.1); }
.placeholder-panels i:nth-child(1) { left: 0; top: 0; }
.placeholder-panels i:nth-child(2) { left: 17%; top: 24px; }
.placeholder-panels i:nth-child(3) { left: 32%; top: 48px; background: #dcecff; }
.placeholder-panels i::before { content: ""; position: absolute; inset: 14px 14px auto; height: 76px; border-radius: 4px; background: rgba(23,100,232,.13); }
.placeholder-flow { height: 58px; display: flex; align-items: center; justify-content: space-between; }
.placeholder-flow i { position: relative; width: 30px; height: 30px; border: 7px solid #fff; border-radius: 50%; background: #65a4f4; box-shadow: 0 0 0 1px rgba(23,100,232,.14); }
.placeholder-flow i:not(:last-child)::after { content: ""; position: absolute; left: 28px; top: 7px; width: 30px; height: 2px; background: rgba(23,100,232,.25); }
.placeholder-board { margin-top: 12px; padding: 15px; display: grid; gap: 10px; border: 1px solid rgba(25,75,145,.15); border-radius: 7px; background: rgba(255,255,255,.86); }
.placeholder-board i { height: 15px; border-radius: 3px; background: #dce9f7; }
.placeholder-board i:nth-child(2) { width: 84%; }
.placeholder-board i:nth-child(3) { width: 68%; }
.placeholder-board i:nth-child(4) { width: 48%; }
.placeholder-report { height: 202px; padding: 16px; display: grid; grid-template-columns: .9fr 1.1fr; grid-template-rows: 1fr 1fr; gap: 10px; border: 1px solid rgba(23,100,232,.2); border-radius: 7px; background: rgba(255,255,255,.88); }
.placeholder-report i { border-radius: 5px; background: #ddecf9; }
.placeholder-report i:first-child { grid-row: 1 / 3; background: #cce9f3; }
.evidence-copy { min-height: 210px; padding: 24px; }
.evidence-copy small { color: var(--blue); font: 850 11px ui-monospace, monospace; }
.evidence-copy h3 { margin: 13px 0 10px; font-size: 21px; line-height: 1.4; }
.evidence-copy p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.evidence-deliverables { margin-top: 20px; padding: 18px 24px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; border: 1px solid var(--line); border-radius: var(--radius); background: #f7faff; }
.evidence-deliverables span { min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 10px; color: #435872; font-size: 14px; font-weight: 850; }
.evidence-deliverables b { color: var(--blue); font: 850 11px ui-monospace, monospace; }

.growth-report-showcase { overflow: hidden; display: grid; grid-template-columns: 1.08fr .92fr; border: 1px solid rgba(23,100,232,.18); border-radius: var(--radius); background: #fff; box-shadow: 0 20px 52px rgba(32,79,142,.11); }
.growth-report-showcase figure { min-width: 0; height: 500px; margin: 0; padding: 26px; display: flex; align-items: center; justify-content: center; overflow: hidden; border-right: 1px solid rgba(23,100,232,.13); background: #eef5ff; }
.growth-report-showcase figure img { width: 100%; height: 100%; object-fit: contain; object-position: center; border-radius: 5px; box-shadow: 0 12px 32px rgba(32,79,142,.12); }
.growth-report-copy { min-width: 0; padding: 46px 42px 40px; display: flex; flex-direction: column; justify-content: center; }
.report-label { width: fit-content; padding: 7px 10px; border-radius: 4px; color: var(--blue); background: var(--blue-light); font-size: 13px; font-weight: 850; }
.growth-report-copy h3 { margin: 18px 0 12px; font-size: 30px; line-height: 1.35; }
.growth-report-copy > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.report-points { margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.report-points > div { min-width: 0; min-height: 76px; padding: 13px 12px; display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 10px; border: 1px solid rgba(23,100,232,.11); border-radius: 6px; background: #f8fbff; }
.report-points b { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--blue); font: 850 12px ui-monospace, monospace; }
.report-points span { min-width: 0; display: grid; gap: 4px; }
.report-points strong { font-size: 13px; }
.report-points small { color: #7a879a; font-size: 13px; line-height: 1.4; }
.report-summary { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--blue); font-size: 13px; line-height: 1.5; }

.student-work-section { padding-top: 88px; background: #fff; }
.student-work-card { min-height: 400px; overflow: hidden; display: grid; grid-template-columns: .84fr 1.16fr; border: 1px solid rgba(23,100,232,.18); border-radius: var(--radius); background: #f4f8ff; box-shadow: 0 18px 46px rgba(32,79,142,.09); transition: transform .2s ease, box-shadow .2s ease; }
.student-work-card:hover { transform: translateY(-4px); box-shadow: 0 24px 58px rgba(32,79,142,.14); }
.student-work-copy { min-width: 0; padding: 48px 42px; display: flex; flex-direction: column; justify-content: center; }
.student-work-copy h2 { margin: 15px 0 14px; font-size: 36px; line-height: 1.25; }
.student-work-copy > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.student-work-tags { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 8px; }
.student-work-tags span { padding: 8px 11px; border: 1px solid rgba(23,100,232,.12); border-radius: 5px; color: #3263a0; background: #fff; font-size: 13px; font-weight: 850; }
.student-work-button { width: fit-content; min-height: 44px; margin-top: 28px; padding: 0 17px; display: inline-flex; align-items: center; gap: 10px; border-radius: 5px; color: #fff; background: var(--blue); font-size: 13px; font-weight: 850; box-shadow: 0 10px 22px rgba(23,100,232,.2); }
.student-work-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.student-work-card:hover .student-work-button svg { transform: translateX(3px); }
.student-work-card figure { min-width: 0; height: 100%; margin: 0; overflow: hidden; background: #0b4bb7; }
.student-work-card figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.student-projects-head { max-width: 980px; margin-inline: auto; margin-bottom: 56px; }
.student-projects-head h2 { max-width: 980px; margin-inline: auto; font-size: 38px; line-height: 1.34; text-wrap: balance; }
.student-projects-head > p { max-width: 760px; margin-top: 20px; font-size: 16px; line-height: 1.9; text-wrap: balance; }
.student-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.student-project-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.student-project-card:hover { transform: translateY(-5px); border-color: rgba(23,100,232,.34); box-shadow: 0 24px 56px rgba(32,79,142,.15); }
.student-project-card figure { position: relative; aspect-ratio: 16 / 9; margin: 0; overflow: hidden; background: #eaf1fb; }
.student-project-card figure::after { content: ""; position: absolute; inset: auto 0 0; height: 28%; background: linear-gradient(0deg, rgba(7,22,47,.2), transparent); }
.student-project-card figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .35s ease; }
.student-project-card:hover figure img { transform: scale(1.035); }
.student-project-card > div { min-height: 170px; padding: 20px 20px 18px; display: flex; flex-direction: column; align-items: flex-start; }
.student-project-card small { color: var(--blue); font-size: 11px; font-weight: 850; }
.student-project-card h3 { margin: 9px 0 8px; font-size: 20px; line-height: 1.35; }
.student-project-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.student-project-card span { margin-top: auto; padding-top: 17px; display: inline-flex; align-items: center; gap: 7px; color: var(--blue); font-size: 13px; font-weight: 850; }
.student-project-card span b { font-size: 14px; }
.student-projects-more { margin-top: 30px; display: flex; justify-content: center; }
.student-projects-more .button { min-height: 46px; display: inline-flex; align-items: center; gap: 10px; }
.student-community-wide-section { overflow: hidden; background: #071d40; }
.student-community-wide-card { position: relative; min-height: 560px; display: grid; align-items: center; color: #fff; text-decoration: none; }
.student-community-wide-card figure { position: absolute; inset: 0; margin: 0; overflow: hidden; background: #071d40; }
.student-community-wide-card figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,19,45,.94) 0%, rgba(4,19,45,.76) 42%, rgba(4,19,45,.18) 100%); }
.student-community-wide-card img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(1.02) brightness(.82); transform: scale(1.02); transition: transform .55s ease, filter .55s ease; }
.student-community-wide-card:hover img { filter: saturate(1.08) brightness(.9); transform: scale(1); }
.student-community-wide-copy { position: relative; z-index: 1; display: grid; justify-items: start; }
.student-community-wide-copy .kicker { color: #7ddcff; }
.student-community-wide-copy h2 { max-width: 680px; margin: 15px 0 14px; font-size: 42px; line-height: 1.18; }
.student-community-wide-copy p { max-width: 560px; margin: 0; color: rgba(235,246,255,.78); font-size: 15px; line-height: 1.8; }
.student-community-wide-copy strong { min-height: 46px; margin-top: 28px; padding: 0 18px; display: inline-flex; align-items: center; gap: 9px; border-radius: 6px; color: #0f4bb2; background: #fff; font-size: 14px; font-weight: 850; box-shadow: 0 12px 28px rgba(0,12,34,.22); }
.student-community-wide-copy b { font-size: 15px; }
@media (min-width: 1001px) {
  .student-project-grid > .student-project-card:last-child:nth-child(3n + 1) { grid-column: 2; }
}
@media (min-width: 621px) and (max-width: 1000px) {
  .student-project-grid > .student-project-card:last-child:nth-child(2n + 1) { width: calc(50% - 9px); grid-column: 1 / -1; justify-self: center; }
}

.support-section { background: #fff; }
.classroom-story { width: min(1040px, 100%); margin-inline: auto; overflow: hidden; border-block: 1px solid var(--line); background: #fff; }
.story-slides { position: relative; background: #fff; }
.story-slide { position: relative; min-height: 420px; overflow: hidden; grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr); }
.story-slide.active { display: grid; }
.story-slide[hidden] { display: none; }
.story-slide figure { min-width: 0; min-height: 0; margin: 0; overflow: hidden; background: #e8eef6; }
.story-slide figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
#story-panel-5 figure img { object-position: 42% center; }
.story-copy { min-width: 0; min-height: 420px; padding: 56px 48px; display: flex; flex-direction: column; justify-content: center; color: var(--ink); background: #fff; }
.story-count { color: var(--orange); font: 900 27px ui-monospace, monospace; }
.story-count i { color: #9aa7b8; font-size: 13px; font-style: normal; }
.story-copy h3 { margin: 18px 0 15px; font-size: 38px; line-height: 1.2; }
.story-copy p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.story-copy ul { margin: 22px 0 0; padding: 0; display: grid; gap: 10px; list-style: none; }
.story-copy li { position: relative; padding-left: 22px; color: #354b68; font-size: 13px; line-height: 1.55; }
.story-copy li::before { content: ""; position: absolute; left: 0; top: .55em; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); }
.story-controls { position: absolute; right: 28px; top: 25px; z-index: 2; display: flex; gap: 8px; }
.story-controls button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: #53657d; background: rgba(255,255,255,.9); }
.story-controls button:hover { color: #fff; border-color: var(--orange); background: var(--orange); }
.story-controls svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.story-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid var(--line); background: #fff; }
.story-steps button { min-width: 0; min-height: 76px; padding: 13px 10px; display: flex; align-items: center; justify-content: center; gap: 9px; border: 0; border-bottom: 3px solid transparent; color: #7c8aa0; text-align: left; background: transparent; }
.story-steps button.active { color: var(--orange); border-bottom-color: var(--orange); }
.story-steps b { color: inherit; font: 850 12px ui-monospace, monospace; }
.story-steps span { min-width: 0; display: grid; gap: 3px; }
.story-steps strong { color: inherit; font-size: 13px; line-height: 1.35; }
.story-steps small { color: #9aa5b5; font-size: 12px; line-height: 1.35; }
.classroom-practice { width: min(1040px, 100%); margin: 82px auto 0; padding-top: 68px; border-top: 1px solid var(--line); }
.classroom-practice-head { margin-bottom: 24px; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.classroom-practice-head h3 { margin: 13px 0 0; font-size: 35px; line-height: 1.25; }
.classroom-practice-head > p { margin: 0; color: var(--muted); font-size: 13px; }
.practice-tabs { margin-bottom: 22px; display: flex; gap: 34px; border-bottom: 1px solid var(--line); }
.practice-tabs button { min-height: 48px; padding: 0 2px; border: 0; border-bottom: 3px solid transparent; color: #6f7d91; background: transparent; font-size: 13px; font-weight: 850; }
.practice-tabs button.active { color: var(--orange); border-bottom-color: var(--orange); }
.practice-panel[hidden] { display: none; }
.practice-panel.active { animation: practice-in .35s ease both; }
@keyframes practice-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.practice-feature { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr); align-items: stretch; gap: 28px; }
.practice-feature > figure { min-height: 370px; margin: 0; overflow: hidden; border-radius: 7px; background: #e9eef5; }
.practice-feature > figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.practice-summary { align-self: center; padding: 20px 6px; }
.practice-summary > small { color: var(--orange); font: 850 11px ui-monospace, monospace; }
.practice-summary h4 { margin: 14px 0 12px; font-size: 30px; line-height: 1.3; }
.practice-summary > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.practice-stats { margin-top: 26px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.practice-stats span { min-width: 0; padding: 0 15px; display: grid; gap: 5px; border-left: 1px solid var(--line); }
.practice-stats span:first-child { padding-left: 0; border-left: 0; }
.practice-stats strong { color: var(--orange); font-size: 34px; line-height: 1; }
.practice-stats small { color: #69788e; font-size: 12px; white-space: nowrap; }
.practice-links { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 9px; }
.practice-links a { min-height: 40px; padding: 0 14px; display: inline-flex; align-items: center; border: 1px solid rgba(244,118,33,.35); border-radius: 5px; color: #df6311; font-size: 13px; font-weight: 850; }
.practice-links a:hover { color: #fff; border-color: var(--orange); background: var(--orange); }
.practice-gallery { margin-top: 12px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.practice-gallery-single { grid-template-columns: 1fr; }
.practice-gallery-single figure { height: 270px; }
.practice-gallery figure { position: relative; min-width: 0; height: 220px; margin: 0; overflow: hidden; border-radius: 7px; background: #e9eef5; }
.practice-gallery img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .45s cubic-bezier(.2,.72,.2,1); }
.practice-gallery figure:hover img { transform: scale(1.025); }
.practice-gallery figure::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(0deg, rgba(5,18,39,.7), transparent); }
.practice-gallery figcaption { position: absolute; z-index: 1; left: 14px; bottom: 12px; color: #fff; font-size: 13px; font-weight: 850; }
#practice-panel-zju-2 .practice-feature > figure img { object-position: center 18%; }
#practice-panel-zju-1 .practice-gallery-single,
#practice-panel-zju-2 .practice-gallery-single { width: min(100%, 680px); margin-left: 0; }
#practice-panel-zju-1 .practice-gallery-single figure,
#practice-panel-zju-2 .practice-gallery-single figure { width: 100%; height: auto; aspect-ratio: 3 / 2; }
#practice-panel-zju-2 .practice-gallery-single img { object-position: center; }
.assurance-grid { margin-top: 18px; display: grid; grid-template-columns: .75fr 1.25fr; gap: 18px; }
.fit-card, .faq-block { padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.fit-card h3 { margin: 18px 0 12px; font-size: 30px; }
.fit-card > p { color: var(--muted); font-size: 14px; line-height: 1.8; }
.fit-card dl { margin: 28px 0 0; }
.fit-card dl div { padding: 14px 0; display: flex; justify-content: space-between; border-top: 1px solid var(--line); }
.fit-card dt { color: var(--muted); font-size: 12px; }
.fit-card dd { margin: 0; color: var(--blue-dark); font-size: 13px; font-weight: 800; }
.faq-block > .kicker { margin-bottom: 16px; }
.faq-block details { border-top: 1px solid var(--line); }
.faq-block summary { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 18px; list-style: none; font-size: 13px; font-weight: 750; cursor: pointer; }
.faq-block summary::-webkit-details-marker { display: none; }
.faq-block summary span { font-size: 19px; font-weight: 400; }
.faq-block details[open] summary span { transform: rotate(45deg); }
.faq-block details p { margin: 0; padding: 0 40px 18px 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.site-footer { padding-top: 58px; color: rgba(255,255,255,.72); background: #0b1328; }
.footer-main { display: grid; grid-template-columns: minmax(260px, 1.35fr) .72fr .9fr 132px; gap: 54px; align-items: start; padding-bottom: 48px; }
.footer-brand { min-width: 0; }
.footer-brand-row { display: flex; align-items: center; gap: 13px; }
.footer-brand-mark { width: 50px; height: 50px; display: grid; place-items: center; flex: 0 0 50px; border-radius: 8px; color: #1764e8; background: #fff; font-size: 16px; font-weight: 900; }
.footer-brand-row > div { display: grid; gap: 2px; }
.footer-brand-row strong { color: #fff; font-size: 24px; line-height: 1.2; }
.footer-brand-row small { color: #7ba9ee; font-size: 12px; font-weight: 800; letter-spacing: 0; }
.footer-brand p { max-width: 410px; margin: 20px 0 0; color: rgba(255,255,255,.58); font-size: 13px; line-height: 1.8; }
.footer-links, .footer-course, .footer-follow { display: grid; align-content: start; gap: 12px; }
.footer-links > strong, .footer-course > strong, .footer-follow > strong { margin-bottom: 5px; color: #fff; font-size: 15px; }
.footer-links a, .footer-course span { color: rgba(255,255,255,.64); font-size: 13px; line-height: 1.55; }
.footer-links a:hover { color: #fff; }
.footer-follow { justify-items: start; }
.footer-qr-image { width: 110px; height: 110px; padding: 5px; border-radius: 6px; object-fit: contain; background: #fff; }
.footer-follow small { color: rgba(255,255,255,.58); font-size: 13px; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); }
.footer-bottom .wrap { min-height: 68px; display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.38); font-size: 14px; }
.footer-bottom a { color: rgba(255,255,255,.62); }

.material-dialog { width: min(94vw, 1180px); height: min(90vh, 820px); padding: 36px; border: 0; border-radius: var(--radius); background: #eef3fa; box-shadow: 0 30px 100px rgba(0,0,0,.4); }
.material-dialog::backdrop { background: rgba(3,10,22,.8); backdrop-filter: blur(5px); }
.material-dialog img { width: 100%; height: calc(100% - 25px); object-fit: contain; }
.material-dialog p { margin: 8px 0 0; color: var(--muted); text-align: center; font-size: 12px; }
.dialog-close { position: absolute; right: 10px; top: 8px; width: 36px; height: 36px; border: 0; border-radius: 50%; color: #fff; background: #10213f; font-size: 23px; }

.audience-section { border-top: 1px solid var(--line); background: #f5f9ff; }
.audience-section .section-head > p, .core-capabilities-section .section-head > p, .course-schedule-section .section-head > p { max-width: 720px; }
.audience-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.audience-card { --audience-color: var(--blue); min-width: 0; padding: 24px 22px 20px; display: flex; flex-direction: column; border: 1px solid var(--line); border-top: 4px solid var(--audience-color); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.audience-parent { --audience-color: #18a777; }
.audience-school { --audience-color: #f28b25; }
.audience-card > header { min-height: 60px; padding-bottom: 8px; display: flex; align-items: center; gap: 13px; }
.audience-icon { width: 50px; height: 50px; display: grid; flex: 0 0 50px; place-items: center; border-radius: 9px; color: var(--audience-color); background: color-mix(in srgb, var(--audience-color) 10%, white); }
.audience-icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.audience-card header small { display: block; margin-bottom: 5px; color: var(--audience-color); font: 850 12px ui-monospace, monospace; }
.audience-card h3 { margin: 0; font-size: 23px; line-height: 1.25; }
.audience-illustration { height: 190px; margin: 4px 0 2px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--audience-color) 10%, white); border-radius: 7px; background: color-mix(in srgb, var(--audience-color) 4%, white); }
.audience-illustration img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.audience-benefits { padding: 13px 0 12px; display: grid; align-content: center; gap: 8px; }
.audience-benefit { min-width: 0; min-height: 48px; display: grid; grid-template-columns: 43px minmax(0, 1fr); align-items: center; gap: 11px; }
.audience-benefit > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--audience-color); box-shadow: 0 7px 16px color-mix(in srgb, var(--audience-color) 16%, transparent); }
.audience-benefit svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.audience-benefit strong { font-size: 17px; line-height: 1.35; }
.audience-tags { min-height: 40px; margin-top: 2px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.audience-tags span { min-width: 0; min-height: 40px; padding: 8px 7px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid color-mix(in srgb, var(--audience-color) 14%, white); border-radius: 6px; color: var(--audience-color); text-align: center; background: color-mix(in srgb, var(--audience-color) 8%, white); box-shadow: inset 0 1px 0 rgba(255,255,255,.75); font-size: 13px; font-weight: 850; line-height: 1.35; }
.audience-tags span::before { content: ""; width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: var(--audience-color); }

.cultivation-section { position: relative; overflow: hidden; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, #fff 0%, #f4f8fd 100%); }
.cultivation-head > p { max-width: 700px; }
.cultivation-stage-grid { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: 14px; }
.cultivation-stage-grid::before { content: ""; position: absolute; left: 4%; right: 2%; top: 24px; height: 5px; border-radius: 999px; background: linear-gradient(90deg, rgba(23,100,232,.18), rgba(34,180,202,.42), rgba(118,87,235,.5), rgba(244,118,33,.65)); transform: rotate(-4deg); transform-origin: left center; }
.cultivation-stage-grid::after { content: ""; position: absolute; right: 1.2%; top: 6px; width: 0; height: 0; border-left: 19px solid #f47621; border-top: 12px solid transparent; border-bottom: 12px solid transparent; transform: rotate(-4deg); }
.cultivation-stage { --stage-color: var(--blue); --stage-soft: #eaf3ff; position: relative; z-index: 1; min-width: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--stage-color) 24%, white); border-radius: var(--radius); background: #fff; box-shadow: 0 16px 38px rgba(32,79,142,.08); }
.stage-application { --stage-color: #22b4ca; --stage-soft: #e7f9fb; margin-top: 22px; }
.stage-creation { --stage-color: #7657eb; --stage-soft: #f0ecff; margin-top: 44px; }
.stage-innovation { --stage-color: #f47621; --stage-soft: #fff0e5; margin-top: 66px; }
.cultivation-stage-top { min-height: 154px; padding: 24px 22px 21px; display: grid; align-content: end; color: #fff; background: linear-gradient(135deg, color-mix(in srgb, var(--stage-color) 92%, #143c72), var(--stage-color)); }
.cultivation-stage-top span { font: 900 54px/1 ui-monospace, monospace; opacity: .88; }
.cultivation-stage-top h3 { margin: 10px 0 12px; font-size: 30px; line-height: 1.1; }
.cultivation-stage-top b { width: max-content; max-width: 100%; padding: 7px 13px; border-radius: 5px; color: var(--stage-color); background: #fff; font-size: 15px; line-height: 1.2; }
.cultivation-stage dl { margin: 0; padding: 0; }
.cultivation-stage dl > div { min-height: 82px; padding: 17px 18px; display: grid; align-content: center; gap: 7px; background: color-mix(in srgb, var(--stage-soft) 72%, white); }
.cultivation-stage dl > div:not(:last-child) { border-bottom: 1px solid color-mix(in srgb, var(--stage-color) 15%, white); }
.cultivation-stage dt { color: color-mix(in srgb, var(--stage-color) 82%, #203a5c); font-size: 14px; font-weight: 900; }
.cultivation-stage dd { margin: 0; color: #334b69; font-size: 14px; font-weight: 760; line-height: 1.55; }
.cultivation-support { margin-top: 18px; padding: 15px 18px; display: grid; grid-template-columns: 110px repeat(4, minmax(0, 1fr)); gap: 10px; align-items: center; border-radius: var(--radius); color: #fff; background: #0c2d64; box-shadow: 0 16px 38px rgba(11,60,145,.12); }
.cultivation-support strong { font-size: 15px; }
.cultivation-support span { min-width: 0; padding: 10px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 6px; text-align: center; background: rgba(255,255,255,.08); font-size: 14px; font-weight: 850; line-height: 1.35; }
.cultivation-system-figure { width: min(1100px, 92%); margin: 0 auto; overflow: hidden; }
.cultivation-system-figure img { width: 100%; height: auto; }
.curriculum-method-figure { width: min(980px, 92%); margin: 34px auto 0; overflow: hidden; border-radius: var(--radius); }
.curriculum-method-figure img { width: 100%; height: auto; }


.course-project-wall-section { overflow: hidden; background: #071d40; }
.course-project-wall-link { position: relative; min-height: 560px; padding: 72px 20px 78px; overflow: hidden; display: grid; place-items: center; color: #fff; text-align: center; text-decoration: none; isolation: isolate; }
.course-project-wall-link::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(5,20,48,.78) 0%, rgba(5,20,48,.28) 42%, rgba(5,20,48,.9) 100%), radial-gradient(circle at 50% 40%, rgba(55,148,255,.28), transparent 42%); }
.course-project-wall-link::after { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(3,13,32,.28); backdrop-filter: blur(1px); }
.course-project-wall-grid { position: absolute; inset: 34px -22px; z-index: -2; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-content: center; gap: 16px; opacity: .88; }
.course-project-wall-grid img { width: 100%; height: 178px; object-fit: cover; border-radius: 8px; background: #15345f; box-shadow: 0 18px 46px rgba(0,10,32,.24); transform: translateY(var(--wall-y, 0)) rotate(var(--wall-r, 0deg)); }
.course-project-wall-grid img:nth-child(2n) { --wall-y: 12px; --wall-r: .7deg; }
.course-project-wall-grid img:nth-child(3n) { --wall-y: -10px; --wall-r: -.6deg; }
.course-project-wall-grid img:nth-child(5n) { --wall-y: 7px; --wall-r: -.4deg; }
.course-project-wall-copy { max-width: 860px; display: grid; justify-items: center; }
.course-project-wall-copy > span { color: #8be5ff; font-size: 15px; font-weight: 850; }
.course-project-wall-copy h2 { margin: 16px 0 16px; font-size: 52px; line-height: 1.16; text-wrap: balance; }
.course-project-wall-copy p { max-width: 560px; margin: 0; color: rgba(235,246,255,.78); font-size: 16px; line-height: 1.8; }
.course-project-wall-copy strong { min-height: 48px; margin-top: 30px; padding: 0 20px; display: inline-flex; align-items: center; gap: 10px; border-radius: 6px; color: #0f4bb2; background: #fff; font-size: 14px; font-weight: 850; box-shadow: 0 14px 34px rgba(0,12,34,.24); transition: transform .22s ease, box-shadow .22s ease; }
.course-project-wall-copy b { font-size: 16px; transition: transform .22s ease; }
.course-project-wall-link:hover .course-project-wall-copy strong { transform: translateY(-2px); box-shadow: 0 18px 42px rgba(0,12,34,.3); }
.course-project-wall-link:hover .course-project-wall-copy b { transform: translateX(4px); }

.capability-system-grid .capability-card { --capability-color: var(--blue); position: relative; border-color: rgba(25,75,145,.13); box-shadow: 0 16px 38px rgba(32,79,142,.08); transition: transform .2s ease, box-shadow .2s ease; }
.capability-system-grid .capability-card::before { content: ""; position: absolute; inset: 0 0 auto; z-index: 2; height: 4px; background: var(--capability-color); }
.capability-system-grid .capability-card:hover { transform: translateY(-4px); box-shadow: 0 22px 48px rgba(32,79,142,.13); }
.capability-system-grid .capability-curriculum { --capability-color: #18a777; }
.capability-system-grid .capability-tools { --capability-color: #f28b25; }
.capability-system-grid .capability-visual.has-image { height: 216px; border-bottom: 1px solid rgba(25,75,145,.1); background: #0d4ebb; }
.capability-system-grid .capability-visual.has-image img { object-fit: cover; object-position: center; }
.capability-system-grid .capability-copy { position: relative; min-height: 300px; padding: 24px 22px 22px; color: var(--ink); background: #fff; }
.capability-system-grid .capability-copy b { position: absolute; left: 22px; top: 23px; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 7px; color: #fff; background: var(--capability-color); font: 900 13px/1 ui-monospace, monospace; box-shadow: 0 7px 16px color-mix(in srgb, var(--capability-color) 22%, transparent); }
.capability-system-grid .capability-copy h3 { min-height: 36px; margin: 0 0 0 50px; display: flex; align-items: center; gap: 9px; color: var(--ink); font-size: 23px; line-height: 1.25; white-space: nowrap; }
.platform-purpose { display: inline-flex; align-items: center; min-height: 22px; padding: 2px 7px; border-radius: 4px; color: color-mix(in srgb, var(--capability-color, var(--blue)) 82%, #263f60); background: color-mix(in srgb, var(--capability-color, var(--blue)) 9%, white); font-size: 12px; font-style: normal; font-weight: 850; line-height: 1.2; white-space: nowrap; }
.capability-system-grid .capability-copy h4 { margin: 20px 0 9px; color: #294667; font-size: 16px; line-height: 1.4; }
.capability-system-grid .capability-copy p { min-height: 70px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.capability-system-grid .capability-copy ul { margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; list-style: none; }
.capability-system-grid .capability-copy li { min-width: 0; min-height: 40px; padding: 8px 7px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid color-mix(in srgb, var(--capability-color) 16%, white); border-radius: 6px; color: color-mix(in srgb, var(--capability-color) 82%, #253b57); text-align: center; background: color-mix(in srgb, var(--capability-color) 7%, white); box-shadow: inset 0 1px 0 rgba(255,255,255,.75); font-size: 14px; font-weight: 850; line-height: 1.35; }
.capability-system-grid .capability-copy li::before { content: ""; width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: var(--capability-color); }
.capability-conclusion { min-height: 64px; margin-top: 20px; padding: 14px 22px; display: flex; align-items: center; justify-content: center; gap: 16px; border: 1px solid rgba(23,100,232,.13); border-radius: var(--radius); color: #25476f; background: #fff; box-shadow: 0 10px 28px rgba(32,79,142,.05); }
.capability-conclusion span { color: var(--blue); font-size: 16px; }
.capability-conclusion strong { font-size: 16px; line-height: 1.5; text-align: center; }

.teaching-foundation-section { border-bottom: 1px solid var(--line); background: #fff; }
.teaching-foundation-section .section-head { margin-bottom: 34px; }
.teaching-foundation-section .section-head > p { max-width: 700px; }
.foundation-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.foundation-card { --foundation-color: #2666d8; min-width: 0; overflow: hidden; border: 1px solid rgba(25,75,145,.13); border-radius: var(--radius); background: #fff; box-shadow: 0 14px 36px rgba(32,79,142,.08); transition: transform .2s ease, box-shadow .2s ease; }
.foundation-card:hover { transform: translateY(-4px); box-shadow: 0 20px 46px rgba(32,79,142,.13); }
.foundation-curriculum { --foundation-color: #19966f; }
.foundation-tools { --foundation-color: #e68122; }
.foundation-hardware { --foundation-color: #7657eb; }
.foundation-card figure { position: relative; height: 184px; margin: 0; overflow: hidden; border-bottom: 1px solid rgba(25,75,145,.1); background: #edf4ff; }
.foundation-card figure::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: var(--foundation-color); }
.foundation-card figure img { width: 100%; height: 100%; padding: 6px; object-fit: contain; object-position: center; }
.foundation-copy { min-height: 208px; padding: 18px 18px 17px; display: flex; flex-direction: column; color: #fff; background: var(--foundation-color); }
.foundation-copy header { min-height: 42px; display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: center; gap: 10px; }
.foundation-copy header > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 6px; color: var(--foundation-color); background: #fff; box-shadow: 0 7px 16px rgba(13,46,94,.12); }
.foundation-copy svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.foundation-copy header div { min-width: 0; }
.foundation-copy small { display: block; margin-bottom: 4px; color: rgba(255,255,255,.72); font: 850 12px ui-monospace, monospace; }
.foundation-copy h3 { margin: 0; color: #fff; font-size: 19px; line-height: 1.25; }
.foundation-copy ul { margin: auto 0 0; padding: 0; overflow: hidden; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid rgba(255,255,255,.22); border-radius: 6px; background: rgba(255,255,255,.1); list-style: none; }
.foundation-copy li { position: relative; min-width: 0; min-height: 42px; padding: 8px 4px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 0; color: #fff; text-align: center; background: transparent; box-shadow: none; font-size: 14px; font-weight: 850; line-height: 1.35; }
.foundation-copy li::before { display: none; }
.foundation-copy li:not(:last-child) { border-right: 1px solid rgba(255,255,255,.2); }
.technology-strip { margin-top: 22px; padding: 22px; display: grid; grid-template-columns: 230px 1fr; align-items: stretch; gap: 22px; border: 1px solid rgba(23,100,232,.18); border-radius: var(--radius); background: #0c2d64; box-shadow: 0 16px 38px rgba(11,60,145,.12); }
.technology-intro { padding: 4px 22px 4px 4px; display: grid; align-content: center; border-right: 1px solid rgba(255,255,255,.16); }
.technology-intro small { color: #7edbff; font: 850 10px ui-monospace, monospace; }
.technology-intro strong { margin-top: 7px; color: #fff; font-size: 19px; }
.technology-intro p { margin: 7px 0 0; color: rgba(255,255,255,.62); font-size: 11px; line-height: 1.6; }
.technology-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.technology-list span { min-width: 0; min-height: 72px; padding: 11px 10px; display: flex; flex-direction: column; justify-content: center; gap: 8px; border: 1px solid rgba(255,255,255,.12); border-radius: 6px; color: #fff; background: rgba(255,255,255,.06); font-size: 11px; font-weight: 800; line-height: 1.45; }
.technology-list i { color: #78d7ff; font: 800 10px ui-monospace, monospace; }

.brand-hero-stage { position: relative; min-height: max(650px, calc(100svh - 68px)); overflow: hidden; display: grid; background: #071a42; }
.brand-hero-stage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,18,48,.68), rgba(4,18,48,0) 58%); pointer-events: none; }
.brand-hero-media { position: absolute; inset: 0; }
.brand-hero-image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.brand-hero-image-mobile { display: none; }
.brand-hero-inner { position: relative; z-index: 1; min-height: max(650px, calc(100svh - 68px)); display: flex; align-items: center; }
.brand-hero-copy { width: min(570px, 48%); color: #fff; }
.brand-hero-copy .hero-badge { color: #a9e9ff; border-color: rgba(127,213,255,.48); background: rgba(8,32,76,.42); }
.brand-hero-copy h1 { max-width: 620px; margin: 22px 0 18px; color: #fff; font-size: 54px; line-height: 1.16; }
.brand-hero-copy h1 strong { color: #68d8ff; font-weight: 900; }
.brand-hero-copy > p { max-width: 480px; margin: 0; color: rgba(255,255,255,.8); font-size: 17px; font-weight: 650; line-height: 1.7; }
.brand-hero-values { margin-top: 29px; display: flex; flex-wrap: wrap; gap: 9px; }
.brand-hero-values span { min-width: 104px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.2); border-radius: 6px; color: rgba(255,255,255,.9); text-align: center; background: rgba(255,255,255,.08); font-size: 14px; font-weight: 800; }
.brand-hero-action { margin-top: 28px; color: #124fbc; background: #fff; box-shadow: 0 12px 28px rgba(0,13,46,.18); }

.brand-story-section { border-bottom: 1px solid var(--line); background: #fff; }
.brand-film { position: relative; width: min(980px, 100%); aspect-ratio: 16 / 8.6; margin: 0 auto; overflow: hidden; border-radius: var(--radius); background: #071d40; box-shadow: 0 22px 54px rgba(18,56,108,.15); }
.brand-film::after { content: ""; position: absolute; inset: 42% 0 0; background: linear-gradient(0deg, rgba(4,18,43,.88), rgba(4,18,43,0)); }
.brand-film img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.brand-film figcaption { position: absolute; z-index: 1; left: 30px; right: 30px; bottom: 25px; display: grid; gap: 4px; color: #fff; }
.brand-film figcaption span { color: #77ddff; font: 850 12px ui-monospace, monospace; }
.brand-film figcaption strong { font-size: 23px; line-height: 1.3; }
.brand-film figcaption small { color: rgba(255,255,255,.74); font-size: 14px; line-height: 1.5; }
.brand-story-content { width: min(980px, 100%); margin: 42px auto 0; display: grid; grid-template-columns: .92fr 1.08fr; gap: 68px; align-items: start; }
.brand-story-heading h2 { margin: 14px 0 0; color: #10213f; font-size: 37px; line-height: 1.28; }
.brand-story-heading h2 strong { color: var(--blue); font-weight: 900; }
.brand-story-copy { display: grid; gap: 15px; }
.brand-story-copy p { margin: 0; color: #52657d; font-size: 14px; line-height: 1.85; }
.brand-story-stats { width: min(980px, 100%); margin: 34px auto 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line); }
.brand-story-stats > div { min-height: 96px; padding: 16px 18px; display: grid; align-content: center; justify-items: center; gap: 6px; text-align: center; }
.brand-story-stats > div:not(:last-child) { border-right: 1px solid var(--line); }
.brand-story-stats strong { color: var(--blue); font-size: 27px; line-height: 1.2; }
.brand-story-stats span { color: var(--muted); font-size: 14px; font-weight: 700; }

.expertise-section { border-bottom: 1px solid var(--line); background: #f4f8fd; }
.expertise-head { width: min(900px, 100%); margin: 0 auto 40px; display: block; text-align: center; }
.expertise-heading { min-width: 0; display: grid; justify-items: center; }
.expertise-heading h2 { max-width: 820px; margin: 17px auto 0; font-size: 39px; line-height: 1.22; }
.expertise-heading h2 strong { color: var(--blue); font-weight: 900; }
.expertise-head .expertise-summary { max-width: 720px; margin: 20px auto 0; padding: 18px 0 0; border-top: 1px solid rgba(23,100,232,.2); color: #52657d; font-size: 14px; line-height: 1.85; }
.expertise-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.expertise-card { --expertise-color: var(--blue); min-width: 0; overflow: hidden; border: 1px solid rgba(25,75,145,.13); border-radius: var(--radius); background: #fff; box-shadow: 0 16px 40px rgba(32,79,142,.09); }
.expertise-industry { --expertise-color: #16936d; }
.expertise-card figure { position: relative; height: 280px; margin: 0; overflow: hidden; background: #dce9f8; }
.expertise-card figure::after { content: ""; position: absolute; inset: 42% 0 0; background: linear-gradient(0deg, rgba(8,25,52,.78), rgba(8,25,52,0)); }
.expertise-card figure img { width: 100%; height: 100%; object-fit: cover; object-position: center 44%; }
.expertise-academic figure::after { display: none; }
.expertise-academic-visual { position: relative; height: 100%; padding: 28px; overflow: hidden; display: grid; align-content: end; gap: 5px; color: #fff; background: #104b9d; }
.expertise-academic-visual::after { content: ""; position: absolute; left: 28px; right: 28px; top: 50%; height: 1px; background: rgba(255,255,255,.2); }
.expertise-academic-visual span { position: absolute; left: 26px; top: 20px; color: rgba(255,255,255,.16); font: 900 82px/1 ui-monospace, monospace; }
.expertise-academic-visual small, .expertise-academic-visual strong { position: relative; z-index: 1; }
.expertise-academic-visual small { color: #8bdcff; font: 850 12px ui-monospace, monospace; }
.expertise-academic-visual strong { font-size: 28px; line-height: 1.25; }
.expertise-industry figure img { object-position: center; }
.expertise-card figcaption { position: absolute; z-index: 1; left: 24px; right: 24px; bottom: 20px; display: grid; gap: 3px; color: #fff; }
.expertise-card figcaption small { color: rgba(255,255,255,.72); font: 850 12px ui-monospace, monospace; }
.expertise-card figcaption strong { font-size: 22px; line-height: 1.25; }
.expertise-copy { padding: 21px 22px 22px; }
.expertise-copy h3 { margin: 0; color: var(--ink); font-size: 22px; line-height: 1.35; }
.expertise-copy p { min-height: 46px; margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.expertise-copy ul { margin: 15px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid color-mix(in srgb, var(--expertise-color) 18%, white); border-radius: 6px; background: color-mix(in srgb, var(--expertise-color) 6%, white); list-style: none; }
.expertise-industry .expertise-copy ul { grid-template-columns: 1fr; }
.expertise-copy li { min-width: 0; min-height: 42px; padding: 8px 6px; display: flex; align-items: center; justify-content: center; color: color-mix(in srgb, var(--expertise-color) 82%, #253b57); text-align: center; font-size: 14px; font-weight: 850; line-height: 1.35; }
.expertise-copy li:not(:last-child) { border-right: 1px solid color-mix(in srgb, var(--expertise-color) 16%, white); }

.education-products-section { border-bottom: 1px solid var(--line); background: linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%); }
.education-products-head { max-width: 760px; margin: 0 auto 42px; }
.education-products-head h2 { color: #10213f; font-size: 40px; }
.education-products-head p { color: #52657d; font-size: 14px; line-height: 1.8; }
.education-products-grid { height: 560px; display: flex; gap: 12px; align-items: stretch; }
.education-product-card { position: relative; min-width: 0; flex: 1 1 0; overflow: hidden; border: 1px solid rgba(126,190,255,.18); border-radius: 8px; color: #fff; background: #081f45; box-shadow: 0 18px 45px rgba(23,75,145,.1); cursor: default; transition: flex-grow .72s cubic-bezier(.2,.78,.18,1), border-color .28s ease, box-shadow .34s ease, transform .34s ease; }
.education-product-card.is-active { flex-grow: 3.8; border-color: rgba(125,220,255,.6); box-shadow: 0 28px 70px rgba(5,31,74,.28); }
.education-product-card:focus-visible { outline: 3px solid rgba(23,100,232,.42); outline-offset: 3px; }
.education-product-card figure { position: absolute; inset: 0; height: 100%; margin: 0; overflow: hidden; background: #e7f0fb; }
.education-product-card figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,17,42,.94) 0%, rgba(4,17,42,.58) 56%, rgba(4,17,42,.14) 100%); transition: background .55s ease; pointer-events: none; }
.education-product-card.is-active figure::after { background: linear-gradient(0deg, rgba(4,17,42,.9) 0%, rgba(4,17,42,.36) 58%, rgba(4,17,42,.06) 100%); }
.education-product-card img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.92) brightness(.76); transform: scale(1.08); transition: filter .72s ease, transform .82s cubic-bezier(.2,.78,.18,1), object-position .72s ease; }
.education-product-card.is-active img { filter: saturate(1.06) brightness(.98); transform: scale(1); }
.education-product-copy { position: absolute; z-index: 1; inset: auto 0 0; min-width: 0; min-height: 210px; padding: 24px 18px 25px; display: flex; flex-direction: column; justify-content: flex-end; transition: padding .55s ease, min-height .55s ease; }
.education-product-card.is-active .education-product-copy { min-height: 255px; padding: 34px 34px 35px; }
.education-product-copy small { max-width: 100%; overflow: hidden; color: #7ddcff; font: 850 12px ui-monospace, monospace; white-space: nowrap; opacity: .76; transition: opacity .35s ease; }
.education-product-card.is-active .education-product-copy small { opacity: 1; }
.education-product-copy h3 { margin: 10px 0 0; color: #fff; font-size: 22px; line-height: 1.28; overflow-wrap: anywhere; transition: font-size .55s ease, margin .55s ease; }
.education-product-card.is-active .education-product-copy h3 { font-size: 34px; }
.education-product-copy p { max-width: 620px; max-height: 0; margin: 0; overflow: hidden; color: rgba(236,247,255,.78); font-size: 14px; line-height: 1.75; opacity: 0; transform: translateY(12px); transition: max-height .55s ease, margin .55s ease, opacity .34s ease .12s, transform .55s ease; }
.education-product-card.is-active .education-product-copy p { max-height: 110px; margin-top: 12px; opacity: 1; transform: translateY(0); }
.education-product-copy ul { max-height: 0; margin: 0; padding: 0; overflow: hidden; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; list-style: none; opacity: 0; transform: translateY(10px); transition: max-height .48s ease, padding .48s ease, opacity .32s ease .16s, transform .48s ease; }
.education-product-card.is-active .education-product-copy ul { max-height: 70px; padding-top: 20px; opacity: 1; transform: translateY(0); }
.education-product-copy li { min-height: 34px; padding: 7px 8px; display: grid; place-items: center; border-radius: 6px; color: #cdecff; background: rgba(125,220,255,.12); text-align: center; font-size: 13px; font-weight: 850; line-height: 1.25; }

.expert-team-section { border-bottom: 1px solid rgba(126,190,255,.18); color: #fff; background: #071d40; }
.expert-team-head { max-width: 760px; margin: 0 auto 42px; }
.expert-team-head .kicker { color: #48c8ff; }
.expert-team-head h2 { color: #fff; font-size: 40px; }
.expert-team-head > p { max-width: 680px; color: rgba(229,241,255,.7); font-size: 14px; line-height: 1.75; }
.expert-card-grid { width: min(980px, 100%); margin-inline: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.expert-person-card { min-width: 0; overflow: hidden; border: 1px solid rgba(126,190,255,.25); border-radius: var(--radius); background: rgba(255,255,255,.045); box-shadow: 0 20px 48px rgba(0,9,28,.22); }
.expert-person-lead { border-color: rgba(72,200,255,.58); box-shadow: 0 22px 54px rgba(11,91,196,.2); }
.expert-person-card figure { position: relative; height: 264px; margin: 0; overflow: hidden; background: #102d57; }
.expert-person-card figure::after { content: ""; position: absolute; inset: 48% 0 0; background: linear-gradient(0deg, rgba(4,18,43,.9), rgba(4,18,43,0)); }
.expert-person-card img { width: 100%; height: 100%; object-fit: cover; object-position: center 28%; }
.expert-person-card:first-child img { object-position: center 24%; }
.expert-person-card:nth-child(2) img { object-position: center 18%; }
.expert-person-card:last-child img { object-position: center top; }
.expert-person-card figcaption { position: absolute; z-index: 1; left: 20px; right: 20px; bottom: 16px; color: #d9f4ff; font-size: 14px; font-weight: 850; }
.expert-person-copy { min-height: 220px; padding: 19px 20px 22px; text-align: center; }
.expert-person-copy > span { color: #48c8ff; font: 850 12px ui-monospace, monospace; }
.expert-person-copy h3 { margin: 10px 0 8px; color: #fff; font-size: 28px; line-height: 1.2; }
.expert-person-copy strong { display: block; min-height: 42px; color: #cbe5ff; font-size: 14px; line-height: 1.5; }
.expert-person-copy p { margin: 11px 0 0; color: rgba(229,241,255,.6); font-size: 14px; line-height: 1.65; }
.expert-person-credentials { margin: 10px 0 0; padding: 0; display: grid; gap: 5px; color: rgba(229,241,255,.66); text-align: left; list-style: none; }
.expert-person-credentials li { position: relative; padding-left: 11px; font-size: 13px; line-height: 1.5; }
.expert-person-credentials li::before { content: ""; position: absolute; left: 0; top: .65em; width: 4px; height: 4px; border-radius: 50%; background: #48c8ff; }

.course-package-section { border-top: 1px solid var(--line); background: #fff; }
.course-package-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 18px; }
.course-package-card { --package-color: #f47a28; --package-soft: #fff3e9; min-width: 0; overflow: hidden; display: flex; flex-direction: column; border: 1px solid color-mix(in srgb, var(--package-color) 22%, white); border-radius: 8px; background: #fff; box-shadow: 0 18px 48px rgba(28,66,120,.1); }
.course-package-card.package-camp { --package-color: #2273ed; --package-soft: #edf5ff; }
.course-package-card.package-single { --package-color: #159b82; --package-soft: #e9f8f4; }
.course-package-cover { min-height: 374px; padding: 25px 22px 22px; display: grid; grid-template-columns: 1fr; align-items: stretch; gap: 17px; color: #fff; background: linear-gradient(135deg, var(--package-color), color-mix(in srgb, var(--package-color) 72%, #ffb35c)); }
.package-camp .course-package-cover { background: linear-gradient(135deg, #2879ef, #48a3ff); }
.package-single .course-package-cover { background: linear-gradient(135deg, #168f7a, #3bbba5); }
.course-package-cover > div { position: relative; z-index: 1; }
.course-package-cover span { display: inline-flex; min-height: 28px; padding: 5px 11px; align-items: center; border-radius: 15px; color: var(--package-color); background: #fff; font-size: 14px; font-weight: 850; }
.course-package-cover h3 { min-height: 66px; margin: 17px 0 8px; font-size: 25px; line-height: 1.28; }
.course-package-cover strong { display: block; font-size: 48px; line-height: 1; }
.course-package-cover strong small { margin-left: 5px; font-size: 20px; }
.course-package-cover p { margin: 12px 0 0; color: rgba(255,255,255,.88); font-size: 13px; line-height: 1.6; }
.package-camp .course-package-cover p b { padding: 2px 5px; border-radius: 3px; color: #1764d7; background: #fff; font-size: .92em; }
.course-package-cover figure { height: 158px; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.44); border-radius: 7px; background: rgba(255,255,255,.16); box-shadow: 0 14px 30px rgba(21,50,98,.16); transform: rotate(-1deg); }
.package-camp .course-package-cover figure { transform: rotate(2deg); }
.package-single .course-package-cover figure { transform: rotate(1deg); }
.course-package-cover img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.course-package-facts { margin: 0; padding: 10px 24px 0; }
.course-package-facts > div { min-height: 57px; display: grid; grid-template-columns: 90px 1fr; align-items: center; gap: 14px; border-bottom: 1px solid var(--line); }
.course-package-facts dt { color: var(--package-color); font-size: 14px; font-weight: 850; }
.course-package-facts dd { margin: 0; color: #405573; font-size: 13px; line-height: 1.55; }
.course-package-path { margin: 18px 24px 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; list-style: none; }
.course-package-path li { position: relative; min-width: 0; min-height: 42px; padding: 8px 7px; display: grid; place-items: center; border-radius: 22px; color: var(--package-color); text-align: center; background: var(--package-soft); font-size: 13px; font-weight: 850; line-height: 1.3; }
.course-package-path li:not(:last-child)::after { content: "›"; position: absolute; right: -12px; color: var(--package-color); font-size: 18px; }
.course-package-action { width: calc(100% - 48px); min-height: 46px; margin: auto 24px 24px; border: 0; border-radius: 6px; color: #fff; background: var(--package-color); font-size: 14px; font-weight: 850; box-shadow: 0 10px 22px color-mix(in srgb, var(--package-color) 24%, transparent); }
.course-package-action:hover { filter: brightness(.94); transform: translateY(-1px); }
.course-package-note { margin: 18px 0 0; color: #8290a4; text-align: center; font-size: 14px; }

.package-support-section { border-top: 1px solid #ffd09d; background: #fff6e8; }
.package-benefit-board { overflow: hidden; padding: 30px 28px 34px; border: 1px solid rgba(255,126,35,.42); border-radius: 10px; color: #fff; background: radial-gradient(circle at 82% 12%, rgba(255,238,138,.32), transparent 30%), linear-gradient(135deg, #ff4f18 0%, #ff7425 52%, #ff9a2f 100%); box-shadow: 0 24px 62px rgba(219,74,12,.22); }
.package-benefit-hero { min-height: 238px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(440px, .95fr); align-items: center; gap: 24px; position: relative; }
.package-benefit-badge { position: absolute; left: 0; top: 0; min-height: 42px; padding: 0 23px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; color: #f04416; background: #fff; font-size: 18px; font-weight: 900; transform: rotate(-3deg); box-shadow: 0 12px 24px rgba(113,25,0,.16); }
.package-benefit-hero .kicker { color: #ffe88c; }
.package-benefit-hero h2 { margin: 58px 0 0; max-width: 100%; color: #fff; font-size: clamp(44px, 4.8vw, 62px); line-height: 1.05; text-wrap: balance; text-shadow: 0 5px 0 rgba(179,45,6,.18); }
.package-benefit-hero p { margin: 0; color: rgba(255,255,255,.92); font-size: 19px; font-weight: 850; line-height: 1.5; }
.package-benefit-hero-visual { min-width: 0; margin: 0; align-self: end; }
.package-benefit-hero-visual img { width: 100%; max-height: 250px; object-fit: contain; clip-path: inset(0 14% 10% 0); filter: drop-shadow(0 18px 26px rgba(98,33,0,.18)); }
.package-support-grid { margin-top: 26px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.package-support-grid article { position: relative; min-width: 0; min-height: 196px; overflow: hidden; display: grid; grid-template-columns: minmax(225px, .96fr) minmax(0, 1fr); align-items: center; gap: 20px; padding: 18px 20px 18px 28px; border: 1px solid rgba(255,255,255,.75); border-radius: 8px; color: #132241; background: linear-gradient(135deg, #fff 0%, #fff9ec 100%); box-shadow: 0 14px 30px rgba(126,39,0,.13); }
.package-support-grid article::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 10px; background: repeating-linear-gradient(90deg, rgba(255,90,28,.36) 0 10px, transparent 10px 20px); }
.package-support-grid article > span { position: absolute; left: 0; top: 0; z-index: 2; width: 58px; height: 58px; display: flex; align-items: flex-start; justify-content: flex-start; padding: 8px 0 0 10px; color: #fff; background: linear-gradient(145deg, #f54825 0%, #ff6a21 100%); font-size: 22px; font-weight: 900; line-height: 1; text-shadow: 0 1px 2px rgba(135,28,0,.28); clip-path: polygon(0 0, 100% 0, 0 100%); box-shadow: 4px 4px 0 rgba(201,48,11,.12); }
.package-support-grid article > span::after { content: ""; position: absolute; left: 0; bottom: 0; width: 18px; height: 18px; background: rgba(255,255,255,.22); clip-path: polygon(0 0, 100% 100%, 0 100%); }
.package-support-grid figure { min-width: 0; height: 150px; margin: 0; overflow: hidden; display: grid; place-items: center; border-radius: 7px; background: linear-gradient(135deg, #fffdf8, #fff1d7); }
.package-support-grid img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.035); }
.package-support-grid div { min-width: 0; }
.package-support-grid small { display: inline-flex; min-height: 26px; padding: 0 11px; align-items: center; border-radius: 999px; color: #fff; background: #ff6124; font-size: 12px; font-weight: 900; }
.package-support-grid h3 { margin: 10px 0 9px; color: #132241; font-size: 27px; line-height: 1.2; letter-spacing: 0; }
.package-support-grid strong { display: inline-block; min-height: 32px; padding: 4px 12px; border-radius: 999px; color: #111b32; background: #fff077; font-size: 16px; line-height: 1.4; white-space: nowrap; }
.package-support-grid p { margin: 10px 0 0; color: #5c6576; font-size: 13px; line-height: 1.55; }

.course-schedule-section { border-top: 1px solid var(--line); background: var(--paper); }
.course-schedule { position: relative; display: grid; gap: 24px; }
.course-schedule::before { content: ""; position: absolute; left: 65px; top: 60px; bottom: 60px; width: 2px; background: linear-gradient(var(--blue), var(--green), var(--orange)); opacity: .2; }
.course-day { --schedule-color: var(--blue); --schedule-soft: #eaf3ff; position: relative; display: grid; grid-template-columns: 132px minmax(0, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.schedule-green { --schedule-color: #3cac72; --schedule-soft: #eaf8f0; }
.schedule-orange { --schedule-color: #f28b25; --schedule-soft: #fff3e6; }
.course-day-rail { position: relative; z-index: 1; padding: 34px 20px; display: flex; flex-direction: column; align-items: center; color: #fff; text-align: center; background: var(--schedule-color); }
.course-day-rail > span { font: 850 12px ui-monospace, monospace; opacity: .72; }
.course-day-rail > b { margin-top: 5px; font-size: 52px; line-height: 1; }
.course-day-rail > small { width: 70px; margin-top: 22px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.35); font-size: 13px; font-weight: 850; line-height: 1.55; }
.course-day-main { min-width: 0; padding: 38px; }
.course-day-main > header { display: block; }
.course-day-main .day-label { color: var(--schedule-color); }
.course-day-main h3 { margin: 0; font-size: 34px; line-height: 1.25; }
.course-day-main > header > strong { padding: 12px 14px; border-left: 3px solid var(--schedule-color); color: #344a66; background: var(--schedule-soft); font-size: 14px; line-height: 1.6; }
.course-day-lead { max-width: 800px; margin: 15px 0 28px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.course-day-body { display: grid; grid-template-columns: minmax(0, 1.62fr) minmax(270px, .72fr); gap: 20px; align-items: stretch; }
.course-project-grid { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.course-project-grid.day-three-projects { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.course-project-grid figure { position: relative; min-width: 0; min-height: 280px; margin: 0; overflow: hidden; border-radius: 7px; background: #07162f; }
.course-project-grid figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,14,32,.93) 0, rgba(5,14,32,.16) 72%); }
.course-project-grid img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .3s ease; }
.course-project-grid figure:hover img { transform: scale(1.035); }
.course-project-grid figcaption { position: absolute; inset: auto 18px 18px; z-index: 1; display: grid; gap: 6px; color: #fff; }
.course-project-grid figcaption small { color: #7edbff; font: 850 10px ui-monospace, monospace; }
.schedule-green .course-project-grid figcaption small { color: #8df2bd; }
.schedule-orange .course-project-grid figcaption small { color: #ffc486; }
.course-project-grid figcaption strong { font-size: 19px; line-height: 1.4; }
.course-project-grid figcaption span { color: rgba(255,255,255,.7); font-size: 11px; line-height: 1.55; }
.process-figure img { object-fit: cover; object-position: center; }
.course-day-details { min-width: 0; display: grid; grid-template-rows: auto auto 1fr; gap: 10px; }
.course-day-details.compact-details { grid-template-rows: 1fr 1fr; }
.course-day-details > div { min-width: 0; padding: 22px 20px; border: 1px solid var(--line); border-radius: 7px; background: #f8faff; }
.course-day-details small { color: var(--schedule-color); font-size: 14px; font-weight: 850; }
.course-day-details p { margin: 10px 0 0; color: #405573; font-size: 14px; line-height: 1.65; }
.course-day-details .course-output { display: flex; flex-direction: column; justify-content: center; border-color: transparent; color: #fff; background: var(--schedule-color); }
.course-day-details .course-output small { color: rgba(255,255,255,.72); }
.course-day-details .course-output strong { margin-top: 10px; font-size: 22px; line-height: 1.42; }

.learning-evidence-section { border-top: 1px solid var(--line); background: #fff; }
.learning-evidence-section .section-head > p { max-width: 700px; }
.learning-evidence-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.learning-evidence-card { --evidence-color: var(--blue); position: relative; min-width: 0; padding-top: 17px; overflow: visible; border: 1px solid color-mix(in srgb, var(--evidence-color) 32%, white); border-radius: 8px; background: #fff; box-shadow: 0 14px 34px rgba(32,79,142,.08); }
.learning-evidence-card.evidence-process-card { --evidence-color: #7657eb; }
.learning-evidence-card.evidence-report-card { --evidence-color: #149ca1; }
.learning-evidence-card > header { position: absolute; left: 50%; top: -17px; z-index: 2; min-width: 186px; min-height: 34px; padding: 7px 16px; display: flex; align-items: center; justify-content: center; gap: 9px; border-radius: 18px; color: #fff; white-space: nowrap; background: var(--evidence-color); box-shadow: 0 7px 18px color-mix(in srgb, var(--evidence-color) 25%, transparent); transform: translateX(-50%); }
.learning-evidence-card > header b { font: 900 15px ui-monospace, monospace; }
.learning-evidence-card > header strong { font-size: 14px; }
.learning-evidence-card figure { height: 315px; margin: 0; padding: 12px 12px 0; overflow: hidden; border-radius: 8px 8px 0 0; background: color-mix(in srgb, var(--evidence-color) 5%, white); }
.learning-evidence-card figure img { width: 100%; height: 100%; object-fit: cover; object-position: center top; border: 1px solid color-mix(in srgb, var(--evidence-color) 15%, white); border-radius: 6px 6px 0 0; }
.evidence-process-card figure img, .evidence-report-card figure img { object-fit: cover; }
.learning-evidence-card > p { min-height: 58px; margin: 0; padding: 16px 12px; display: flex; align-items: center; justify-content: center; color: var(--evidence-color); text-align: center; font-size: 13px; font-weight: 850; line-height: 1.5; }
.learning-evidence-card:not(:last-child)::after { content: "→"; position: absolute; right: -29px; top: 48%; z-index: 3; width: 34px; height: 34px; display: grid; place-items: center; color: var(--evidence-color); border-radius: 50%; background: #fff; font-size: 24px; font-weight: 900; }

@media (max-width: 1000px) {
  :root { --wrap: min(760px, calc(100% - 36px)); }
  .site-header { height: 64px; padding: 0 18px; }
  .site-nav { position: absolute; inset: 64px 0 auto; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 18px 18px; border-bottom: 1px solid var(--line); background: #fff; }
  .site-nav.open { display: flex; }
  .site-nav a { padding: 12px 0; }
  .menu-toggle { display: block; margin-left: auto; }
  .nav-cta { display: none; }
  .hero { padding-top: 64px; }
  .hero-grid { grid-template-columns: 1fr; padding-block: 55px; }
  .hero-showcase { height: auto; aspect-ratio: 3 / 2; }
  .section-head { grid-template-columns: 1fr; gap: 18px; }
  .capability-grid { grid-template-columns: 1fr; }
  .capability-card { display: grid; grid-template-columns: .9fr 1.1fr; }
  .capability-visual { height: 100%; min-height: 260px; }
  .capability-copy { min-height: 260px; }
  .overview-grid, .project-grid { grid-template-columns: 1fr; }
  .overview-card { min-height: 0; }
  .daily-visual { grid-template-columns: 1fr; }
  .daily-image { min-height: 360px; }
  .daily-path { grid-template-columns: 1fr 1fr; }
  .teaching-path-grid { grid-template-columns: 1fr; }
  .teaching-stage:not(:last-child)::after { display: none; }
  .teaching-benefits { grid-template-columns: 1fr 1fr; }
  .teaching-benefits span:nth-child(2)::after { display: none; }
  .online-card-section header, .online-card-grid, .online-card, .material-group-head { grid-template-columns: 1fr; }
  .material-group-head { gap: 8px; }
  .online-card figure { min-height: 0; }
  .course-tool-grid { grid-template-columns: 1fr; }
  .outcome-framework { grid-template-columns: 1fr; }
  .outcome-card { display: grid; grid-template-columns: .92fr 1.08fr; }
  .outcome-art { height: 100%; min-height: 250px; }
  .outcome-copy { min-height: 250px; }
  .evidence-grid { grid-template-columns: 1fr; }
  .evidence-card { display: grid; grid-template-columns: .92fr 1.08fr; }
  .evidence-visual { height: 100%; min-height: 300px; }
  .evidence-copy { min-height: 300px; }
  .evidence-deliverables { grid-template-columns: 1fr 1fr; }
  .growth-report-showcase { grid-template-columns: 1fr; }
  .growth-report-showcase figure { height: 470px; border-right: 0; border-bottom: 1px solid rgba(23,100,232,.13); }
  .growth-report-copy { padding: 38px 36px; }
  .student-work-section { padding-top: 72px; }
  .student-projects-head { margin-bottom: 46px; }
  .student-projects-head h2 { font-size: 34px; }
  .student-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .student-work-card { grid-template-columns: 1fr; }
  .student-work-card figure { height: auto; aspect-ratio: 16 / 9; grid-row: 1; }
  .student-work-copy { padding: 38px 36px; }
  .course-project-wall-link { min-height: 480px; padding-block: 68px 62px; }
  .course-project-wall-grid { inset: 32px -18px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
  .course-project-wall-grid img { height: 142px; }
  .course-project-wall-copy h2 { font-size: 42px; }
  .story-slide.active { grid-template-columns: 1fr; }
  .story-slide figure { height: 390px; }
  .story-copy { min-height: 0; padding: 36px; }
  .story-steps { grid-template-columns: repeat(5, 150px); overflow-x: auto; }
  .practice-feature { grid-template-columns: 1fr; gap: 18px; }
  .practice-feature > figure { min-height: 0; height: 390px; }
  .practice-summary { padding: 12px 0 20px; }
  .practice-gallery figure { height: 190px; }
  .assurance-grid { grid-template-columns: 1fr; }
  .audience-grid { grid-template-columns: 1fr; }
  .audience-card { min-height: 0; }
  .audience-illustration { height: 240px; }
  .audience-benefits { grid-template-columns: 1fr 1fr; gap: 14px; }
  .cultivation-stage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .cultivation-stage-grid::before, .cultivation-stage-grid::after { display: none; }
  .stage-application, .stage-creation, .stage-innovation { margin-top: 0; }
  .cultivation-stage-top { min-height: 132px; }
  .cultivation-support { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cultivation-support strong { grid-column: 1 / -1; }
  .capability-system-grid .capability-visual.has-image { height: 100%; min-height: 300px; }
  .capability-system-grid .capability-copy { min-height: 300px; }
  .foundation-grid { grid-template-columns: 1fr; }
  .foundation-card { display: grid; grid-template-columns: .9fr 1.1fr; }
  .foundation-card figure { height: 100%; min-height: 238px; }
  .foundation-copy { min-height: 238px; }
  .brand-hero-stage, .brand-hero-inner { min-height: 600px; }
  .brand-hero-copy { width: 58%; }
  .brand-hero-copy h1 { font-size: 47px; }
  .brand-story-content { gap: 38px; }
  .expertise-head .expertise-summary { max-width: 680px; }
  .expertise-card figure { height: 270px; }
  .expert-card-grid { gap: 14px; }
  .expert-person-card figure { height: 232px; }
  .expert-person-copy { min-height: 220px; padding: 18px 15px 20px; }
  .expert-person-copy h3 { font-size: 23px; }
  .expert-person-copy strong { font-size: 13px; }
  .technology-strip { grid-template-columns: 1fr; }
  .technology-intro { padding: 2px 0 16px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .course-package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .course-package-cover { grid-template-columns: 1fr; padding: 24px; }
  .course-package-cover figure, .package-camp .course-package-cover figure, .package-single .course-package-cover figure { height: 160px; transform: none; }
  .package-benefit-board { padding: 24px 20px 28px; }
  .package-benefit-hero { min-height: 0; grid-template-columns: 1fr; justify-items: center; gap: 22px; text-align: center; }
  .package-benefit-hero h2 { font-size: clamp(38px, 6.4vw, 50px); }
  .package-benefit-hero-visual { max-width: 720px; margin-inline: auto; }
  .package-support-grid { grid-template-columns: 1fr; }
  .course-day { grid-template-columns: 110px minmax(0, 1fr); }
  .course-day-main { padding: 30px; }
  .course-day-main > header { grid-template-columns: 1fr; gap: 15px; }
  .course-day-body { grid-template-columns: 1fr; }
  .course-project-grid figure { min-height: 260px; }
  .course-day-details { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
  .course-day-details .course-output { grid-column: 1 / -1; min-height: 112px; }
  .course-day-details.compact-details { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; }
  .course-day-details.compact-details .course-output { grid-column: auto; }
  .learning-evidence-flow { gap: 14px; }
  .learning-evidence-card figure { height: 245px; }
  .learning-evidence-card > header { min-width: 0; width: calc(100% - 24px); padding-inline: 10px; }
  .learning-evidence-card > header strong { font-size: 12px; }
  .learning-evidence-card:not(:last-child)::after { right: -23px; }
}

@media (max-width: 620px) {
  :root { --wrap: calc(100% - 28px); }
  .brand small { display: none; }
  .hero-grid { gap: 28px; padding-block: 44px; }
  .hero-badge { padding: 8px 11px; font-size: 13px; }
  .hero h1 { font-size: 43px; line-height: 1.14; }
  .hero-lead { font-size: 14px; }
  .hero-values { grid-template-columns: 1fr; gap: 11px; }
  .hero-values > div { min-height: 64px; padding: 11px 12px; display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 10px; }
  .hero-values i { width: 30px; height: 30px; }
  .hero-values span { margin-top: 0; }
  .hero-actions { display: grid; }
  .hero-path { grid-template-columns: 1fr; gap: 13px; }
  .hero-path > b br { display: none; }
  .hero-path ol { grid-template-columns: 1fr 1fr; gap: 12px 8px; }
  .hero-path li { min-height: 42px; padding: 8px; justify-items: start; border: 1px solid var(--line); border-radius: 5px; text-align: left; background: #fff; }
  .hero-path li:last-child { grid-column: 1 / -1; }
  .hero-path li:not(:last-child)::after { display: none; }
  .hero-showcase { height: auto; aspect-ratio: 3 / 2; }
  .hero-showcase figcaption { padding: 40px 16px 14px; }
  .section { padding: 70px 0; }
  .section-head { margin-bottom: 30px; }
  .section-head h2, .mentor-copy h2 { font-size: 31px; }
  .capability-card { display: block; }
  .capability-visual { height: 190px; min-height: 0; }
  .capability-copy { min-height: 0; }
  .overview-card { min-height: 0; }
  .day-number { left: 26px; top: 24px; width: 52px; height: 66px; }
  .overview-content { padding: 14px 14px 20px; }
  .overview-shot { height: 160px; margin: 0 0 20px; }
  .overview-card h3 { font-size: 20px; }
  .overview-summary > div { grid-template-columns: 72px 1fr; }
  .overview-card small { padding: 18px 22px; font-size: 17px; }
  .day-tabs { grid-template-columns: 1fr; }
  .day-tabs button { min-height: 58px; }
  .day-panel > header { padding: 28px 22px; }
  .day-panel > header h3 { font-size: 24px; line-height: 1.4; }
  .daily-image { min-height: 280px; }
  .daily-path { padding: 18px; grid-template-columns: 1fr; }
  .path-card { min-height: auto; }
  .path-output strong { font-size: 20px; }
  .teaching-kit { padding: 0; }
  .teaching-kit h3 { font-size: 23px; }
  .teaching-path-grid { grid-template-columns: 1fr; }
  .teaching-benefits { grid-template-columns: 1fr; }
  .teaching-benefits span::after { display: none; }
  .project-body { min-height: 205px; }
  .online-card-section { padding: 18px; }
  .online-card-section h3 { font-size: 24px; }
  .online-card figure { min-height: 0; aspect-ratio: 16 / 8.5; }
  .online-card-body { padding: 22px; }
  .task-preview-grid { grid-template-columns: 1fr; }
  .task-shot img { height: auto; }
  .course-tool-card { grid-template-columns: 1fr; }
  .course-tool-preview { aspect-ratio: 16 / 10; }
  .course-tool-preview img { width: 100%; height: 100%; }
  .outcome-card { display: block; }
  .outcome-art { height: 205px; min-height: 0; }
  .outcome-copy { min-height: 205px; padding: 20px 18px 17px; }
  .outcome-copy h3 { font-size: 19px; }
  .evidence-card { display: block; }
  .evidence-visual { height: 250px; min-height: 0; }
  .evidence-copy { min-height: 0; padding: 22px 20px 24px; }
  .evidence-deliverables { padding: 14px; gap: 8px; }
  .evidence-deliverables span { min-height: 38px; justify-content: flex-start; padding-left: 10px; font-size: 13px; }
  .growth-report-showcase figure { height: auto; aspect-ratio: 1 / .86; padding: 14px; }
  .growth-report-copy { padding: 28px 20px 26px; }
  .growth-report-copy h3 { font-size: 24px; }
  .report-points { grid-template-columns: 1fr; }
  .report-points > div { min-height: 66px; }
  .student-work-section { padding-top: 58px; }
  .student-projects-head { margin-bottom: 34px; }
  .student-projects-head h2 { font-size: 30px; line-height: 1.36; }
  .student-projects-head > p { margin-top: 16px; font-size: 14px; line-height: 1.85; }
  .student-project-grid { grid-template-columns: 1fr; gap: 18px; }
  .student-project-card > div { min-height: 154px; padding: 18px; }
  .student-project-grid > .student-project-card { width: 100%; grid-column: auto; }
  .student-community-wide-card { min-height: 430px; }
  .student-community-wide-card figure::after { background: linear-gradient(0deg, rgba(4,19,45,.94) 0%, rgba(4,19,45,.72) 58%, rgba(4,19,45,.2) 100%); }
  .student-community-wide-card img { object-position: 58% center; }
  .student-community-wide-copy { align-self: end; padding-bottom: 42px; }
  .student-community-wide-copy h2 { max-width: 360px; font-size: 30px; }
  .student-community-wide-copy p { max-width: 340px; font-size: 13px; line-height: 1.75; }
  .student-community-wide-copy strong { min-height: 42px; margin-top: 22px; font-size: 13px; }
  .student-work-copy { padding: 29px 22px 30px; }
  .student-work-copy h2 { font-size: 28px; }
  .student-work-button { width: 100%; justify-content: center; }
  .story-slide figure { height: 260px; }
  .story-copy { padding: 28px 20px 30px; }
  .story-copy h3 { font-size: 29px; }
  .story-controls { right: 18px; top: 18px; }
  .story-controls button { width: 36px; height: 36px; }
  .story-steps { grid-template-columns: repeat(5, 126px); }
  .story-steps button { min-height: 70px; }
  .classroom-practice { margin-top: 58px; padding-top: 52px; }
  .classroom-practice-head { margin-bottom: 18px; align-items: flex-start; flex-direction: column; gap: 8px; }
  .classroom-practice-head h3 { font-size: 29px; }
  .practice-tabs { gap: 24px; overflow-x: auto; }
  .practice-tabs button { white-space: nowrap; }
  .practice-feature > figure { height: 240px; }
  .practice-summary h4 { font-size: 26px; }
  .practice-stats span { padding-inline: 10px; }
  .practice-stats strong { font-size: 28px; }
  .practice-gallery { grid-template-columns: 1fr; gap: 8px; }
  .practice-gallery figure { height: 190px; }
  .fit-card, .faq-block { padding: 27px 22px; }
  .site-footer { padding-top: 42px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 34px 24px; padding-bottom: 38px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-brand p { margin-top: 16px; }
  .footer-follow { justify-items: start; }
  .footer-bottom .wrap { min-height: 64px; }
  .material-dialog { padding: 34px 8px 14px; }
  .audience-card { padding: 20px 18px 18px; }
  .audience-card > header { min-height: 56px; padding-bottom: 8px; }
  .audience-icon { width: 46px; height: 46px; flex-basis: 46px; }
  .audience-card h3 { font-size: 21px; }
  .audience-illustration { height: 170px; margin-top: 4px; }
  .audience-benefits { padding-block: 13px; grid-template-columns: 1fr; gap: 8px; }
  .audience-benefit strong { font-size: 16px; }
  .cultivation-stage-grid { grid-template-columns: 1fr; }
  .cultivation-stage-top { min-height: 120px; padding: 21px 18px 18px; }
  .cultivation-stage-top span { font-size: 42px; }
  .cultivation-stage-top h3 { font-size: 27px; }
  .cultivation-stage dl > div { min-height: 0; padding: 14px 16px; }
  .cultivation-stage dd { font-size: 13px; }
  .cultivation-support { grid-template-columns: 1fr; padding: 15px; }
  .cultivation-support span { text-align: left; }
  .cultivation-system-figure { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
  .cultivation-system-figure img { width: 820px; max-width: none; }
  .curriculum-method-figure { width: 100%; margin-top: 24px; }
  .course-project-wall-link { min-height: 420px; padding: 54px 16px 50px; }
  .course-project-wall-grid { inset: 24px -14px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
  .course-project-wall-grid img { height: 112px; border-radius: 6px; }
  .course-project-wall-grid img:nth-child(2n) { --wall-y: 7px; }
  .course-project-wall-grid img:nth-child(3n) { --wall-y: -6px; }
  .course-project-wall-grid img:nth-child(5n) { --wall-y: 4px; }
  .course-project-wall-grid img:nth-child(n + 10) { display: none; }
  .course-project-wall-copy > span { font-size: 13px; }
  .course-project-wall-copy h2 { max-width: 360px; font-size: 32px; line-height: 1.22; }
  .course-project-wall-copy p { max-width: 330px; font-size: 13px; line-height: 1.75; }
  .course-project-wall-copy strong { min-height: 42px; margin-top: 24px; font-size: 13px; }
  .capability-system-grid .capability-copy { min-height: 0; }
  .capability-system-grid .capability-visual.has-image { height: 190px; min-height: 0; }
  .capability-system-grid .capability-copy { padding: 22px 18px 20px; }
  .capability-system-grid .capability-copy b { left: 18px; top: 21px; width: 34px; height: 34px; font-size: 12px; }
  .capability-system-grid .capability-copy h3 { min-height: 34px; margin-left: 46px; font-size: 21px; }
  .capability-system-grid .capability-copy h4 { margin-top: 18px; font-size: 15px; }
  .capability-system-grid .capability-copy p { min-height: 0; margin-left: 0; font-size: 13px; }
  .capability-system-grid .capability-copy ul { margin-top: 17px; }
  .capability-system-grid .capability-copy li { min-height: 40px; border-radius: 6px; font-size: 14px; }
  .capability-conclusion { padding: 15px 16px; gap: 10px; }
  .capability-conclusion strong { font-size: 14px; }
  .foundation-card { display: block; }
  .foundation-card figure { height: 176px; min-height: 0; }
  .foundation-copy { min-height: 0; padding: 19px 18px 18px; }
  .foundation-copy h3 { font-size: 19px; }
  .foundation-copy ul { margin-top: 15px; }
  .brand-hero-stage, .brand-hero-inner { min-height: 680px; }
  .brand-hero-stage::after { display: none; }
  .brand-hero-media { inset: 0 0 auto; height: 330px; }
  .brand-hero-image-desktop { display: none; }
  .brand-hero-image-mobile { display: block; object-fit: contain; object-position: center; }
  .brand-hero-inner { display: block; padding-top: 330px; }
  .brand-hero-copy { width: 100%; padding-block: 25px 30px; }
  .brand-hero-copy h1 { margin-top: 17px; font-size: 36px; }
  .brand-hero-copy > p { max-width: 330px; font-size: 14px; }
  .brand-hero-values { max-width: 330px; margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .brand-hero-values span { min-width: 0; padding: 9px 8px; font-size: 13px; }
  .brand-hero-action { margin-top: 22px; }
  .brand-film { aspect-ratio: 16 / 9; }
  .brand-film figcaption { left: 18px; right: 18px; bottom: 16px; }
  .brand-film figcaption strong { font-size: 19px; }
  .brand-story-content { margin-top: 30px; grid-template-columns: 1fr; gap: 21px; }
  .brand-story-heading h2 { font-size: 30px; }
  .brand-story-copy p { font-size: 13px; line-height: 1.78; }
  .brand-story-stats { margin-top: 26px; }
  .brand-story-stats > div { min-height: 82px; padding: 12px 7px; }
  .brand-story-stats strong { font-size: 19px; }
  .brand-story-stats span { font-size: 12px; }
  .expertise-grid { grid-template-columns: 1fr; }
  .expertise-head .expertise-summary { padding: 15px 0 0; font-size: 13px; line-height: 1.75; }
  .expertise-card figure { height: 235px; }
  .expertise-copy { padding: 21px 18px 20px; }
  .expertise-copy p { min-height: 0; }
  .expertise-card figcaption { left: 18px; right: 18px; bottom: 17px; }
  .expertise-card figcaption strong, .expertise-copy h3 { font-size: 19px; }
  .expert-team-head h2 { font-size: 31px; }
  .expert-team-head > p { font-size: 13px; }
  .expert-card-grid { width: min(420px, 100%); grid-template-columns: 1fr; gap: 16px; }
  .expert-person-card figure { height: 296px; }
  .expert-person-copy { min-height: 0; padding: 20px 18px 22px; }
  .expert-person-copy h3 { font-size: 27px; }
  .expert-person-copy strong { min-height: 0; }
  .technology-strip { padding: 18px; }
  .technology-list { grid-template-columns: 1fr; }
  .technology-list span { min-height: 52px; flex-direction: row; align-items: center; justify-content: flex-start; }
  .technology-list i { width: 24px; flex: 0 0 24px; }
  .course-package-grid { grid-template-columns: 1fr; gap: 16px; }
  .course-package-cover { min-height: 0; }
  .course-package-cover h3 { min-height: 0; font-size: 23px; }
  .course-package-cover strong { font-size: 42px; }
  .course-package-facts { padding-inline: 18px; }
  .course-package-facts > div { grid-template-columns: 76px 1fr; }
  .course-package-path { margin-inline: 18px; gap: 8px; }
  .course-package-path li { padding-inline: 4px; font-size: 12px; }
  .course-package-action { width: calc(100% - 36px); margin: 16px 18px 20px; }
  .package-benefit-board { padding: 20px 14px 22px; border-radius: 8px; }
  .package-benefit-hero { min-height: 0; gap: 16px; }
  .package-benefit-badge { min-height: 34px; padding: 0 16px; font-size: 15px; }
  .package-benefit-hero h2 { margin-top: 48px; font-size: clamp(30px, 8.5vw, 39px); }
  .package-benefit-hero p { font-size: 15px; }
  .package-benefit-hero-visual img { max-height: 188px; }
  .package-support-grid { grid-template-columns: 1fr; gap: 12px; }
  .package-support-grid article { min-height: 0; padding: 16px 16px 20px; grid-template-columns: 1fr; gap: 14px; }
  .package-support-grid article > span { width: 54px; height: 54px; padding: 8px 0 0 9px; font-size: 21px; }
  .package-support-grid figure { height: auto; aspect-ratio: 16 / 9; }
  .package-support-grid h3 { margin-top: 9px; font-size: 24px; }
  .package-support-grid strong { min-height: 30px; font-size: 14px; white-space: normal; }
  .course-schedule::before { display: none; }
  .course-day { display: block; }
  .course-day-rail { padding: 18px 20px; flex-direction: row; justify-content: flex-start; gap: 8px; text-align: left; }
  .course-day-rail > b { margin: 0; font-size: 30px; }
  .course-day-rail > small { width: auto; margin: 0 0 0 auto; padding: 0 0 0 14px; border: 0; border-left: 1px solid rgba(255,255,255,.35); font-size: 14px; }
  .course-day-main { padding: 24px 18px; }
  .course-day-main h3 { font-size: 27px; }
  .course-day-lead { font-size: 14px; }
  .course-day-main > header > strong { font-size: 13px; }
  .course-project-grid, .course-project-grid.day-three-projects { grid-template-columns: 1fr; }
  .course-project-grid figure { min-height: 245px; }
  .course-project-grid figcaption strong { font-size: 17px; }
  .course-day-details { grid-template-columns: 1fr; grid-template-rows: auto; }
  .course-day-details .course-output { grid-column: auto; min-height: 110px; }
  .course-day-details.compact-details { grid-template-columns: 1fr; grid-template-rows: auto; }
  .learning-evidence-flow { grid-template-columns: 1fr; gap: 44px; }
  .learning-evidence-card figure { height: auto; aspect-ratio: 4 / 3; }
  .learning-evidence-card:not(:last-child)::after { content: "↓"; left: 50%; right: auto; top: auto; bottom: -40px; transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Persistent enrollment bar */
.enrollment-bar { position: fixed; z-index: 80; left: 0; right: 0; bottom: 0; height: 96px; color: #fff; border-top: 1px solid rgba(156,216,255,.82); background-color: #2455ff; background-image: linear-gradient(rgba(128,221,255,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(128,221,255,.09) 1px, transparent 1px), linear-gradient(100deg, #3032ff 0%, #008dff 48%, #2750ff 100%); background-size: 10px 10px, 10px 10px, 100% 100%; box-shadow: 0 -12px 32px rgba(16,45,96,.2); }
body { padding-bottom: 108px; }
.enrollment-bar-inner { position: relative; width: min(calc(100% - 40px), 1040px); height: 100%; margin: 0 auto; display: grid; grid-template-columns: 100px 172px 72px minmax(0, 480px) 132px; align-items: center; justify-content: center; transform: translateY(-5px); }
.enrollment-mark { position: absolute; left: 0; bottom: 10px; width: 94px; height: 104px; overflow: hidden; display: block; border: 3px solid rgba(255,255,255,.88); border-radius: 50%; background: #dbe5ff; box-shadow: 0 8px 20px rgba(8,38,91,.2); }
.enrollment-mark img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; transform: scale(1.16); }
.enrollment-copy { grid-column: 2; min-width: 0; padding: 0 18px; display: grid; gap: 6px; border-right: 1px solid rgba(255,255,255,.5); }
.enrollment-copy strong { font-size: 21px; line-height: 1.1; white-space: nowrap; }
.enrollment-copy strong b { margin-right: 4px; font-size: 35px; line-height: .9; }
.enrollment-copy span { color: rgba(255,255,255,.82); font-size: 13px; line-height: 1.35; white-space: nowrap; }
.enrollment-offer { grid-column: 3; width: 72px; height: 62px; padding-right: 4px; display: flex; align-items: baseline; justify-content: center; gap: 2px; border-radius: 31px 0 0 31px; color: #2455ff; background: #fff52b; box-shadow: 0 7px 18px rgba(8,38,91,.13); }
.enrollment-offer small { font-size: 16px; font-weight: 850; line-height: 1; }
.enrollment-offer strong { font-size: 37px; line-height: 60px; }
.enrollment-benefits { grid-column: 4; min-width: 0; height: 62px; padding: 0 8px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; border-radius: 0 10px 10px 0; background: rgba(41,74,255,.92); }
.enrollment-benefits > span { position: relative; min-width: 0; min-height: 38px; padding: 0 10px; display: grid; align-content: center; justify-items: center; color: #fff; text-align: center; line-height: 1.15; white-space: nowrap; }
.enrollment-benefits > span + span { border-left: 1px solid rgba(255,255,255,.22); }
.enrollment-benefits > span + span::before { display: none; }
.enrollment-benefits b { font-size: 14px; line-height: 1.2; }
.enrollment-benefits span small { margin-top: 4px; color: rgba(255,255,255,.7); font-size: 11px; line-height: 1.2; }
.enrollment-note { display: none; }
.enrollment-bar-cooperation .enrollment-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.enrollment-actions { display: none; }
.enrollment-action { min-height: 40px; padding: 0 14px; border: 1px solid #fff; border-radius: 5px; color: #1755bb; background: #fff; font-size: 14px; font-weight: 850; white-space: nowrap; box-shadow: 0 6px 16px rgba(8,38,91,.14); }
.enrollment-action:hover, .enrollment-action.active { color: #0f45a5; background: #fff; }
.enrollment-qr { position: absolute; right: 0; bottom: 8px; width: 118px; height: 136px; padding: 8px 8px 6px; display: grid; align-content: start; justify-items: center; gap: 4px; border: 4px solid #078df2; border-radius: 12px; color: #174275; background: #fff; box-shadow: 0 -8px 24px rgba(8,38,91,.2); }
.enrollment-qr-image { width: 98px; height: 98px; padding: 1px; border-radius: 2px; object-fit: contain; background: #fff; }
.enrollment-qr small { font-size: 11px; font-weight: 800; letter-spacing: 0; white-space: nowrap; }

body[data-page="cooperation"] { padding-bottom: 0; }
.cooperation-float-contact { position: fixed; z-index: 75; right: 10px; top: 50%; padding: 6px; display: grid; gap: 4px; border: 1px solid rgba(23,100,232,.1); border-radius: 11px; background: rgba(255,255,255,.96); box-shadow: 0 10px 26px rgba(20,55,105,.14); backdrop-filter: blur(12px); transform: translateY(-50%); }
.cooperation-contact-item { position: relative; }
.cooperation-contact-item > button { width: 60px; min-height: 52px; padding: 7px 6px; border: 0; border-radius: 7px; color: #68778d; text-align: center; background: #f3f5f8; font-size: 13px; font-weight: 850; line-height: 1.35; transition: color .2s ease, background-color .2s ease, transform .2s ease; }
.cooperation-contact-item:hover > button, .cooperation-contact-item:focus-within > button { color: #1764e8; background: #eaf3ff; transform: translateX(-2px); }
.cooperation-contact-item > button:focus-visible { outline: 2px solid #1764e8; outline-offset: 2px; }
.cooperation-contact-popover { position: absolute; right: calc(100% + 10px); top: 50%; width: 164px; padding: 10px; display: grid; justify-items: center; gap: 5px; border: 1px solid rgba(23,100,232,.14); border-radius: 10px; color: #24415f; text-align: center; background: #fff; box-shadow: 0 14px 34px rgba(20,55,105,.18); opacity: 0; visibility: hidden; pointer-events: none; transform: translate(8px, -50%); transition: opacity .18s ease, visibility .18s ease, transform .18s ease; }
.cooperation-contact-popover::after { content: ""; position: absolute; left: 100%; top: 50%; width: 10px; height: 10px; border-top: 1px solid rgba(23,100,232,.14); border-right: 1px solid rgba(23,100,232,.14); background: #fff; transform: translate(-5px, -50%) rotate(45deg); }
.cooperation-contact-popover img { width: 140px; height: 140px; object-fit: contain; }
.cooperation-contact-popover strong { font-size: 13px; line-height: 1.4; }
.cooperation-contact-popover small { color: #748198; font-size: 12px; line-height: 1.4; }
.cooperation-contact-item:hover .cooperation-contact-popover, .cooperation-contact-item:focus-within .cooperation-contact-popover { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(0, -50%); }
.cooperation-contact-robot { position: absolute; z-index: -1; left: 50%; top: calc(100% - 7px); width: 64px; height: 64px; object-fit: contain; pointer-events: none; filter: drop-shadow(0 7px 9px rgba(20,55,105,.18)); transform: translateX(-50%); animation: cooperation-contact-robot-float 3.2s ease-in-out infinite; }
@keyframes cooperation-contact-robot-float { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, -5px); } }

@media (max-width: 1100px) {
  .enrollment-bar-inner { width: calc(100% - 24px); grid-template-columns: 78px 138px 58px minmax(0, 1fr) 108px; transform: translateY(-4px); }
  .enrollment-mark { width: 76px; height: 86px; }
  .enrollment-copy { padding-inline: 10px; }
  .enrollment-copy strong { font-size: 20px; }
  .enrollment-copy strong b { font-size: 30px; }
  .enrollment-copy span { font-size: 12px; }
  .enrollment-offer { width: 58px; }
  .enrollment-offer strong { font-size: 32px; }
  .enrollment-benefits { padding-inline: 6px 8px; }
  .enrollment-benefits b { font-size: 13px; }
  .enrollment-benefits span small { font-size: 10px; }
  .enrollment-qr { width: 104px; height: 124px; }
  .enrollment-qr-image { width: 84px; height: 84px; }
}

@media (max-width: 820px) {
  body { padding-bottom: 84px; }
  .enrollment-bar { height: 74px; }
  .enrollment-bar-inner { display: flex; gap: 10px; transform: none; }
  .enrollment-mark, .enrollment-offer, .enrollment-benefits, .enrollment-qr { display: none; }
  .enrollment-copy { min-width: 0; padding: 0; flex: 1 1 0; border: 0; }
  .enrollment-copy strong { font-size: 19px; }
  .enrollment-copy strong b { font-size: 27px; }
  .enrollment-copy span { display: block; font-size: 12px; }
  .enrollment-actions { width: 112px; display: grid; flex: 0 0 112px; }
  .cooperation-float-contact { right: 6px; top: auto; bottom: 58px; padding: 4px; gap: 3px; transform: none; }
  .cooperation-contact-item > button { width: 50px; min-height: 40px; padding: 4px; font-size: 11px; }
  .cooperation-contact-popover { right: calc(100% + 7px); width: 144px; padding: 9px; }
  .cooperation-contact-popover img { width: 120px; height: 120px; }
  .cooperation-contact-robot { top: calc(100% - 4px); width: 48px; height: 48px; }
}

@media (max-width: 620px) {
  body { padding-bottom: 76px; }
  .enrollment-bar { height: 68px; }
  .enrollment-bar-inner { width: calc(100% - 18px); gap: 8px; }
  .enrollment-copy strong { font-size: 17px; }
  .enrollment-copy strong b { font-size: 24px; }
  .enrollment-copy span { font-size: 11px; }
  .enrollment-actions { width: 104px; flex-basis: 104px; }
  .enrollment-action { width: 100%; min-width: 0; min-height: 42px; padding-inline: 6px; font-size: 13px; }
  .enrollment-bar.qr-open .enrollment-qr { position: absolute; right: 9px; bottom: calc(100% + 10px); width: 104px; height: 116px; display: grid; transform: none; }
}

@media (max-width: 520px) {
  .footer-main { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-follow { grid-template-columns: 1fr auto; align-items: start; }
  .footer-follow > strong { grid-column: 1 / -1; }
  .footer-follow small { align-self: center; }
  .footer-bottom .wrap { gap: 18px; }
}

/* Multi-page navigation and editorial motion */
body[data-page="brand"] main > [data-scope]:not([data-scope~="brand"]),
body[data-page="platform"] main > [data-scope]:not([data-scope~="platform"]),
body[data-page="cultivation"] main > [data-scope]:not([data-scope~="cultivation"]),
body[data-page="course"] main > [data-scope]:not([data-scope~="course"]),
body[data-page="outcomes"] main > [data-scope]:not([data-scope~="outcomes"]),
body[data-page="classroom"] main > [data-scope]:not([data-scope~="classroom"]),
body[data-page="cooperation"] main > [data-scope]:not([data-scope~="cooperation"]) { display: none !important; }

body[data-page="platform"] main { display: flex; flex-direction: column; }
body[data-page="platform"] .subpage-platform { order: 10; }
body[data-page="platform"] .cultivation-section { order: 20; }
body[data-page="platform"] .teaching-foundation-section { order: 30; }
body[data-page="platform"] .course-package-section { order: 40; }
body[data-page="platform"] .course-schedule-section { order: 60; }
body[data-page="platform"] .package-support-section { order: 50; }
body[data-page="platform"] .course-project-wall-section { order: 90; }

.site-header { transition: height .25s ease, box-shadow .25s ease, background-color .25s ease; }
.site-header.header-compact { height: 60px; background: rgba(255,255,255,.98); box-shadow: 0 9px 28px rgba(19,54,100,.09); }
.site-nav a { position: relative; transition: color .2s ease; }
.site-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 17px; height: 2px; border-radius: 2px; background: var(--blue); transform: scaleX(0); transform-origin: center; transition: transform .22s ease; }
.site-nav a:hover::after, .site-nav a.active::after { transform: scaleX(1); }
.site-nav a.active { color: var(--blue); font-weight: 800; }

.subpage-hero { position: relative; min-height: 620px; padding-top: 68px; overflow: hidden; display: grid; align-items: end; color: #fff; background: #102344; }
.subpage-hero > img { position: absolute; inset: 68px 0 0; height: calc(100% - 68px); object-fit: cover; object-position: center; transform: scale(1.035); transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.page-ready .subpage-hero > img { transform: scale(1); }
.subpage-platform > img { object-position: center 48%; }
.subpage-cultivation > img { object-position: center 55%; }
.subpage-course > img { object-position: center 44%; }
.subpage-outcomes > img { object-position: center 40%; }
.subpage-classroom > img { object-position: center 45%; }
.subpage-hero-shade { position: absolute; inset: 68px 0 0; background: linear-gradient(90deg, rgba(8,27,58,.86) 0%, rgba(8,27,58,.6) 43%, rgba(8,27,58,.12) 74%), linear-gradient(0deg, rgba(5,19,43,.48), transparent 58%); }
.subpage-hero-copy { position: relative; z-index: 1; padding-block: 104px 72px; }
.subpage-hero-copy > span { color: #91ddff; font-size: 13px; font-weight: 850; }
.subpage-hero-copy h1 { max-width: 780px; margin: 18px 0 17px; font-size: 54px; line-height: 1.14; }
.subpage-hero-copy h1 strong { color: #fff; font-weight: 900; }
.subpage-hero-copy p { max-width: 620px; margin: 0; color: rgba(255,255,255,.82); font-size: 16px; line-height: 1.8; }
.subpage-hero-action { margin-top: 28px; color: #1356ba; background: #fff; box-shadow: 0 12px 30px rgba(4,20,46,.2); }
.subpage-hero-action:hover { color: #fff; background: var(--blue); }
.subpage-outcomes { align-items: stretch; }
.subpage-outcomes .subpage-hero-shade { background: linear-gradient(180deg, rgba(0,74,183,.22), rgba(0,82,204,.04) 58%, rgba(0,52,145,.18)); }
.subpage-outcomes .subpage-hero-copy { padding-block: 148px 42px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; }
.subpage-outcomes .subpage-hero-copy > span { color: rgba(255,255,255,.78); }
.subpage-outcomes .subpage-hero-copy h1 { max-width: 900px; margin-top: 17px; }
.subpage-outcomes .subpage-hero-copy p { max-width: 660px; }
body[data-page="classroom"] .subpage-classroom { min-height: 560px; align-items: stretch; color: var(--ink); background: #fff; }
body[data-page="classroom"] .subpage-classroom > img { left: 42%; right: auto; width: 58%; object-position: center; }
body[data-page="classroom"] .subpage-classroom .subpage-hero-shade { background: linear-gradient(90deg, #fff 0%, #fff 37%, rgba(255,255,255,.9) 43%, rgba(255,255,255,0) 55%); }
body[data-page="classroom"] .subpage-classroom .subpage-hero-copy { padding-block: 118px 76px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
body[data-page="classroom"] .subpage-classroom .subpage-hero-copy > span { color: var(--orange); }
body[data-page="classroom"] .subpage-classroom .subpage-hero-copy h1 { max-width: 510px; color: var(--ink); font-size: 58px; }
body[data-page="classroom"] .subpage-classroom .subpage-hero-copy h1 strong { color: var(--orange); }
body[data-page="classroom"] .subpage-classroom .subpage-hero-copy p { color: #53657d; font-size: 16px; }
body[data-page="classroom"] .subpage-classroom .subpage-hero-action { color: #fff; background: var(--orange); box-shadow: 0 12px 26px rgba(244,118,33,.22); }
body[data-page="classroom"] .subpage-classroom .subpage-hero-action:hover { background: #d85d0d; }
@media (min-width: 621px) {
  .subpage-outcomes { min-height: 100svh; }
}

.site-journey-section { border-top: 1px solid var(--line); background: #f5f8fc; }
.site-journey-grid { height: 500px; display: flex; gap: 14px; }
.site-journey-card { position: relative; min-width: 0; min-height: 0; overflow: hidden; display: block; flex: 1 1 0; border: 1px solid rgba(158,211,255,.3); border-radius: 8px; color: #fff; background: #10284e; box-shadow: 0 20px 52px rgba(0,12,34,.28); transition: flex-grow .58s cubic-bezier(.2,.75,.2,1), border-color .25s ease, box-shadow .25s ease; }
.site-journey-card.is-active { flex-grow: 3.8; border-color: rgba(126,209,255,.72); box-shadow: 0 28px 68px rgba(0,15,45,.38); }
.site-journey-card figure { position: absolute; inset: 0; min-width: 0; height: 100%; margin: 0; overflow: hidden; background: #10284e; }
.site-journey-card figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,16,39,.94) 0%, rgba(4,21,48,.35) 54%, rgba(4,21,48,.08) 100%); transition: background .45s ease; }
.site-journey-card.is-active figure::after { background: linear-gradient(0deg, rgba(3,16,39,.9) 0%, rgba(4,21,48,.18) 58%, rgba(4,21,48,.03) 100%); }
.site-journey-card figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.9) brightness(.82); transform: scale(1.04); transition: filter .55s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.site-journey-card:nth-child(2) figure img { object-position: 42% center; }
.site-journey-card:nth-child(3) figure img { object-position: 38% center; }
.site-journey-card.is-active figure img { filter: saturate(1.02) brightness(.98); transform: scale(1); }
.site-journey-card > div { position: absolute; z-index: 1; inset: auto 0 0; min-width: 0; min-height: 148px; padding: 25px 18px 24px; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; }
.site-journey-card small { max-width: 100%; overflow: hidden; color: #79d7ff; font-size: 11px; font-weight: 850; white-space: nowrap; opacity: .76; }
.site-journey-card h3 { margin: 9px 0 0; font-size: 19px; line-height: 1.28; overflow-wrap: anywhere; }
.site-journey-card p { max-width: 470px; max-height: 0; margin: 0; overflow: hidden; color: rgba(235,245,255,.76); font-size: 13px; line-height: 1.65; opacity: 0; transform: translateY(10px); transition: max-height .45s ease, margin .45s ease, opacity .32s ease .12s, transform .45s ease; }
.site-journey-card span { max-height: 0; margin: 0; overflow: hidden; color: #8de1ff; font-size: 14px; font-weight: 850; opacity: 0; transform: translateY(10px); transition: max-height .4s ease, margin .4s ease, opacity .3s ease .16s, transform .42s ease; }
.site-journey-card.is-active > div { padding: 32px 30px 30px; }
.site-journey-card.is-active h3 { font-size: 30px; }
.site-journey-card.is-active p { max-height: 70px; margin-top: 11px; opacity: 1; transform: translateY(0); }
.site-journey-card.is-active span { max-height: 24px; margin-top: 18px; opacity: 1; transform: translateY(0); }

.reveal-target { opacity: 0; transform: translateY(24px); transition: opacity .62s ease, transform .62s cubic-bezier(.2,.7,.2,1); transition-delay: var(--reveal-delay, 0ms); }
.reveal-target.reveal-in { opacity: 1; transform: translateY(0); }

@media (max-width: 900px) {
  .subpage-hero { min-height: 560px; }
  .subpage-hero-copy h1 { font-size: 44px; }
  body[data-page="classroom"] .subpage-classroom > img { left: 46%; width: 54%; }
  body[data-page="classroom"] .subpage-classroom .subpage-hero-shade { background: linear-gradient(90deg, #fff 0%, #fff 40%, rgba(255,255,255,.86) 47%, rgba(255,255,255,0) 60%); }
  body[data-page="classroom"] .subpage-classroom .subpage-hero-copy h1 { max-width: 420px; font-size: 45px; }
  .education-products-grid { height: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .education-product-card, .education-product-card.is-active { min-height: 340px; flex: none; }
  .education-product-main { grid-column: 1 / -1; }
  .education-product-main, .education-product-main.is-active { min-height: 420px; }
  .education-product-card img, .education-product-card.is-active img { filter: saturate(1) brightness(.88); transform: none; }
  .education-product-card figure::after, .education-product-card.is-active figure::after { background: linear-gradient(0deg, rgba(4,17,42,.9) 0%, rgba(4,17,42,.42) 58%, rgba(4,17,42,.08) 100%); }
  .education-product-copy, .education-product-card.is-active .education-product-copy { min-height: 168px; padding: 24px 22px 25px; }
  .education-product-copy h3, .education-product-card.is-active .education-product-copy h3 { font-size: 25px; }
  .education-product-copy p, .education-product-card.is-active .education-product-copy p { max-height: 120px; margin-top: 10px; opacity: 1; transform: none; }
  .education-product-copy ul, .education-product-card.is-active .education-product-copy ul { max-height: 84px; padding-top: 16px; opacity: 1; transform: none; }
  .site-journey-grid { height: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .site-journey-card, .site-journey-card.is-active { min-height: 290px; flex: none; }
  .site-journey-card:first-child { grid-column: 1 / -1; min-height: 380px; }
  .site-journey-card figure img, .site-journey-card.is-active figure img { filter: saturate(1) brightness(.9); transform: none; }
  .site-journey-card > div, .site-journey-card.is-active > div { min-height: 128px; padding: 22px 20px; }
  .site-journey-card h3, .site-journey-card.is-active h3 { font-size: 24px; }
  .site-journey-card span, .site-journey-card.is-active span { max-height: 24px; margin-top: 14px; opacity: 1; transform: none; }
  .site-journey-card p, .site-journey-card.is-active p { max-height: 70px; margin-top: 9px; opacity: 1; transform: none; }
}

@media (max-width: 620px) {
  .site-nav a::after { display: none; }
  .site-nav a.active { color: var(--blue); background: #edf5ff; }
  .subpage-hero { min-height: 530px; }
  .subpage-hero-shade { background: linear-gradient(0deg, rgba(6,23,50,.92) 0%, rgba(6,23,50,.48) 62%, rgba(6,23,50,.16) 100%); }
  .subpage-hero-copy { padding-block: 72px 46px; }
  .subpage-hero-copy h1 { max-width: 360px; margin-top: 15px; font-size: 36px; line-height: 1.18; }
  .subpage-hero-copy p { max-width: 350px; font-size: 14px; line-height: 1.7; }
  .subpage-hero-action { margin-top: 22px; }
  .subpage-platform > img { object-position: 82% center; }
  .subpage-outcomes > img { object-position: 68% center; }
  .subpage-outcomes .subpage-hero-shade { background: linear-gradient(180deg, rgba(0,61,161,.32), rgba(0,78,196,.12) 58%, rgba(0,40,112,.42)); }
  .subpage-outcomes .subpage-hero-copy { padding-block: 108px 40px; }
  .subpage-outcomes .subpage-hero-copy h1 { max-width: 360px; }
  body[data-page="classroom"] .subpage-classroom { min-height: 0; padding-top: 68px; display: flex; flex-direction: column; }
  body[data-page="classroom"] .subpage-classroom > img { position: relative; inset: auto; order: 1; width: 100%; height: auto; aspect-ratio: 16 / 10; object-position: center; transform: none; }
  body[data-page="classroom"] .subpage-classroom .subpage-hero-shade { display: none; }
  body[data-page="classroom"] .subpage-classroom .subpage-hero-copy { order: 2; padding-block: 38px 48px; }
  body[data-page="classroom"] .subpage-classroom .subpage-hero-copy h1 { max-width: 360px; font-size: 38px; }
  body[data-page="classroom"] .subpage-classroom .subpage-hero-copy p { font-size: 14px; }
  .education-products-head { margin-bottom: 28px; }
  .education-products-head h2 { font-size: 31px; }
  .education-products-head p { font-size: 13px; }
  .education-products-grid { grid-template-columns: 1fr; gap: 12px; }
  .education-product-card, .education-product-card.is-active, .education-product-main, .education-product-main.is-active { min-height: 330px; grid-column: auto; }
  .education-product-copy, .education-product-card.is-active .education-product-copy { min-height: 0; padding: 20px 18px 21px; }
  .education-product-copy h3, .education-product-card.is-active .education-product-copy h3 { font-size: 23px; }
  .education-product-copy p, .education-product-card.is-active .education-product-copy p { font-size: 13px; }
  .education-product-copy ul { padding-top: 16px; grid-template-columns: 1fr; }
  .site-journey-grid { grid-template-columns: 1fr; }
  .site-journey-card, .site-journey-card.is-active, .site-journey-card:first-child { grid-column: auto; min-height: 300px; }
  .site-journey-card > div, .site-journey-card.is-active > div { padding: 22px 19px; }
  .site-journey-card h3, .site-journey-card.is-active h3 { font-size: 23px; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header, .site-nav a::after, .subpage-hero > img, .education-product-card, .education-product-card figure::after, .education-product-card img, .education-product-copy, .education-product-copy small, .education-product-copy h3, .education-product-copy p, .education-product-copy ul, .site-journey-card, .site-journey-card figure img, .practice-gallery img, .reveal-target { transition: none; }
  .reveal-target { opacity: 1; transform: none; }
  .practice-panel.active { animation: none; }
}

/* Homepage atmosphere and section rhythm */
body[data-page="brand"] .brand-story-section,
body[data-page="brand"] .expertise-section,
body[data-page="brand"] .education-products-section,
body[data-page="brand"] .expert-team-section,
body[data-page="brand"] .audience-section,
body[data-page="brand"] .site-journey-section { position: relative; isolation: isolate; overflow: hidden; padding-block: 108px; }

body[data-page="brand"] .brand-story-section > .wrap,
body[data-page="brand"] .expertise-section > .wrap,
body[data-page="brand"] .education-products-section > .wrap,
body[data-page="brand"] .expert-team-section > .wrap,
body[data-page="brand"] .audience-section > .wrap,
body[data-page="brand"] .site-journey-section > .wrap { position: relative; z-index: 1; }

body[data-page="brand"] .brand-story-section {
  background-color: #f8fbff;
  background-image: linear-gradient(180deg, rgba(255,255,255,.94), rgba(244,249,255,.97)), url("./assets/hero-super-school-space-v3.webp");
  background-position: center, center 38%;
  background-size: cover;
}

body[data-page="brand"] .brand-story-section::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 8%;
  right: 8%;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(23,100,232,.24), transparent);
}

body[data-page="brand"] .expertise-section {
  background-color: #edf5ff;
  background-image: linear-gradient(180deg, rgba(246,250,255,.97), rgba(232,242,255,.94)), linear-gradient(rgba(23,100,232,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(23,100,232,.045) 1px, transparent 1px);
  background-size: auto, 36px 36px, 36px 36px;
}

body[data-page="brand"] .expertise-section::before {
  content: "ACADEMIC · INDUSTRY";
  position: absolute;
  z-index: 0;
  right: -18px;
  top: 54px;
  color: rgba(23,100,232,.045);
  font-size: 92px;
  font-weight: 900;
  white-space: nowrap;
}

body[data-page="brand"] .expert-team-section {
  background-color: #061a3a;
  background-image: linear-gradient(90deg, rgba(3,18,43,.96), rgba(4,25,57,.88) 52%, rgba(5,27,59,.93)), url("./assets/brand-classroom-wide.jpg");
  background-position: center;
  background-size: cover;
}

body[data-page="brand"] .expert-team-section::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background-image: linear-gradient(rgba(102,190,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(102,190,255,.055) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(90deg, transparent, #000 42%, #000 72%, transparent);
}

body[data-page="brand"] .expert-person-card {
  border-color: rgba(137,207,255,.28);
  background: rgba(8,35,75,.78);
  box-shadow: 0 24px 60px rgba(0,8,24,.34);
  backdrop-filter: blur(9px);
}

body[data-page="brand"] .audience-section {
  background-color: #f6faff;
  background-image: linear-gradient(180deg, rgba(239,247,255,.96), rgba(255,255,255,.98) 44%, rgba(238,246,255,.96)), url("./assets/hero-super-campus-v3.webp");
  background-position: center, center 46%;
  background-size: cover;
}

body[data-page="brand"] .audience-card {
  box-shadow: 0 20px 50px rgba(32,79,142,.11);
}

body[data-page="brand"] .site-journey-section {
  color: #fff;
  border-color: rgba(137,207,255,.18);
  background-color: #061a3a;
  background-image: linear-gradient(90deg, rgba(4,20,49,.96), rgba(6,31,72,.88) 55%, rgba(7,38,83,.9)), url("./assets/hero-super-school-space-v3.webp");
  background-position: center;
  background-size: cover;
}

body[data-page="brand"] .site-journey-section .section-head h2 { color: #fff; }
body[data-page="brand"] .site-journey-section .section-head > p { color: rgba(225,239,255,.72); }
body[data-page="brand"] .site-journey-section .kicker { color: #6ed9ff; }
body[data-page="brand"] .site-journey-card { border-color: rgba(147,207,255,.24); box-shadow: 0 20px 54px rgba(0,10,31,.25); }

@media (max-width: 620px) {
  body[data-page="brand"] .brand-story-section,
  body[data-page="brand"] .expertise-section,
  body[data-page="brand"] .expert-team-section,
  body[data-page="brand"] .audience-section,
  body[data-page="brand"] .site-journey-section { padding-block: 76px; }

  body[data-page="brand"] .expertise-section::before { right: -8px; top: 38px; font-size: 42px; }
  body[data-page="brand"] .brand-story-section,
  body[data-page="brand"] .audience-section { background-position: center, center top; }

}

/* Cooperation page */
.cooperation-hero { position: relative; min-height: 700px; padding-top: 68px; overflow: hidden; display: grid; align-items: end; color: #fff; background: #8a3d12; }
.cooperation-hero > img { position: absolute; inset: 68px 0 0; width: 100%; height: calc(100% - 68px); object-fit: cover; object-position: center 50%; transform: scale(1.025); transition: transform 1.1s cubic-bezier(.2,.7,.2,1); }
.page-ready .cooperation-hero > img { transform: scale(1); }
.cooperation-hero-shade { position: absolute; inset: 68px 0 0; background: linear-gradient(90deg, rgba(7,25,54,.88) 0%, rgba(19,35,62,.7) 42%, rgba(66,45,34,.12) 76%), linear-gradient(0deg, rgba(54,27,13,.34), transparent 58%); }
.cooperation-hero-copy { position: relative; z-index: 1; padding-block: 132px 92px; }
.cooperation-hero-copy > span { color: #7fddff; font-size: 13px; font-weight: 850; }
.cooperation-hero-copy h1 { max-width: 820px; margin: 18px 0 20px; font-size: 68px; line-height: 1.12; }
.cooperation-hero-copy h1 strong { color: #ffd071; }
.cooperation-hero-copy > p { max-width: 690px; margin: 0; color: rgba(255,255,255,.8); font-size: 17px; line-height: 1.8; }
.cooperation-hero-actions { margin-top: 34px; display: flex; align-items: center; gap: 24px; }
.cooperation-text-link { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 14px; font-weight: 800; }
.cooperation-text-link:hover { color: #7fddff; }

.ai-era-section { overflow: hidden; padding-block: 76px; background: #fffdfa; }
.ai-era-section > .wrap { width: min(1240px, calc(100% - 40px)); }
.ai-era-hero { min-height: 360px; display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; background: #fffaf5; }
.ai-era-copy { position: relative; z-index: 1; padding: 49px 58px 45px; display: flex; flex-direction: column; justify-content: center; background: radial-gradient(circle at 100% 0, rgba(255,189,118,.42), transparent 30%), #fffdfa; }
.ai-era-copy::after { content: ""; position: absolute; right: -68px; bottom: -92px; width: 190px; height: 190px; border: 42px solid rgba(255,135,42,.15); border-radius: 50%; }
.ai-era-eyebrow { width: 104px; color: #aab3c1; font-size: 11px; font-weight: 800; line-height: 1.65; }
.ai-era-copy h2 { margin: 10px 0 5px; color: #061f46; font-size: 68px; line-height: 1.08; letter-spacing: 0; }
.ai-era-copy h2 strong { color: #ff630b; font-size: 1.2em; }
.ai-era-subtitle { margin: 0; color: #092653; font-size: 23px; font-weight: 800; line-height: 1.45; }
.ai-era-copy > i { width: 58px; height: 7px; margin: 27px 0 21px; border-radius: 10px; background: #ff630b; }
.ai-era-summary { max-width: 490px; margin: 0; color: #7b8ba2; font-size: 15px; line-height: 1.85; }
.ai-era-photo { position: relative; min-height: 360px; margin: 0; overflow: hidden; background: #eaf2f7; }
.ai-era-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.08), transparent 35%), linear-gradient(0deg, rgba(3,24,55,.32), transparent 48%); }
.ai-era-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; transition: transform .7s cubic-bezier(.2,.72,.2,1); }
.ai-era-photo:hover img { transform: scale(1.025); }
.ai-era-photo figcaption { position: absolute; z-index: 1; right: 30px; top: 34px; width: 175px; display: grid; gap: 8px; color: #082958; text-align: right; }
.ai-era-photo figcaption strong { font-size: 17px; line-height: 1.55; }
.ai-era-photo figcaption small { color: rgba(8,41,88,.52); font-size: 10px; line-height: 1.5; }

.ai-policy-timeline { position: relative; margin-top: 10px; padding: 25px 28px 22px; overflow: hidden; border: 1px solid rgba(255,110,15,.14); border-radius: 6px; background: linear-gradient(180deg, #fffaf5, #fff7ef); }
.ai-policy-timeline::after { content: ""; position: absolute; inset: auto -4% -44px; height: 82px; opacity: .52; background: radial-gradient(70% 90% at 22% 100%, #ffd7bd 0 48%, transparent 49%), radial-gradient(62% 100% at 60% 100%, #ffe7d5 0 48%, transparent 49%), radial-gradient(52% 90% at 94% 100%, #ffd9c0 0 48%, transparent 49%); }
.ai-policy-timeline-head { position: relative; z-index: 1; display: flex; align-items: center; gap: 14px; }
.ai-policy-timeline-icon { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: linear-gradient(145deg, #ff8a23, #ff5c08); font-size: 15px; font-weight: 900; box-shadow: 0 8px 18px rgba(255,100,10,.2); }
.ai-policy-timeline-head h3 { margin: 0; color: #071f45; font-size: 18px; line-height: 1.35; }
.ai-policy-timeline-head p { margin: 4px 0 0; color: #7c899b; font-size: 13px; line-height: 1.6; }
.ai-policy-timeline-track { position: relative; z-index: 1; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; }
.ai-policy-timeline-track::before { content: ""; position: absolute; left: 1.5%; right: 1.5%; top: 36px; height: 2px; background: linear-gradient(90deg, #ffc195, #ff690f); }
.ai-policy-timeline-track::after { content: ""; position: absolute; right: 1%; top: 32px; border: 5px solid transparent; border-left: 8px solid #ff690f; }
.ai-policy-timeline-track li { position: relative; min-width: 0; }
.ai-policy-timeline-track a { min-height: 128px; padding-right: 26px; display: grid; align-content: start; color: inherit; }
.ai-policy-timeline-track time { color: #ff630b; font: 900 17px/1.2 ui-monospace, monospace; }
.ai-policy-timeline-track i { z-index: 1; width: 10px; height: 10px; margin: 9px 0 13px 2px; border: 3px solid #ff7a21; border-radius: 50%; background: #fffaf5; box-shadow: 0 0 0 3px rgba(255,122,33,.08); }
.ai-policy-timeline-track strong { color: #102d54; font-size: 13px; line-height: 1.45; }
.ai-policy-timeline-track span { margin-top: 6px; color: #718096; font-size: 12px; line-height: 1.6; }
.ai-policy-timeline-track a:hover strong { color: #e75f08; }
.ai-policy-timeline-summary { position: relative; z-index: 1; margin: 5px 0 0; color: #a17155; font-size: 11px; line-height: 1.5; }

.ai-era-pillars { margin-top: 10px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ai-era-pillar { position: relative; min-width: 0; min-height: 230px; overflow: hidden; padding: 27px 27px 24px; display: flex; flex-direction: column; border-radius: 5px; background: #fff8f1; }
.ai-era-pillar::after { content: ""; position: absolute; right: -50px; bottom: -68px; width: 150px; height: 150px; border: 27px solid rgba(255,119,25,.12); border-radius: 50%; }
.ai-era-pillar header { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; color: #ff630b; }
.ai-era-pillar header b { font: 900 111px/1 ui-monospace, monospace; }
.ai-era-pillar header span { font-size: 27px; font-weight: 900; opacity: .82; }
.ai-era-pillar h3 { position: relative; z-index: 1; margin: 17px 0 13px; color: #061f46; font-size: 25px; line-height: 1.2; }
.ai-era-pillar p { position: relative; z-index: 1; margin: 0; color: #6f8097; font-size: 14px; line-height: 1.75; }
.ai-era-pillar a { position: relative; z-index: 1; width: fit-content; margin-top: auto; padding-top: 10px; color: #1866d9; font-size: 12px; font-weight: 850; }
.ai-era-pillar-policy, .ai-era-pillar-support { background: #f2f7ff; }
.ai-era-pillar-policy::after, .ai-era-pillar-support::after { border-color: rgba(34,112,230,.1); }
.ai-era-pillar-policy header, .ai-era-pillar-support header { color: #3d83e7; }

.cooperation-models-section { background: #fff; }
.cooperation-model-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.cooperation-model-card { position: relative; min-height: 340px; overflow: hidden; padding: 34px 30px 30px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(160deg, #fff 58%, #f1f7ff); box-shadow: var(--shadow); }
.cooperation-model-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--blue); }
.cooperation-model-card:nth-child(2)::before { background: var(--green); }
.cooperation-model-card:nth-child(3)::before { background: var(--orange); }
.cooperation-model-number { position: absolute; right: 22px; top: 18px; color: rgba(23,100,232,.08); font: 900 62px/1 ui-monospace, monospace; }
.cooperation-model-card > small { color: var(--blue); font-size: 11px; font-weight: 850; }
.cooperation-model-card:nth-child(2) > small { color: #538d0c; }
.cooperation-model-card:nth-child(3) > small { color: #d75e10; }
.cooperation-model-card h3 { margin: 20px 0 12px; font-size: 25px; line-height: 1.3; }
.cooperation-model-card > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.cooperation-model-card ul { margin: 25px 0 0; padding: 0; display: grid; gap: 11px; list-style: none; }
.cooperation-model-card li { position: relative; padding-left: 20px; color: #385170; font-size: 14px; font-weight: 750; line-height: 1.5; }
.cooperation-model-card li::before { content: ""; position: absolute; left: 0; top: .58em; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); }
.cooperation-model-card:nth-child(2) li::before { background: var(--green); }
.cooperation-model-card:nth-child(3) li::before { background: var(--orange); }

.cooperation-advantages-section { overflow: hidden; background: #f3f7fc; }
.cooperation-advantages-head { margin-bottom: 38px; }
.cooperation-advantages { width: min(100%, 1100px); height: 430px; margin-inline: auto; overflow: hidden; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-radius: 4px; }
.cooperation-advantage { --advantage-color: rgba(23,100,232,.94); --advantage-shadow: rgba(8,45,91,.91); position: relative; min-width: 0; overflow: hidden; padding: 0; border: 0; border-radius: 0; color: #fff; text-align: left; background: #09234b; cursor: pointer; }
.cooperation-advantage:nth-child(2) { --advantage-color: rgba(35,119,213,.95); --advantage-shadow: rgba(8,62,111,.9); }
.cooperation-advantage:nth-child(3) { --advantage-color: rgba(20,143,139,.95); --advantage-shadow: rgba(6,73,75,.9); }
.cooperation-advantage:nth-child(4) { --advantage-color: rgba(55,76,174,.95); --advantage-shadow: rgba(35,44,96,.91); }
.cooperation-advantage::before { content: ""; position: absolute; z-index: 1; inset: 0; background: var(--advantage-color); transform: scaleY(0); transform-origin: center top; transition: transform .5s cubic-bezier(.2,.72,.2,1); }
.cooperation-advantage:hover::before, .cooperation-advantage:focus-visible::before, .cooperation-advantage.is-active::before { transform: scaleY(1); }
.cooperation-advantage:focus-visible { outline: 3px solid #2b8cff; outline-offset: 3px; }
.cooperation-advantage > img { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.82) brightness(.78); transition: transform .65s cubic-bezier(.2,.72,.2,1), filter .35s ease; }
.cooperation-advantage:hover > img, .cooperation-advantage:focus-visible > img, .cooperation-advantage.is-active > img { transform: scale(1.045); filter: saturate(.96) brightness(.88); }
.cooperation-advantage::after { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(180deg, rgba(4,18,43,.05) 18%, var(--advantage-shadow) 100%); transition: opacity .35s ease; }
.cooperation-advantage:hover::after, .cooperation-advantage:focus-visible::after, .cooperation-advantage.is-active::after { opacity: .28; }
.cooperation-advantage-number { position: absolute; z-index: 3; left: 24px; top: 22px; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.58); border-radius: 50%; background: rgba(5,28,63,.28); font: 800 13px/1 ui-monospace, monospace; backdrop-filter: blur(5px); }
.cooperation-advantage-copy { position: absolute; z-index: 3; inset: auto 24px 27px; display: grid; justify-items: start; gap: 10px; }
.cooperation-advantage-copy strong { display: grid; justify-items: start; font-size: 20px; line-height: 1.28; }
.cooperation-advantage-copy strong span { white-space: nowrap; }
.cooperation-advantage-copy small { max-width: 230px; max-height: 0; overflow: hidden; color: rgba(255,255,255,.86); font-size: 14px; line-height: 1.7; opacity: 0; transform: translateY(10px); transition: max-height .16s ease, opacity .12s ease, transform .12s ease; }
.cooperation-advantage-copy::after { content: "\2192"; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #153c71; background: #fff; font-size: 15px; font-weight: 900; transition: opacity .18s ease, transform .18s ease; }
.cooperation-advantage:hover .cooperation-advantage-copy small, .cooperation-advantage:focus-visible .cooperation-advantage-copy small, .cooperation-advantage.is-active .cooperation-advantage-copy small { max-height: 86px; opacity: 1; transform: translateY(0); transition: max-height .25s ease .2s, opacity .22s ease .3s, transform .22s ease .3s; }
.cooperation-advantage:hover .cooperation-advantage-copy::after, .cooperation-advantage:focus-visible .cooperation-advantage-copy::after, .cooperation-advantage.is-active .cooperation-advantage-copy::after { opacity: 0; transform: translateX(8px); }

.cooperation-empowerment-section { overflow: hidden; background: #fff; }
.cooperation-empowerment-head { margin-bottom: 34px; }
.empowerment-navigator { position: relative; width: min(100%, 820px); margin: 0 auto 30px; display: grid; grid-template-columns: 46px minmax(0, 1fr) 46px; align-items: center; gap: 20px; }
.empowerment-navigator::before { content: ""; position: absolute; z-index: 0; left: 54px; right: 54px; top: 25px; height: 1px; background: #d5e2f2; }
.empowerment-tabs { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.empowerment-tab { min-width: 0; padding: 0; display: grid; justify-items: center; gap: 9px; border: 0; color: #718097; background: transparent; cursor: pointer; }
.empowerment-tab-mark { width: 52px; height: 52px; display: grid; place-items: center; border: 7px solid #eef4fb; border-radius: 50%; color: #6c7d94; background: #dbe7f5; font: 850 12px/1 ui-monospace, monospace; box-shadow: 0 0 0 1px #cfdeee; transition: color .28s ease, border-color .28s ease, background-color .28s ease, box-shadow .28s ease, transform .28s ease; }
.empowerment-tab strong { font-size: 13px; line-height: 1.35; transition: color .28s ease; }
.empowerment-tab:hover .empowerment-tab-mark { transform: translateY(-2px); }
.empowerment-tab.active { color: var(--blue); }
.empowerment-tab.active .empowerment-tab-mark { color: #fff; border-color: #ddebff; background: var(--blue); box-shadow: 0 0 0 2px var(--blue), 0 10px 24px rgba(23,100,232,.2); }
.empowerment-tab:focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; border-radius: 4px; }
.empowerment-arrow { position: relative; z-index: 1; width: 46px; height: 46px; padding: 0; display: grid; place-items: center; border: 1px solid #cddbed; border-radius: 50%; color: #fff; background: var(--blue); font-size: 19px; font-weight: 850; cursor: pointer; box-shadow: 0 9px 22px rgba(23,100,232,.18); transition: color .22s ease, border-color .22s ease, background-color .22s ease, transform .22s ease; }
.empowerment-arrow:hover:not(:disabled) { transform: translateY(-2px); }
.empowerment-arrow:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.empowerment-arrow:disabled { color: #9cabbf; border-color: #dae4ef; background: #edf2f8; cursor: default; box-shadow: none; }
.empowerment-panel.active { animation: empowerment-panel-in .52s cubic-bezier(.2,.72,.2,1) both; }
.empowerment-deck { height: 410px; display: flex; gap: 12px; }
.empowerment-card { position: relative; min-width: 0; overflow: hidden; flex: .86 1 0; padding: 0; border: 0; border-radius: 7px; color: #fff; text-align: left; background: #09234b; cursor: pointer; box-shadow: 0 14px 36px rgba(21,61,116,.12); transition: flex-grow .52s cubic-bezier(.2,.72,.2,1), transform .3s ease, box-shadow .3s ease; }
.empowerment-card.is-active { flex-grow: 1.9; box-shadow: 0 22px 48px rgba(21,61,116,.2); }
.empowerment-card:focus-visible { outline: 3px solid #2b8cff; outline-offset: 3px; }
.empowerment-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .7s cubic-bezier(.2,.72,.2,1), filter .4s ease; }
.empowerment-card:not(.is-active) > img { filter: saturate(.76) brightness(.76); }
.empowerment-card.is-active > img { transform: scale(1.035); }
.empowerment-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4,18,43,.08) 24%, rgba(4,18,43,.9) 100%); }
.empowerment-card > span { position: absolute; z-index: 1; inset: auto 24px 25px; display: grid; gap: 7px; }
.empowerment-card b { color: #78ddff; font: 850 11px/1.2 ui-monospace, monospace; white-space: nowrap; }
.empowerment-card strong { display: flex; align-items: center; gap: 8px; font-size: 23px; line-height: 1.32; white-space: nowrap; }
.empowerment-card strong .platform-purpose { min-height: 20px; color: #164e9c; background: rgba(255,255,255,.88); font-size: 11px; }
.empowerment-card small { max-width: 420px; max-height: 0; overflow: hidden; color: rgba(255,255,255,.76); font-size: 14px; line-height: 1.7; opacity: 0; transform: translateY(10px); transition: max-height .18s ease .08s, opacity .12s ease, transform .12s ease; }
.empowerment-card.is-active small { max-height: 68px; opacity: 1; transform: translateY(0); transition: max-height .25s ease .22s, opacity .2s ease .3s, transform .2s ease .3s; }
.support-detail-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid rgba(23,100,232,.14); border-radius: 7px; background: #fff; box-shadow: 0 18px 42px rgba(32,79,142,.08); }
.support-detail-grid article { min-width: 0; padding: 24px 25px 25px; }
.support-detail-grid article:not(:last-child) { border-right: 1px solid rgba(23,100,232,.12); }
.support-detail-grid article > span { color: var(--blue); font: 850 11px/1.3 ui-monospace, monospace; }
.support-detail-grid h3 { margin: 9px 0 14px; font-size: 18px; line-height: 1.4; }
.support-detail-grid ul { margin: 0; padding: 0; display: grid; gap: 9px; list-style: none; }
.support-detail-grid li { position: relative; padding-left: 15px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.support-detail-grid li::before { content: ""; position: absolute; left: 0; top: .68em; width: 5px; height: 5px; border-radius: 50%; background: var(--blue); }
.support-detail-grid dl { margin: 0; display: grid; gap: 10px; }
.support-detail-grid dl > div { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 10px; }
.support-detail-grid dt { color: #254f85; font-size: 13px; font-weight: 850; }
.support-detail-grid dd { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.support-scope-note { margin: 15px 0 0; color: #8190a4; text-align: center; font-size: 12px; line-height: 1.6; }
@keyframes empowerment-panel-in { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: translateX(0); } }

.cooperation-process-section { color: #fff; background-color: #061a3a; background-image: linear-gradient(90deg, rgba(4,20,49,.97), rgba(6,31,72,.91)), url("./assets/hero-super-school-space-v3.webp"); background-position: center; background-size: cover; }
.cooperation-process-head h2 { color: #fff; }
.cooperation-process-head > p { color: rgba(225,239,255,.7); }
.cooperation-process-head .kicker { color: #6ed9ff; }
.cooperation-process { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; border-top: 1px solid rgba(126,204,255,.24); border-bottom: 1px solid rgba(126,204,255,.24); }
.cooperation-process li { position: relative; min-height: 230px; padding: 36px 28px; }
.cooperation-process li:not(:last-child) { border-right: 1px solid rgba(126,204,255,.18); }
.cooperation-process li:not(:last-child)::after { content: "→"; position: absolute; right: -13px; top: 46px; z-index: 1; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: #0c4ca8; background: #72dcff; font-size: 13px; font-weight: 900; }
.cooperation-process b { color: #6ed9ff; font: 900 30px ui-monospace, monospace; }
.cooperation-process h3 { margin: 25px 0 11px; color: #fff; font-size: 20px; }
.cooperation-process p { margin: 0; color: rgba(225,239,255,.68); font-size: 14px; line-height: 1.75; }

.cooperation-proof-section { background: #fff; }
.cooperation-proof-layout { display: grid; grid-template-columns: 1.12fr .88fr; align-items: stretch; gap: 52px; }
.cooperation-proof-media { position: relative; min-height: 440px; margin: 0; overflow: hidden; border-radius: var(--radius); background: #07162f; box-shadow: 0 22px 56px rgba(20,59,112,.14); }
.cooperation-proof-media::after { content: ""; position: absolute; inset: auto 0 0; height: 44%; background: linear-gradient(0deg, rgba(4,16,39,.88), transparent); }
.cooperation-proof-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.cooperation-proof-media figcaption { position: absolute; z-index: 1; inset: auto 26px 24px; display: grid; gap: 6px; color: #fff; }
.cooperation-proof-media figcaption span { color: #79dcff; font: 850 11px ui-monospace, monospace; }
.cooperation-proof-media figcaption strong { font-size: 20px; line-height: 1.4; }
.cooperation-proof-copy { align-self: center; }
.cooperation-proof-copy h2 { margin: 16px 0 18px; font-size: 40px; line-height: 1.24; }
.cooperation-proof-copy > p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.9; }
.cooperation-proof-links { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px; }
.cooperation-proof-links a { min-height: 44px; padding: 0 15px; display: inline-flex; align-items: center; gap: 9px; border: 1px solid rgba(23,100,232,.2); border-radius: 5px; color: var(--blue); background: #f5f9ff; font-size: 14px; font-weight: 850; }
.cooperation-proof-links a:hover { color: #fff; border-color: var(--blue); background: var(--blue); }

@media (max-width: 1000px) {
  .cooperation-hero { min-height: 620px; }
  .cooperation-hero-copy { padding-block: 120px 72px; }
  .ai-era-copy { padding-inline: 36px; }
  .ai-era-copy h2 { font-size: 52px; }
  .ai-era-subtitle { font-size: 18px; }
  .ai-policy-timeline-track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 0; }
  .ai-policy-timeline-track::before, .ai-policy-timeline-track::after { display: none; }
  .ai-policy-timeline-track li { border-top: 2px solid #ffd0ad; }
  .ai-policy-timeline-track a { min-height: 118px; padding: 14px 24px 0 0; }
  .ai-policy-timeline-track i { display: none; }
  .ai-era-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cooperation-model-grid { grid-template-columns: 1fr; }
  .cooperation-model-card { min-height: 0; }
  .cooperation-advantages { height: 390px; }
  .cooperation-advantage-copy { inset: auto 18px 22px; }
  .cooperation-advantage-copy strong { font-size: 18px; }
  .empowerment-deck { height: 380px; }
  .empowerment-card { flex-grow: .78; }
  .empowerment-card.is-active { flex-grow: 1.55; }
  .empowerment-card > span { inset: auto 18px 22px; }
  .empowerment-card strong { font-size: 20px; }
  .support-detail-grid { grid-template-columns: 1fr; }
  .support-detail-grid article:not(:last-child) { border-right: 0; border-bottom: 1px solid rgba(23,100,232,.12); }
  .cooperation-proof-layout { grid-template-columns: 1fr; gap: 30px; }
  .cooperation-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cooperation-process li:nth-child(2) { border-right: 0; }
  .cooperation-process li:nth-child(-n+2) { border-bottom: 1px solid rgba(126,204,255,.18); }
  .cooperation-process li:nth-child(2)::after { display: none; }
  .cooperation-proof-media { min-height: 420px; }
}

@media (max-width: 820px) {
  .cooperation-advantages { width: 100%; height: auto; padding: 2px 1px 14px; overflow-x: auto; display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(270px, 82vw); justify-content: start; gap: 12px; border-radius: 0; scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .cooperation-advantage, .cooperation-advantage.is-active { height: 360px; flex: none; scroll-snap-align: start; }
  .cooperation-advantage { border-radius: 5px; }
  .cooperation-advantage > img { filter: saturate(.9) brightness(.82); }
  .cooperation-advantage-copy small, .cooperation-advantage.is-active .cooperation-advantage-copy small { max-height: 78px; opacity: 1; transform: none; transition: none; }
  .cooperation-advantage-copy::after { display: none; }
  .empowerment-deck { width: 100%; height: auto; padding: 2px 1px 14px; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(270px, 82vw); justify-content: start; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .empowerment-card, .empowerment-card.is-active { height: 350px; flex: none; scroll-snap-align: start; }
  .empowerment-card:not(.is-active) > img { filter: saturate(.9) brightness(.82); }
  .empowerment-card small, .empowerment-card.is-active small { max-height: 72px; opacity: 1; transform: none; transition: none; }
}

@media (max-width: 620px) {
  .cooperation-hero { min-height: 590px; }
  .cooperation-hero > img { object-position: right center; }
  .cooperation-hero-shade { background: linear-gradient(90deg, rgba(7,25,54,.9), rgba(20,35,59,.6)), linear-gradient(0deg, rgba(54,27,13,.38), transparent); }
  .cooperation-hero-copy { padding-block: 105px 58px; }
  .cooperation-hero-copy h1 { margin-top: 15px; font-size: 38px; }
  .cooperation-hero-copy > p { font-size: 14px; }
  .cooperation-hero-actions { margin-top: 26px; flex-direction: column; align-items: flex-start; gap: 18px; }
  .ai-era-section { padding-block: 54px; }
  .ai-era-section > .wrap { width: min(100% - 24px, 1240px); }
  .ai-era-hero { grid-template-columns: 1fr; }
  .ai-era-copy { min-height: 330px; padding: 40px 25px 36px; }
  .ai-era-copy h2 { font-size: 44px; }
  .ai-era-subtitle { font-size: 17px; }
  .ai-era-summary { font-size: 13px; }
  .ai-era-photo { min-height: 280px; }
  .ai-era-photo figcaption { right: 20px; top: 22px; width: 145px; }
  .ai-policy-timeline { margin-top: 8px; padding: 22px 20px 20px; }
  .ai-policy-timeline-head { align-items: flex-start; }
  .ai-policy-timeline-head h3 { font-size: 16px; }
  .ai-policy-timeline-track { margin-top: 20px; grid-template-columns: 1fr; gap: 0; }
  .ai-policy-timeline-track li { border-top: 0; border-left: 2px solid #ffc397; }
  .ai-policy-timeline-track a { min-height: 0; padding: 0 0 25px 20px; }
  .ai-policy-timeline-track li:last-child a { padding-bottom: 8px; }
  .ai-policy-timeline-track time { position: relative; font-size: 16px; }
  .ai-policy-timeline-track time::before { content: ""; position: absolute; left: -26px; top: 4px; width: 9px; height: 9px; border: 2px solid #ff721a; border-radius: 50%; background: #fffaf5; }
  .ai-policy-timeline-track strong { margin-top: 6px; }
  .ai-policy-timeline-track span { max-width: 290px; }
  .ai-policy-timeline-summary { margin-top: 14px; }
  .ai-era-pillars { grid-template-columns: 1fr; gap: 8px; margin-top: 8px; }
  .ai-era-pillar { min-height: 200px; padding: 24px 22px 22px; }
  .ai-era-pillar h3 { font-size: 23px; }
  .cooperation-model-card { padding: 29px 23px 25px; }
  .cooperation-model-number { font-size: 50px; }
  .cooperation-advantages-head { margin-bottom: 28px; }
  .cooperation-empowerment-head { margin-bottom: 26px; }
  .empowerment-navigator { margin-bottom: 22px; grid-template-columns: 38px minmax(0, 1fr) 38px; gap: 8px; }
  .empowerment-navigator::before { left: 43px; right: 43px; top: 21px; }
  .empowerment-arrow { width: 38px; height: 38px; font-size: 16px; }
  .empowerment-tab { gap: 7px; }
  .empowerment-tab-mark { width: 44px; height: 44px; border-width: 6px; }
  .empowerment-tab strong { font-size: 13px; }
  .support-detail-grid article { padding: 21px 20px 22px; }
  .cooperation-process { grid-template-columns: 1fr; }
  .cooperation-process li { min-height: 0; padding: 27px 20px; border-right: 0 !important; border-bottom: 1px solid rgba(126,204,255,.18); }
  .cooperation-process li:last-child { border-bottom: 0; }
  .cooperation-process li::after { display: none !important; }
  .cooperation-process h3 { margin-top: 15px; }
  .cooperation-proof-layout { gap: 28px; }
  .cooperation-proof-media { min-height: 280px; }
  .cooperation-proof-copy h2 { font-size: 31px; }
}

@media (prefers-reduced-motion: reduce) {
  .ai-era-photo img, .cooperation-advantage::before, .cooperation-advantage::after, .cooperation-advantage > img, .cooperation-advantage-copy small, .cooperation-advantage-copy::after, .empowerment-tab-mark, .empowerment-arrow, .empowerment-card, .empowerment-card > img, .empowerment-card small { transition: none; }
  .empowerment-panel.active { animation: none; }
  .cooperation-contact-robot { animation: none; }
}

/* Interactive platform foundation */
.foundation-showcase { width: min(100%, 1040px); margin-inline: auto; display: grid; grid-template-columns: 260px minmax(0, 1fr); align-items: stretch; gap: 18px; }
.foundation-tabs { min-width: 0; display: grid; align-content: stretch; gap: 10px; }
.foundation-tabs button { position: relative; min-width: 0; min-height: 102px; padding: 18px 17px; overflow: hidden; display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: center; gap: 12px; border: 1px solid rgba(23,100,232,.1); border-radius: var(--radius); color: #607087; text-align: left; background: #f2f6fc; transition: color .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.foundation-tabs button::after { content: ""; position: absolute; inset: 0 0 0 auto; width: 4px; background: transparent; }
.foundation-tabs button:hover { color: var(--blue); border-color: rgba(23,100,232,.3); transform: translateX(3px); }
.foundation-tabs button.active { color: #fff; border-color: var(--blue); background: linear-gradient(135deg, #1764e8, #3c94ff); box-shadow: 0 14px 28px rgba(23,100,232,.2); }
.foundation-tabs button.active::after { background: rgba(255,255,255,.66); }
.foundation-tabs b { color: #8ca0b9; font: 850 12px ui-monospace, monospace; }
.foundation-tabs button.active b { color: rgba(255,255,255,.72); }
.foundation-tabs span { min-width: 0; display: grid; gap: 7px; }
.foundation-tabs strong { overflow-wrap: anywhere; color: inherit; font-size: 16px; line-height: 1.3; }
.foundation-tabs small { color: #8b98aa; font-size: 12px; line-height: 1.4; }
.foundation-tabs button.active small { color: rgba(255,255,255,.74); }
.foundation-panels { min-width: 0; overflow: hidden; border: 1px solid rgba(23,100,232,.14); border-radius: var(--radius); background: #f2f7ff; box-shadow: 0 20px 52px rgba(32,79,142,.1); }
.foundation-panel { --foundation-color: #2666d8; min-height: 438px; background: #fff; animation: foundation-panel-in .32s ease both; }
.foundation-panel[hidden] { display: none; }
.foundation-panel.foundation-curriculum { --foundation-color: #19966f; }
.foundation-panel.foundation-tools { --foundation-color: #e68122; }
.foundation-panel.foundation-hardware { --foundation-color: #7657eb; }
.foundation-panel figure { height: 330px; margin: 0; padding: 18px; overflow: hidden; border-bottom: 4px solid var(--foundation-color); background: #eef5ff; }
.foundation-panel figure img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.foundation-panel-copy { min-height: 150px; padding: 20px 24px 22px; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "eyebrow tags" "title tags" "description tags"; align-items: center; column-gap: 28px; }
.foundation-panel-copy > small { grid-area: eyebrow; color: var(--foundation-color); font: 850 11px ui-monospace, monospace; }
.foundation-panel-copy h3 { grid-area: title; margin: 6px 0 5px; font-size: 23px; line-height: 1.3; }
.foundation-panel-copy p { grid-area: description; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.foundation-panel-copy ul { grid-area: tags; margin: 0; padding: 0; overflow: hidden; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 6px; background: #f7faff; list-style: none; }
.foundation-panel-copy li { min-width: 92px; min-height: 44px; padding: 8px 11px; display: grid; place-items: center; color: var(--foundation-color); text-align: center; font-size: 13px; font-weight: 850; line-height: 1.35; }
.foundation-panel-copy li:not(:last-child) { border-right: 1px solid var(--line); }
@keyframes foundation-panel-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1000px) {
  .foundation-showcase { grid-template-columns: 220px minmax(0, 1fr); }
  .foundation-panel figure { height: 310px; }
  .foundation-panel-copy { grid-template-columns: 1fr; grid-template-areas: "eyebrow" "title" "description" "tags"; }
  .foundation-panel-copy ul { margin-top: 17px; }
}

@media (max-width: 620px) {
  .foundation-showcase { display: block; }
  .foundation-tabs { margin: 0 -14px 14px; padding: 0 14px 4px; overflow-x: auto; display: flex; gap: 8px; scrollbar-width: none; }
  .foundation-tabs::-webkit-scrollbar { display: none; }
  .foundation-tabs button { width: 214px; min-width: 214px; min-height: 78px; padding: 13px 14px; grid-template-columns: 25px minmax(0, 1fr); }
  .foundation-tabs button:hover { transform: none; }
  .foundation-tabs strong { font-size: 14px; }
  .foundation-tabs small { font-size: 11px; }
  .foundation-panel { min-height: 0; }
  .foundation-panel figure { height: auto; aspect-ratio: 16 / 10; padding: 9px; }
  .foundation-panel-copy { min-height: 0; padding: 19px 18px 20px; }
  .foundation-panel-copy h3 { font-size: 20px; }
  .foundation-panel-copy ul { width: 100%; }
  .foundation-panel-copy li { min-width: 0; padding-inline: 5px; font-size: 12px; }
}

/* Cooperation curriculum summary */
.cooperation-curriculum-section { background: #f5f7fb; }
.cooperation-curriculum-head { margin-bottom: 36px; }
.cooperation-curriculum-showcase { width: min(100%, 980px); grid-template-columns: 210px minmax(0, 1fr); gap: 14px; }
.cooperation-curriculum-showcase .foundation-tabs { align-content: start; gap: 8px; }
.cooperation-curriculum-showcase .foundation-tabs button { width: 100%; min-height: 96px; padding: 14px; border-radius: 4px; transform: none; }
.cooperation-curriculum-showcase .foundation-tabs button:hover { transform: none; }
.cooperation-curriculum-showcase .foundation-tabs button.active::after { display: none; }
.cooperation-curriculum-showcase .foundation-panels { border-radius: 4px; box-shadow: 0 12px 30px rgba(32,79,142,.08); }
.cooperation-curriculum-showcase .foundation-panel { min-height: 0; animation-duration: .46s; animation-timing-function: cubic-bezier(.2,.72,.2,1); }
.cooperation-curriculum-showcase .foundation-panel figure { height: auto; padding: 0; aspect-ratio: 16 / 9; border-bottom-width: 2px; background: #fff; }
.cooperation-curriculum-showcase .foundation-panel figure img { object-fit: cover; }
.cooperation-curriculum-showcase .foundation-panel-copy { min-height: 140px; padding: 18px 21px 20px; }
.cooperation-curriculum-showcase .summary-method { --foundation-color: #e68122; }
.cooperation-curriculum-showcase .summary-method figure { aspect-ratio: 3 / 2; }
.cooperation-curriculum-showcase .summary-method figure img { object-position: center top; }
.cooperation-curriculum-showcase .summary-products { --foundation-color: #19966f; }
.cooperation-curriculum-showcase .summary-photo figure img { object-fit: cover; }

@media (max-width: 1000px) {
  .cooperation-curriculum-showcase { grid-template-columns: 190px minmax(0, 1fr); }
  .cooperation-curriculum-showcase .foundation-tabs button { min-height: 88px; }
  .cooperation-curriculum-showcase .foundation-panel figure { height: auto; aspect-ratio: 16 / 9; }
  .cooperation-curriculum-showcase .summary-method figure { aspect-ratio: 3 / 2; }
}

@media (max-width: 620px) {
  .cooperation-curriculum-head { margin-bottom: 27px; }
  .cooperation-curriculum-showcase { display: block; }
  .cooperation-curriculum-showcase .foundation-tabs button { width: 190px; min-width: 190px; min-height: 72px; padding: 11px 12px; }
  .cooperation-curriculum-showcase .foundation-panel { min-height: 0; }
  .cooperation-curriculum-showcase .foundation-panel figure { height: auto; aspect-ratio: 16 / 10; }
  .cooperation-curriculum-showcase .summary-method figure { aspect-ratio: 3 / 2; }
  .cooperation-curriculum-showcase .foundation-panel-copy { min-height: 0; }
}

/* Platform teaching system: compact navigator with an unframed main visual */
body[data-page="platform"] .teaching-foundation-section { background: #f6faff; }
body[data-page="platform"] .teaching-foundation-section .foundation-showcase { width: min(100%, 960px); grid-template-columns: 180px minmax(0, 1fr); align-items: center; gap: 24px; }
body[data-page="platform"] .teaching-foundation-section .foundation-tabs { align-content: center; gap: 12px; }
body[data-page="platform"] .teaching-foundation-section .foundation-tabs button { min-height: 82px; padding: 14px 15px; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; border-color: transparent; border-radius: 8px; background: #edf3fc; box-shadow: none; }
body[data-page="platform"] .teaching-foundation-section .foundation-tabs button:hover { border-color: rgba(23,100,232,.2); background: #e7f0fd; transform: translateX(2px); }
body[data-page="platform"] .teaching-foundation-section .foundation-tabs button.active { border-color: #2773ec; background: linear-gradient(135deg, #1764e8, #438fff); box-shadow: 0 12px 28px rgba(23,100,232,.2); }
body[data-page="platform"] .teaching-foundation-section .foundation-tabs strong { font-size: 14px; }
body[data-page="platform"] .teaching-foundation-section .foundation-panels { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body[data-page="platform"] .teaching-foundation-section .foundation-panel { min-height: 0; background: transparent; }
body[data-page="platform"] .teaching-foundation-section .foundation-panel figure { height: auto; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 0; background: transparent; }
body[data-page="platform"] .teaching-foundation-section .foundation-platform figure,
body[data-page="platform"] .teaching-foundation-section .foundation-hardware figure { aspect-ratio: 16 / 9; }
body[data-page="platform"] .teaching-foundation-section .foundation-curriculum figure,
body[data-page="platform"] .teaching-foundation-section .foundation-tools figure { aspect-ratio: 16 / 10; }
body[data-page="platform"] .teaching-foundation-section .foundation-panel figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
body[data-page="platform"] .teaching-foundation-section .foundation-panel-copy { min-height: 0; margin-top: 18px; padding: 0; column-gap: 24px; background: transparent; }
body[data-page="platform"] .teaching-foundation-section .foundation-panel-copy h3 { font-size: 26px; }
body[data-page="platform"] .teaching-foundation-section .foundation-panel-copy ul { border-radius: 4px; background: rgba(255,255,255,.72); }

@media (max-width: 1000px) {
  body[data-page="platform"] .teaching-foundation-section .foundation-showcase { width: min(100%, 760px); grid-template-columns: 170px minmax(0, 1fr); gap: 18px; }
  body[data-page="platform"] .teaching-foundation-section .foundation-tabs button { min-height: 78px; }
}

@media (max-width: 620px) {
  body[data-page="platform"] .teaching-foundation-section .foundation-showcase { display: block; }
  body[data-page="platform"] .teaching-foundation-section .foundation-tabs { align-content: stretch; gap: 8px; }
  body[data-page="platform"] .teaching-foundation-section .foundation-tabs button { width: 190px; min-width: 190px; min-height: 72px; border-radius: 6px; }
  body[data-page="platform"] .teaching-foundation-section .foundation-tabs button:hover { transform: none; }
  body[data-page="platform"] .teaching-foundation-section .foundation-panel-copy { margin-top: 15px; }
  body[data-page="platform"] .teaching-foundation-section .foundation-panel-copy h3 { font-size: 22px; }
}
