/* ============================================================
   seo-master.css  —  v8
   VLINK ASIA · Khóa học SEO Master™
   Light hero · contrast-fixed dark sections · FAQ normal case
   Navy #0A1628 · Teal #3CA6AD · max-w 1300px
   ============================================================ */

:root {
  --sm-navy:        #0A1628;
  --sm-navy-2:      #0f1f3a;
  --sm-navy-3:      #162947;

  /* Accent system */
  --sm-teal:        #3CA6AD;
  --sm-teal-bright: #8EEAF0;
  --sm-teal-dark:   #002d5e;
  --sm-teal-dim:    rgba(0,45,94,0.08);
  --sm-teal-soft:   rgba(60,166,173,0.14);
  --sm-teal-glow:   rgba(142,234,240,0.28);

  /* Surface + text */
  --sm-white:       #ffffff;
  --sm-light:       #F6F9FC;
  --sm-light-2:     #EEF5FA;
  --sm-border:      rgba(10,22,40,0.08);
  --sm-border-mid:  rgba(10,22,40,0.14);
  --sm-text:        #0A1628;
  --sm-body:        #2D3F51;
  --sm-muted:       #5C6F7F;
  --sm-dim:         #8BA2B5;

  /* Text on dark backgrounds */
  --sm-text-darkbg:  #F7FBFF;
  --sm-body-darkbg:  rgba(255,255,255,0.78);
  --sm-muted-darkbg: rgba(255,255,255,0.62);
  --sm-dim-darkbg:   rgba(255,255,255,0.44);

  --sm-green:       #22c55e;
  --sm-amber:       #f59e0b;
  --sm-radius-sm:   6px;
  --sm-radius:      12px;
  --sm-radius-lg:   20px;
  --sm-font-head:   inherit;
  --sm-font-body:   inherit;
  --sm-gap:         96px;
  --sm-max-w:       1300px;
}

/* ── Reset ─────────────────────────────────────────────── */
.sm-page *, .sm-page *::before, .sm-page *::after { box-sizing:border-box; margin:0; padding:0; }
.sm-page { color:var(--sm-body); -webkit-font-smoothing:antialiased; }
.sm-page img { max-width:100%; display:block; }
.sm-page a { color:inherit; text-decoration:none; }

/* ── Container ─────────────────────────────────────────── */
.sm-container { max-width:var(--sm-max-w); margin:0 auto; padding:0 28px; }

/* ── Shared ────────────────────────────────────────────── */
.sm-badge {
  display:inline-flex; align-items:center; gap:6px;
  font-size:11px; font-weight:700; letter-spacing:.10em;
  text-transform:uppercase; border-radius:100px; padding:5px 14px;
}
.sm-badge--light { background:var(--sm-teal-dim); color:var(--sm-teal-dark); border:1px solid var(--sm-teal-glow); }
.sm-badge--dark  { background:rgba(60,166,173,.15); color:var(--sm-teal); border:1px solid rgba(60,166,173,.25); }
.sm-badge--navy  { background:var(--sm-navy); color:#fff; border:1px solid var(--sm-navy-2); }

.sm-section-label {
  font-size:11px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--sm-teal-dark); margin-bottom:12px;
}
.sm-section-label--dark { color:var(--sm-teal-bright); }

.sm-section-title {
  font-size:clamp(26px,3.2vw,40px); font-weight:800;
  color:var(--sm-navy); line-height:1.2; margin-bottom:18px;
}
.sm-section-title--white { color:var(--sm-text-darkbg); }

.sm-section-sub { font-size:17px; line-height:1.75; color:var(--sm-muted); max-width:680px; }
.sm-section-sub--white { color:var(--sm-body-darkbg); }

