:root { color-scheme: light; --ink:#253e36; --muted:#62766c; --green:#216e62; --line:#e0e9e3; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#f7faf8; color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; line-height:1.65; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:3px solid #dfa24c; outline-offset:5px; }
h1,h2,h3,p { margin:0; }
.skip-link { position:absolute; left:16px; top:-100px; padding:10px; background:white; z-index:20; }
.skip-link:focus { top:12px; }
.header-inner,.page,.site-footer { width:min(1152px,calc(100% - 64px)); margin-inline:auto; }
.site-header { background:white; border-bottom:1px solid var(--line); }
.header-inner { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:11px; font-size:19px; font-weight:800; white-space:nowrap; }
nav { display:flex; gap:7px; }
nav a { padding:9px 18px; font-size:14px; font-weight:600; border-radius:10px; white-space:nowrap; }
nav a:hover { background:#f2f7f4; }
nav a[aria-current] { background:#e9f3ee; color:var(--green); }
.page { padding:44px 0 38px; }
.page-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:32px; }
.eyebrow { margin-bottom:9px; color:var(--green); font-size:11px; letter-spacing:2px; font-weight:700; }
h1 { font-size:clamp(32px,3.5vw,42px); line-height:1.3; letter-spacing:-1px; }
.intro { color:var(--muted); margin-top:10px; font-size:16px; }
.collection-note { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted); white-space:nowrap; }
.status-dot { width:7px; height:7px; border-radius:50%; background:#6b9b82; box-shadow:0 0 0 4px #e9f1ec; }
.section-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.section-heading h2 { font-size:17px; font-weight:700; }
.section-heading>span { color:var(--muted); font-size:12px; }
.course-card { display:grid; grid-template-columns:1fr 1fr; border:1px solid #dce7e1; border-radius:24px; overflow:hidden; background:white; box-shadow:0 10px 35px #224c3607; }
.course-preview { position:relative; display:block; overflow:hidden; min-height:390px; background:#e6f0ed; }
.course-preview>img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.course-preview::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,#244253b3); pointer-events:none; }
.preview-badge { position:absolute; top:22px; left:22px; padding:5px 11px; background:#ffffffed; border:1px solid #fff; border-radius:8px; font-size:12px; color:#3b6879; font-weight:650; }
.preview-caption { position:absolute; bottom:24px; left:26px; right:26px; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:17px; font-weight:650; color:white; }
.preview-play { display:grid; place-items:center; width:39px; height:39px; flex-shrink:0; border:1px solid #ffffff70; border-radius:50%; background:#ffffff18; font-size:22px; }
.course-preview:hover .preview-play { background:#ffffff30; }
.course-content { padding:35px 38px; }
.course-overline { margin-bottom:11px; color:#8b744e; letter-spacing:1.2px; font-size:11px; font-weight:700; }
.course-content h3 { font-size:34px; line-height:1.25; letter-spacing:-.6px; }
.course-subtitle { margin-top:5px; color:#41665a; font-size:16px; }
.description { margin-top:19px; color:var(--muted); font-size:14px; line-height:1.85; }
.features { display:flex; flex-wrap:wrap; gap:7px; margin-top:17px; }
.features span { color:#4d6d60; background:#f0f6f2; padding:4px 9px; border-radius:6px; font-size:11px; white-space:nowrap; }
.course-actions { display:flex; align-items:center; gap:22px; margin-top:26px; }
.primary { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; min-height:48px; padding:11px 22px; border-radius:11px; background:var(--green); color:white; font-size:15px; font-weight:700; }
.primary:hover { background:#175c51; }
.download { color:var(--green); font-size:13px; padding:10px 0; }
.download:hover { text-decoration:underline; text-underline-offset:4px; }
.course-note { margin-top:11px; color:#83938b; font-size:11px; }
.classroom-guide { display:grid; grid-template-columns:245px minmax(0,1fr); align-items:center; gap:25px; margin-top:28px; padding:25px 29px; border:1px solid var(--line); border-radius:18px; background:#eff5f1; }
.guide-intro .eyebrow { font-size:9px; }
.guide-intro h2 { font-size:19px; }
.guide-intro>p:last-child { margin-top:3px; color:var(--muted); font-size:12px; }
.steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; margin:0; padding:0; }
.steps li { display:flex; gap:10px; }
.steps li>span { color:#94af9f; font-size:13px; font-weight:700; padding-top:2px; }
.steps h3 { font-size:14px; font-weight:650; }
.steps p { margin-top:4px; font-size:12px; color:var(--muted); line-height:1.8; }
.model-note { margin:17px 3px 0; font-size:11px; color:#83938b; }
.site-footer { display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; border-top:1px solid var(--line); padding:21px 0 28px; color:var(--muted); font-size:12px; }
.site-footer a { color:var(--green); }
@media(max-width:1000px) { .course-content { padding:30px; } .course-actions { gap:15px; } .classroom-guide { grid-template-columns:1fr; gap:20px; } }
@media(max-width:720px) { .course-card { grid-template-columns:1fr; } .course-preview { min-height:0; height:auto; aspect-ratio:1.6; } .course-content { padding:28px; } .collection-note { display:none; } .course-content h3 { font-size:30px; } }
@media(max-width:560px) { .header-inner,.page,.site-footer { width:calc(100% - 32px); } .header-inner { padding:15px 0; flex-wrap:wrap; gap:13px; } nav { width:100%; } nav a { flex:1; text-align:center; padding:7px 10px; } .brand { font-size:17px; } .page { padding-top:28px; } .page-heading { margin-bottom:25px; } .eyebrow { font-size:9px; letter-spacing:1px; } .intro { font-size:14px; } .course-card { border-radius:18px; } .course-content { padding:23px; } .preview-badge { top:14px; left:14px; font-size:10px; } .preview-caption { bottom:16px; left:18px; right:18px; font-size:14px; } .course-actions { flex-wrap:wrap; gap:12px 20px; } .primary { min-height:46px; padding:10px 18px; gap:20px; } .classroom-guide { padding:23px; } .steps { grid-template-columns:1fr; gap:16px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
