/* GÉNÉRÉ par scripts/construire-chrome.mjs depuis l'accueil (html-preview/hallmark/) : ne pas éditer. */
.hm-nav, .hm-footer {
--space-3xs: 2px; --space-2xs: 4px; --space-xs: 8px; --space-sm: 12px; --space-md: 16px; --space-lg: 24px; --space-xl: 40px; --space-2xl: 64px; --space-3xl: 96px; --space-4xl: 144px;
  --text-xs: 0.8125rem; --text-sm: 0.875rem; --text-md: 1rem; --text-lg: 1.25rem; --text-xl: 1.5625rem; --text-2xl: 1.953rem; --text-3xl: 2.441rem;
  --text-display-s: clamp(2.25rem, 4vw + 0.5rem, 3.75rem); --text-display: clamp(2.75rem, 5vw + 1rem, 5.25rem);
  --text-section: clamp(2rem, 2.5vw + 1rem, 3.5rem); --text-title: clamp(1.25rem, 0.75vw + 0.875rem, 1.625rem); --text-lead: clamp(1.125rem, 0.35vw + 1rem, 1.375rem);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); --ease-in: cubic-bezier(0.7, 0, 0.84, 0); --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms; --dur-short: 220ms; --dur-long: 420ms;
  --color-error: oklch(52% 0.19 27); --color-success: oklch(50% 0.12 150);
  --container: 1440px; --gutter: 64px; --gap-columns: 32px; --section-gap-s: 120px; --section-gap: 144px; --section-gap-l: 176px;
  --z-base: 1; --z-raised: 10; --z-dropdown: 100; --z-sticky: 200; --z-sticky-nav: 300; --z-modal: 400; --z-toast: 500; --z-tooltip: 600;
  --color-paper: #ffffff; --color-paper-2: #f7f6fa; --color-paper-3: #efe9f9;
  --color-ink: #0f0f14; --color-ink-2: #2b2d36; --color-muted: #5b5f6b;
  --color-rule: #e4e3ea;
  --color-accent: #6d2bc9; --color-accent-ink: #ffffff; --color-focus: #6d2bc9;
  --font-display: "Geist", ui-sans-serif, system-ui, sans-serif; --font-body: "Geist", ui-sans-serif, system-ui, sans-serif; --font-outlier: var(--font-body);
  --radius-card: 12px; --radius-pill: 999px; --rule-hair: 1px; --shadow-card: none;
  --tracking-display: -0.035em;
  --color-accent-deep: #5215a3; --color-star: #00b67a; --display-weight: 650; --radius-control: 10px; --shadow-figure: 0 24px 48px -24px rgb(40 20 80 / 0.28), 0 2px 6px rgb(40 20 80 / 0.06); --shadow-chip: 0 1px 2px rgb(15 15 20 / 0.08);
  --color-screen: #17171c; --color-stand-1: #d9d9de; --color-stand-2: #c2c2ca; --color-stand-3: #a9a9b3;
  
  --accent: var(--color-accent); --accent-tint: rgba(109, 43, 201, 0.08); --border: var(--color-rule); --border-strong: #d4d4d8; --text: var(--color-ink); --text-muted: var(--color-muted); --text-subtle: #6e717a; --bg: var(--color-paper); --bg-subtle: var(--color-paper-2); --ease: cubic-bezier(0.22, 1, 0.36, 1); --radius-lg: 16px; --space-3: 0.75rem; --space-4: 1rem; --nav-height: 68px;
  --color-linkedin: #0a66c2;
  --color-instagram-badge: #0095f6;
  --color-claude: #d97757;
  --color-ecrin-1: #c9b2f5; --color-ecrin-2: #a77fe9; --color-ecrin-3: #7c4ae0;
  font-family: var(--font-body); font-size: var(--text-md); line-height: 1.55; color: var(--color-ink); -webkit-font-smoothing: antialiased; text-align: left;
}
@media (max-width: 60rem) { .hm-nav, .hm-footer { --gutter: 24px; --section-gap-s: 80px; --section-gap: 96px; --section-gap-l: 120px; } }
@media (max-width: 40rem) { .hm-nav, .hm-footer { --gutter: 16px; --section-gap-s: 56px; --section-gap: 72px; --section-gap-l: 96px; --gap-columns: 16px; } }
.hm-nav, .hm-footer, :where(.hm-nav, .hm-footer) *, :where(.hm-nav, .hm-footer) *::before, :where(.hm-nav, .hm-footer) *::after { box-sizing: border-box; }
:where(.hm-nav) { background: color-mix(in oklab, #ffffff 92%, transparent); }
.hm-footer { background: var(--color-paper); }
:where(.hm-nav, .hm-footer) a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.16em; }
:where(.hm-nav, .hm-footer) p { margin: 0; }
:where(.hm-nav, .hm-footer) img { max-width: 100%; height: auto; display: block; }
:where(.hm-nav, .hm-footer) svg { display: block; }
:where(.hm-nav, .hm-footer) button { font: inherit; }
.hm-conteneur { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); box-sizing: border-box; }
/* Sur les pages générées, le contenu est calé sous un header fixe (ancien gabarit) : on garde ce placement. */
.hm-nav.hm-nav--fixe { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; }
/* Menu ouvert sur un header fixe : il recouvre le contenu, donc fond plein (sur l'accueil il le pousse). */
.hm-nav.hm-nav--fixe.is-ouvert { background: var(--color-paper); max-height: 100dvh; overflow-y: auto; }
.hm-marque { display: inline-flex; align-items: center; gap: 0.4em; font-family: var(--font-display); font-size: var(--text-lg); font-weight: 700; letter-spacing: -0.03em; line-height: 1; color: var(--color-ink); text-decoration: none; flex-shrink: 0; }
.hm-marque__icone { width: 1.6em; height: 1.6em; display: block; flex-shrink: 0; }
.hm-marque__nom { display: block; transform: translateY(-0.06em); }
a.hm-marque:hover { color: var(--color-ink); }
a.hm-marque:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; border-radius: 6px; }
.hm-marque--grande { font-size: var(--text-section); }
.hm-nav { position: sticky; top: 0; z-index: var(--z-sticky-nav); background: color-mix(in oklab, var(--color-paper) 92%, transparent); border-bottom: var(--rule-hair) solid var(--color-rule); }
.hm-nav__inner { display: flex; align-items: center; gap: var(--space-lg); min-height: 68px; }
.hm-nav__links { display: flex; gap: var(--space-xl); margin-left: auto; list-style: none; padding: 0; margin-block: 0; }
.hm-nav__links a { white-space: nowrap; text-decoration: none; color: var(--color-muted); font-size: var(--text-sm); transition: color var(--dur-micro) var(--ease-out); }
.hm-nav__links a:hover { color: var(--color-ink); }
.hm-nav .hm-bouton { min-height: 44px; padding-inline: var(--space-md); font-size: var(--text-sm); }
.hm-bouton { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs);
  min-height: 52px; padding-inline: var(--space-lg);
  border-radius: var(--radius-control); border: 1px solid var(--color-accent);
  background: var(--color-accent); color: var(--color-accent-ink);
  font-weight: 600; text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: background-color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out); }
