/* ===== Hero ===== */
.hero {
  min-height: 100vh;
  background: linear-gradient(135deg, #040E0A 0%, #0E2E1F 50%, #145A30 100%);
  color: #fff; padding-top: var(--header-height); position: relative; overflow: hidden;
  display: flex; align-items: center;
}
.hero::before {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(67,160,71,0.22) 0%, transparent 35%),
    radial-gradient(circle at 80% 70%, rgba(243,112,33,0.14) 0%, transparent 30%);
}
/* Hero 轮播背景 */
.hero-slides { position: absolute; inset: 0; z-index: 0; }
.hero-slide {
  position: absolute; inset: 0; background-size: cover; background-position: center;
  opacity: 0; transition: opacity 1.2s ease; transform: scale(1.02);
}
.hero-slide.active { opacity: 1; transform: scale(1); }
.hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(100deg, rgba(3,12,8,0.85) 0%, rgba(3,12,8,0.6) 45%, rgba(3,12,8,0.35) 100%);
}
.hero-dots {
  position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%);
  z-index: 3; display: flex; gap: 10px; align-items: center;
}
.hero-dot {
  width: 10px; height: 10px; border-radius: 100px; border: none; padding: 0;
  background: rgba(255,255,255,0.35); cursor: pointer; transition: all .3s ease;
}
.hero-dot.active { width: 28px; background: var(--accent); }
.hero-grid {
  position: absolute; inset: 0; opacity: 0.08;
  background-image:
    linear-gradient(rgba(255,255,255,0.15) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.15) 1px, transparent 1px);
  background-size: 80px 80px;
  transform: perspective(1000px) rotateX(60deg) translateY(-100px) scale(1.5);
}
.hero-orb {
  position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.45;
}
.hero-orb-1 { width: 500px; height: 500px; background: var(--primary-bright); top: -120px; right: -80px; }
.hero-orb-2 { width: 360px; height: 360px; background: var(--accent); bottom: -80px; left: -60px; opacity: 0.25; }
.hero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 64px; align-items: center; padding: 80px 0; }
.hero-kicker {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 18px; border-radius: 100px; background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15); color: var(--accent-light);
  font-size: 14px; font-weight: 700; margin-bottom: 24px;
}
.hero-title { font-size: 56px; font-weight: 900; line-height: 1.1; margin-bottom: 24px; }
.hero-title .highlight { color: var(--accent-light); }
.hero-subtitle { font-size: 20px; line-height: 1.8; opacity: 0.85; margin-bottom: 36px; max-width: 560px; }
.hero-actions { display: flex; gap: 18px; flex-wrap: wrap; }
.hero-stats {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 56px;
  padding-top: 28px; border-top: 1px solid rgba(255,255,255,0.12);
}
.hero-stat strong { display: block; font-size: 32px; font-weight: 800; color: #fff; }
.hero-stat span { font-size: 13px; opacity: 0.65; }

.hero-visual {
  position: relative; min-height: 460px; display: flex; align-items: center; justify-content: center;
}
.hero-ring {
  position: absolute; border: 1px solid rgba(255,255,255,0.12); border-radius: 50%;
}
.hero-ring-1 { width: 420px; height: 420px; }
.hero-ring-2 { width: 320px; height: 320px; }
.hero-ring-3 { width: 220px; height: 220px; }
.hero-core {
  width: 160px; height: 160px; border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, var(--primary-bright), var(--primary));
  box-shadow: 0 0 80px rgba(67,160,71,0.5), inset 0 0 40px rgba(255,255,255,0.2);
  display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 800;
}
.hero-core img { width: 100%; height: 100%; object-fit: contain; padding: 36px; filter: drop-shadow(0 0 12px rgba(255,255,255,0.25)); }
.hero-float {
  position: absolute; background: rgba(255,255,255,0.22); backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,0.35); border-radius: var(--radius-sm);
  padding: 16px 22px; font-size: 15px; font-weight: 700; color: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.2);
  text-shadow: 0 1px 3px rgba(0,0,0,0.55);
  white-space: nowrap;
}
.hero-float .float-icon { margin-right: 8px; font-size: 17px; }
.hero-float-1 { top: 60px; left: 0; }
.hero-float-2 { top: 140px; right: 0; }
.hero-float-3 { bottom: 80px; left: 20px; }
.hero-float-4 { bottom: 45px; right: 0; }

