/* Home par défaut Woptihub — charte Woptimo v1.0 (septembre 2026).
   HTML de référence : clients/exemple/site/index.html
   Répartition 60 / 30 / 10 : fond violet 50, texte encre, violet en accent.
   Les pages chargent Inter, Newsreader et Space Grotesk par <link>, pas par @import. */
:root {
  --wo-brand: #3A1FAF;
  --wo-brand-deep: #2F1A8C;
  --wo-brand-soft: #F5F3FA;
  --wo-ink: #14102B;
  --wo-ink-700: #332C57;
  --wo-ink-600: #413C5E;
  --wo-text-muted: #6E6A85;
  --wo-border: #C7C4D3;
  --wo-surface: #F5F3FA;
  --wo-panel: #ffffff;
  --wo-font-title: "Space Grotesk", Inter, sans-serif;
  --wo-font-lead: "Newsreader", Georgia, serif;
  --wo-font-body: Inter, "Helvetica Neue", Arial, sans-serif;
  --wo-space-2: 8px;
  --wo-space-3: 12px;
  --wo-space-4: 16px;
  --wo-space-5: 24px;
  --wo-space-6: 32px;
  --wo-space-7: 48px;
  --wo-space-8: 64px;
  --wo-radius-lg: 16px;
  --wo-radius-full: 999px;
  --wo-shadow-sm: 0 1px 2px rgba(20, 16, 43, 0.06);
  --wo-shadow-md: 0 4px 12px rgba(20, 16, 43, 0.08);
}
* { box-sizing: border-box; }
html { block-size: 100%; }
body {
  margin: 0;
  min-block-size: 100%;
  background: var(--wo-surface);
  color: var(--wo-ink);
  font-family: var(--wo-font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.home {
  max-inline-size: 960px;
  margin-inline: auto;
  padding: var(--wo-space-7) var(--wo-space-5) var(--wo-space-8);
}
.home-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wo-space-5);
}
.logo-client,
.logo-woptimo {
  display: block;
  block-size: 48px;
  inline-size: auto;
}
.logo-woptimo { margin-inline-start: auto; }
h1 {
  margin: var(--wo-space-6) 0 var(--wo-space-5);
  font-family: var(--wo-font-title);
  font-size: 44px;
  font-weight: 600;
  font-style: normal;
  letter-spacing: -0.025em;
  line-height: 1.05;
}
.lead {
  margin: 0 0 var(--wo-space-6);
  max-inline-size: 68ch;
  font-family: var(--wo-font-lead);
  font-size: 22px;
  font-weight: 400;
  font-style: italic;
  line-height: 1.45;
  color: var(--wo-ink-700);
}
.choices {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16.5rem), 1fr));
  gap: var(--wo-space-4);
}
.choices > li { display: grid; }
.choice-link {
  display: grid;
  block-size: 100%;
  color: inherit;
  text-decoration: none;
  border-radius: var(--wo-radius-lg);
}
.choice-link:focus-visible {
  outline: 2px solid var(--wo-brand);
  outline-offset: 3px;
}
.choice-link:focus:not(:focus-visible) { outline: none; }
.choice {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: var(--wo-space-3);
  block-size: 100%;
  min-block-size: 11.5rem;
  margin: 0;
  padding: var(--wo-space-4);
  background: var(--wo-panel);
  color: inherit;
  border: 1px solid var(--wo-border);
  border-radius: var(--wo-radius-lg);
  box-shadow: inset 0 3px 0 var(--wo-brand), var(--wo-shadow-sm);
}
.choice h2 {
  margin: 0;
  font-family: var(--wo-font-title);
  font-size: 24px;
  font-weight: 500;
  font-style: normal;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
.choice p { margin: 0; }
.choice .text {
  color: var(--wo-ink-600);
  font-size: 16px;
  line-height: 1.6;
}
.status {
  justify-self: start;
  align-self: end;
  padding: 4px 10px;
  border: 1px solid var(--wo-brand);
  border-radius: var(--wo-radius-full);
  background: var(--wo-brand-soft);
  color: var(--wo-brand-deep);
  font-family: var(--wo-font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
}
.choice-link:hover .choice {
  border-color: var(--wo-brand);
  box-shadow: inset 0 3px 0 var(--wo-brand), var(--wo-shadow-md);
}
.choice.is-soon {
  border-style: dashed;
  border-color: var(--wo-text-muted);
  box-shadow: var(--wo-shadow-sm);
}
.is-soon .status {
  color: var(--wo-ink-600);
  border-style: dashed;
  border-color: var(--wo-text-muted);
  background: transparent;
}
.text-link {
  color: var(--wo-brand-deep);
  font-weight: 500;
  text-underline-offset: 0.18em;
}
.text-link:hover { color: var(--wo-brand); }
.text-link:focus-visible {
  outline: 2px solid var(--wo-brand);
  outline-offset: 3px;
}
.back {
  margin-top: var(--wo-space-6);
}
@media (max-width: 640px) {
  .home { padding-block: var(--wo-space-6) var(--wo-space-7); }
  h1 { font-size: 32px; line-height: 1.15; }
  .lead { font-size: 18px; line-height: 1.4; }
}
@media (prefers-reduced-motion: reduce) {
  .choice-link,
  .choice { transition: none; }
}
