:root{
  --paper:#F7F1E8;--paper2:#F3EDE4;--card:#FFFCF7;
  --wine:#7A3E48;--wine2:#3D2A22;--coffee:#4A3428;
  --module:#5C3D32;--coffee-accent:#6B4A3A;--muted:#6B554A;--gold:#C4A574;--line:rgba(74,52,40,.14);
  --rose:#7A3E48;--rose-soft:#E9DED4;--rose-text:#5C3D32;
  --shadow:0 7px 24px rgba(73,59,53,.07)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--coffee);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;font-size:16.5px;line-height:1.68}
img{display:block;max-width:100%}a{color:inherit}
.page{width:min(100%,760px);margin:auto;background:var(--card);min-height:100vh;box-shadow:var(--shadow)}
.hero img,.intro-cover img{width:100%;height:auto}
.section{padding:27px 22px}.section.alt{background:var(--paper)}
.eyebrow{font-size:13px;letter-spacing:.12em;color:var(--wine);font-weight:700}
.title{margin:5px 0 10px;font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:28px;line-height:1.28;color:var(--wine2)}
.course-title{display:flex;flex-direction:column;align-items:flex-start;white-space:nowrap;margin-top:7px}
.course-title .title-line-1,.course-title .title-line-2{display:block}
.course-title .title-line-2{margin-left:2em}
.lead{font-size:17.5px;line-height:1.62;color:var(--coffee);margin:0}.muted{color:var(--muted)}
h2{margin:0 0 13px;font-family:"Songti SC","Noto Serif CJK SC",serif;color:var(--module);font-size:23px;line-height:1.34}
h3{margin:0 0 6px;color:var(--module);font-size:18.5px;line-height:1.38}
p{margin:0 0 11px}.divider{width:54px;height:2px;background:var(--gold);margin:17px 0}
.cards{display:grid;gap:10px}.card{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:16px 17px;box-shadow:0 3px 14px rgba(73,59,53,.035)}
.card .num{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:#f2e6e8;color:var(--wine);font-weight:700;font-size:13px;margin-bottom:7px}
.meta{font-size:14px;color:var(--muted)}ul{margin:0;padding-left:1.15em}li{margin:5px 0}
.button{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border-radius:12px;text-decoration:none;font-weight:700;text-align:center;letter-spacing:0;word-spacing:0}
.button.primary{background:var(--rose);color:#fff}.button.secondary{background:#f1e5e7;color:var(--wine2);border:1px solid rgba(118,47,67,.14)}.button.ghost{background:transparent;color:var(--wine2);border:1px solid rgba(118,47,67,.24)}
.actions{display:grid;gap:10px;margin-top:14px}audio,video{width:100%;border-radius:12px;margin-top:10px;background:#2e2625}
.quote{padding:17px 18px;border-left:3px solid var(--gold);background:#f6efe5;border-radius:0 13px 13px 0}
.price{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid var(--line)}.price strong{color:var(--wine2)}
.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#f2e6e8;color:var(--wine);font-size:13px;font-weight:700}
.brand,.promo-footer{padding:27px 22px;background:var(--rose-soft);color:var(--rose-text)}
.brand{text-align:center}.brand strong{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:21px}.brand p{margin:6px 0 0;color:rgba(255,250,245,.92);font-size:15px}
.promo-footer p{font-size:17px;line-height:1.68;margin:0 0 14px}.promo-footer p:last-child{margin-bottom:0}.promo-footer strong{font-weight:700;color:var(--wine2)}
.fine{font-size:14px;color:var(--muted);line-height:1.58}
.course-footer{text-align:center;padding:28px 18px;background:var(--rose-soft);color:var(--rose-text)}
.course-footer .line1{font-size:18px;letter-spacing:.06em}.course-footer .line2{font-size:16px;margin-top:9px}.course-footer .signature{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:20px;margin-top:22px}
@media(min-width:640px){.section{padding:35px 44px}.cards.two{grid-template-columns:1fr 1fr}.title{font-size:33px}.actions.two{grid-template-columns:1fr 1fr}}
@media(max-width:639px){.cards.two,.actions.two{grid-template-columns:1fr!important}}
@media(max-width:390px){body{font-size:16px}.section{padding:24px 18px}.title{font-size:26px}.card{padding:15px 16px}h2{font-size:21.5px}.promo-footer{padding:24px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