@media (max-width: 1024px) {
  .hero-inner { grid-template-columns: 1fr; text-align: center; }
  .hero-subtitle { margin-left: auto; margin-right: auto; }
  .hero-actions { justify-content: center; }
  .hero-stats { justify-content: center; grid-template-columns: repeat(4, 1fr); }
  .hero-visual { display: none; }
  .hero-title { font-size: 42px; }
}
@media (max-width: 640px) {
  .hero-title { font-size: 34px; }
  .hero-subtitle { font-size: 17px; }
  .hero-stats { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}

/* ===== Section spacing ===== */
.section { padding: 100px 0; position: relative; }
.section-alt { background: #fff; }

/* ===== Courses ===== */
.courses-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.course-card {
  background: var(--bg-card); border-radius: var(--radius); padding: 38px 30px;
  border: 1px solid var(--border); box-shadow: var(--shadow); transition: var(--transition);
  position: relative; overflow: hidden; display: flex; flex-direction: column;
}
.course-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px;
  background: linear-gradient(90deg, var(--primary), var(--accent));
}
.course-card:nth-child(2)::before { background: linear-gradient(90deg, var(--accent), var(--accent-light)); }
.course-card:nth-child(3)::before { background: linear-gradient(90deg, var(--primary-bright), var(--primary)); }
.course-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.course-icon { margin-bottom: 18px; }
.course-icon-inner {
  width: 56px; height: 56px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
}
.course-icon-inner svg { width: 28px; height: 28px; fill: currentColor; }
.course-tag {
  display: inline-block; padding: 5px 12px; border-radius: 100px;
  background: rgba(27,122,62,0.08); color: var(--primary); font-size: 12px; font-weight: 700;
  margin-bottom: 12px; width: fit-content;
}
.course-card:nth-child(2) .course-tag { background: rgba(243,112,33,0.1); color: var(--accent); }
.course-card h3 { font-size: 24px; font-weight: 800; margin-bottom: 12px; }
.course-card > p { font-size: 15px; color: var(--text-secondary); margin-bottom: 20px; line-height: 1.7; }
.course-list {
  flex: 1;
}
.course-list li {
  display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px;
  font-size: 14px; color: var(--text-secondary); line-height: 1.6;
}
.course-list li::before {
  content: '✓'; flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%;
  background: rgba(27,122,62,0.1); color: var(--primary); display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700;
}
.course-actions {
  display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; padding-top: 20px;
  border-top: 1px solid var(--border);
}
.course-actions .btn-text {
  background: none; border: none; color: var(--primary); font-weight: 600; cursor: pointer;
  padding: 8px 12px;
}
.course-actions .btn-text:hover { color: var(--accent); }

@media (max-width: 1024px) {
  .courses-grid { grid-template-columns: 1fr; }
}

/* ===== Diagnosis showcase ===== */
.diagnosis-showcase {
  background: linear-gradient(135deg, #061812 0%, #0E2E1F 50%, #145A30 100%);
  border-radius: var(--radius); color: #fff; padding: 70px 80px;
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; align-items: center;
  position: relative; overflow: hidden; box-shadow: var(--shadow-lg);
}
.diagnosis-showcase::before {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(circle at 10% 20%, rgba(67,160,71,0.18) 0%, transparent 40%),
    radial-gradient(circle at 90% 80%, rgba(243,112,33,0.12) 0%, transparent 35%);
}
.diagnosis-visual { position: relative; min-height: 420px; display: flex; align-items: center; justify-content: center; }
.diag-cover { width: 100%; max-width: 420px; border-radius: var(--radius); object-fit: cover; box-shadow: var(--shadow-xl); }
.diagnosis-phone {
  width: 280px; height: 480px; border-radius: 36px;
  background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%);
  border: 8px solid rgba(255,255,255,0.12); box-shadow: 0 30px 70px rgba(0,0,0,0.45);
  position: relative; z-index: 2; overflow: hidden;
}
.diagnosis-phone::before {
  content: ''; position: absolute; top: 14px; left: 50%; transform: translateX(-50%);
  width: 80px; height: 22px; border-radius: 12px; background: rgba(255,255,255,0.08);
}
.diag-screen { padding: 55px 24px 24px; }
.diag-screen-title { font-size: 18px; font-weight: 700; margin-bottom: 26px; text-align: center; }
.diag-progress {
  background: rgba(255,255,255,0.08); border-radius: 12px; padding: 16px;
  display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px;
}
.diag-progress span { font-size: 13px; opacity: 0.8; }
.diag-progress strong { font-size: 26px; color: var(--accent-light); }
.diag-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.diag-tags span {
  padding: 7px 12px; border-radius: 100px; font-size: 12px; font-weight: 600;
  background: rgba(67,160,71,0.18); border: 1px solid rgba(67,160,71,0.3);
}
.diag-roi {
  background: rgba(243,112,33,0.12); border: 1px solid rgba(243,112,33,0.25);
  border-radius: 12px; padding: 16px; text-align: center; font-size: 14px;
}
.diag-roi strong { display: block; font-size: 28px; color: var(--accent-light); margin-top: 6px; }
.diagnosis-float {
  position: absolute; background: rgba(255,255,255,0.08); backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.12); border-radius: var(--radius-sm);
  padding: 12px 16px; font-size: 13px; color: #fff;
}
.diag-float-1 { top: 50px; left: 0; }
.diag-float-2 { top: 140px; right: 0; }
.diag-float-3 { bottom: 70px; left: 20px; }
.diagnosis-body { position: relative; z-index: 2; }
.diagnosis-body .section-kicker { background: rgba(255,255,255,0.1); color: var(--accent-light); }
.diagnosis-body h2 { font-size: 38px; font-weight: 800; margin-bottom: 18px; line-height: 1.25; }
.diagnosis-body > p { color: rgba(255,255,255,0.75); margin-bottom: 28px; font-size: 17px; line-height: 1.8; }
.diagnosis-features li {
  display: flex; align-items: flex-start; gap: 14px; margin-bottom: 16px;
  color: rgba(255,255,255,0.9); font-size: 15px; font-weight: 500;
}
.diagnosis-features li::before {
  content: '✓'; flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%;
  background: rgba(67,160,71,0.2); color: var(--accent-light); display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700;
}

