/* 课程详情页（2028 版）· 海报风
 * 依据 Figma「组件与规范」页（Spec/课程详情组件与规范）：编号圆 + 渐变标题条、薰衣草底板、橙 / 紫两套主题色。
 * 移动端优先：< 640px 窄屏规则；640–899px 网格每行 2 个；≥ 900px 按画板（内容最宽 1000）。
 * 正文由 scripts/courses/ 生成，只在 xwd_course 详情页加载本文件。
 */

.page-body--course { padding-block: 24px 64px; }
.container--course { width: min(100% - 40px, 1000px); }

/* ---------- 主题变量（默认橙色，首屏带 cd-hero--violet 时切换紫色） ---------- */
.cd {
	--cd-text: #383838;
	--cd-muted: #5f5f5f;
	--cd-panel: #f6f5ff;
	--cd-bar: linear-gradient(90deg, #ff5260, #ff7b31 55%, #ffb800);
	--cd-badge: linear-gradient(135deg, #ffb300, #ff5462);
	--cd-head: #c2410c;
	--cd-deep: #c2410c;
	--cd-main: #ff7f2b;
	--cd-soft: #fff3eb;
	--cd-line: #ffe2d9;
	--cd-tline: #e5e2f6;
	--cd-tbg: #f9f8ff;
	--cd-flow: #c2410c;
	--cd-stage: linear-gradient(135deg, #d9480f, #f76707);
	--cd-icon: linear-gradient(135deg, #ffb300, #ff5462);
	--cd-wash: #ffe8d6;
	--cd-shadow: 0 6px 20px rgb(232 89 12 / 8%);

	--fs-h1: 26px;
	--fs-h2: 20px;
	--fs-h3: 16px;
	--fs-body: 15px;
	--fs-small: 14px;
	--fs-cap: 12px;
	--fs-stat: 26px;
	--cd-dot: 44px;
	--cd-barh: 34px;
	--cd-gap: 40px;
	--cd-pad: 16px;

	display: grid;
	gap: var(--cd-gap);
	color: var(--cd-text);
	font-size: var(--fs-body);
	line-height: 1.7;
}
.cd:has(.cd-hero--violet) {
	--cd-bar: linear-gradient(90deg, #ac4bff, #4044f3);
	--cd-badge: linear-gradient(135deg, #ac4bff, #4044f3);
	--cd-head: #7b4cf7;
	--cd-deep: #5b2fd6;
	--cd-main: #7b4cf7;
	--cd-soft: #f3efff;
	--cd-line: #eceaf8;
	--cd-tline: #dedcff;
	--cd-flow: #7b4cf7;
	--cd-stage: linear-gradient(135deg, #9b3cf0, #5b5cf6);
	--cd-icon: linear-gradient(135deg, #a34efa, #f8c876);
	--cd-wash: #ece6ff;
	--cd-shadow: 0 6px 20px rgb(91 47 214 / 8%);
}
@media (min-width: 640px) {
	.cd {
		--fs-h1: 34px;
		--fs-h2: 26px;
		--fs-h3: 18px;
		--fs-body: 17px;
		--fs-small: 16px;
		--fs-cap: 13px;
		--fs-stat: 32px;
		--cd-dot: 58px;
		--cd-barh: 46px;
		--cd-gap: 52px;
		--cd-pad: 22px;
	}
}
@media (min-width: 900px) {
	.cd {
		--fs-h1: 44px;
		--fs-h2: 36px;
		--fs-h3: 22px;
		--fs-body: 20px;
		--fs-small: 18px;
		--fs-cap: 15px;
		--fs-stat: 40px;
		--cd-dot: 76px;
		--cd-barh: 60px;
		--cd-gap: 64px;
		--cd-pad: 28px;
	}
	.cd:not(:has(.cd-hero--violet)) { --cd-head: #e8590c; --cd-flow: #e07000; }
}
.cd h1, .cd h2, .cd h3 { letter-spacing: 0; text-wrap: pretty; }
.cd p { margin: 0; }
.cd ul, .cd ol { list-style: none; margin: 0; padding: 0; }
.cd .icon { vertical-align: middle; }

/* ---------- 首屏 ---------- */
.cd-hero { overflow: hidden; background: #fff; border: 1px solid var(--cd-line); border-radius: 20px; box-shadow: var(--cd-shadow); }
.cd-hero__banner { padding: 24px var(--cd-pad); background: var(--cd-bar); color: #fff; }
.cd-hero__badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px !important; }
.cd-hero__badges li { padding: 3px 12px; font-size: var(--fs-cap); font-weight: 600; background: rgb(255 255 255 / 20%); border: 1px solid rgb(255 255 255 / 50%); border-radius: 999px; }
.cd-hero__title { margin: 0; font-size: var(--fs-h1); font-weight: 800; color: #fff; text-shadow: 0 1px 3px rgb(0 0 0 / 18%); }
.cd-hero__body { display: grid; gap: 20px; padding: var(--cd-pad); }
.cd-hero__lead { font-size: var(--fs-body); }

.cd-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cd-stats li { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 14px 10px; text-align: center; background: var(--cd-soft); border-radius: 14px; }
.cd-stats b { font-size: var(--fs-stat); font-weight: 800; line-height: 1.2; color: var(--cd-deep); }
.cd-stats small { margin-left: 2px; font-size: .5em; font-weight: 700; }
.cd-stats span { font-size: var(--fs-small); color: var(--cd-muted); }
@media (min-width: 900px) {
	.cd-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cd-stats--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.cd-stats li { padding: 20px 12px; }
}

/* ---------- 区块：编号圆 + 渐变标题条 ---------- */
.cd-sec { display: grid; gap: 20px; min-width: 0; }
.cd-sec__head { position: relative; display: flex; align-items: center; min-height: var(--cd-dot); padding-left: calc(var(--cd-dot) / 2); }
.cd-sec__no { position: absolute; top: 50%; left: 0; z-index: 1; display: grid; place-items: center; width: var(--cd-dot); height: var(--cd-dot); font-size: calc(var(--cd-dot) * .44); font-weight: 800; line-height: 1; color: #fff; background: var(--cd-badge); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 4px 12px rgb(0 0 0 / 12%); transform: translateY(-50%); }
.cd-sec__title { flex: 1; display: flex; align-items: center; min-height: var(--cd-barh); margin: 0; padding: 4px 14px 4px calc(var(--cd-dot) / 2 + 12px); font-size: var(--fs-h2); font-weight: 800; line-height: 1.2; color: #fff; background: var(--cd-bar); border-radius: 0 8px 8px 0; }
.cd-sec__desc { font-size: var(--fs-small); color: var(--cd-muted); }

/* ---------- 卡片 / 提示 / 注释 ---------- */
.cd-card { display: grid; gap: 16px; align-content: start; min-width: 0; padding: var(--cd-pad); background: #fff; border: 1px solid var(--cd-line); border-radius: 14px; box-shadow: var(--cd-shadow); }
.cd-card--soft { background: var(--cd-soft); border-color: transparent; box-shadow: none; }
.cd-card h3 { margin: 0; font-size: var(--fs-h3); font-weight: 800; }
.cd-card--soft h3 { color: var(--cd-deep); }
.cd-2col { display: grid; gap: 16px; }
@media (min-width: 640px) { .cd-2col { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.cd-notice { display: flex; gap: 10px; align-items: flex-start; padding: 12px 16px; font-size: var(--fs-small); background: var(--cd-soft); border-radius: 12px; }
.cd-notice .icon { flex: none; margin-top: .2em; color: var(--cd-deep); }
.cd-foot { font-size: var(--fs-cap); color: #6b6b6b; }

.cd-pill { display: inline-block; padding: 2px 10px; font-size: var(--fs-cap); font-weight: 700; line-height: 1.6; color: var(--cd-deep); background: var(--cd-soft); border-radius: 999px; }
.cd-pill--solid { color: #fff; background: var(--cd-stage); }

/* ---------- 勾选列表（薰衣草底板 + 行卡） ---------- */
.cd-list { display: grid; gap: 10px; padding: 12px; background: var(--cd-panel); border-radius: 14px; }
.cd-list li { display: flex; gap: 12px; align-items: center; padding: 12px 14px; font-size: var(--fs-small); background: #fff; border-radius: 10px; }
.cd-list li::before { content: ""; flex: none; width: 24px; height: 24px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 14px no-repeat, var(--cd-icon); border-radius: 50%; }
.cd-list--plus li::before { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cline x1='12' y1='6' x2='12' y2='18'/%3E%3Cline x1='6' y1='12' x2='18' y2='12'/%3E%3C/svg%3E") center / 14px no-repeat, var(--cd-stage); }
.cd-card .cd-list { gap: 8px; padding: 0; background: none; }
.cd-card .cd-list li { padding: 2px 0; background: none; }
@media (min-width: 640px) { .cd-list--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- 表格 ---------- */
.cd-table { min-width: 0; overflow-x: auto; background: var(--cd-tbg); border: 1px solid var(--cd-tline); border-radius: 16px; }
.cd-table table { width: 100%; border-collapse: collapse; font-size: var(--fs-small); line-height: 1.6; }
.cd-table th { padding: 12px 10px; font-size: 14px; font-weight: 700; color: #fff; text-align: center; white-space: nowrap; background: var(--cd-head); }
.cd-table td { padding: 12px 10px; text-align: center; vertical-align: middle; border-top: 1px solid var(--cd-tline); }
.cd-table td + td, .cd-table th + th { border-left: 1px solid var(--cd-tline); }
.cd-table th + th { border-left-color: rgb(255 255 255 / 25%); }
.cd-table td:first-child { font-weight: 700; }
.cd-table--left td:not(:first-child) { text-align: left; }
.cd-table th.is-hl { background: var(--cd-deep); }
.cd-table td.is-hl, .cd-table tr.is-hl td { font-weight: 700; color: var(--cd-deep); background: var(--cd-soft); }
.cd-table .cd-y { font-weight: 800; color: var(--cd-deep); }
.cd-table .cd-n { color: #9a9a9a; }
@media (min-width: 900px) {
	.cd-table th { padding: 16px 12px; font-size: 19px; }
	.cd-table td { padding: 14px 12px; }
}
/* 窄屏把隐藏列的内容并入相邻单元格（cd-narrow），宽屏不显示 */
@media (min-width: 640px) { .cd-table .cd-narrow { display: none; } }
/* 窄屏只保留「项目 + 本班型」列 */
@media (max-width: 639px) {
	.cd-table .cd-x { display: none; }
	.cd-table--compact td, .cd-table--compact th { padding: 10px 6px; }
}

/* ---------- 阶段规划 ---------- */
.cd-stages { display: grid; gap: 12px; }
.cd-stages > li { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; }
.cd-stages__label { display: flex; flex-direction: column; justify-content: center; padding: 10px 8px; text-align: center; color: #fff; background: var(--cd-stage); border-radius: 10px; }
.cd-stages__label b { font-size: var(--fs-h3); line-height: 1.3; }
.cd-stages__label span { font-size: var(--fs-cap); opacity: .92; }
.cd-stages__body { display: grid; gap: 6px; align-content: center; padding: 10px 14px; font-size: var(--fs-small); background: var(--cd-panel); border-radius: 10px; }
.cd-stages > li.is-hl .cd-stages__body { background: var(--cd-soft); }
.cd-tags { display: flex; flex-wrap: wrap; gap: 6px; }
@media (min-width: 900px) { .cd-stages > li { grid-template-columns: 200px minmax(0, 1fr); gap: 16px; } .cd-stages__body { padding: 14px 20px; } }

/* ---------- 特色卡 ---------- */
.cd-feats { display: grid; gap: 10px; }
.cd-feats > li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 2px 12px; align-items: center; padding: 14px; background: #fff; border: 1px solid var(--cd-line); border-radius: 14px; box-shadow: var(--cd-shadow); }
.cd-feats__ic { grid-row: span 2; display: grid; place-items: center; width: 44px; height: 44px; color: #fff; background: var(--cd-icon); border-radius: 50%; }
.cd-feats h3 { margin: 0; font-size: var(--fs-h3); font-weight: 800; }
.cd-feats p { font-size: var(--fs-small); color: var(--cd-muted); }
@media (min-width: 640px) { .cd-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) {
	.cd-feats { gap: 16px; }
	.cd-feats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cd-feats--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.cd-feats > li { grid-template-columns: 1fr; justify-items: center; align-content: start; gap: 10px; padding: 28px 18px; text-align: center; }
	.cd-feats__ic { grid-row: auto; width: 88px; height: 88px; }
	.cd-feats__ic .icon { width: 40px; height: 40px; }
}

/* ---------- 服务单元（原稿 Page 4 样式） ---------- */
.cd-svcs { display: grid; gap: 12px; }
.cd-svcs > li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: center; padding: 14px; background: #fff; border: 1px solid var(--cd-line); border-radius: 14px; }
.cd-svcs > li:nth-child(even) { background: var(--cd-soft); }
.cd-svcs__ic { display: grid; place-items: center; width: 52px; height: 52px; color: var(--cd-deep); background: linear-gradient(#fff, #fff) padding-box, var(--cd-icon) border-box; border: 3px solid transparent; border-radius: 50%; }
.cd-svcs h3 { display: inline-flex; gap: 10px; margin: 0 0 6px; padding: 3px 14px; font-size: var(--fs-h3); font-weight: 800; color: #fff; background: var(--cd-stage); border-radius: 999px; }
.cd-svcs h3 em { font-style: normal; opacity: .85; }
.cd-svcs p { font-size: var(--fs-small); }
@media (min-width: 900px) {
	.cd-svcs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.cd-svcs > li { padding: 18px 20px; }
	.cd-svcs > li:nth-child(even) { background: #fff; }
	.cd-svcs > li:nth-child(4n+2), .cd-svcs > li:nth-child(4n+3) { background: var(--cd-soft); }
	.cd-svcs__ic { width: 64px; height: 64px; }
}

/* ---------- 服务流程（半色圆 + 箭头） ---------- */
.cd-flow { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px 40px; }
.cd-flow > li { position: relative; }
.cd-flow__c { display: grid; grid-template-rows: 1fr 1fr; width: 140px; height: 140px; overflow: hidden; text-align: center; background: #fff; border: 2px solid var(--cd-flow); border-radius: 50%; }
.cd-flow__c b { display: flex; align-items: flex-end; justify-content: center; padding: 0 10px 6px; font-size: 16px; line-height: 1.3; color: #fff; background: var(--cd-flow); }
.cd-flow__c span { padding: 6px 14px 0; font-size: 12px; line-height: 1.45; }
.cd-flow > li::after { content: ""; position: absolute; top: 50%; right: -32px; width: 24px; height: 24px; background: var(--cd-flow); transform: translateY(-50%); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") center / contain no-repeat; }
.cd-flow > li:last-child::after, .cd-flow > li:nth-child(2n)::after { display: none; }
@media (min-width: 900px) {
	.cd-flow > li:nth-child(2n)::after { display: block; }
	.cd-flow > li:nth-child(5n)::after, .cd-flow > li:last-child::after { display: none; }
	.cd-flow__c { width: 168px; height: 168px; }
	.cd-flow__c b { padding-bottom: 8px; font-size: 19px; }
	.cd-flow__c span { padding: 8px 16px 0; font-size: 14px; }
}

/* ---------- 折叠课表 ---------- */
.cd-acc { overflow: hidden; background: #fff; border: 1px solid var(--cd-line); border-radius: 14px; }
.cd-acc > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; align-items: center; padding: 14px 16px; cursor: pointer; list-style: none; }
.cd-acc > summary::-webkit-details-marker { display: none; }
.cd-acc__label { font-size: var(--fs-h3); font-weight: 800; color: var(--cd-deep); }
.cd-acc__meta { grid-row: 2; grid-column: 1 / -1; font-size: var(--fs-small); color: var(--cd-muted); }
.cd-acc__btn { display: inline-flex; gap: 4px; align-items: center; padding: 2px 12px; font-size: var(--fs-cap); font-weight: 700; color: var(--cd-deep); border: 1px solid var(--cd-main); border-radius: 999px; }
.cd-acc__btn::before { content: "展开"; }
.cd-acc[open] .cd-acc__btn::before { content: "收起"; }
.cd-acc__btn .icon { transition: transform .2s; }
.cd-acc[open] .cd-acc__btn .icon { transform: rotate(180deg); }
.cd-acc__body { display: grid; gap: 12px; padding: 0 16px 16px; }
.cd-acc + .cd-acc { margin-top: -8px; }
@media (min-width: 900px) {
	.cd-acc > summary { grid-template-columns: auto minmax(0, 1fr) auto; padding: 18px 24px; }
	.cd-acc__meta { grid-row: 1; grid-column: 2; }
	.cd-acc__body { padding: 0 24px 24px; }
}

/* ---------- 照片 ---------- */
.cd-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 12px; background: var(--cd-wash); border-radius: 16px; }
.cd-photo { position: relative; margin: 0; overflow: hidden; background: #fff; border-radius: 10px; }
.cd-photo img { width: 100%; height: 120px; object-fit: cover; }
.cd-photo figcaption { position: absolute; bottom: 8px; left: 8px; padding: 2px 10px; font-size: 12px; color: #fff; background: rgb(0 0 0 / 55%); border-radius: 999px; }
.cd-photo.is-missing { display: none; }
@media (min-width: 640px) { .cd-photo img { height: 180px; } }
@media (min-width: 900px) {
	.cd-gallery { gap: 16px; padding: 20px; }
	.cd-gallery--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cd-gallery--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.cd-photo img { height: 230px; }
	.cd-photo figcaption { font-size: 14px; }
}

/* ---------- 小网格：学科理念、集训营四阶、四步、产品优势 ---------- */
.cd-ideas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cd-ideas li { display: grid; gap: 2px; padding: 12px 14px; font-size: var(--fs-small); background: var(--cd-panel); border-radius: 12px; }
.cd-ideas b { color: var(--cd-deep); }
.cd-ideas span { color: var(--cd-muted); }
@media (min-width: 900px) { .cd-ideas { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.cd-phases { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cd-phases li { display: flex; flex-direction: column; gap: 6px; align-items: center; color: var(--cd-main); }
.cd-phases b { width: 100%; padding: 10px 8px; font-size: var(--fs-small); text-align: center; color: #fff; background: var(--cd-stage); border-radius: 8px; }
.cd-phases li::after { content: ""; width: 10px; height: 10px; background: var(--cd-main); border-radius: 50%; }
.cd-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 12px; background: var(--cd-wash); border-radius: 12px; }
.cd-steps li { display: flex; flex-direction: column; gap: 8px; align-items: center; padding: 14px 10px; font-size: var(--fs-small); text-align: center; background: #fff; border: 1px solid var(--cd-line); border-radius: 10px; }
.cd-steps b { display: grid; place-items: center; width: 44px; height: 44px; font-size: 20px; color: #fff; background: var(--cd-stage); border-radius: 50%; }
@media (min-width: 900px) {
	.cd-phases, .cd-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
	.cd-phases b { padding: 16px 12px; }
	.cd-steps { padding: 28px; }
	.cd-steps li { padding: 24px 16px; }
	.cd-steps b { width: 56px; height: 56px; font-size: 26px; }
}

.cd-adv { display: grid; gap: 10px; }
.cd-adv li { display: flex; gap: 12px; align-items: center; padding: 14px; background: var(--cd-soft); border-radius: 16px; }
.cd-adv__ic { flex: none; display: grid; place-items: center; width: 44px; height: 44px; color: var(--cd-deep); background: #fff; border-radius: 12px; }
.cd-adv b { display: block; font-size: var(--fs-h3); }
.cd-adv span { font-size: var(--fs-small); color: var(--cd-muted); }
@media (min-width: 640px) { .cd-adv { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .cd-adv li { padding: 18px; } }

/* ---------- OMO 班型对比：宽屏表格，窄屏卡片 ---------- */
.cd-omo-cards { display: grid; gap: 10px; }
.cd-omo-cards .cd-card { gap: 8px; }
.cd-omo-cards .is-current { background: var(--cd-soft); border-color: var(--cd-main); }
.cd-omo-cards header { display: flex; gap: 8px; align-items: center; justify-content: space-between; }
.cd-omo-cards .is-current h3 { color: var(--cd-deep); }
.cd-kv { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 6px 10px; margin: 0; font-size: var(--fs-small); }
.cd-kv dt { color: var(--cd-muted); }
.cd-kv dd { margin: 0; }
.cd-omo-table { display: none; }
@media (min-width: 640px) { .cd-omo-cards { display: none; } .cd-omo-table { display: block; } }

/* ---------- 咨询区 ---------- */
.cd-cta { display: grid; gap: 16px; padding: 24px var(--cd-pad); background: linear-gradient(135deg, var(--cd-soft), #fff 70%); border: 1px solid var(--cd-line); border-radius: 20px; }
.cd-cta h2 { margin: 0; font-size: var(--fs-h2); font-weight: 800; color: var(--cd-deep); }
.cd-cta p { color: var(--cd-muted); }
.cd-cta__actions { display: grid; gap: 10px; }
.cd-btn { display: inline-flex; gap: 8px; align-items: center; justify-content: center; padding: 12px 24px; font-size: var(--fs-body); font-weight: 700; line-height: 1.3; color: #fff; background: var(--cd-stage); border: 1px solid transparent; border-radius: 999px; box-shadow: 0 8px 20px rgb(0 0 0 / 10%); transition: transform .2s; }
.cd-btn:hover { color: #fff; transform: translateY(-2px); }
.cd-btn--ghost { color: var(--cd-deep); background: #fff; border-color: var(--cd-main); box-shadow: none; }
.cd-btn--ghost:hover { color: var(--cd-deep); }
@media (min-width: 900px) {
	.cd-cta { grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 36px 40px; }
	.cd-cta__actions { grid-auto-flow: column; }
}