.sm-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-size:15px; font-weight:700; border-radius:var(--sm-radius);
  padding:14px 28px; cursor:pointer; transition:all .2s; border:none; text-decoration:none;
}
.sm-btn--primary { background:var(--sm-teal-dark); color:#fff; }
.sm-btn--primary:hover { background:var(--sm-navy); color:#fff; transform:translateY(-1px); }
.sm-btn--ghost { background:transparent; color:var(--sm-navy); border:2px solid var(--sm-border-mid); }
.sm-btn--ghost:hover { border-color:var(--sm-teal); color:var(--sm-teal-dark); }
.sm-btn--ghost-light { background:transparent; color:#fff; border:2px solid rgba(255,255,255,.35); }
.sm-btn--ghost-light:hover { border-color:var(--sm-teal-bright); color:var(--sm-teal-bright); }
.sm-btn--ghost-navy { background:transparent; color:var(--sm-navy); border:2px solid var(--sm-navy); }
.sm-btn--ghost-navy:hover { background:var(--sm-navy); color:#fff; }
.sm-btn--cta-large {
  background:var(--sm-teal-dark); color:#fff;
  font-size:17px; padding:18px 40px; border-radius:var(--sm-radius-lg);
  box-shadow:0 8px 28px rgba(60,166,173,.30);
}
.sm-btn--cta-large:hover { transform:translateY(-2px); box-shadow:0 12px 36px rgba(60,166,173,.40); }


/* ── Dark background contrast guards ───────────────────── */
.sm-roadmap .sm-section-label,
.sm-pricing .sm-section-label,
.sm-mid-cta .sm-section-label,
.sm-final-cta .sm-section-label,
.sm-proof-band .sm-section-label {
  color:var(--sm-teal-bright);
}

.sm-roadmap .sm-section-title,
.sm-pricing .sm-section-title,
.sm-mid-cta .sm-section-title,
.sm-final-cta .sm-section-title,
.sm-proof-band .sm-section-title {
  color:var(--sm-text-darkbg);
}

.sm-roadmap .sm-section-sub,
.sm-pricing .sm-section-sub,
.sm-mid-cta .sm-section-sub,
.sm-final-cta .sm-section-sub,
.sm-proof-band .sm-section-sub {
  color:var(--sm-body-darkbg);
}

.sm-roadmap .sm-btn--primary,
.sm-pricing .sm-btn--primary,
.sm-mid-cta .sm-btn--primary,
.sm-final-cta .sm-btn--primary,
.sm-proof-band .sm-btn--primary,
.sm-roadmap .sm-btn--cta-large,
.sm-pricing .sm-btn--cta-large,
.sm-mid-cta .sm-btn--cta-large,
.sm-final-cta .sm-btn--cta-large,
.sm-proof-band .sm-btn--cta-large {
  background:var(--sm-teal-bright);
  color:var(--sm-navy);
  box-shadow:0 10px 30px rgba(142,234,240,.20);
}

.sm-roadmap .sm-btn--primary:hover,
.sm-pricing .sm-btn--primary:hover,
.sm-mid-cta .sm-btn--primary:hover,
.sm-final-cta .sm-btn--primary:hover,
.sm-proof-band .sm-btn--primary:hover,
.sm-roadmap .sm-btn--cta-large:hover,
.sm-pricing .sm-btn--cta-large:hover,
.sm-mid-cta .sm-btn--cta-large:hover,
.sm-final-cta .sm-btn--cta-large:hover,
.sm-proof-band .sm-btn--cta-large:hover {
  background:#ffffff;
  color:var(--sm-navy);
}

.sm-roadmap .sm-btn--ghost,
.sm-pricing .sm-btn--ghost,
.sm-mid-cta .sm-btn--ghost,
.sm-final-cta .sm-btn--ghost,
.sm-proof-band .sm-btn--ghost,
.sm-roadmap .sm-btn--ghost-navy,
.sm-pricing .sm-btn--ghost-navy,
.sm-mid-cta .sm-btn--ghost-navy,
.sm-final-cta .sm-btn--ghost-navy,
.sm-proof-band .sm-btn--ghost-navy {
  color:var(--sm-text-darkbg);
  border-color:rgba(255,255,255,.34);
}

.sm-roadmap .sm-btn--ghost:hover,
.sm-pricing .sm-btn--ghost:hover,
.sm-mid-cta .sm-btn--ghost:hover,
.sm-final-cta .sm-btn--ghost:hover,
.sm-proof-band .sm-btn--ghost:hover,
.sm-roadmap .sm-btn--ghost-navy:hover,
.sm-pricing .sm-btn--ghost-navy:hover,
.sm-mid-cta .sm-btn--ghost-navy:hover,
.sm-final-cta .sm-btn--ghost-navy:hover,
.sm-proof-band .sm-btn--ghost-navy:hover {
  background:rgba(255,255,255,.10);
  color:var(--sm-teal-bright);
  border-color:var(--sm-teal-bright);
}

/* ════════════════════════════════════════════
   HERO — LIGHT
════════════════════════════════════════════ */
.sm-hero {
  background:#fff;
  position:relative;
  padding:88px 0 0;
  overflow:hidden;
  border-bottom:1px solid var(--sm-border);
}
.sm-hero::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle, rgba(10,22,40,.07) 1px, transparent 1px);
  background-size:28px 28px; pointer-events:none;
}
.sm-hero::after {
  content:''; position:absolute;
  top:-120px; right:-80px;
  width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle, rgba(60,166,173,.10) 0%, transparent 70%);
  pointer-events:none;
}
.sm-hero__inner {
  position:relative;
  display:grid; grid-template-columns:1fr 400px;
  gap:56px; align-items:flex-start;
}
.sm-hero__badge-row { display:flex; align-items:center; gap:8px; margin-bottom:24px; flex-wrap:wrap; }
.sm-hero__title {
  font-size:clamp(36px,5vw,64px); font-weight:800;
  color:var(--sm-navy); line-height:1.08;
  letter-spacing:-.025em; margin-bottom:10px;
}
.sm-hero__title em { font-style:normal; color:var(--sm-teal-dark); }
.sm-hero__axis {
  font-size:clamp(14px,1.6vw,18px); font-weight:700;
  color:var(--sm-teal-dark); letter-spacing:.01em;
  margin-bottom:24px; line-height:1.5;
}
.sm-hero__subtitle { font-size:17px; line-height:1.75; color:var(--sm-body); max-width:560px; margin-bottom:28px; }
.sm-hero__checklist { display:flex; flex-direction:column; gap:12px; margin-bottom:32px; }
.sm-hero__check-item { display:flex; gap:12px; align-items:flex-start; font-size:16px; color:var(--sm-body); line-height:1.6; }
.sm-hero__check-num {
  flex-shrink:0; width:26px; height:26px; border-radius:50%;
  background:var(--sm-navy); color:var(--sm-teal);
  font-size:11px; font-weight:800;
  display:flex; align-items:center; justify-content:center; margin-top:2px;
}
.sm-hero__tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px; }
.sm-hero__tag {
  font-size:13px; font-weight:600; color:var(--sm-navy);
  background:var(--sm-light); border:1px solid var(--sm-border);
  border-radius:100px; padding:5px 14px;
}
.sm-hero__cta { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.sm-hero__stats-strip {
  margin-top:56px; background:var(--sm-navy);
  border-radius:var(--sm-radius-lg) var(--sm-radius-lg) 0 0;
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; overflow:hidden;
}
.sm-hero__stat { padding:22px 24px; background:var(--sm-navy); text-align:center; position:relative; }
.sm-hero__stat+.sm-hero__stat::before {
  content:''; position:absolute; left:0; top:20%; bottom:20%;
  width:1px; background:rgba(255,255,255,.10);
}
.sm-hero__stat-num { font-size:32px; font-weight:800; color:var(--sm-teal); line-height:1; }
.sm-hero__stat-label { font-size:13px; color:rgba(255,255,255,.55); margin-top:5px; }
.sm-hero__card {
  background:var(--sm-light); border:1px solid var(--sm-border);
  border-radius:var(--sm-radius-lg); padding:28px; margin-top:8px;
}
.sm-hero__card-title { font-size:15px; font-weight:700; color:var(--sm-navy); margin-bottom:18px; }
.sm-hero__card-list { list-style:none; display:flex; flex-direction:column; gap:10px; }
.sm-hero__card-list li { font-size:15px; color:var(--sm-body); display:flex; gap:10px; align-items:flex-start; line-height:1.5; }
.sm-hero__card-list li::before { content:'✓'; color:var(--sm-teal-dark); font-weight:800; flex-shrink:0; margin-top:1px; }
.sm-hero__card-note { margin-top:20px; padding-top:18px; border-top:1px solid var(--sm-border); font-size:13px; color:var(--sm-muted); line-height:1.5; }
.sm-hero__card-price { font-size:21px; font-weight:800; color:var(--sm-navy); margin-bottom:3px; }
.sm-hero__card-price span { font-size:14px; font-weight:400; color:var(--sm-muted); }

/* ════════════════════════════════════════════
   PROOF BAND
════════════════════════════════════════════ */
.sm-proof-band { background:var(--sm-navy); padding:0; }
.sm-proof-band__inner { display:grid; grid-template-columns:repeat(3,1fr); }
.sm-proof-band__item {
  padding:40px 36px; text-align:center;
  border-right:1px solid rgba(255,255,255,.10);
  display:flex; flex-direction:column; align-items:center; gap:10px;
}
.sm-proof-band__item:last-child { border-right:none; }
.sm-proof-band__num { font-size:clamp(22px,2.6vw,34px); font-weight:800; color:var(--sm-teal-bright); line-height:1; }
.sm-proof-band__text { font-size:14px; color:rgba(255,255,255,.55); line-height:1.5; text-align:center; }
.sm-proof-band__tagline {
  grid-column:1/-1; border-top:1px solid rgba(255,255,255,.08);
  padding:24px 36px; text-align:center;
  font-size:16px; font-weight:600; color:rgba(255,255,255,.70); line-height:1.6;
}
.sm-proof-band__tagline em { font-style:normal; color:var(--sm-teal-bright); }
.sm-proof-band__divider { display:none; }

/* ════════════════════════════════════════════
   FOR WHO
════════════════════════════════════════════ */
.sm-for-who { padding:var(--sm-gap) 0; background:var(--sm-white); }
.sm-for-who__header { text-align:center; margin-bottom:52px; }
.sm-for-who__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.sm-persona-card { border:1px solid var(--sm-border); border-radius:var(--sm-radius-lg); padding:32px 28px; background:var(--sm-white); transition:box-shadow .2s,transform .2s; }
.sm-persona-card:hover { box-shadow:0 12px 48px rgba(10,22,40,.08); transform:translateY(-3px); }
.sm-persona-card__icon { font-size:28px; margin-bottom:16px; }
.sm-persona-card__title { font-size:18px; font-weight:700; color:var(--sm-navy); margin-bottom:6px; }
.sm-persona-card__goal { font-size:14px; font-weight:600; color:var(--sm-teal-dark); margin-bottom:14px; }
.sm-persona-card__list { list-style:none; display:flex; flex-direction:column; gap:9px; }
.sm-persona-card__list li { font-size:15px; color:var(--sm-body); padding-left:18px; position:relative; line-height:1.55; }
.sm-persona-card__list li::before { content:'→'; position:absolute; left:0; color:var(--sm-teal-dark); font-size:13px; }
.sm-persona-card__fit { margin-top:18px; padding-top:16px; border-top:1px solid var(--sm-border); font-size:14px; color:var(--sm-muted); font-style:italic; }

/* ════════════════════════════════════════════
   VALUES
════════════════════════════════════════════ */
.sm-values { padding:var(--sm-gap) 0; background:var(--sm-light); }
.sm-values__header { text-align:center; margin-bottom:52px; }
.sm-values__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sm-value-card { background:var(--sm-white); border-radius:var(--sm-radius-lg); padding:28px 24px; border:1px solid var(--sm-border); }
.sm-value-card__num { font-size:11px; font-weight:700; letter-spacing:.1em; color:var(--sm-teal-dark); margin-bottom:12px; }
.sm-value-card__title { font-size:17px; font-weight:700; color:var(--sm-navy); margin-bottom:10px; }
.sm-value-card__text { font-size:15px; color:var(--sm-body); line-height:1.65; }

/* ════════════════════════════════════════════
   ROADMAP
════════════════════════════════════════════ */
.sm-roadmap { padding:var(--sm-gap) 0; background:var(--sm-navy); position:relative; overflow:hidden; }
.sm-roadmap::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 1000px 500px at 50% 0%, rgba(60,166,173,.06) 0%, transparent 60%); }
.sm-roadmap__header { text-align:center; margin-bottom:56px; position:relative; }
.sm-roadmap__phases { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.sm-phase { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.10); border-radius:var(--sm-radius-lg); padding:32px 28px; position:relative; }
.sm-phase--highlight { border-color:rgba(60,166,173,.35); background:rgba(60,166,173,.05); }
.sm-phase__num { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:var(--sm-teal-bright); color:var(--sm-navy); font-size:14px; font-weight:800; margin-bottom:16px; }
.sm-phase__label { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--sm-teal-bright); margin-bottom:8px; }
.sm-phase__title { font-size:20px; font-weight:800; color:#fff; margin-bottom:6px; }
.sm-phase__range { font-size:13px; color:rgba(255,255,255,.45); margin-bottom:22px; }
.sm-phase__sessions { display:flex; flex-direction:column; gap:8px; }
.sm-session-item { display:flex; align-items:flex-start; gap:10px; padding:9px 12px; background:rgba(255,255,255,.04); border-radius:var(--sm-radius-sm); border:1px solid rgba(255,255,255,.06); cursor:default; transition:background .15s; }
.sm-session-item:hover { background:rgba(60,166,173,.07); border-color:rgba(60,166,173,.20); }
.sm-session-item__num { font-size:11px; font-weight:700; color:var(--sm-teal-bright); min-width:32px; padding-top:1px; }
.sm-session-item__title { font-size:14px; font-weight:600; color:rgba(255,255,255,.85); line-height:1.3; }
.sm-session-item__sub { font-size:12px; color:rgba(255,255,255,.40); margin-top:2px; }
.sm-session-item--workshop .sm-session-item__num { color:var(--sm-amber); }
.sm-session-item--workshop { border-color:rgba(245,158,11,.12); }
.sm-roadmap__cta { text-align:center; margin-top:48px; position:relative; }

/* ════════════════════════════════════════════
   BUỔI HỌC THỰC TẾ
   2 cột · card ngang · all content visible
   Bo góc nhẹ · khoảng cách rõ
════════════════════════════════════════════ */
.sm-sessions-gallery { padding:var(--sm-gap) 0; background:var(--sm-light); }
.sm-sessions-gallery__header { text-align:center; margin-bottom:52px; }
.sm-sessions-gallery__header .sm-section-label { color:var(--sm-teal-dark); }
.sm-sessions-gallery__header .sm-section-title { color:var(--sm-navy); }
.sm-sessions-gallery__header .sm-section-sub { color:var(--sm-muted); margin:0 auto; }

.sm-sessions-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.sm-sc {
  display:flex;
  align-items:stretch;
  background:var(--sm-white);
  border:1px solid var(--sm-border);
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(10,22,40,.04);
  transition:background .2s, border-color .2s, box-shadow .2s, transform .2s;
}
.sm-sc:hover {
  background:var(--sm-white);
  border-color:rgba(0,45,94,.24);
  box-shadow:0 14px 42px rgba(10,22,40,.08);
  transform:translateY(-2px);
}

.sm-sc__img {
  flex-shrink:0;
  width:210px;
  overflow:hidden;
}
.sm-sc__img img {
  width:100%; height:100%;
  object-fit:cover; display:block;
  transition:transform .4s;
}
.sm-sc:hover .sm-sc__img img { transform:scale(1.04); }

.sm-sc__body {
  flex:1;
  padding:20px 22px;
  display:flex; flex-direction:column;
  justify-content:center; gap:8px;
  border-left:1px solid var(--sm-border);
}

.sm-sc__meta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }

.sm-sc__num {
  font-size:11px; font-weight:700; letter-spacing:.10em;
  color:var(--sm-navy); background:var(--sm-teal);
  border-radius:100px; padding:3px 11px; white-space:nowrap;
}

.sm-sc__tag {
  font-size:11px; font-weight:600;
  color:var(--sm-muted);
  background:var(--sm-light);
  border:1px solid var(--sm-border);
  border-radius:100px; padding:3px 11px; white-space:nowrap;
}
.sm-sc__tag--geo { color:var(--sm-teal-dark); background:var(--sm-teal-dim); border-color:rgba(0,45,94,.16); }

.sm-sc__title { font-size:16px; font-weight:700; color:var(--sm-navy); line-height:1.35; margin:0; }

.sm-sc__summary { font-size:14px; color:var(--sm-body); line-height:1.65; margin:0; }

.sm-sc--geo { border-color:rgba(0,45,94,.18); }
.sm-sc--geo .sm-sc__body { border-left-color:rgba(0,45,94,.14); }

/* ════════════════════════════════════════════
   AI SECTION
════════════════════════════════════════════ */
.sm-ai { padding:var(--sm-gap) 0; background:var(--sm-light); }
.sm-ai__inner { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.sm-ai__blocks { display:flex; flex-direction:column; gap:16px; }
.sm-ai__block { background:var(--sm-white); border:1px solid var(--sm-border); border-left:4px solid var(--sm-teal); border-radius:0 var(--sm-radius) var(--sm-radius) 0; padding:18px 20px; }
.sm-ai__block-title { font-size:16px; font-weight:700; color:var(--sm-navy); margin-bottom:6px; }
.sm-ai__block-text { font-size:15px; color:var(--sm-body); line-height:1.6; }
.sm-ai__callout { background:var(--sm-navy); border-radius:var(--sm-radius-lg); padding:36px; color:#fff; }
.sm-ai__callout-label { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--sm-teal-bright); margin-bottom:16px; }
.sm-ai__callout-title { font-size:22px; font-weight:800; color:#fff; line-height:1.3; margin-bottom:18px; }
.sm-ai__callout-list { list-style:none; display:flex; flex-direction:column; gap:10px; }
.sm-ai__callout-list li { font-size:15px; color:rgba(255,255,255,.75); padding-left:22px; position:relative; }
.sm-ai__callout-list li::before { content:'→'; position:absolute; left:0; color:var(--sm-teal-bright); font-weight:700; }

/* ════════════════════════════════════════════
   MODULES
════════════════════════════════════════════ */
.sm-modules { padding:var(--sm-gap) 0; background:var(--sm-white); }
.sm-modules__header { text-align:center; margin-bottom:52px; }
.sm-modules__phases { display:flex; flex-direction:column; gap:40px; }
.sm-modules__phase-label { font-size:11px; font-weight:700; letter-spacing:.10em; text-transform:uppercase; color:var(--sm-teal-dark); padding:6px 16px; background:var(--sm-teal-dim); border:1px solid rgba(60,166,173,.22); border-radius:100px; display:inline-block; margin-bottom:20px; }
.sm-modules__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.sm-module-card { background:var(--sm-light); border-radius:var(--sm-radius); padding:20px 18px; border:1px solid var(--sm-border); }
.sm-module-card__code { font-size:11px; font-weight:700; color:var(--sm-teal-dark); margin-bottom:8px; }
.sm-module-card__title { font-size:15px; font-weight:700; color:var(--sm-navy); margin-bottom:8px; }
.sm-module-card__text { font-size:13px; color:var(--sm-body); line-height:1.6; }

/* ════════════════════════════════════════════
   RESULTS
════════════════════════════════════════════ */
.sm-results { padding:var(--sm-gap) 0; background:var(--sm-light); }
.sm-results__header { text-align:center; margin-bottom:52px; }
.sm-results__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:48px; }
.sm-result-card { background:var(--sm-white); border-radius:var(--sm-radius-lg); padding:24px 20px; border:1px solid var(--sm-border); text-align:center; }
.sm-result-card__icon { font-size:28px; margin-bottom:12px; }
.sm-result-card__title { font-size:16px; font-weight:700; color:var(--sm-navy); margin-bottom:8px; }
.sm-result-card__text { font-size:14px; color:var(--sm-body); line-height:1.6; }
.sm-testimonial { background:var(--sm-navy); border-radius:var(--sm-radius-lg); padding:40px; display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; }
.sm-testimonial__quote { font-size:18px; font-style:italic; color:rgba(255,255,255,.85); line-height:1.7; }
.sm-testimonial__quote::before { content:'\201C'; color:var(--sm-teal-bright); font-size:40px; font-style:normal; display:block; line-height:.8; margin-bottom:10px; }
.sm-testimonial__author { text-align:right; }
.sm-testimonial__author-name { font-size:16px; font-weight:700; color:#fff; }
.sm-testimonial__author-role { font-size:14px; color:rgba(255,255,255,.5); margin-top:4px; }
.sm-results__stat-row { display:flex; justify-content:center; margin-bottom:40px; }
.sm-results__stat-big { text-align:center; background:var(--sm-white); border:1px solid var(--sm-border); border-radius:var(--sm-radius-lg); padding:36px 48px; max-width:600px; }
.sm-results__stat-num { font-size:52px; font-weight:800; color:var(--sm-teal-dark); line-height:1; margin-bottom:12px; }
.sm-results__stat-label { font-size:16px; color:var(--sm-body); line-height:1.65; }
.sm-results__stat-note { font-size:13px; color:var(--sm-muted); font-style:italic; margin-top:8px; }
.sm-results__case { background:var(--sm-white); border:1px solid var(--sm-border); border-radius:var(--sm-radius-lg); padding:28px 32px; }
.sm-results__case-tag { font-size:14px; font-weight:700; color:var(--sm-navy); margin-bottom:12px; }
.sm-results__mentor-note { background:var(--sm-teal-dim); border:1px solid rgba(60,166,173,.2); border-radius:var(--sm-radius); padding:16px 20px; font-size:15px; color:var(--sm-navy); margin-top:16px; line-height:1.65; }

/* ════════════════════════════════════════════
   PRICING
════════════════════════════════════════════ */
.sm-pricing { padding:var(--sm-gap) 0; background:var(--sm-navy); position:relative; overflow:hidden; }
.sm-pricing::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 800px 600px at 100% 50%, rgba(60,166,173,.06) 0%, transparent 60%); }
.sm-pricing__header { text-align:center; margin-bottom:52px; position:relative; }
.sm-pricing__card { max-width:720px; margin:0 auto; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-top:3px solid var(--sm-teal); border-radius:var(--sm-radius-lg); padding:44px 48px; position:relative; }
.sm-pricing__popular { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--sm-teal-bright); color:var(--sm-navy); font-size:11px; font-weight:700; letter-spacing:.08em; padding:5px 18px; border-radius:100px; }
.sm-pricing__title { font-size:20px; font-weight:700; color:#fff; margin-bottom:8px; }
.sm-pricing__price { font-size:44px; font-weight:800; color:#fff; line-height:1; margin-bottom:6px; }
.sm-pricing__price span { font-size:20px; font-weight:400; color:rgba(255,255,255,.5); }
.sm-pricing__meta { font-size:15px; color:var(--sm-teal-bright); margin-bottom:28px; }
.sm-pricing__features { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:32px; }
.sm-pricing__feat { display:flex; align-items:flex-start; gap:8px; font-size:15px; color:rgba(255,255,255,.75); }
.sm-pricing__feat::before { content:'✓'; color:var(--sm-green); font-weight:700; flex-shrink:0; }
.sm-pricing__timeline { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.08); border-radius:var(--sm-radius); overflow:hidden; margin-bottom:32px; }
.sm-pricing__month { background:rgba(255,255,255,.03); padding:16px 14px; text-align:center; }
.sm-pricing__month-num { font-size:11px; font-weight:700; letter-spacing:.08em; color:var(--sm-teal-bright); text-transform:uppercase; margin-bottom:5px; }
.sm-pricing__month-title { font-size:14px; font-weight:600; color:rgba(255,255,255,.85); }
.sm-pricing__month-sub { font-size:12px; color:rgba(255,255,255,.4); margin-top:3px; }
.sm-pricing__cta { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.sm-pricing__note { text-align:center; font-size:13px; color:rgba(255,255,255,.35); margin-top:20px; }

/* ════════════════════════════════════════════
   WHY CHOOSE
════════════════════════════════════════════ */
.sm-why-choose { padding:var(--sm-gap) 0; background:var(--sm-light); }
.sm-why-choose__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.sm-why-card { background:var(--sm-white); border:1px solid var(--sm-border); border-radius:var(--sm-radius-lg); padding:28px; }
.sm-why-card__icon { font-size:28px; margin-bottom:12px; }
.sm-why-card__title { font-size:17px; font-weight:700; color:var(--sm-navy); margin-bottom:10px; }
.sm-why-card__text { font-size:16px; color:var(--sm-body); line-height:1.65; }

/* ════════════════════════════════════════════
   INHOUSE
════════════════════════════════════════════ */
.sm-inhouse { padding:var(--sm-gap) 0; background:var(--sm-white); }
.sm-inhouse__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sm-inhouse-card { background:var(--sm-light); border:1px solid var(--sm-border); border-radius:var(--sm-radius-lg); padding:24px; }
.sm-inhouse-card--price { background:var(--sm-navy); color:#fff; display:flex; flex-direction:column; }
.sm-inhouse-card__icon { font-size:24px; margin-bottom:12px; }
.sm-inhouse-card__title { font-size:16px; font-weight:700; color:var(--sm-navy); margin-bottom:8px; }
.sm-inhouse-card--price .sm-inhouse-card__title { color:var(--sm-teal-bright); }
.sm-inhouse-card__text { font-size:15px; color:var(--sm-body); line-height:1.65; }
.sm-inhouse-card--price .sm-inhouse-card__text { color:rgba(255,255,255,.65); }
.sm-inhouse-card__price-label { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--sm-teal-bright); margin-bottom:10px; }
.sm-inhouse-card__price { font-size:32px; font-weight:800; color:#fff; line-height:1.2; margin-bottom:8px; }
.sm-inhouse-card__price span { font-size:16px; font-weight:400; color:rgba(255,255,255,.6); }
.sm-inhouse-card__price-note { font-size:14px; color:rgba(255,255,255,.55); line-height:1.5; }

/* ════════════════════════════════════════════
   COMPARE
════════════════════════════════════════════ */
.sm-compare { padding:var(--sm-gap) 0; background:var(--sm-light); }
.sm-compare__table-wrap { overflow-x:auto; border-radius:var(--sm-radius-lg); border:1px solid var(--sm-border); }
.sm-compare__table { width:100%; border-collapse:collapse; background:var(--sm-white); }
.sm-compare__table th { font-size:14px; font-weight:700; color:var(--sm-navy); padding:16px 18px; background:var(--sm-light); border-bottom:2px solid var(--sm-border); text-align:left; }
.sm-compare__table td { font-size:15px; color:var(--sm-body); padding:14px 18px; border-bottom:1px solid var(--sm-border); vertical-align:top; line-height:1.55; }
.sm-compare__table tr:last-child td { border-bottom:none; }
.sm-compare__highlight { background:rgba(60,166,173,.06) !important; }
.sm-compare__table th.sm-compare__highlight { background:var(--sm-teal-dim) !important; color:var(--sm-teal-dark) !important; }

/* ════════════════════════════════════════════
   OUTCOMES
════════════════════════════════════════════ */
.sm-outcomes { padding:var(--sm-gap) 0; background:var(--sm-white); }
.sm-outcomes__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.sm-outcome-card { background:var(--sm-light); border:1px solid var(--sm-border); border-radius:var(--sm-radius-lg); padding:22px 18px; }
.sm-outcome-card__icon { font-size:24px; margin-bottom:10px; }
.sm-outcome-card__title { font-size:15px; font-weight:700; color:var(--sm-navy); margin-bottom:8px; }
.sm-outcome-card__text { font-size:14px; color:var(--sm-body); line-height:1.6; }

/* ════════════════════════════════════════════
   PHASES NARRATIVE
════════════════════════════════════════════ */
.sm-phases-narrative { padding:var(--sm-gap) 0; background:var(--sm-light); }
.sm-phases-narrative__grid { display:flex; flex-direction:column; gap:24px; }
.sm-phase-prose { background:var(--sm-white); border-radius:var(--sm-radius-lg); padding:32px; border:1px solid var(--sm-border); }
.sm-phase-prose__header { display:flex; gap:20px; align-items:flex-start; margin-bottom:20px; }
.sm-phase-prose__num { flex-shrink:0; width:44px; height:44px; border-radius:50%; background:var(--sm-navy); color:var(--sm-teal); font-size:16px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.sm-phase-prose__tag { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--sm-teal-dark); margin-bottom:6px; }
.sm-phase-prose__title { font-size:19px; font-weight:800; color:var(--sm-navy); }
.sm-phase-prose__range { font-size:13px; color:var(--sm-muted); margin-top:3px; }
.sm-phase-prose__list { list-style:none; display:flex; flex-direction:column; gap:10px; margin-bottom:18px; }
.sm-phase-prose__list li { font-size:16px; color:var(--sm-body); padding-left:20px; position:relative; line-height:1.6; }
.sm-phase-prose__list li::before { content:'→'; position:absolute; left:0; color:var(--sm-teal-dark); font-weight:700; }
.sm-phase-prose__result { font-size:15px; color:var(--sm-navy); background:var(--sm-teal-dim); border:1px solid rgba(60,166,173,.2); border-radius:var(--sm-radius); padding:12px 16px; }

/* ════════════════════════════════════════════
   MID CTA
════════════════════════════════════════════ */
.sm-mid-cta { padding:72px 0; background:var(--sm-navy); }
.sm-mid-cta__inner { text-align:center; }
.sm-mid-cta__badge { display:inline-block; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; background:rgba(142,234,240,.12); color:var(--sm-teal-bright); border:1px solid rgba(142,234,240,.28); border-radius:100px; padding:5px 16px; margin-bottom:20px; }

/* ════════════════════════════════════════════
   ENTERPRISE
════════════════════════════════════════════ */
.sm-enterprise { padding:var(--sm-gap) 0; background:var(--sm-light); }
.sm-enterprise__tiers { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sm-tier { background:var(--sm-white); border:1px solid var(--sm-border); border-radius:var(--sm-radius-lg); padding:24px; }
.sm-tier--highlight { border-color:rgba(60,166,173,.4); background:rgba(60,166,173,.05); }
.sm-tier__level { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sm-teal-dark); margin-bottom:10px; }
.sm-tier__title { font-size:17px; font-weight:700; color:var(--sm-navy); margin-bottom:8px; }
.sm-tier__text { font-size:15px; color:var(--sm-body); line-height:1.65; }
.sm-enterprise__packages { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:36px; }
.sm-ent-pkg { background:var(--sm-white); border:1px solid var(--sm-border); border-radius:var(--sm-radius-lg); padding:28px; }
.sm-ent-pkg__tag { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--sm-teal-dark); background:var(--sm-teal-dim); border-radius:100px; padding:4px 12px; display:inline-block; margin-bottom:14px; }
.sm-ent-pkg__title { font-size:17px; font-weight:700; color:var(--sm-navy); margin-bottom:10px; }
.sm-ent-pkg__text { font-size:16px; color:var(--sm-body); line-height:1.65; }
.sm-enterprise__why { background:var(--sm-white); border:1px solid var(--sm-border); border-radius:var(--sm-radius-lg); padding:36px; }
.sm-enterprise__why-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:24px; }
.sm-enterprise__why-item { display:flex; gap:14px; font-size:16px; color:var(--sm-body); line-height:1.6; }
.sm-enterprise__why-num { flex-shrink:0; font-size:12px; font-weight:700; color:var(--sm-teal-dark); background:var(--sm-teal-dim); border-radius:50%; width:28px; height:28px; display:flex; align-items:center; justify-content:center; }
.sm-enterprise__commit { display:flex; flex-direction:column; gap:10px; background:var(--sm-light); border-radius:var(--sm-radius); padding:20px; }
.sm-enterprise__commit-item { font-size:16px; color:var(--sm-navy); line-height:1.55; }

/* ════════════════════════════════════════════
   MENTOR SECTION
════════════════════════════════════════════ */
.sm-mentor-section { padding:var(--sm-gap) 0; background:var(--sm-white); }
.sm-mentor-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.sm-mentor-fit-list { display:flex; flex-direction:column; gap:16px; }
.sm-mentor-fit { font-size:16px; color:var(--sm-body); line-height:1.65; padding:16px; background:var(--sm-light); border-radius:var(--sm-radius); border-left:3px solid var(--sm-teal); }
.sm-mentor-compare { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--sm-border); border-radius:var(--sm-radius-lg); overflow:hidden; }
.sm-mentor-compare__header { font-size:13px; font-weight:700; padding:14px 16px; text-align:center; }
.sm-mentor-compare__col--bad .sm-mentor-compare__header { background:var(--sm-light); color:var(--sm-muted); }
.sm-mentor-compare__col--good .sm-mentor-compare__header { background:var(--sm-navy); color:var(--sm-teal-bright); }
.sm-mentor-compare__col ul { list-style:none; padding:16px; display:flex; flex-direction:column; gap:10px; }
.sm-mentor-compare__col--bad ul { background:var(--sm-light); }
.sm-mentor-compare__col--good ul { background:rgba(10,22,40,.03); }
.sm-mentor-compare__col li { font-size:14px; line-height:1.5; }
.sm-mentor-compare__col--bad li { color:var(--sm-muted); }
.sm-mentor-compare__col--good li { color:var(--sm-navy); font-weight:500; }

