/* Accueil uniquement. Réutilise les tokens validés sans modifier le shell des autres pages. */
.vm-home.vm-ds {
  --ink:var(--vm-navy); --primary:var(--vm-primary); --paper:var(--vm-surface);
  --mist:var(--vm-bg); --line:var(--vm-border); --text:var(--vm-text); --muted:var(--vm-text-muted);
  --font-body:var(--vm-font-ui); --font-heading:var(--vm-font-ui); --font-code:var(--vm-font-code);
  background:var(--vm-surface); color:var(--vm-text); font:400 15px/1.6 var(--vm-font-ui);
}
.vm-home.vm-ds :is(h1,h2,h3,h4,p,a,button,label,legend,.tag,.eyebrow,.method-number,.method-foot,.catalogue-count) { font-family:var(--vm-font-ui); }
.vm-home.vm-ds :is(code,pre,.mini-terminal,.mini-terminal input,.console-tests button,.demo-console pre) { font-family:var(--vm-font-code); }
.vm-home.vm-ds .container { width:min(1200px,calc(100% - 48px)); }
.vm-home.vm-ds .section { padding-block:72px; }
.vm-home.vm-ds .site-header { background:var(--vm-navy); border-bottom:2px solid var(--vm-primary); }
.vm-home.vm-ds .navbar { min-height:80px; gap:24px; padding-block:12px; }
.vm-home.vm-ds .brand { color:#fff; flex-shrink:0; }
.vm-home.vm-ds .brand strong { font-size:22px; line-height:28px; }
.vm-home.vm-ds .brand small { color:#cbd5e1; font:400 11px/16px var(--vm-font-ui); text-transform:none; letter-spacing:0; }
.vm-home.vm-ds .menu { gap:20px; }
.vm-home.vm-ds .menu a { color:#fff; font-size:14px; }
.vm-home.vm-ds .menu a[href*='/acces/'] { border:1px solid #94a3b8; border-radius:6px; padding:8px 16px; background:transparent; color:#fff; }
.vm-home.vm-ds .nav-tag { background:#e0f2fe; color:#075985; border-radius:4px; font:400 11px/18px var(--vm-font-ui); }
.vm-home.vm-ds .button { border-radius:var(--vm-radius-control); min-height:44px; padding:12px 18px; font-size:14px; box-shadow:none; }
.vm-home.vm-ds .primary { background:var(--vm-primary); color:#fff; }
.vm-home.vm-ds .primary:hover { background:var(--vm-primary-hover); }
.vm-home.vm-ds .secondary { border-color:#94a3b8; color:var(--vm-navy); background:#fff; }
.vm-home.vm-ds :focus-visible { outline:var(--vm-focus); outline-offset:3px; box-shadow:var(--vm-focus-halo); }
.vm-home.vm-ds .home-hero { background:var(--vm-bg); }
.vm-home.vm-ds .hero-grid { grid-template-columns:1.2fr 1fr; gap:56px; align-items:center; }
.vm-home.vm-ds .hero-copy h1 { font-size:48px; line-height:56px; letter-spacing:-.025em; }
.vm-home.vm-ds .hero-copy h1 span { color:var(--vm-primary); }
.vm-home.vm-ds .hero-copy .lead { font-size:18px; line-height:28px; max-width:600px; color:var(--vm-text-muted); }
.vm-home.vm-ds .hero-assurance { font-size:14px; color:var(--vm-text-muted); margin-top:24px; }
.vm-home.vm-ds .eyebrow { color:var(--vm-primary); font-size:13px; font-weight:600; letter-spacing:.02em; background:none; padding:0; }
.vm-home.vm-ds :is(.learning-preview,.course-card,.method-grid article,.nova-preview,.daily-preview,.pack-feature,.pack-aside) { border:1px solid var(--vm-border); border-radius:8px; box-shadow:none; }
.vm-home.vm-ds .learning-preview { padding:24px; background:#fff; box-shadow:var(--vm-shadow); }
.vm-home.vm-ds .preview-heading { gap:12px; flex-wrap:wrap; font-size:15px; }
.vm-home.vm-ds .tag { font-size:12px; line-height:20px; border-radius:4px; }
.vm-home.vm-ds .learning-chain { gap:12px; }
.vm-home.vm-ds .learning-chain li { background:var(--vm-bg); border:1px solid var(--vm-border); border-radius:6px; padding:12px; }
.vm-home.vm-ds .learning-chain li::after { display:none; }
.vm-home.vm-ds .learning-chain strong { font-size:14px; }
.vm-home.vm-ds .learning-chain p { font-size:13px; line-height:20px; color:var(--vm-text-muted); }
.vm-home.vm-ds .step-icon { background:var(--vm-primary); border-radius:6px; }
.vm-home.vm-ds .learning-chain li:nth-child(2) .step-icon { background:#fef3c7; color:#78350f; }
.vm-home.vm-ds .learning-chain li:nth-child(3) .step-icon { background:#cffafe; color:#155e75; }
.vm-home.vm-ds .learning-chain li:nth-child(4) .step-icon { background:#dcfce7; color:#166534; }
.vm-home.vm-ds .mini-terminal { background:var(--vm-navy); border-radius:6px; }
.vm-home.vm-ds .mini-terminal pre { font-size:12px; line-height:20px; }
.vm-home.vm-ds .console-tests { flex-wrap:wrap; }
.vm-home.vm-ds .console-tests button { min-height:32px; }
.vm-home.vm-ds h2 { font-size:32px; line-height:40px; }
.vm-home.vm-ds .course-grid { gap:24px; }
.vm-home.vm-ds .course-card { padding:24px; background:#fff; }
.vm-home.vm-ds .course-card h3 { font-size:20px; line-height:28px; }
.vm-home.vm-ds .course-card p { font-size:15px; line-height:24px; }
.vm-home.vm-ds .check-list { font-size:13px; line-height:22px; }
.vm-home.vm-ds .course-card a { font-size:14px; min-height:44px; display:flex; align-items:center; }
.vm-home.vm-ds .catalogue-count { font-size:13px; color:var(--vm-text-muted); }
.vm-home.vm-ds .method-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.vm-home.vm-ds .method-grid article { background:#fff; border-top:3px solid var(--vm-primary); padding:24px; }
.vm-home.vm-ds .method-grid article:nth-child(2) { border-top-color:var(--vm-learning); }
.vm-home.vm-ds .method-grid article:nth-child(3) { border-top-color:var(--vm-tech); }
.vm-home.vm-ds .method-grid article:nth-child(4) { border-top-color:var(--vm-success); }
.vm-home.vm-ds .method-number { font-size:16px; font-weight:700; color:var(--vm-navy); }
.vm-home.vm-ds .method-connector { color:var(--vm-text-muted); }
.vm-home.vm-ds .method-grid article>p:not(.method-foot) { font-size:15px; line-height:24px; }
.vm-home.vm-ds .method-foot { font-size:13px; line-height:20px; color:var(--vm-text-muted); }
.vm-home.vm-ds .nova-section { background:var(--vm-bg); }
.vm-home.vm-ds .nova-topbar { background:var(--vm-navy); color:#fff; }
.vm-home.vm-ds .nova-topbar>span:last-child { font-size:13px; }
.vm-home.vm-ds .nova-preview-grid { background:#fff; }
.vm-home.vm-ds .daily-preview { border-left:3px solid var(--vm-tech); }
.vm-home.vm-ds .mission-preview-list p { font-size:15px; }
.vm-home.vm-ds .official-logo { display:block; width:240px; max-width:100%; height:auto; }
.vm-home.vm-ds .trainer-identity { background:#fff; padding:24px; border:1px solid var(--vm-border); border-radius:8px; }
.vm-home.vm-ds .site-footer { background:var(--vm-navy); font-size:14px; }
.vm-home.vm-ds .footer-grid h2 { font-size:16px; line-height:24px; }
.vm-home.vm-ds .footer-bottom { font-size:13px; }
.vm-home.vm-ds dialog { border-radius:8px; }
.vm-home.vm-ds .development-notice :is(p,a,strong) { font:400 13px/20px var(--vm-font-ui); }
@media(min-width:761px) and (max-width:1279px) {
  .vm-home.vm-ds .navbar { flex-wrap:wrap; }
  .vm-home.vm-ds .menu { flex-wrap:wrap; gap:16px; }
  .vm-home.vm-ds .hero-grid { gap:24px; }
  .vm-home.vm-ds .hero-copy h1 { font-size:40px; line-height:48px; }
  .vm-home.vm-ds :is(.course-grid,.method-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .vm-home.vm-ds .container { width:calc(100% - 32px); }
  .vm-home.vm-ds .section { padding-block:48px; }
  .vm-home.vm-ds .navbar { gap:8px; }
  .vm-home.vm-ds .site-header .brand { flex:1; min-width:0; }
  .vm-home.vm-ds .site-header .brand small { max-width:200px; font-size:11px; line-height:15px; }
  .vm-home.vm-ds .menu-toggle { flex-shrink:0; min-height:44px; border-radius:6px; padding:8px 12px; }
  .vm-home.vm-ds .menu { gap:0; }
  .vm-home.vm-ds .hero-grid { grid-template-columns:1fr; gap:32px; }
  .vm-home.vm-ds .hero-copy h1 { font-size:32px; line-height:40px; }
  .vm-home.vm-ds .hero-copy .lead { font-size:16px; line-height:26px; }
  .vm-home.vm-ds h2 { font-size:24px; line-height:32px; }
  .vm-home.vm-ds :is(.course-grid,.method-grid) { grid-template-columns:1fr; }
  .vm-home.vm-ds .method-connector { transform:rotate(90deg); }
  .vm-home.vm-ds .method-grid article:last-child .method-connector { transform:none; }
  .vm-home.vm-ds .learning-preview { padding:16px; }
  .vm-home.vm-ds .nova-topbar { flex-wrap:wrap; gap:12px; }
  .vm-home.vm-ds .nova-bottom { flex-wrap:wrap; }
  .vm-home.vm-ds .terminal-bar { flex-wrap:wrap; gap:8px; }
  .vm-home.vm-ds .footer-grid { grid-template-columns:1fr; }
}