@media (max-width: 1100px) {
  .diagnosis-showcase { padding: 50px 40px; grid-template-columns: 1fr; gap: 48px; }
  .diagnosis-visual { min-height: 360px; }
  .diagnosis-phone { transform: scale(0.9); }
}
@media (max-width: 640px) {
  .diagnosis-showcase { padding: 36px 24px; }
  .diagnosis-body h2 { font-size: 28px; }
  .diagnosis-phone { transform: scale(0.8); }
}

/* ===== Feature split ===== */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.split-img { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-lg); min-height: 360px; background: linear-gradient(135deg, var(--primary-dark), var(--primary)); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 24px; font-weight: 800; position: relative; }
.split-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.split-body h2 { font-size: 34px; font-weight: 800; margin-bottom: 18px; line-height: 1.25; }
.split-body p { color: var(--text-secondary); margin-bottom: 18px; font-size: 16px; }
.split-list li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; color: var(--text); font-weight: 500; }
.split-list li::before {
  content: '✓'; flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%;
  background: rgba(27,122,62,0.1); color: var(--primary); display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700;
}

@media (max-width: 900px) {
  .split { grid-template-columns: 1fr; gap: 40px; }
  .split-img { min-height: 260px; }
}

/* ===== News home ===== */
.news-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.news-grid.list { grid-template-columns: repeat(3, 1fr); }
.news-card { background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); transition: var(--transition); }
.news-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.news-thumb { aspect-ratio: 16/10; background: linear-gradient(135deg, var(--primary-dark), var(--primary)); position: relative; overflow: hidden; }
.news-thumb img { width: 100%; height: 100%; object-fit: cover; }
.news-body { padding: 22px; }
.news-date { font-size: 12px; color: var(--text-muted); margin-bottom: 8px; }
.news-title { font-size: 16px; font-weight: 700; line-height: 1.45; margin-bottom: 10px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.news-summary { font-size: 14px; color: var(--text-secondary); line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

@media (max-width: 1100px) {
  .news-grid { grid-template-columns: repeat(2, 1fr); }
  .news-grid.list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .news-grid { grid-template-columns: 1fr; }
  .news-grid.list { grid-template-columns: 1fr; }
}

/* ===== Events home ===== */
.events-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.event-card {
  display: grid; grid-template-columns: 140px 1fr;
  background: #fff; border-radius: var(--radius); overflow: hidden;
  box-shadow: var(--shadow); transition: var(--transition); border: 1px solid var(--border);
}
.event-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.event-date {
  background: linear-gradient(135deg, var(--primary-dark), var(--primary));
  color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 20px; text-align: center;
}
.event-date .day { font-size: 36px; font-weight: 900; line-height: 1; }
.event-date .month { font-size: 14px; opacity: 0.85; margin-top: 6px; }
.event-info { padding: 26px; }
.event-meta { font-size: 12px; color: var(--text-muted); margin-bottom: 8px; display: flex; gap: 14px; flex-wrap: wrap; }
.event-info h4 { font-size: 20px; font-weight: 800; margin-bottom: 10px; line-height: 1.35; }
.event-info p { font-size: 14px; color: var(--text-secondary); line-height: 1.65; margin-bottom: 16px; }
.event-info .btn-sm { padding: 8px 18px; }

@media (max-width: 900px) {
  .events-grid { grid-template-columns: 1fr; }
  .event-card { grid-template-columns: 100px 1fr; }
  .event-date .day { font-size: 28px; }
}
@media (max-width: 480px) {
  .event-card { grid-template-columns: 1fr; }
  .event-date { flex-direction: row; gap: 10px; padding: 12px; }
  .event-date .day { font-size: 24px; }
  .event-date .month { margin-top: 0; }
}

/* ===== Stats ===== */
.stats-section {
  background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
  color: #fff; padding: 80px 0; position: relative; overflow: hidden;
}
.stats-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.stats-bg::after { content: ''; position: absolute; inset: 0; background: rgba(4,14,10,0.72); }
.stats-section .container { position: relative; z-index: 1; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; text-align: center; }
.stat-number { font-size: 48px; font-weight: 900; margin-bottom: 8px; }
.stat-label { font-size: 15px; opacity: 0.8; }

@media (max-width: 900px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .stats-grid { grid-template-columns: 1fr; }
}

/* ===== Partners ===== */
.partners-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.partner-item {
  background: #fff; border: 1px solid var(--border); border-radius: var(--radius);
  padding: 14px; box-shadow: var(--shadow); transition: var(--transition);
  display: flex; align-items: center; justify-content: center; min-height: 114px;
}
.partner-item:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: var(--primary-light); }
.partner-logo-box {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; width: 100%;
}
.partner-logo-box img { max-width: 144px; width: 100%; max-height: 90px; object-fit: contain; opacity: 0.95; transition: var(--transition); display: block; margin: 0 auto; }
.partner-item:hover .partner-logo-box img { opacity: 1; transform: scale(1.04); }
.partner-name { font-weight: 700; color: var(--text-secondary); font-size: 15px; text-align: center; display: block; }

@media (max-width: 1024px) {
  .partners-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .partners-grid { grid-template-columns: 1fr; }
}

/* ===== Modal overlay ===== */
.modal-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.55);
  display: flex; align-items: center; justify-content: center;
  z-index: 9999; padding: 20px; backdrop-filter: blur(4px);
}
.modal-box {
  background: #fff; border-radius: var(--radius); width: 100%; max-width: 520px;
  box-shadow: var(--shadow-xl); animation: modalIn .25s ease;
}
@keyframes modalIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.modal-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 24px; border-bottom: 1px solid var(--border);
}
.modal-head h3 { font-size: 18px; font-weight: 700; }
.modal-close {
  background: none; border: none; font-size: 24px; color: var(--text-muted); cursor: pointer;
}
.modal-body { padding: 24px; }