/* ════════════════════════════════════════════
   FAQ
════════════════════════════════════════════ */
.sm-faq { padding:var(--sm-gap) 0; background:var(--sm-white); }
.sm-faq__header { text-align:center; margin-bottom:52px; }
.sm-faq__list { max-width:800px; margin:0 auto; display:flex; flex-direction:column; gap:10px; }
.sm-faq__item { border:1px solid var(--sm-border); border-radius:var(--sm-radius); overflow:hidden; }
.sm-faq__q { width:100%; background:none; border:none; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; font-size:16px; font-weight:700; color:var(--sm-navy); text-align:left; }
.sm-faq__icon { width:24px; height:24px; border-radius:50%; background:var(--sm-light); display:flex; align-items:center; justify-content:center; font-size:16px; color:var(--sm-teal-dark); flex-shrink:0; transition:transform .2s,background .2s; }
.sm-faq__item.open .sm-faq__icon { transform:rotate(45deg); background:var(--sm-teal-dim); }
.sm-faq__a { display:none; padding:0 24px 20px; font-size:16px; color:var(--sm-body); line-height:1.7; }
.sm-faq__item.open .sm-faq__a { display:block; }
.sm-faq__group-label { font-size:13px; font-weight:700; color:var(--sm-teal-dark); text-transform:none; letter-spacing:0; padding:10px 0 6px; border-bottom:1px solid var(--sm-border); margin-bottom:2px; }

