/* 官网 / 服务号公益科创展示。仅影响 journey-* 命名空间。 */
.journey-section {
  padding:64px 0;
  color:#1D3557;
  background:#f7f8fa;
}
.journey-wrap {
  width:min(1160px,calc(100% - 64px));
  margin:auto;
}
.journey-kicker {
  margin:0 0 12px;
  color:#9a711c;
  font-size:13px;
  font-weight:700;
  letter-spacing:.12em;
}
.journey-title {
  margin:0 0 16px;
  font-size:clamp(28px,3.2vw,42px);
  line-height:1.35;
  letter-spacing:-.03em;
}
.journey-lead {
  max-width:640px;
  margin:0 0 22px;
  font-size:17px;
  line-height:1.85;
  color:#586776;
}
.journey-section p,.journey-section h2,.journey-section h3 {
  overflow-wrap:break-word;
}
.journey-section a,.journey-section button {
  -webkit-tap-highlight-color:transparent;
}
.journey-section a:focus-visible,.journey-section button:focus-visible {
  outline:3px solid #DBA531;
  outline-offset:4px;
}
.journey-dark {
  background:#1D3557;
  color:#EEE4CF;
}
.journey-dark .journey-kicker {
  color:#DBA531;
}
.journey-dark .journey-lead,.journey-dark .journey-note {
  color:#d1dbe5;
}
.journey-split {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:48px;
}
.journey-facts {
  display:flex;
  flex-wrap:wrap;
  gap:12px 24px;
  margin:20px 0 24px;
}
.journey-facts>div {
  display:flex;
  flex-direction:column;
  gap:3px;
}
.journey-facts strong {
  font-size:24px;
  line-height:1.4;
}
.journey-facts small {
  font-size:13px;
  opacity:.8;
}
.journey-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}
.journey-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 20px;
  border:1px solid transparent;
  border-radius:9px;
  background:#F4A261;
  color:#1D3557;
  font-family:inherit;
  font-size:15px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
}
.journey-btn.secondary {
  color:#1D3557;
  border-color:#bac5d0;
  background:transparent;
}
.journey-dark .journey-btn.secondary {
  color:#EEE4CF;
  border-color:#9bacbf;
}
.journey-note {
  margin:14px 0 0;
  font-size:13px;
  line-height:1.8;
  color:#687585;
}
.journey-projects {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.journey-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid #dce2e8;
  border-radius:16px;
  background:#fff;
  color:#1D3557;
}
.journey-card>img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:6/4;
  object-fit:contain;
  background:#f4f1e9;
}
.journey-card-body {
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:flex-start;
  padding:24px;
}
.journey-card .journey-label {
  margin:0 0 9px;
  color:#6e7781;
  font-size:12px;
  letter-spacing:.06em;
}
.journey-card h3 {
  margin:0 0 10px;
  font-size:24px;
  line-height:1.4;
}
.journey-card p {
  margin:0 0 12px;
  color:#5e6e7c;
  font-size:15px;
  line-height:1.75;
}
.journey-card .journey-price {
  margin:4px 0 0;
  color:#1D3557;
  font-size:29px;
  font-weight:700;
  line-height:1.4;
}
.journey-card .journey-price small {
  margin-left:8px;
  font-size:12px;
  font-weight:400;
  color:#697583;
}
.journey-card .journey-formula {
  font-size:13px;
  color:#687585;
}
.journey-card .journey-availability {
  min-height:24px;
  margin-top:10px;
  color:#697583;
  font-size:13px;
}
.journey-card .journey-availability.is-live {
  color:#236550;
}
.journey-progress {
  width:100%;
  height:5px;
  margin:0 0 12px;
  border-radius:4px;
  background:#e9edf1;
  overflow:hidden;
}
.journey-progress span {
  display:block;
  height:100%;
  background:#DBA531;
}
.journey-card .journey-btn {
  width:100%;
  margin-top:auto;
}
.journey-compact {
  gap:14px;
}
.journey-compact .journey-projects {
  grid-template-columns:1fr;
  gap:14px;
}
.journey-compact .journey-card {
  display:grid;
  grid-template-columns:40% minmax(0,1fr);
  border:0;
  border-radius:12px;
}
.journey-compact .journey-card>img {
  height:100%;
  min-height:186px;
  aspect-ratio:auto;
}
.journey-compact .journey-card-body {
  padding:16px 18px;
}
.journey-compact .journey-card h3 {
  font-size:20px;
  margin-bottom:5px;
}
.journey-compact .journey-card .journey-label {
  margin-bottom:5px;
}
.journey-compact .journey-card p {
  font-size:13px;
  margin-bottom:4px;
}
.journey-compact .journey-card .journey-price {
  font-size:23px;
}
.journey-compact .journey-card .journey-btn {
  margin-top:10px;
  min-height:36px;
  padding:6px 10px;
  font-size:13px;
}
.journey-status {
  margin:0 0 24px;
  padding:12px 16px;
  border-left:3px solid #DBA531;
  background:#f6f2e8;
  color:#646d76;
  font-size:13px;
  line-height:1.7;
}
.journey-status:empty {
  display:none;
}
.journey-status button {
  margin-left:12px;
  padding:0;
  border:0;
  background:transparent;
  color:#1D3557;
  text-decoration:underline;
  cursor:pointer;
  font:inherit;
}
.journey-steps {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  margin:30px 0 0;
}
.journey-step {
  border-top:1px solid #cfd7df;
  padding-top:18px;
}
.journey-step>b {
  display:block;
  margin-bottom:12px;
  color:#a57921;
  font-size:14px;
}
.journey-step h3 {
  margin:0 0 10px;
  font-size:21px;
}
.journey-step p {
  margin:0;
  color:#586776;
  font-size:15px;
  line-height:1.8;
}
.journey-rules {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:26px;
}
.journey-rule {
  padding:22px;
  border:1px solid #dce2e8;
  border-radius:12px;
  background:#fff;
}
.journey-rule h3 {
  margin:0 0 10px;
  font-size:20px;
}
.journey-rule p {
  margin:0;
  color:#586776;
  font-size:15px;
  line-height:1.85;
}
.journey-closed {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px 0;
  border-top:1px solid #dce2e8;
}
.journey-closed h3 {
  margin:0 0 6px;
  font-size:20px;
}
.journey-closed p {
  margin:0;
  font-size:14px;
  color:#687585;
  line-height:1.8;
}
.journey-pill {
  flex-shrink:0;
  display:inline-block;
  padding:6px 12px;
  border-radius:30px;
  background:#f1ece1;
  color:#7f601f;
  font-size:12px;
}
@media(max-width:900px) {
  .journey-split {
    grid-template-columns:1fr;
    gap:28px;
  }
  .journey-steps {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .journey-rules {
    grid-template-columns:1fr;
    gap:12px;
  }
}
@media(max-width:600px) {
  .journey-section {
    padding:38px 0;
  }
  .journey-wrap {
    width:calc(100% - 36px);
  }
  .journey-lead {
    font-size:15px;
  }
  .journey-projects {
    grid-template-columns:1fr;
    gap:18px;
  }
  .journey-card-body {
    padding:20px;
  }
  .journey-card h3 {
    font-size:22px;
  }
  .journey-facts {
    gap:16px 22px;
  }
  .journey-facts strong {
    font-size:22px;
  }
  .journey-steps {
    gap:22px 18px;
  }
  .journey-step h3 {
    font-size:18px;
  }
  .journey-step p {
    font-size:14px;
  }
  .journey-closed {
    align-items:flex-start;
  }
}
.journey-compact .journey-card-body>p:not([class]) {
  display:none;
}
.journey-compact .journey-card-body {
  padding:14px 18px;
}
.journey-compact .journey-card .journey-availability {
  margin-top:7px;
  font-size:12px;
}
.journey-compact .journey-card>img {
  min-height:160px;
}
#member.journey-section {
  padding-top:48px;
  padding-bottom:48px;
}
.site-menu-toggle {
  display:none;
}
@media(max-width:900px) {
  .site-menu-toggle {
    display:block;
    border:1px solid #9eacba;
    border-radius:7px;
    padding:8px 13px;
    background:#fff;
    color:#1D3557;
    font-family:inherit;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    margin-left:auto;
    margin-right:10px;
  }
  .site-nav.mobile-menu-open .nav-links {
    display:flex!important;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    max-height:calc(100dvh - 120px);
    overflow-y:auto;
    overscroll-behavior:contain;
    gap:2px;
    background:#fff;
    padding:14px 18px;
    box-shadow:0 16px 24px #10223b26;
  }
  .site-nav.mobile-menu-open .nav-links a {
    display:block;
    color:#1D3557!important;
    font-size:15px;
    padding:10px;
  }
  .site-nav.mobile-menu-open .dd-mega {
    display:none!important;
    position:static!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    max-height:none!important;
    width:100%!important;
    min-width:0!important;
    box-shadow:none!important;
    padding:0!important;
  }
  .site-nav.mobile-menu-open .dd.open>.dd-mega {
    display:block!important;
  }
  .site-nav.mobile-menu-open .mega-inner {
    display:grid!important;
    grid-template-columns:1fr!important;
    min-width:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding:12px!important;
  }
  .site-nav.mobile-menu-open .awards-menu-grid {
    grid-template-columns:1fr!important;
  }
  .site-nav.mobile-menu-open .mega-head {
    font-size:14px!important;
  }
  .site-nav.mobile-menu-open .dd-item span {
    font-size:12px!important;
  }
}
@media(max-width:600px) {
  .site-nav {
    padding-left:12px!important;
    padding-right:12px!important;
    gap:8px!important;
  }
  .site-nav .logo-img,body.nav-cover .site-nav .logo-img {
    height:auto!important;
    width:126px!important;
    max-height:42px!important;
  }
  .site-nav .nav-cta {
    padding:9px 10px!important;
    font-size:12px!important;
    white-space:nowrap;
  }
  .site-menu-toggle {
    padding:7px 10px;
    margin-right:0;
    font-size:13px;
    flex-shrink:0;
  }
  .site-nav.mobile-menu-open .nav-links {
    overflow-y:auto!important;
    white-space:normal;
  }
  .site-nav.mobile-menu-open .nav-links .dd-item,.site-nav.mobile-menu-open .nav-links .dd-item span {
    white-space:normal;
  }
}
/* 价格事实带保持居中的内容宽度；通用 facts 的外边距不可覆盖 wrap。 */
.journey-wrap.journey-facts {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0 auto;
}
/* 开班介绍与首页统一桌面 HERO 高度，手机把人物移到文案下方。 */
.curr-hero {
  height:400px!important;
  min-height:400px!important;
  max-height:none!important;
  background:#192f4b;
}
.curr-hero .hero-bg {
  inset:0!important;
  width:100%!important;
  background-size:cover!important;
  background-position:center!important;
  opacity:1!important;
}
.curr-hero::before {
  background:linear-gradient(90deg,#192f4bee 0%,#192f4bd9 32%,#192f4b33 57%,transparent 80%)!important;
}
.curr-hero .hero-copy {
  left:max(32px,calc((100vw - 1160px)/2))!important;
  top:56%!important;
  transform:translateY(-50%)!important;
  padding:0!important;
  width:48%;
  max-width:580px;
}
.curr-hero h1 .journey-hero-message {
  display:block;
  width:min(500px,100%);
  height:auto;
  margin-bottom:14px;
}
.curr-hero .hero-sub {
  font-size:15px;
  line-height:1.85;
  white-space:normal;
  max-width:540px;
  margin-bottom:20px;
}
.curr-hero .btn-banner {
  font-size:14px;
  padding:10px 18px;
}
@media(max-width:600px) {
  .journey-wrap.journey-facts {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px 18px;
  }
  .curr-hero {
    height:570px!important;
    min-height:570px!important;
  }
  .curr-hero .hero-copy {
    left:22px!important;
    top:84px!important;
    transform:none!important;
    width:calc(100% - 44px)!important;
    max-width:none;
  }
  .curr-hero .hero-copy .eyebrow {
    margin-bottom:12px;
  }
  .curr-hero .hero-sub {
    font-size:14px;
    line-height:1.8;
    margin-bottom:16px;
  }
  .curr-hero .hero-bg {
    top:310px!important;
    bottom:0!important;
    background-size:auto 100%!important;
    background-position:80% center!important;
    mask-image:linear-gradient(180deg,transparent 0,#000 18%);
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%);
  }
  .curr-hero::before {
    background:linear-gradient(180deg,#192f4b 0%,#192f4b 45%,transparent 72%)!important;
  }
}

/* 服务号为完整网页入口，课程、公益与个人服务并列。 */
.service-nav { display:flex; justify-content:space-around; gap:4px; }
.service-nav a { white-space:nowrap; font-size:13px; }
.service-project-detail[hidden] { display:none; }
.service-project-detail h2 { font-size:22px; margin:28px 0 12px; }
.service-detail-steps { padding-left:1.5em; line-height:2; color:#5c6a78; }
.journey-btn:disabled { opacity:.65; cursor:default; box-shadow:none; }

/* 在读学员入口：与官网叙事并列，直接进入原课堂服务。 */
.learning-portal{background:#EEE4CF;color:#1D3557;padding:38px 0}
.learning-portal-inner{display:flex;align-items:center;gap:28px}
.learning-portal-symbol{width:74px;height:74px;flex:none;color:#a77a24}
.learning-portal-symbol svg{width:100%;height:100%}
.learning-portal h2{font-size:28px;margin:0 0 10px}
.learning-portal p:not(.journey-kicker){font-size:15px;line-height:1.85;margin:0;color:#586879}
.learning-portal .journey-actions{margin-left:auto;flex-shrink:0}
@media(min-width:901px) and (max-width:1280px){.site-nav .nav-links{gap:15px}.site-nav .nav-links>a,.site-nav .dd>a{font-size:14px}}
@media(max-width:1000px){.learning-portal-inner{flex-wrap:wrap}.learning-portal .journey-actions{margin-left:102px}}
@media(max-width:600px){.learning-portal{padding:30px 0}.learning-portal-inner{gap:18px}.learning-portal-symbol{width:46px;height:46px}.learning-portal-inner>div:nth-child(2){flex:1;min-width:0}.learning-portal h2{font-size:24px}.learning-portal p:not(.journey-kicker){font-size:14px}.learning-portal .journey-actions{margin-left:0;width:100%}.learning-portal .journey-actions a{flex:1;text-align:center}}
