.course-landing main { overflow-wrap: anywhere; }
.course-landing main [id] { scroll-margin-top: 110px; }
.course-landing .eyebrow { font-size: 14px; letter-spacing: .08em; }
.course-landing .button { font-size: 16px; }
.course-landing .landing-hero { padding: 68px 0 82px; }
.course-hero-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .8fr); gap: 64px; align-items: center; }
.course-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; color: var(--ink-soft); font: 14px/1.6 "Microsoft YaHei", sans-serif; }
.course-meta span + span { border-left: 1px solid var(--line); padding-left: 18px; }
.course-landing .hero h1 { margin: 24px 0 28px; font-size: clamp(34px, 4.25vw, 56px); line-height: 1.27; letter-spacing: -.045em; }
.course-landing .hero h1 span { display: block; margin-top: 10px; color: var(--wine); font-size: .76em; line-height: 1.5; letter-spacing: -.035em; }
.course-hero-intro { max-width: 620px; font-size: 18px; line-height: 1.9; }
.course-hero-intro p { margin: 0 0 15px; }
.course-hero-intro strong { font-weight: 600; color: var(--wine-deep); }
.course-curiosity { margin-top: 24px; padding: 22px 24px; border-left: 3px solid var(--wine); background: var(--paper-soft); color: var(--wine-deep); }
.course-curiosity .course-curiosity-question { margin: 0 0 12px; font-size: 22px; font-weight: 600; line-height: 1.6; }
.course-curiosity > p:last-child { margin: 0; font-size: 17px; line-height: 1.85; }
.course-landing .hero-actions { margin-top: 26px; }
.course-landing .course-portrait { margin: 0; padding: 12px 12px 22px; transform: none; border: 1px solid var(--line); border-radius: 28px; }
.course-landing .course-portrait img { border-radius: 18px; }
.course-landing .teacher-caption { align-items: baseline; padding: 18px 12px 0; font-size: 14px; }
.course-landing .teacher-caption strong { font-size: 24px; font-weight: 600; }
.course-portrait-note { margin: 10px 12px 0; color: var(--ink-soft); font-size: 16px; line-height: 1.7; }
.course-landing .section-heading { gap: 48px; margin-bottom: 44px; }
.course-landing .section-heading h2,
.course-preview h2,
.course-closer h2,
.course-teacher h2 { margin: 0; font-size: clamp(30px, 3.5vw, 44px); font-weight: 600; letter-spacing: -.035em; line-height: 1.4; }
.course-landing .section-heading > p { max-width: 420px; font-size: 17px; }
.course-regret-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.course-regret { border-top: 2px solid var(--rose); padding-top: 24px; }
.course-regret h3 { margin: 0 0 20px; font-size: 24px; font-weight: 600; line-height: 1.65; letter-spacing: -.02em; }
.course-regret p { margin: 0 0 16px; color: var(--ink-soft); }
.course-regret .course-wish { color: var(--wine-deep); }
.course-impact { max-width: 900px; margin: 38px 0 0; padding-top: 28px; border-top: 1px solid var(--line); }
.course-impact p { margin: 0 0 14px; color: var(--ink-soft); }
.course-impact p:last-child { margin-bottom: 0; }
.course-impact strong { color: var(--wine-deep); font-weight: 600; }
.course-impact .text-link { margin-top: 6px; }
.course-preview-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 90px; align-items: start; }
.course-preview-heading > p:not(.eyebrow) { margin: 22px 0; color: var(--ink-soft); }
.course-excerpt { margin: 28px 0; padding: 24px 26px; border-left: 3px solid var(--wine); border-radius: 0 16px 16px 0; background: var(--paper-soft); }
.course-excerpt blockquote { margin: 0; color: var(--wine-deep); font-size: clamp(21px, 2.2vw, 27px); line-height: 1.7; }
.course-excerpt blockquote p { margin: 0; }
.course-excerpt figcaption { margin-top: 14px; color: var(--ink-soft); font: 14px/1.7 "Microsoft YaHei", sans-serif; }
.course-topic { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 22px; border-top: 1px solid var(--line); padding: 26px 0; }
.course-topic:first-child { padding-top: 0; border-top: 0; }
.course-topic:last-child { padding-bottom: 0; }
.course-topic-number { font-size: 24px; color: var(--wine); line-height: 1.5; }
.course-topic h3 { margin: 0 0 12px; font-size: 23px; line-height: 1.65; font-weight: 600; }
.course-topic p { margin: 0; color: var(--ink-soft); }
.course-closer { background: var(--wine-deep); color: var(--paper-soft); }
.course-closer .eyebrow { color: #edcbd5; }
.course-closer-heading { max-width: 800px; }
.course-closer h2 { font-size: clamp(32px, 3.8vw, 48px); }
.course-closer-heading > p:last-child { max-width: 640px; margin: 26px 0 0; color: #ead8df; font-size: 18px; }
.course-scenes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; margin-top: 56px; }
.course-scene { border-top: 1px solid rgba(255, 255, 255, .24); padding-top: 24px; }
.course-scene-caption { margin: 0 0 14px; font: 14px/1.6 "Microsoft YaHei", sans-serif; color: #edcbd5; }
.course-scene h3 { margin: 0 0 18px; font-size: 24px; line-height: 1.6; font-weight: 600; }
.course-scene p:not(.course-scene-caption) { margin: 0 0 16px; color: #f1e4e9; }
.course-voice { margin-top: 40px; padding: 30px 34px; border: 1px solid rgba(255, 255, 255, .24); border-radius: 20px; background: rgba(255, 255, 255, .05); }
.course-voice h3 { margin: 0 0 18px; font-size: 28px; line-height: 1.5; font-weight: 600; }
.course-voice > p:not(.eyebrow) { max-width: 850px; margin: 0 0 16px; color: #f1e4e9; }
.course-voice .text-link { color: #fff; }
.course-marriage { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 70px; margin-top: 48px; padding-top: 42px; border-top: 1px solid rgba(255, 255, 255, .24); }
.course-marriage h3 { margin: 0; font-size: 31px; line-height: 1.55; font-weight: 600; }
.course-marriage p { margin: 0 0 18px; }
.course-marriage > div:last-child { color: #f1e4e9; }
.course-marriage strong { color: #fff; font-weight: 600; }
.course-teacher-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 80px; }
.course-teacher-grid > div:last-child > p { margin: 0 0 20px; color: var(--ink-soft); }
.course-teacher-grid .course-teacher-invitation { color: var(--ink); }
.course-teacher-invitation strong { font-weight: 600; }
.course-learning-question { margin: 26px 0 0; color: var(--wine); font-size: 20px; line-height: 1.8; }
.course-teacher .button { margin-top: 8px; }
.course-claim-box { padding: 48px; border: 1px solid var(--line); border-radius: 28px; background: var(--paper-soft); }
.course-claim-heading { max-width: 720px; margin-bottom: 30px; }
.course-claim h2,
.course-questions h2 { margin: 0 0 20px; font-size: clamp(30px, 3.5vw, 42px); font-weight: 600; letter-spacing: -.025em; line-height: 1.4; }
.course-claim-heading > p:last-child { color: var(--ink-soft); }
.course-claim-question { margin: 22px 0; color: var(--wine-deep); font-size: 21px; line-height: 1.7; }
.course-claim-question strong { font-weight: 600; }
.course-claim-heading .course-delivery { margin-top: 20px; font: 14px/1.85 "Microsoft YaHei", sans-serif; }
.course-claim .channel-card { padding: 24px; border-radius: 16px; background: #fff; }
.course-claim .channel-card h3 { margin: 0 0 6px; }
.course-claim .channel-card p { margin: 0 0 18px; font-size: 16px; }
.course-claim .channel-status { margin-top: 10px; font-size: 14px; }
.course-claim .channel-status[for] { gap: 8px; max-width: 100%; }
.course-claim .channel-id { width: 11ch; min-width: 0; padding: 0; border: 0; color: inherit; background: transparent; font: inherit; }
.course-claim .channel-feedback { margin: 12px 0 0; font-size: 14px; line-height: 1.7; }
.course-claim [data-copy-channel] { cursor: pointer; }
.course-claim [data-copy-channel]:disabled { cursor: not-allowed; }
.course-claim-note { margin: 24px 0 0; color: var(--ink-soft); font: 14px/1.8 "Microsoft YaHei", sans-serif; }
.course-questions-grid { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: 70px; }
.course-questions .faq { min-width: 0; }
.course-questions summary { gap: 22px; font-size: 17px; }
.course-questions summary::after { flex-shrink: 0; }
.course-questions details p { font-size: 16px; color: var(--ink-soft); }
.course-related { margin-top: 54px; padding-top: 30px; border-top: 1px solid var(--line); }
.course-related > p { margin: 0 0 18px; color: var(--ink-soft); font-size: 15px; }
.course-related > div { display: flex; flex-wrap: wrap; gap: 12px 32px; }
.course-related a { font-size: 16px; line-height: 1.9; color: var(--wine); }

@media (max-width: 1080px) {
  .course-hero-grid { gap: 36px; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .8fr); }
  .course-preview-grid, .course-teacher-grid { gap: 48px; }
  .course-regret-grid, .course-scenes { gap: 26px; }
  .course-questions-grid { gap: 40px; }
}

@media (max-width: 800px) {
  .course-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(210px, .65fr); gap: 28px; align-items: start; }
  .course-landing .hero h1 { font-size: 36px; }
  .course-hero-intro { font-size: 17px; }
  .course-regret-grid, .course-scenes { grid-template-columns: 1fr; gap: 20px; }
  .course-regret h3 br { display: none; }
  .course-regret h3, .course-scene h3 { font-size: 24px; }
  .course-preview-grid, .course-teacher-grid, .course-marriage, .course-questions-grid { grid-template-columns: 1fr; gap: 34px; }
  .course-preview-heading { max-width: 620px; }
  .course-scene { padding-top: 22px; }
  .course-marriage { margin-top: 32px; }
}

@media (max-width: 600px) {
  .course-landing main [id] { scroll-margin-top: 88px; }
  .course-landing .landing-hero { padding: 38px 0 48px; }
  .course-hero-grid { grid-template-columns: 1fr; gap: 34px; }
  .course-landing .hero h1 { font-size: clamp(30px, 7.5vw, 42px); margin: 22px 0; }
  .course-landing .hero h1 span { font-size: .76em; }
  .course-landing .course-portrait { width: 100%; max-width: 350px; justify-self: center; padding: 10px 10px 18px; }
  .course-meta { gap: 8px 12px; }
  .course-meta span + span { padding-left: 12px; }
  .course-landing .section { padding: 52px 0; }
  .course-landing .section-heading { gap: 20px; margin-bottom: 30px; }
  .course-landing .section-heading h2,
  .course-preview h2,
  .course-closer h2,
  .course-teacher h2 { font-size: 30px; }
  .course-hero-intro { line-height: 1.85; }
  .course-curiosity { padding: 20px; }
  .course-curiosity .course-curiosity-question { font-size: 21px; }
  .course-curiosity-question br { display: none; }
  .course-claim-question { font-size: 20px; }
  .course-scenes { margin-top: 34px; }
  .course-excerpt { margin: 24px 0; padding: 20px; }
  .course-voice { margin-top: 28px; padding: 24px 20px; }
  .course-voice h3 { font-size: 24px; }
  .course-topic { grid-template-columns: 28px minmax(0, 1fr); gap: 16px; padding: 22px 0; }
  .course-topic h3 { font-size: 21px; }
  .course-marriage h3 { font-size: 27px; }
  .course-claim-box { padding: 26px 20px; border-radius: 22px; }
  .course-claim .channel-card { padding: 20px; }
  .course-claim .channel-card .button { width: 100%; }
  .course-questions-grid { gap: 10px; }
  .course-related > div { flex-direction: column; gap: 14px; }
}