/* ===== Contact cards ===== */
.contact-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.contact-card { background: #fff; border-radius: var(--radius); padding: 28px; text-align: center; border: 1px solid var(--border); box-shadow: var(--shadow); transition: var(--transition); }
.contact-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.contact-card .icon { width: 64px; height: 64px; border-radius: 50%; background: rgba(27,122,62,0.08); color: var(--primary); display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; font-size: 26px; }
.contact-card h4 { font-size: 18px; margin-bottom: 8px; }
.contact-card p { font-size: 14px; color: var(--text-secondary); }
.contact-card img { width: 120px; height: 120px; margin: 0 auto 12px; border-radius: var(--radius-sm); object-fit: cover; }
.contact-card .qr-hint { font-size: 14px; color: var(--text-secondary); margin: 0; }
.contact-card .qr-error { display: none; font-size: 13px; color: #c0392b; margin: 8px 0 0; }

@media (max-width: 1024px) {
  .contact-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .contact-grid { grid-template-columns: 1fr; }
}

/* ===== Mobile H5 compact layout ===== */
@media (max-width: 768px) {
  .hero { min-height: auto; padding-top: var(--header-height); }
  .hero-inner { padding: 36px 0 44px; gap: 28px; }
  .hero-kicker { font-size: 12px; padding: 6px 14px; margin-bottom: 16px; }
  .hero-title { font-size: 28px; margin-bottom: 16px; }
  .hero-subtitle { font-size: 15px; margin-bottom: 24px; }
  .hero-actions { gap: 12px; }
  .hero-actions .btn { flex: 1; min-width: 140px; }
  .hero-stats { grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 32px; padding-top: 20px; }
  .hero-stat strong { font-size: 24px; }
  .hero-stat span { font-size: 12px; }
  .hero-dots { bottom: 18px; }

  .courses-grid, .news-grid, .events-grid, .partners-grid { gap: 16px; }
  .course-card { padding: 22px 18px; }
  .course-card h3 { font-size: 18px; }
  .course-card > p { font-size: 14px; margin-bottom: 14px; }
  .course-list li { font-size: 13px; margin-bottom: 8px; }
  .course-actions { margin-top: 18px; padding-top: 14px; }

  .diagnosis-showcase { padding: 28px 18px; gap: 24px; border-radius: var(--radius); }
  .diagnosis-body h2 { font-size: 22px; margin-bottom: 12px; }
  .diagnosis-body > p { font-size: 14px; margin-bottom: 18px; }
  .diagnosis-features li { font-size: 14px; margin-bottom: 10px; gap: 10px; }
  .diagnosis-visual { min-height: 260px; }
  .diagnosis-phone { transform: scale(0.72); }

  .split { gap: 24px; }
  .split-img { min-height: 200px; border-radius: var(--radius); }
  .split-body h2 { font-size: 22px; margin-bottom: 12px; }
  .split-body p { font-size: 14px; margin-bottom: 12px; }
  .split-list li { font-size: 14px; margin-bottom: 10px; }

  .stats-section { padding: 36px 0; }
  .stat-number { font-size: 32px; }
  .stat-label { font-size: 13px; }

  .news-body { padding: 16px; }
  .news-title { font-size: 15px; }
  .news-summary { font-size: 13px; }

  .event-card { border-radius: var(--radius); }
  .event-info { padding: 18px; }
  .event-info h4 { font-size: 16px; }
  .event-info p { font-size: 13px; margin-bottom: 12px; }

  .partner-item { min-height: 86px; border-radius: var(--radius); }
  .partner-logo-box img { max-width: 110px; max-height: 66px; }

  .contact-card { padding: 20px 16px; }
  .contact-card .icon { width: 52px; height: 52px; font-size: 22px; margin-bottom: 12px; }
  .contact-card h4 { font-size: 16px; }
  .contact-card img { width: 96px; height: 96px; }
}

@media (max-width: 375px) {
  .hero-title { font-size: 24px; }
  .hero-subtitle { font-size: 14px; }
  .hero-actions .btn { min-width: 120px; padding: 10px 16px; font-size: 14px; }
  .hero-stats { gap: 10px; }
  .hero-stat strong { font-size: 20px; }
  .diagnosis-phone { transform: scale(0.62); }
  .course-card { padding: 18px 15px; }
}
