
    :root {
      --bg: #05010d;
      --bg-soft: #0b0718;
      --surface: rgba(18, 13, 37, .82);
      --surface-strong: #120d25;
      --line: rgba(184, 169, 255, .18);
      --line-strong: rgba(190, 151, 255, .42);
      --text: #f8f7ff;
      --muted: #aaa5bd;
      --purple: #b84cff;
      --violet: #7d45ff;
      --blue: #2baedf;
      --pink: #f85eaa;
      --success: #55d88b;
      --container: 1320px;
      --radius: 18px;
      --shadow: 0 28px 80px rgba(23, 5, 58, .35);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 84px; }
    body {
      margin: 0;
      min-width: 320px;
      color: var(--text);
      background: var(--bg);
      font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", system-ui, sans-serif;
      line-height: 1.65;
      overflow-x: hidden;
    }
    body.modal-open { overflow: hidden; }
    button, input, select, textarea { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }
    button { color: inherit; }
    .container { width: min(var(--container), calc(100% - 64px)); margin-inline: auto; }
    .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
    .eyebrow {
      margin: 0 0 14px;
      color: #c77bff;
      font-size: 13px;
      font-weight: 800;
      letter-spacing: .28em;
    }
    .section-heading { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin-bottom: 34px; }
    .section-heading h2 { margin: 0; font-size: clamp(28px, 3vw, 44px); line-height: 1.18; letter-spacing: -.04em; }
    .section-heading p { max-width: 560px; margin: 0; color: var(--muted); }
    .gradient-text {
      color: #be74ff;
      background: linear-gradient(110deg, #f47bc2 0%, #b052ff 43%, #45b8ff 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .btn {
      min-height: 48px;
      padding: 0 24px;
      border: 1px solid var(--line-strong);
      border-radius: 999px;
      background: rgba(13, 8, 29, .58);
      color: #fff;
      font-weight: 800;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      transition: transform .2s ease, border-color .2s ease, background .2s ease;
    }
    .btn:hover { transform: translateY(-2px); border-color: rgba(218, 188, 255, .8); }
    .btn:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
      outline: 3px solid rgba(65, 180, 255, .65);
      outline-offset: 3px;
    }
    .btn-primary {
      border-color: transparent;
      background: linear-gradient(110deg, #bc39f5 0%, #7557ff 52%, #32aeef 100%);
      box-shadow: 0 12px 34px rgba(125, 69, 255, .32);
    }
    .btn-small { min-height: 40px; padding-inline: 18px; font-size: 14px; }
    .arrow { font-size: 20px; line-height: 1; }

    .header { position: fixed; top: 0; left: 0; width: 100%; z-index: 99; background: transparent; }
    .header__body { padding: 20px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
    .header__brand { display: flex; align-items: center; gap: 18px; min-width: 0; }
    .header__tagline { background: linear-gradient(131.19deg, #f85e76 3.025%, #a324b0 22.986%, #7807cd 45.185%, #514fd8 72.222%, #2baedf 100.153%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-size: 16px; line-height: 1.4; white-space: nowrap; }
    .header__logo { max-width: 165px; }
    .header__logo img { width: 100%; height: auto; object-fit: contain; }
    .header__buttons { display: flex; align-items: center; gap: 6px; }
    .header .btn, .header .btn-gradient { min-height: auto; border-radius: 100px; padding: 10px 40px; color: #fff; font-family: Manrope, "Microsoft YaHei", sans-serif; font-size: 14px; font-weight: 400; line-height: 133.333333%; letter-spacing: .03em; transition: all .3s ease; box-shadow: none; }
    .header .btn { border: 1px solid transparent; background: transparent; }
    .header .btn-gradient { border: 0; background-image: linear-gradient(131.19deg, #f85e76 .853%, #a324b0 21.993%, #7807cd 45.503%, #514fd8 74.136%, #2baedf 103.716%); background-size: 100% auto; background-position: left center; cursor: pointer; }
    .header .btn:hover { transform: none; box-sizing: border-box; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.1); }
    .header .btn-gradient:hover { transform: none; background-size: 400% auto; }
    .menu__icon { display: none; cursor: pointer; }
    .menu__body { box-sizing: border-box; border: 1px solid rgba(255,255,255,.3); border-radius: 50px; box-shadow: 0 30px 60px rgba(0,0,0,.25); backdrop-filter: blur(40px); background: rgba(255,255,255,.1); padding: 10px 14px; min-height: 44px; min-width: 365px; }
    .menu__body-panel, .menu__body-plan { display: none; }
    .menu__body-plan-tip { display: flex; align-items: center; justify-content: center; position: absolute; top: -8px; left: -6px; width: 24px; height: 24px; border-radius: 50%; background: #ffb712; }
    .menu__body-close { width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.3); display: flex; align-items: center; justify-content: center; border-radius: 10px; cursor: pointer; }
    .menu ul { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; }
    .menu ul a { display: inline-block; padding: 4px 12px; color: #fff; font-family: Manrope, "Microsoft YaHei", sans-serif; font-size: 14px; font-weight: 400; line-height: 133.333333%; letter-spacing: .03em; transition: all .3s ease; }

    .hero {
      min-height: 0;
      padding: 95px 0 36px;
      position: relative;
      isolation: isolate;
      overflow: hidden;
      border-bottom: 1px solid var(--line);
    }
    .hero::before {
      content: "";
      position: absolute;
      z-index: -2;
      inset: -20% 38% -15% -25%;
      background: radial-gradient(circle at 55% 45%, rgba(100, 46, 233, .34), transparent 47%);
      pointer-events: none;
    }
    .hero::after {
      content: "";
      position: absolute;
      z-index: -1;
      width: 900px;
      height: 900px;
      right: -360px;
      bottom: -500px;
      border-radius: 50%;
      border: 70px solid rgba(127, 73, 255, .12);
      box-shadow: 0 0 90px rgba(85, 74, 255, .26), inset 0 0 80px rgba(43, 174, 223, .18);
      transform: rotate(-15deg);
      pointer-events: none;
    }
    .hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: clamp(44px, 7vw, 96px); }
    .hero-copy { position: relative; z-index: 2; }
    .hero h1 { margin: 0; max-width: 660px; font-size: clamp(52px, 5.2vw, 82px); line-height: 1.08; letter-spacing: -.065em; }
    .hero-copy > p:not(.eyebrow) { max-width: 620px; margin: 28px 0 0; color: #cbc6d8; font-size: 17px; }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }
    .audience-switch { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 34px; }
    .audience-chip { min-height: 36px; padding: 0 17px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.03); color: #bcb5cb; cursor: pointer; }
    .audience-chip.active { border-color: #a56bff; color: #fff; background: rgba(126, 67, 255, .18); }
    .hero-media { position: relative; min-height: 560px; }
    .hero-photo {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      border-radius: 28px 0 0 28px;
      filter: saturate(.88) contrast(1.04);
    }
    .hero-media::after { content: ""; position: absolute; inset: 0; border-radius: 28px 0 0 28px; background: linear-gradient(90deg, rgba(5,1,13,.92) 0%, rgba(5,1,13,.12) 34%, rgba(5,1,13,.06) 72%, rgba(5,1,13,.38) 100%); }
    .hero-note { position: absolute; z-index: 2; right: 28px; top: 62px; color: #e293ff; font-family: cursive; font-size: 24px; line-height: 1.45; transform: rotate(-5deg); text-align: center; text-shadow: 0 0 24px rgba(170,70,255,.6); }
    /* 宽度 250 → 350、上下内边距 18 → 14（用户要求：标题第二行独占一行，且下面那句说明也要一行）。
       量出来的三行原始宽度（`Microsoft YaHei` 700/400，浏览器实测）：
         标题 1 行 `2026-2027青年Ai人才培养计划`   260px  @18px
         标题 2 行 `[成功就业-培养费用全额返还]`      238px  @18px
         说明      `项目全年滚动开放 · …匹配`        297px  @13px
       原框内宽只有 208px（250 − 左右各 20 − 边框 2），三行全都放不下。最宽的是那句说明
       （297px，超过标题），所以框宽按它定：297 + 42 = 339，留 11px 余量取 350 ——
       不同系统字体（PingFang / Noto）宽度不完全一致，贴边容易在别人机器上折行。
       说明的 `white-space: nowrap` 在窄屏会溢出框外，末尾的 `@media (max-width: 767px)`
       里改回 `normal`（那里框是 `calc(100% - 28px)`，本来就放不下 297）。 */
    .hero-badge { position: absolute; z-index: 2; right: 26px; bottom: 26px; width: 350px; padding: 14px 20px; border: 1px solid var(--line-strong); border-radius: 16px; background: rgba(5,1,13,.72); backdrop-filter: blur(12px); }
    .hero-badge strong { display: block; font-size: 18px; }
    .hero-badge span { display: block; color: var(--muted); font-size: 13px; white-space: nowrap; }

    .journey { padding: 88px 0; }
    .journey-grid { display: grid; grid-template-columns: repeat(4, 1fr); position: relative; }
    .journey-grid::before { content: ""; position: absolute; left: 8%; right: 8%; top: 30px; height: 1px; background: linear-gradient(90deg, transparent, #7e41e7 12%, #7e41e7 88%, transparent); }
    .journey-step { position: relative; z-index: 1; padding: 0 28px; text-align: center; }
    .step-icon { width: 60px; height: 60px; margin: 0 auto 22px; display: grid; place-items: center; border: 1px solid #8849ed; border-radius: 50%; background: var(--bg-soft); box-shadow: 0 0 28px rgba(126,65,231,.2); }
    .step-icon img { width: 25px; height: 25px; filter: brightness(0) invert(1); }
    .journey-step span { color: #bd70ff; font-size: 13px; font-weight: 800; }
    .journey-step h3 { margin: 5px 0 6px; font-size: 19px; }
    .journey-step p { margin: 0; color: var(--muted); font-size: 14px; }

    .programs { padding: 34px 0 24px; }
    .programs .section-heading { align-items: center; margin-bottom: 20px; }
    .programs .section-heading h2 { font-size: clamp(28px, 2.4vw, 38px); }
    .programs .section-heading p { margin-top: 6px; font-size: 14px; }
    .program-view-all { flex: 0 0 auto; color: #c47aff; font-size: 14px; font-weight: 700; transition: color .2s ease, transform .2s ease; }
    .program-view-all:hover { color: #fff; transform: translateX(3px); }
    .program-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
    .program-card {
      min-height: 270px;
      position: relative;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface-strong);
      cursor: pointer;
      transition: transform .25s ease, border-color .25s ease, opacity .25s ease;
    }
    .program-card:hover, .program-card.selected { transform: translateY(-7px); border-color: #9a5cff; }
    .program-card[hidden] { display: none; }
    .program-card > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; opacity: .72; }
    .program-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,1,13,.16) 0%, rgba(5,1,13,.5) 52%, rgba(5,1,13,.9) 100%); }
    .program-card-content { position: absolute; z-index: 2; inset: 0; padding: 18px; display: flex; flex-direction: column; align-items: flex-start; }
    .program-card .program-icon { width: 36px; height: 36px; margin-bottom: 12px; padding: 8px; border-radius: 8px; background: linear-gradient(131.19deg, #f85e76 3.025%, #a324b0 22.986%, #7807cd 45.185%, #514fd8 72.222%, #2baedf 100.153%); border: none; filter: none; }
    .program-card h3 { margin: 0; font-size: 19px; line-height: 1.2; }
    .program-card p { margin: 8px 0 0; color: #d2cddd; font-size: 12px; line-height: 1.6; }
    .text-action { margin-top: auto; padding: 0; border: 0; background: none; color: #fff; font-size: 12px; font-weight: 700; cursor: pointer; opacity: .88; }
    .empty-state { display: none; padding: 40px; border: 1px dashed var(--line-strong); border-radius: var(--radius); color: var(--muted); text-align: center; }

    .featured { position: relative; overflow: hidden; border-block: 1px solid var(--line); background: #090516; }
    .featured-grid { height: 320px; min-height: 0; display: grid; grid-template-columns: 41% 59%; align-items: stretch; }
    .featured-copy { padding: 30px 38px 30px max(32px, calc((100vw - var(--container)) / 2)); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
    .featured-copy .eyebrow { margin-bottom: 8px; font-size: 11px; }
    .featured-copy h2 { margin: 0; font-size: 23px; line-height: 1.18; letter-spacing: -.02em; white-space: nowrap; }
    .featured-copy > p { max-width: 560px; margin: 12px 0 18px; color: #bbb5c9; font-size: 13px; line-height: 1.7; }
    .featured-copy .btn { min-height: 38px; padding: 0 22px; font-size: 13px; }
    .featured-media { position: relative; height: 320px; min-height: 0; overflow: hidden; }
    .featured-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 42% center; }
    .featured-media::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, #090516 0%, rgba(9,5,22,.12) 32%, rgba(5,1,13,.5) 100%); }
    .feature-note { position: absolute; z-index: 3; top: 20px; right: 26px; color: #df79ff; font-family: cursive; font-size: 16px; line-height: 1.35; text-align: center; transform: rotate(-6deg); }
    .feature-meta { position: absolute; z-index: 3; left: 20px; right: 20px; bottom: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0; }
    .meta-item { display: flex; gap: 8px; align-items: flex-start; min-width: 0; padding: 0 12px; border-left: 1px solid rgba(255,255,255,.2); }
    .meta-item:first-child { border-left: 0; }
    .meta-item img { width: 36px; height: 36px; flex: 0 0 auto; margin-top: 2px; filter: brightness(0) invert(1); }
    .meta-item strong { display: block; font-size: 22px; white-space: nowrap; }
    .meta-item span { display: block; margin-top: 3px; color: #c8c1d4; font-size: 18px; line-height: 1.45; }

    .evidence { padding: 40px 0; background: #05010d; color: #fff; border-block: 1px solid var(--line); }
    .evidence-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 72px; align-items: center; }
    .quote { display: grid; grid-template-columns: 72px 1fr; gap: 22px; align-items: center; }
    .quote img { width: 72px; height: 72px; object-fit: cover; border-radius: 50%; }
    .quote blockquote { margin: 0; color: #fff; font-size: 17px; }
    .quote cite { display: block; margin-top: 10px; color: #b9b2c9; font-style: normal; font-size: 13px; }
    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
    .stat { border-left: 1px solid rgba(255,255,255,.25); padding-left: 24px; }
    /* 数字/单位不许折行（用户要求）：`10万+` 在 1440 与 1280 下会被拆成两行甚至三行
       —— 栅格列按内容收缩，而中文可以逐字断行，`min-content` 于是缩成一个字的宽度。
       实测原型与站点两边一样（原型本身就折），所以这条**两边的副本一起改**，
       否则像素对照会红。 */
    .stat strong { display: block; color: #5520b0; font-size: clamp(34px, 4vw, 54px); line-height: 1; white-space: nowrap; }
    .stat span { color: #b9b2c9; font-size: 13px; }

    .final-cta { position: relative; overflow: hidden; padding: 86px 0; background: #0b051d url("../img/hero.png") center 60% / cover no-repeat; }
    .final-cta::after { content: ""; position: absolute; inset: 0; background: rgba(5,1,13,.3); }
    .cta-inner { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 34px; align-items: center; }
    .cta-inner h2 { margin: 0 0 8px; font-size: clamp(32px, 3.5vw, 52px); }
    .cta-inner p { margin: 0; color: #b9b2c9; }

    .footer { border-top: 2px solid rgba(255, 255, 255, .3); background: #030108; }
    .footer ul { margin: 0; padding: 0; list-style: none; }
    .footer__body { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; padding: 40px 0 100px; color: #fff; font-family: Manrope, "Microsoft YaHei", sans-serif; }
    .footer__col { flex: 1; }
    .footer__logo { max-width: 165px; margin-bottom: 18px; }
    .footer__slogan { font-size: 14px; font-weight: 600; line-height: 135.714286%; text-transform: uppercase; }
    .footer__menu a { display: inline-block; padding: 8px 0; color: #fff; font-family: Manrope, "Microsoft YaHei", sans-serif; font-size: 14px; font-weight: 400; line-height: 133.333333%; transition: color .3s ease; }
    .footer__menu a:hover { color: #7001d3; }
    .footer__subscribe { width: 100%; max-width: 488px; }
    .footer__subscribe-text { color: #fff; font-family: Manrope, "Microsoft YaHei", sans-serif; font-size: 10px; font-weight: 400; line-height: 160%; }
    .footer__subscribe-title { color: #fff; font-family: Manrope, "Microsoft YaHei", sans-serif; font-size: 14px; font-weight: 400; line-height: 114.285714%; margin-bottom: 9px; }
    .footer__subscribe-title img { display: inline-block; vertical-align: middle; margin-right: 3px; }
    .footer__copyright { border-top: 1px solid rgba(255, 255, 255, .1); border-radius: 20px 20px 0 0; }
    .footer__copyright-body { display: flex; align-items: center; justify-content: space-between; padding: 20px 0; }
    .footer__copyright-text { margin: 0; font-size: 14px; color: #fff; }
    .footer__copyright-text img { display: inline-block; vertical-align: middle; margin-inline: 3px; }
    .footer__copyright-socials { display: flex; align-items: center; }
    .footer__copyright-social { padding: 8px; width: 38px; height: 38px; }
    .footer__copyright-social img { width: 20px; height: 20px; object-fit: contain; transition: transform .2s ease; }
    .footer__copyright-social:hover img { transform: scale(1.1); }

    dialog {
      width: min(720px, calc(100% - 32px));
      max-height: calc(100vh - 40px);
      padding: 0;
      border: 1px solid var(--line-strong);
      border-radius: 24px;
      color: var(--text);
      background: #0d081d;
      box-shadow: 0 34px 100px rgba(0,0,0,.58);
      overflow: auto;
    }
    dialog::backdrop { background: rgba(2,0,7,.78); backdrop-filter: blur(8px); }
    .dialog-head { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 24px 28px; border-bottom: 1px solid var(--line); background: rgba(13,8,29,.94); }
    .dialog-head h2 { margin: 0; font-size: 24px; }
    .dialog-close { width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: #fff; font-size: 24px; cursor: pointer; }
    .dialog-body { padding: 28px; }
    .form-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 30px; }
    .progress-item { padding: 10px 12px; border-top: 2px solid #302844; color: #716b7e; font-size: 12px; }
    .progress-item.active { border-color: #a752ff; color: #fff; }
    .form-step { display: none; }
    .form-step.active { display: block; }
    .form-step h3 { margin: 0 0 20px; font-size: 22px; }
    .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
    .field { display: grid; gap: 8px; }
    .field.full { grid-column: 1 / -1; }
    .field label { color: #d4cede; font-size: 13px; font-weight: 700; }
    .field input, .field select, .field textarea { width: 100%; border: 1px solid #39304b; border-radius: 12px; padding: 13px 14px; color: #fff; background: #080514; }
    .field textarea { min-height: 100px; resize: vertical; }
    .form-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 28px; }
    .success-state { padding: 34px 10px; text-align: center; }
    .success-icon { width: 70px; height: 70px; margin: 0 auto 20px; display: grid; place-items: center; border-radius: 50%; background: rgba(85,216,139,.12); }
    .success-icon img { width: 30px; filter: invert(76%) sepia(48%) saturate(600%) hue-rotate(92deg); }
    .success-state h3 { margin: 0; font-size: 28px; }
    .success-state p { color: var(--muted); }

    .reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
    .reveal.visible { opacity: 1; transform: none; }

    @media (max-width: 1100px) {
      .hero-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
      .hero-media { min-height: 520px; }
      .program-grid { grid-template-columns: repeat(2, 1fr); }
      .featured-copy { padding-left: 32px; padding-right: 24px; }
      .evidence-grid { grid-template-columns: 1fr; gap: 46px; }
    }

    @media (max-width: 860px) {
      .container { width: min(100% - 36px, var(--container)); }
      .header__body { justify-content: flex-start; }
      .header__buttons { margin-left: auto; }
      .menu { order: -1; }
      .menu__icon { display: block; }
      .menu__body { position: fixed; top: 0; left: 0; width: 90%; height: 100%; border-radius: 0 20px 20px 0; box-shadow: none; padding: 40px; max-height: 100vh; overflow-y: auto; transform: translateX(-100%); transition: transform .5s cubic-bezier(.075,.82,.165,1); border: none; background: rgba(5,1,13,.96); }
      .menu__body.active { transform: translateX(0); }
      .menu__body-panel { display: flex; align-items: center; justify-content: space-between; margin-bottom: 60px; }
      .menu__body-plan { display: block; margin-top: 60px; position: relative; }
      .menu__body-plan a { color: #fff; font-family: Manrope, "Microsoft YaHei", sans-serif; font-size: 20px; font-weight: 400; line-height: 133.333333%; letter-spacing: .03em; width: 200px; display: inline-flex; }
      .menu ul { flex-direction: column; align-items: flex-start; }
      .menu ul li { width: 100%; }
      .menu ul li:not(:last-child) { border-bottom: 1px solid rgba(255,255,255,.3); }
      .menu ul a { display: block; padding: 20px 0; font-size: 20px; }
      .hero { min-height: auto; padding-top: 95px; }
      .hero-grid { grid-template-columns: 1fr; }
      .hero h1 { font-size: clamp(46px, 10vw, 72px); }
      .hero-media { min-height: 520px; }
      .journey-grid { grid-template-columns: repeat(2, 1fr); gap: 44px 12px; }
      .journey-grid::before { display: none; }
      .featured-grid { grid-template-columns: 1fr; }
      .featured-grid { height: auto; grid-template-columns: 1fr; }
      .featured-copy h2 { white-space: normal; }
      .featured-media { height: 330px; min-height: 330px; order: -1; }
      .feature-meta { grid-template-columns: repeat(2, 1fr); row-gap: 16px; }
      .meta-item:nth-child(3) { border-left: 0; }
      .cta-inner { align-items: flex-start; flex-direction: column; }
      .footer__body { flex-wrap: wrap; }
    }

    @media (max-width: 600px) {
      .header__brand { gap: 10px; }
      .header__tagline { font-size: 12px; white-space: normal; max-width: 150px; }
      .header__logo { max-width: 100px; }
      .menu__body { padding: 30px 20px; min-width: unset; }
      .menu__body-panel { margin-bottom: 40px; }
      .menu__body-logo { max-width: 120px; }
      .menu__body-plan .btn-gradient { font-size: 16px; width: 100%; }
      .menu__body-plan-tip { width: 22px; height: 22px; top: -6px; left: -4px; }
      .menu__body-plan-tip img { width: 10px; height: 10px; }
      .menu__body-close { width: 36px; height: 36px; }
      .menu__body-close img { width: 18px; height: 18px; }
      .menu ul a { font-size: 16px; }
      .header .btn, .header .btn-gradient { padding: 8px 20px; }
      .hero { padding-top: 95px; }
      .hero h1 { font-size: 46px; }
      .hero-copy > p:not(.eyebrow) { font-size: 15px; }
      .hero-actions .btn { width: 100%; }
      .hero-media { min-height: 420px; }
      .hero-photo, .hero-media::after { border-radius: 20px; }
      .hero-note { top: 28px; right: 14px; font-size: 18px; }
      .hero-badge { width: calc(100% - 28px); right: 14px; bottom: 14px; padding: 18px 20px; }
      /* 窄屏框放不下那句说明的 297px（390 下内宽只有 284），nowrap 会顶出框外，改回折行。 */
      .hero-badge span { white-space: normal; }
      .section-heading { display: block; }
      .section-heading p { margin-top: 12px; }
      .journey { padding: 68px 0; }
      .journey-grid { grid-template-columns: 1fr; gap: 34px; }
      .journey-step { text-align: left; display: grid; grid-template-columns: 54px 1fr; column-gap: 16px; padding: 0; }
      .step-icon { width: 52px; height: 52px; grid-row: 1 / span 3; margin: 0; }
      .program-grid { grid-template-columns: 1fr; }
      .program-card { min-height: 300px; }
      .featured-copy { padding: 54px 18px; }
      .featured-media { height: 300px; min-height: 300px; }
      .feature-meta { left: 10px; right: 10px; bottom: 14px; }
      .evidence { padding: 60px 0; }
      .quote { grid-template-columns: 56px 1fr; align-items: start; }
      .quote img { width: 56px; height: 56px; }
      .stats { gap: 12px; }
      .stat { padding-left: 12px; }
      .stat strong { font-size: 32px; }
      .form-grid { grid-template-columns: 1fr; }
      .field.full { grid-column: auto; }
      .dialog-head, .dialog-body { padding-inline: 20px; }
      .form-actions { flex-direction: column-reverse; }
      .form-actions .btn { width: 100%; }
    }

    @media (max-width: 767px) {
      .footer { margin-top: 40px; border-radius: 20px 20px 0 0; border-top: 2px solid rgba(255, 255, 255, .3); }
      .footer__body { flex-direction: column; flex-wrap: nowrap; padding: 40px 0 20px; }
      .footer__copyright { border: none; }
      .footer__copyright-body { flex-direction: column-reverse; gap: 20px; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
      .reveal { opacity: 1; transform: none; }
    }
  