.hm-bouton:hover { background: var(--color-accent-deep); border-color: var(--color-accent-deep); }
.hm-bouton:active { transform: translateY(1px); }
.hm-bouton:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.hm-bouton[aria-disabled="true"], .hm-bouton:disabled { opacity: 0.5; cursor: not-allowed; }
.hm-bouton--fleche { padding-right: var(--space-sm); gap: var(--space-sm); }
.hm-bouton__icone { box-sizing: border-box; width: 1.71em; height: 1.71em; border-radius: 7px; background: var(--color-accent-ink); color: var(--color-accent); overflow: hidden; flex-shrink: 0; }
.hm-bouton__icone path { transform-box: view-box; transform-origin: 12px 12px; transform: scale(0.555); stroke-width: 3.6; }
.hm-bouton--fleche .hm-bouton__icone path { animation: hm-fleche-boucle 2.8s cubic-bezier(0.5, 0, 0.3, 1) infinite; }
.hm-bouton.hm-bouton--fleche { background-image: linear-gradient(105deg, transparent 35%, rgba(214, 190, 255, 0.55) 50%, transparent 65%); background-size: 250% 100%; background-position: 140% 0; background-repeat: no-repeat; }
.hm-bouton.hm-bouton--fleche:hover, .hm-bouton.hm-bouton--fleche:focus-visible { animation: hm-bouton-reflet 1100ms cubic-bezier(0.45, 0, 0.55, 1) 1; }
@keyframes hm-fleche-boucle { 0%, 70% { transform: translateX(0) scale(0.555); } 82% { transform: translateX(18px) scale(0.555); } 82.01% { transform: translateX(-18px) scale(0.555); } 100% { transform: translateX(0) scale(0.555); } }
@keyframes hm-bouton-reflet { from { background-position: 140% 0; } to { background-position: -40% 0; } }
@keyframes hm-fleche-traverse { 0% { transform: translateX(0) scale(0.555); } 42% { transform: translateX(18px) scale(0.555); } 42.01% { transform: translateX(-18px) scale(0.555); } 100% { transform: translateX(0) scale(0.555); } }
@media (prefers-reduced-motion: reduce) {
  .hm-bouton__icone path { animation: none; }
  .hm-bouton--fleche:hover, .hm-bouton--fleche:focus-visible { animation: none; }
}
.plans .hm-bouton { margin-top: var(--space-lg); min-height: 48px; }
.plans .hm-bouton--ghost { background: var(--color-paper); color: var(--color-accent); }
.plans .hm-bouton--ghost:hover { background: var(--color-paper-3); color: var(--color-accent-deep); }
.hm-footer { padding-block: var(--space-3xl) var(--space-2xl); }
.hm-footer__canon { margin-top: var(--space-lg); max-width: 60ch; color: var(--color-muted); }
.hm-footer__cols { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--gap-columns); margin-top: var(--space-2xl); }
.hm-footer__cols ul p, .hm-footer__cols div > p { font-size: var(--text-sm); color: var(--color-muted); margin-bottom: var(--space-sm); }
.hm-footer__cols p { font-size: var(--text-sm); color: var(--color-muted); margin-bottom: var(--space-sm); }
.hm-footer__cols ul { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-xs); }
.hm-footer__cols a { text-decoration: none; font-size: var(--text-sm); }
.hm-langue { display: inline-flex; padding: var(--space-3xs); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-control); background: var(--color-paper-2); }
.hm-langue a { padding: var(--space-2xs) var(--space-sm); border-radius: 8px; text-decoration: none; font-size: var(--text-sm); color: var(--color-muted); font-weight: 600; }
.hm-langue a[aria-current] { background: var(--color-paper); color: var(--color-accent); box-shadow: var(--shadow-chip); }
.hm-langue a:hover { color: var(--color-ink); }
.hm-langue a:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.hm-footer__legal { display: flex; justify-content: space-between; align-items: center; gap: var(--space-md); flex-wrap: wrap;  margin-top: var(--space-2xl); padding-top: var(--space-lg); border-top: var(--rule-hair) solid var(--color-rule); font-size: var(--text-sm); color: var(--color-muted); }
@media (max-width: 80rem) {
  .hm-nav__links { gap: var(--space-md); }
}
@media (max-width: 60rem) {
  .hm-footer__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hm-nav__links { display: none; }
  .hm-nav .hm-bouton { margin-left: auto; }
}
@media (max-width: 40rem) {
  .hm-nav .hm-bouton { padding-inline: var(--space-sm); }
  .hm-footer__cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .plans .hm-bouton { padding-inline: var(--space-sm); width: 100%; }
}
.plans thead .hm-bouton { white-space: nowrap; max-width: 100%; }
@media (max-width: 75rem) {
  .plans thead .hm-bouton { white-space: normal; text-align: center; justify-content: center; line-height: 1.2; width: 100%; }
  .plans thead .hm-bouton .hm-bouton__icone { display: none; }
}
@media (max-width: 47.99rem) {
  .plans thead .hm-bouton { white-space: normal; text-align: center; justify-content: center; line-height: 1.2; min-height: 48px; padding: var(--space-xs); font-size: var(--text-xs); width: 100%; }
  .plans thead .hm-bouton .hm-bouton__icone { display: none; }
}
@media (max-width: 47.99rem) {
  .hm-nav .hm-bouton { display: none; }
  .hm-nav.is-cta .hm-bouton { display: inline-flex; white-space: nowrap; padding-inline: var(--space-sm); font-size: var(--text-xs); min-height: 40px; }
  .hm-nav.is-cta .hm-bouton .hm-bouton__icone { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hm-nav .hm-bouton { transition: none; }
}
.hm-nav__links a, .hm-footer__cols li a { position: relative; display: inline-block; }
.hm-nav__links a::before, .hm-footer__cols li a::before { content: ""; position: absolute; inset: -3px -7px; border-radius: 7px; background: color-mix(in oklab, var(--color-accent) 12%, transparent); opacity: 0; transform: scale(0.92); transition: opacity var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out); pointer-events: none; }
.hm-nav__links a:hover::before, .hm-footer__cols li a:hover::before, .hm-nav__links a:focus-visible::before, .hm-footer__cols li a:focus-visible::before { opacity: 1; transform: scale(1); }
.hm-roule { position: relative; display: inline-block; overflow: hidden; vertical-align: top; }
.hm-roule > span, .hm-roule::after { display: block; transition: transform 320ms cubic-bezier(0.65, 0, 0.35, 1); }
.hm-roule::after { content: attr(data-texte); position: absolute; left: 0; right: 0; top: 0; transform: translateY(-100%); }
a:hover > .hm-roule > span, a:focus-visible > .hm-roule > span { transform: translateY(100%); }
a:hover > .hm-roule::after, a:focus-visible > .hm-roule::after { transform: translateY(0); }
.hm-nav__links a:hover, .hm-footer__cols li a:hover { color: var(--color-accent); }
@media (prefers-reduced-motion: reduce) {
  .hm-roule > span, .hm-roule::after { transition: none; }
  a:hover > .hm-roule > span, a:focus-visible > .hm-roule > span { transform: none; }
  .hm-roule::after { display: none; }
}
.hm-nav__menu { display: none; width: 44px; height: 44px; margin-left: auto; border: var(--rule-hair) solid var(--color-rule); border-radius: 10px; background: var(--color-paper); cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
.hm-nav__menu span { display: block; width: 18px; height: 2px; border-radius: 2px; background: var(--color-ink); transition: transform var(--dur-micro) var(--ease-out), opacity var(--dur-micro) var(--ease-out); }
.hm-nav.is-ouvert .hm-nav__menu span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.hm-nav.is-ouvert .hm-nav__menu span:nth-child(2) { opacity: 0; }
.hm-nav.is-ouvert .hm-nav__menu span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.hm-nav__menu:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
@media (max-width: 60rem) {
  .hm-nav__menu { display: inline-flex; }
  .hm-nav .hm-bouton { margin-left: 0; }
  .hm-nav__inner { flex-wrap: nowrap; padding-block: 12px; min-height: 0; column-gap: var(--space-sm); }
  .hm-nav.is-ouvert .hm-nav__inner { flex-wrap: wrap; align-content: flex-start; }
  .hm-nav.is-ouvert .hm-nav__links { display: grid; order: 3; width: 100%; gap: var(--space-xs); padding-block: var(--space-sm) var(--space-md); margin: 0; }
  .hm-nav.is-ouvert .hm-nav__links a { font-size: var(--text-md); padding-block: var(--space-xs); }
}
.hm-footer { content-visibility: auto; contain-intrinsic-size: auto 800px; }
.hm-nav__whatsapp { display: inline-grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-control); background: var(--color-paper); box-shadow: var(--shadow-chip); transition: border-color var(--dur-micro) var(--ease-out); }
.hm-nav__whatsapp:hover { border-color: #25D366; }
.hm-nav__whatsapp:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.hm-nav__whatsapp svg { display: block; }
@media (max-width: 60rem) {
  .hm-nav__whatsapp { margin-left: auto; }
  .hm-nav__whatsapp ~ .hm-nav__menu, .hm-nav__menu { margin-left: 0; }
}
@media (max-width: 60rem) {
  .hm-nav__inner > .hm-nav__whatsapp { order: 1; }
  .hm-nav__inner > .hm-nav__menu { order: 2; }
  .hm-nav__inner > .hm-bouton { order: 3; }
  .hm-nav.is-ouvert .hm-nav__links { order: 4; }
}
.hm-nav__whatsapp, .hm-nav__menu { flex-shrink: 0; }
@media (max-width: 26.25rem) {
  .hm-nav.is-cta .hm-marque__nom { display: none; }
}