/* ════════════════════════════════════════════
   FINAL CTA
════════════════════════════════════════════ */
.sm-final-cta { padding:var(--sm-gap) 0; background:var(--sm-navy); position:relative; overflow:hidden; text-align:center; }
.sm-final-cta::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse 900px 400px at 50% 0%, rgba(60,166,173,.10) 0%, transparent 60%), radial-gradient(ellipse 500px 500px at 0% 100%, rgba(60,166,173,.05) 0%, transparent 50%); }
.sm-final-cta__inner { position:relative; max-width:680px; margin:0 auto; }
.sm-final-cta__title { font-size:clamp(28px,4vw,44px); font-weight:800; color:#fff; line-height:1.2; margin-bottom:18px; }
.sm-final-cta__title em { font-style:normal; color:var(--sm-teal-bright); }
.sm-final-cta__sub { font-size:17px; color:rgba(255,255,255,.65); line-height:1.7; margin-bottom:40px; }
.sm-final-cta__actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.sm-final-cta__trust { margin-top:28px; display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.sm-final-cta__trust span { font-size:13px; color:rgba(255,255,255,.40); display:flex; align-items:center; gap:5px; }
.sm-final-cta__trust span::before { content:'✓'; color:var(--sm-green); }
.sm-sep { color:rgba(255,255,255,.18); }


/* ════════════════════════════════════════════
   UTILITIES + FAQ NORMAL CASE
════════════════════════════════════════════ */
.sm-values__cta { text-align:center; margin-top:40px; }
.sm-values__cta-title { font-size:18px; font-weight:700; color:var(--sm-navy); margin-bottom:14px; }
.sm-values__cta-sub { font-size:16px; color:var(--sm-body); margin-bottom:20px; }

.sm-section-sub--narrow { max-width:640px; }
.sm-text--teal { color:var(--sm-teal); }

/* Chỉ bỏ in hoa trong FAQ; các badge/label khác vẫn giữ phong cách hệ thống. */
.sm-faq .sm-section-label,
.sm-faq__group-label {
  text-transform:none;
  letter-spacing:0;
}

/* ════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════ */
@media (max-width:1100px) {
  .sm-hero__inner { grid-template-columns:1fr; }
  .sm-hero__card { display:none; }
  .sm-hero__stats-strip { border-radius:0; }
  .sm-roadmap__phases { grid-template-columns:1fr; }
  .sm-modules__grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:960px) {
  .sm-sessions-list { grid-template-columns:1fr; }
  .sm-sc__img { width:180px; }
}
@media (max-width:768px) {
  :root { --sm-gap:64px; }
  .sm-for-who__grid { grid-template-columns:1fr; }
  .sm-values__grid { grid-template-columns:1fr 1fr; }
  .sm-ai__inner { grid-template-columns:1fr; }
  .sm-results__grid { grid-template-columns:repeat(2,1fr); }
  .sm-testimonial { grid-template-columns:1fr; }
  .sm-testimonial__author { text-align:left; }
  .sm-pricing__features { grid-template-columns:1fr; }
  .sm-pricing__card { padding:32px 24px; }
  .sm-why-choose__grid { grid-template-columns:1fr; }
  .sm-inhouse__grid { grid-template-columns:1fr; }
  .sm-enterprise__packages { grid-template-columns:1fr; }
  .sm-enterprise__why-grid { grid-template-columns:1fr; }
  .sm-mentor-grid { grid-template-columns:1fr; }
  .sm-mentor-compare { grid-template-columns:1fr; }
  .sm-phase-prose__header { flex-direction:column; gap:12px; }
  .sm-proof-band__inner { grid-template-columns:1fr; }
  .sm-proof-band__item { border-right:none; border-bottom:1px solid rgba(255,255,255,.08); }
  .sm-proof-band__item:last-child { border-bottom:none; }
}
@media (max-width:600px) {
  .sm-sc { flex-direction:column; }
  .sm-sc__img { width:100%; height:200px; }
  .sm-sc__body { border-left:none; border-top:1px solid var(--sm-border); }
}
@media (max-width:480px) {
  .sm-values__grid { grid-template-columns:1fr; }
  .sm-results__grid { grid-template-columns:1fr; }
  .sm-outcomes__grid { grid-template-columns:repeat(2,1fr); }
  .sm-enterprise__tiers { grid-template-columns:1fr; }
}
/* ============================================================ */
/* STYLING FOR FAQ                                              */
/* ============================================================ */

.sm-faq {
  padding: var(--sm-gap) 0;
  background: var(--sm-white);
}

.sm-faq__header {
  text-align: center;
  margin-bottom: 52px;
}

.sm-faq .sm-section-label {
  text-transform: none;
  letter-spacing: 0;
}

.sm-faq__list {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.sm-faq__item {
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius);
  background: var(--sm-white);
  overflow: hidden;
}

.sm-faq__q {
  width: 100%;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  color: var(--sm-navy);
  line-height: 1.5;
  text-align: left;
  list-style: none;
}

.sm-faq__q::-webkit-details-marker {
  display: none;
}

.sm-faq__icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--sm-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  color: var(--sm-teal-dark);
  flex-shrink: 0;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}

.sm-faq__item[open] .sm-faq__icon {
  transform: rotate(45deg);
  background: var(--sm-teal-dim);
  color: var(--sm-teal-dark);
}

.sm-faq__a {
  padding: 0 24px 20px;
  font-size: 16px;
  color: var(--sm-body);
  line-height: 1.7;
}

.sm-faq__a strong {
  color: var(--sm-navy);
  font-weight: 700;
}

.sm-faq__link {
  color: var(--sm-teal-dark);
  font-weight: 600;
  text-decoration: none;
}

.sm-faq__link:hover {
  text-decoration: underline;
}

@media (max-width: 600px) {
  .sm-faq__q {
    padding: 18px 18px;
    font-size: 15px;
  }

  .sm-faq__a {
    padding: 0 18px 18px;
    font-size: 15px;
  }
}