/* ============================================================
   Bot Patient — Système de design public (page d'accueil)
   Voir DESIGN_SYSTEM.md pour les règles complètes.

   Tout est préfixé « .bp » : clinic-theme.css publie des noms
   génériques non scopés (.card, .panel, .stat, .pill, .empty)
   qui fuiteraient sinon sur la page publique.

   Propriétés logiques uniquement (margin-inline, inset-inline…)
   pour que l'hébreu et l'arabe restent corrects sans surcharge.
   ============================================================ */

/* Typographie : Inter (texte) + Inter Tight (titres). Repli système intégré ;
   les écritures hébraïque/arabe retombent automatiquement sur system-ui (Inter n'en a pas les glyphes).
   Pour revenir aux polices système, il suffit de retirer cette ligne @import. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&family=Inter+Tight:wght@500;600;700&family=Syne:wght@600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');

.bp {
    /* ---- Encre & texte ---- */
    --bp-ink: #102033;
    --bp-ink-soft: #24364a;
    --bp-muted: #5d7086;
    --bp-faint: #8496a6;
    /* ---- Accents ---- */
    --bp-primary: #0e7c86;
    --bp-primary-dk: #095f67;
    --bp-primary-lt: #e4f1f2;
    --bp-mint: #f2f9f8;
    --bp-blue: #245f8f;
    --bp-blue-lt: #e8eff6;
    /* ---- Fonds ---- */
    --bp-paper: #fbfbf9;
    --bp-surface: #ffffff;
    --bp-panel: #f2f5f6;
    /* ---- Filets ---- */
    --bp-line: #dfe7ea;
    --bp-line-soft: #ebf0f2;
    --bp-line-ink: #24384c;
    /* ---- États ---- */
    --bp-success: #18794e;
    /* ---- Rythme ---- */
    --bp-2: 8px;
    --bp-3: 12px;
    --bp-4: 16px;
    --bp-5: 24px;
    --bp-6: 32px;
    --bp-7: 48px;
    --bp-8: 64px;
    --bp-section: clamp(56px, 4vw + 34px, 104px);
    --bp-gutter: clamp(20px, 3vw, 40px);
    --bp-measure: 1200px;
    /* ---- Formes ---- */
    --bp-r-sm: 8px;
    --bp-r: 10px;
    --bp-r-lg: 12px;
    --bp-shadow-record: 0 1px 2px rgba(16,32,51,.05), 0 22px 48px -20px rgba(16,32,51,.20);
    --bp-shadow-lift: 0 1px 2px rgba(16,32,51,.05), 0 6px 16px -8px rgba(16,32,51,.12);
    --bp-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --bp-disp: "Inter Tight", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --bp-ease: cubic-bezier(.2,.6,.2,1);

    font-family: var(--bp-sans);
    color: var(--bp-ink);
    background: var(--bp-paper);
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.bp *, .bp *::before, .bp *::after { box-sizing: border-box; }

/* Réinitialisations typographiques par écriture (voir DESIGN_SYSTEM.md §3).
   L'arabe est cursif : letter-spacing casse les ligatures, uppercase n'a pas de sens. */
.bp[lang="ar"] .bp-kicker,
.bp[lang="ar"] .bp-label,
.bp[lang="ar"] .bp-record-title,
.bp[lang="ar"] .bp-record-legend,
.bp[lang="he"] .bp-kicker,
.bp[lang="he"] .bp-label,
.bp[lang="he"] .bp-record-title,
.bp[lang="he"] .bp-record-legend {
    text-transform: none;
    letter-spacing: 0;
}

.bp[lang="ar"], .bp[lang="he"] { --bp-body-leading: 1.7; }

/* ---------- Focus ---------- */
.bp a:focus-visible,
.bp button:focus-visible,
.bp select:focus-visible {
    outline: 2px solid var(--bp-primary);
    outline-offset: 2px;
    border-radius: 4px;
}

/* ---------- Lien d'évitement ----------
   On le sort par le HAUT (translateY) et non par le côté : un décalage
   horizontal négatif devient un débordement réel en RTL (right: -9999px),
   ce qui ajoute une barre de défilement horizontale en hébreu et en arabe. */
.bp-skip {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    z-index: 100;
    background: var(--bp-ink);
    color: #fff;
    padding: 12px 18px;
    border-end-end-radius: var(--bp-r-sm);
    text-decoration: none;
    font-weight: 620;
    transform: translateY(-130%);
    transition: transform .16s var(--bp-ease);
}

.bp-skip:focus { transform: translateY(0); }

/* ---------- Conteneur ---------- */
.bp-wrap {
    max-width: var(--bp-measure);
    margin-inline: auto;
    padding-inline: var(--bp-gutter);
}

/* ============================================================
   En-tête
   ============================================================ */
.bp-head {
    border-block-end: 1px solid var(--bp-line);
    background: color-mix(in srgb, var(--bp-paper) 88%, transparent);
    position: sticky;
    inset-block-start: 0;
    z-index: 30;
    backdrop-filter: saturate(1.4) blur(8px);
}

.bp-head-in {
    display: flex;
    align-items: center;
    gap: var(--bp-4);
    min-height: 68px;
    padding-block: var(--bp-3);
}

.bp-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 660;
    font-size: 1.06rem;
    letter-spacing: -.012em;
    color: var(--bp-ink);
    text-decoration: none;
    margin-inline-end: auto;
}

.bp-brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: var(--bp-primary);
    color: #fff;
    display: grid;
    place-items: center;
    flex: none;
}

.bp-brand-mark svg { width: 19px; height: 19px; }

.bp-brand-sub {
    display: block;
    font-size: .68rem;
    font-weight: 560;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--bp-faint);
    margin-block-start: 1px;
}

.bp[lang="ar"] .bp-brand-sub, .bp[lang="he"] .bp-brand-sub {
    text-transform: none;
    letter-spacing: 0;
}

.bp-select {
    font: inherit;
    font-size: .89rem;
    color: var(--bp-ink);
    background: var(--bp-surface);
    border: 1px solid var(--bp-line);
    border-radius: var(--bp-r-sm);
    padding: 10px 12px;
    min-height: 44px;
    cursor: pointer;
}

.bp-select:hover { border-color: var(--bp-primary); }

/* ============================================================
   Boutons
   ============================================================ */
.bp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 12px 22px;
    border: 1px solid transparent;
    border-radius: var(--bp-r);
    font: inherit;
    font-size: 1rem;
    font-weight: 620;
    text-decoration: none;
    cursor: pointer;
    transition: background .16s var(--bp-ease), border-color .16s var(--bp-ease), transform .16s var(--bp-ease), color .16s var(--bp-ease);
}

.bp-btn-primary { background: var(--bp-primary); color: #fff; }
.bp-btn-primary:hover { background: var(--bp-primary-dk); transform: translateY(-1px); }
.bp-btn-primary:active { transform: translateY(0); }

.bp-btn-invert { background: #fff; color: var(--bp-primary-dk); }
.bp-btn-invert:hover { background: var(--bp-primary-lt); transform: translateY(-1px); }
.bp-btn-invert:active { transform: translateY(0); }

.bp-btn-quiet {
    background: transparent;
    color: var(--bp-ink);
    border-color: var(--bp-line);
    min-height: 44px;
    padding: 10px 18px;
    font-size: .94rem;
}

.bp-btn-quiet:hover { border-color: var(--bp-primary); color: var(--bp-primary-dk); background: var(--bp-surface); }

/* Chevron directionnel : miroir en RTL. */
.bp-dir-icon { width: 17px; height: 17px; flex: none; }
.bp[dir="rtl"] .bp-dir-icon { transform: scaleX(-1); }

/* ============================================================
   Éléments typographiques partagés
   ============================================================ */
.bp-kicker {
    font-size: .72rem;
    font-weight: 640;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--bp-primary-dk);
    margin: 0 0 var(--bp-4);
    display: flex;
    align-items: center;
    gap: 10px;
}

.bp-kicker::before {
    content: "";
    width: 22px;
    height: 2px;
    background: var(--bp-primary);
    flex: none;
}

.bp-display {
    font-size: clamp(2.1rem, 1.35rem + 2.4vw, 3.15rem);
    font-weight: 680;
    letter-spacing: -.022em;
    line-height: 1.06;
    margin: 0 0 var(--bp-5);
    text-wrap: balance;
}

/* Titres sur la police display (Inter Tight). Le corps de texte reste sur --bp-sans. */
.bp-display, .bp-h2, .bp-row-copy h3, .bp-stage-t, .bp-cta h2 { font-family: var(--bp-disp); }

.bp-h2 {
    font-size: clamp(1.5rem, 1.2rem + .95vw, 1.95rem);
    font-weight: 660;
    letter-spacing: -.015em;
    line-height: 1.15;
    margin: 0 0 var(--bp-3);
    text-wrap: balance;
}

.bp-lead {
    font-size: clamp(1.02rem, .97rem + .25vw, 1.14rem);
    line-height: var(--bp-body-leading, 1.55);
    color: var(--bp-muted);
    margin: 0;
    max-width: 52ch;
}

.bp-label {
    font-size: .72rem;
    font-weight: 640;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--bp-faint);
}

/* ============================================================
   Héros
   ============================================================ */
.bp-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
    gap: clamp(32px, 4vw, 72px);
    align-items: center;
    padding-block: clamp(44px, 3.5vw + 26px, 86px) var(--bp-section);
}

.bp-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--bp-4);
    margin-block-start: var(--bp-6);
}

.bp-note {
    font-size: .86rem;
    color: var(--bp-faint);
    margin: var(--bp-4) 0 0;
}

/* Bandeau de capacités : filets fins, pas de pastilles. */
.bp-caps {
    list-style: none;
    margin: var(--bp-7) 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-block-start: 1px solid var(--bp-line);
}

.bp-caps li {
    padding-block-start: var(--bp-4);
    padding-inline: var(--bp-4) var(--bp-3);
    border-inline-start: 1px solid var(--bp-line);
    font-size: .87rem;
    font-weight: 560;
    color: var(--bp-ink-soft);
    line-height: 1.4;
}

.bp-caps li:first-child { border-inline-start: 0; padding-inline-start: 0; }

/* ============================================================
   Fiche d'admission (visuel principal du héros)
   ============================================================ */

/* Panneau clinique sous la fiche : légère trame de points + dégradé menthe.
   Donne de la profondeur au visuel sans script ni image. */
.bp-hero-visual {
    padding: clamp(16px, 2vw, 26px);
    border: 1px solid var(--bp-line);
    border-radius: 20px;
    background:
        radial-gradient(circle at 1px 1px, rgba(16,32,51,.05) 1px, transparent 0) 0 0 / 22px 22px,
        linear-gradient(160deg, var(--bp-mint), var(--bp-surface) 70%);
}

.bp-record {
    background: var(--bp-surface);
    border: 1px solid var(--bp-line);
    border-radius: var(--bp-r-lg);
    box-shadow: var(--bp-shadow-record);
    overflow: hidden;
}

.bp-record-head {
    display: flex;
    align-items: center;
    gap: var(--bp-3);
    padding: var(--bp-3) var(--bp-5);
    border-block-end: 1px solid var(--bp-line);
    background: linear-gradient(180deg, #fcfdfd, #f7fafa);
}

/* Trois points « chrome de fenêtre » : purement CSS, premier élément flex donc
   côté départ (inline-start) en LTR comme en RTL. */
.bp-record-head::before {
    content: "";
    flex: none;
    width: 40px;
    height: 9px;
    background:
        radial-gradient(circle at 4.5px 50%, #d7e0e3 3.6px, transparent 4px),
        radial-gradient(circle at 20px 50%, #d7e0e3 3.6px, transparent 4px),
        radial-gradient(circle at 35.5px 50%, #d7e0e3 3.6px, transparent 4px);
}

.bp-record-title {
    font-size: .69rem;
    font-weight: 660;
    letter-spacing: .11em;
    text-transform: uppercase;
    color: var(--bp-blue);
    margin-inline-end: auto;
}

.bp-record-state {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: .74rem;
    font-weight: 560;
    color: var(--bp-muted);
}

.bp-record-state i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--bp-success);
    flex: none;
}

.bp-record-quote { padding: var(--bp-5) var(--bp-5) var(--bp-4); }

.bp-record-quote p {
    margin: 0;
    font-size: 1.12rem;
    font-weight: 560;
    line-height: 1.4;
    color: var(--bp-ink);
    letter-spacing: -.008em;
}

.bp-record-src {
    margin-block-start: 10px !important;
    font-size: .78rem !important;
    font-weight: 400 !important;
    color: var(--bp-faint) !important;
    letter-spacing: 0 !important;
}

.bp-record-block {
    padding: var(--bp-4) var(--bp-5);
    border-block-start: 1px solid var(--bp-line-soft);
}

.bp-record-legend {
    font-size: .68rem;
    font-weight: 660;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--bp-faint);
    margin: 0 0 var(--bp-3);
}

.bp-fields { margin: 0; }

.bp-field {
    display: grid;
    grid-template-columns: minmax(0, 9.5em) minmax(0, 1fr);
    gap: var(--bp-4);
    padding-block: 8px;
    border-block-start: 1px solid var(--bp-line-soft);
    align-items: baseline;
}

.bp-field:first-child { border-block-start: 0; padding-block-start: 0; }

.bp-field dt {
    font-size: .82rem;
    color: var(--bp-muted);
    margin: 0;
}

.bp-field dd {
    margin: 0;
    font-size: .88rem;
    font-weight: 560;
    color: var(--bp-ink);
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}

.bp-record-route {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: .92rem;
    font-weight: 560;
    color: var(--bp-ink);
}

.bp-record-route svg { width: 16px; height: 16px; color: var(--bp-blue); flex: none; }

.bp-record-out {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: var(--bp-4) var(--bp-5);
    background: var(--bp-primary-lt);
    border-block-start: 1px solid var(--bp-line);
    font-size: .88rem;
    font-weight: 600;
    color: var(--bp-primary-dk);
    line-height: 1.4;
}

.bp-record-out svg { width: 17px; height: 17px; flex: none; }

/* ============================================================
   Section : le parcours en 5 étapes
   ============================================================ */
.bp-pipeline {
    background: var(--bp-panel);
    border-block: 1px solid var(--bp-line);
    padding-block: var(--bp-section);
}

.bp-sec-head { max-width: 62ch; margin-block-end: var(--bp-6); display: block; }

.bp-stages {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--bp-5);
    counter-reset: bp-stage;
    position: relative;
}

/* Rail de liaison entre les pastilles : ligne continue derrière les numéros. */
.bp-stages::before {
    content: "";
    position: absolute;
    inset-block-start: 18px;
    inset-inline: 7%;
    height: 2px;
    background: linear-gradient(to right, var(--bp-primary), #c7d8dc 60%);
    opacity: .5;
    z-index: 0;
}

.bp[dir="rtl"] .bp-stages::before { background: linear-gradient(to left, var(--bp-primary), #c7d8dc 60%); }

.bp-stage {
    position: relative;
    z-index: 1;
}

/* Ancien filet horizontal remplacé par les pastilles + le rail. */
.bp-stage::before { display: none; }

/* Numéro en pastille cerclée turquoise, « perçant » le rail grâce à l'anneau couleur panneau. */
.bp-stage-n {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--bp-surface);
    border: 2px solid var(--bp-primary);
    box-shadow: 0 0 0 5px var(--bp-panel);
    color: var(--bp-primary-dk);
    font-size: .85rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    margin-block-end: var(--bp-4);
}

.bp-stage-t {
    font-size: 1rem;
    font-weight: 620;
    letter-spacing: -.008em;
    margin: 0 0 6px;
    line-height: 1.25;
}

.bp-stage-d {
    margin: 0;
    font-size: .875rem;
    line-height: var(--bp-body-leading, 1.5);
    color: var(--bp-muted);
}

/* ============================================================
   Section : lignes éditoriales
   ============================================================ */
.bp-rows { padding-block: var(--bp-section); }

.bp-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(28px, 4vw, 68px);
    align-items: center;
    padding-block: var(--bp-7);
    border-block-start: 1px solid var(--bp-line);
}

.bp-row:first-of-type { border-block-start: 0; padding-block-start: 0; }

.bp-row:nth-of-type(even) .bp-row-copy { grid-column: 2; grid-row: 1; }
.bp-row:nth-of-type(even) .bp-row-media { grid-column: 1; grid-row: 1; }

.bp-row-copy h3 {
    font-size: clamp(1.24rem, 1.1rem + .45vw, 1.5rem);
    font-weight: 650;
    letter-spacing: -.016em;
    line-height: 1.2;
    margin: 0 0 var(--bp-3);
}

.bp-row-copy p {
    margin: 0;
    color: var(--bp-muted);
    line-height: var(--bp-body-leading, 1.6);
    font-size: .98rem;
    max-width: 46ch;
}

/* ---------- Fragments d'interface ---------- */
.bp-frag {
    background: var(--bp-surface);
    border: 1px solid var(--bp-line);
    border-radius: var(--bp-r);
    padding: var(--bp-5);
    box-shadow: var(--bp-shadow-lift);
}

.bp-frag-cap {
    display: block;
    margin-block-start: var(--bp-3);
    font-size: .78rem;
    color: var(--bp-faint);
}

/* Fragment 1 — même question, plusieurs langues */
.bp-langs { display: grid; gap: 0; }

.bp-langs > div {
    display: grid;
    grid-template-columns: minmax(0, 4.5em) minmax(0, 1fr);
    gap: var(--bp-4);
    align-items: baseline;
    padding-block: 11px;
    border-block-start: 1px solid var(--bp-line-soft);
}

.bp-langs > div:first-child { border-block-start: 0; padding-block-start: 0; }

.bp-langs .bp-lang-tag {
    font-size: .68rem;
    font-weight: 640;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--bp-blue);
}

.bp-langs .bp-lang-txt {
    font-size: .92rem;
    color: var(--bp-ink-soft);
    line-height: 1.4;
}

/* Fragment 2 — options de qualification */
.bp-opts { display: flex; flex-wrap: wrap; gap: var(--bp-2); }

.bp-opt {
    border: 1px solid var(--bp-line);
    border-radius: var(--bp-r-sm);
    padding: 8px 13px;
    font-size: .86rem;
    font-weight: 560;
    color: var(--bp-ink-soft);
    background: var(--bp-paper);
}

.bp-opt-on {
    border-color: var(--bp-primary);
    background: var(--bp-primary-lt);
    color: var(--bp-primary-dk);
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.bp-opt-on svg { width: 14px; height: 14px; flex: none; }

.bp-frag-rule {
    border: 0;
    border-block-start: 1px solid var(--bp-line-soft);
    margin-block: var(--bp-4);
}

/* Fragment 3 — modules de simulation */
.bp-mods { display: grid; gap: var(--bp-3); }

.bp-mod {
    display: flex;
    align-items: center;
    gap: var(--bp-3);
    border: 1px solid var(--bp-line);
    border-radius: var(--bp-r-sm);
    padding: var(--bp-3) var(--bp-4);
    background: var(--bp-paper);
}

.bp-mod svg { width: 20px; height: 20px; color: var(--bp-blue); flex: none; }

.bp-mod-n { font-size: .92rem; font-weight: 620; }
.bp-mod-d { font-size: .78rem; color: var(--bp-faint); margin-block-start: 2px; }

/* Fragment 4 — remise du lead */
.bp-lead-hd {
    display: flex;
    align-items: center;
    gap: var(--bp-3);
    padding-block-end: var(--bp-3);
    border-block-end: 1px solid var(--bp-line-soft);
    margin-block-end: var(--bp-3);
}

.bp-lead-hd .bp-label { margin-inline-end: auto; }

.bp-stamp {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .74rem;
    font-weight: 620;
    color: var(--bp-success);
}

.bp-stamp svg { width: 14px; height: 14px; flex: none; }

/* ============================================================
   Appel à l'action final
   ============================================================ */
.bp-cta {
    background: var(--bp-ink);
    color: #fff;
    padding-block: var(--bp-section);
    border-block-start: 2px solid var(--bp-primary);
}

.bp-cta-in {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--bp-6);
    align-items: center;
}

.bp-cta h2 {
    font-size: clamp(1.44rem, 1.15rem + .9vw, 1.9rem);
    font-weight: 660;
    letter-spacing: -.018em;
    line-height: 1.18;
    margin: 0;
    max-width: 24ch;
    text-wrap: balance;
}

.bp-cta-note {
    margin: var(--bp-3) 0 0;
    color: #a9bdcc;
    font-size: .92rem;
    max-width: 46ch;
}

/* ============================================================
   Pied de page
   ============================================================ */
.bp-foot { padding-block: var(--bp-6); }

.bp-foot-in {
    display: flex;
    flex-wrap: wrap;
    gap: var(--bp-4);
    align-items: center;
    justify-content: space-between;
    font-size: .86rem;
    color: var(--bp-faint);
}

/* Lien isolé (pas dans une phrase) : cible tactile d'au moins 44 px. */
.bp-foot a {
    color: var(--bp-primary-dk);
    text-underline-offset: 3px;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}

.bp-foot a:hover { text-decoration-thickness: 2px; }

/* ============================================================
   Adaptatif
   ============================================================ */
@media (max-width: 1079px) {
    .bp-hero { grid-template-columns: minmax(0, 1fr); gap: var(--bp-7); }
    .bp-lead, .bp-row-copy p { max-width: none; }
    .bp-stages { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bp-5) var(--bp-4); }
    /* Le rail n'a plus de sens quand les étapes passent sur plusieurs rangées. */
    .bp-stages::before { display: none; }
}

@media (max-width: 860px) {
    .bp-row,
    .bp-row:nth-of-type(even) .bp-row-copy,
    .bp-row:nth-of-type(even) .bp-row-media {
        grid-template-columns: minmax(0, 1fr);
        grid-column: auto;
        grid-row: auto;
    }

    .bp-cta-in { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 620px) {
    .bp-head-in { min-height: 0; flex-wrap: wrap; row-gap: var(--bp-3); }
    .bp-brand { margin-inline-end: auto; }
    .bp-stages { grid-template-columns: minmax(0, 1fr); gap: var(--bp-5); }
    .bp-caps { grid-template-columns: minmax(0, 1fr); border-block-start: 0; }

    .bp-caps li {
        border-inline-start: 0;
        border-block-start: 1px solid var(--bp-line);
        padding-inline: 0;
        padding-block: var(--bp-3);
    }

    .bp-field { grid-template-columns: minmax(0, 1fr); gap: 2px; }
    .bp-record-quote p { font-size: 1.04rem; }
    .bp-langs > div { grid-template-columns: minmax(0, 1fr); gap: 3px; }
}

@media (prefers-reduced-motion: reduce) {
    .bp *, .bp *::before, .bp *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }
}

/* Le widget d'accessibilité global (App.razor) est fixé au milieu à droite :
   on réserve la gouttière sur grand écran pour qu'il ne recouvre pas la fiche. */
@media (min-width: 1500px) {
    .bp-wrap { padding-inline-end: max(var(--bp-gutter), 78px); }
    .bp[dir="rtl"] .bp-wrap { padding-inline: max(var(--bp-gutter), 78px) var(--bp-gutter); }
}


/* ============================================================
   DentalMaster Bot — landing sombre « Intelligent Dental Connection »
   Styles scopes sous .dm-land (aucun impact sur .bp ni les pages internes).
   ============================================================ */
.dm-land{
  --night:#061426; --ink:#0B1F38; --ink2:#0e2947;
  --clinic:#1268E8; --cobalt:#246BFD; --cyan:#22D3EE; --teal:#14B8A6; --teal-l:#5EEAD4;
  --white:#F8FCFF; --grey-l:#EAF2F8; --muted:#8FA8BC; --violet:#7357FF; --magenta:#D946EF;
  --line:rgba(143,168,188,.18); --line-soft:rgba(143,168,188,.10);
  --disp:"Manrope",system-ui,sans-serif; --sans:"Inter",system-ui,sans-serif;
  --gut:clamp(20px,3vw,44px); --measure:1200px; --ease:cubic-bezier(.2,.6,.2,1);
  font-family:var(--sans); color:var(--white); background:var(--night);
  -webkit-font-smoothing:antialiased; line-height:1.55;
}
.dm-land *{box-sizing:border-box;margin:0;padding:0}
.dm-land svg{display:block}
.dm-land a{color:inherit;text-decoration:none}
.dm-land .wrap{max-width:var(--measure);margin-inline:auto;padding-inline:var(--gut)}
.dm-land .mlabel{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan)}
.dm-land .mlabel::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px 1px var(--cyan)}
.dm-land .mlabel.dark{color:var(--clinic)} .dm-land .mlabel.dark::before{background:var(--clinic);box-shadow:0 0 10px 1px rgba(18,104,232,.6)}
.dm-land h1,.dm-land h2,.dm-land h3,.dm-land h4{font-family:var(--disp);letter-spacing:-.02em;line-height:1.08}
.dm-land .h-hero{font-size:clamp(2.4rem,1.4rem+3.2vw,4.4rem);font-weight:800;letter-spacing:-.03em;line-height:1.02;text-wrap:balance}
.dm-land .h-sec{font-size:clamp(1.8rem,1.3rem+1.8vw,3rem);font-weight:700;text-wrap:balance}
.dm-land .sub{font-size:clamp(1.05rem,1rem+.3vw,1.3rem);color:var(--muted);max-width:56ch;line-height:1.55}
.dm-land .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:14px 26px;border:1px solid transparent;border-radius:12px;font-family:var(--sans);font-weight:600;font-size:1rem;cursor:pointer;transition:.18s var(--ease)}
.dm-land .btn svg{width:17px;height:17px}
.dm-land .btn-primary{background:linear-gradient(135deg,var(--cobalt),var(--cyan));color:#04121f;box-shadow:0 10px 30px -10px rgba(34,211,238,.5)}
.dm-land .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(34,211,238,.65)}
.dm-land .btn-ghost{background:rgba(255,255,255,.04);color:var(--white);border-color:var(--line)}
.dm-land .btn-ghost:hover{border-color:var(--cyan);background:rgba(34,211,238,.08)}
.dm-land .sel{font:inherit;font-size:.88rem;color:var(--white);background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:10px;padding:9px 12px;cursor:pointer}
.dm-land .sel option{color:#04121f}

/* grid + glow helpers */
.dm-land .grid-bg{background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:44px 44px}
.dm-land .glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;pointer-events:none;z-index:0}

/* HEADER */
.dm-land .head{position:sticky;top:0;z-index:40;background:rgba(6,20,38,.72);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.dm-land .head-in{display:flex;align-items:center;gap:24px;min-height:74px}
.dm-land .brand{display:flex;align-items:center;gap:11px;font-family:var(--disp);font-weight:700;font-size:1.08rem;margin-inline-end:auto}
.dm-land .brand .mk{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--cobalt),var(--cyan));display:grid;place-items:center;color:#04121f}
.dm-land .brand .mk svg{width:21px;height:21px}
.dm-land .brand small{display:block;font-family:var(--sans);font-size:.64rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.dm-land .brand{flex:0 0 auto}
.dm-land .brand>span:last-child{white-space:nowrap}
.dm-land .nav{display:flex;gap:26px;font-size:.92rem;color:var(--grey-l);white-space:nowrap}
.dm-land .nav a:hover{color:var(--cyan)}

/* HERO */
.dm-land .hero{position:relative;overflow:hidden;padding-block:clamp(48px,5vw,96px)}
.dm-land .hero .grid-bg{position:absolute;inset:0;opacity:.5;mask-image:radial-gradient(ellipse 80% 70% at 60% 30%,#000,transparent)}
.dm-land .hero .g1{width:620px;height:620px;background:radial-gradient(circle,rgba(34,211,238,.5),transparent 60%);top:-160px;right:-120px}
.dm-land .hero .g2{width:520px;height:520px;background:radial-gradient(circle,rgba(115,87,255,.34),transparent 60%);bottom:-200px;left:-120px}
.dm-land .hero-in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,4vw,64px);align-items:center}
.dm-land .hero .sub{margin-top:22px}
.dm-land .hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.dm-land .proofs{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px}
.dm-land .proof{display:inline-flex;align-items:center;gap:9px;font-size:.9rem;color:var(--grey-l)}
.dm-land .proof svg{width:18px;height:18px;color:var(--teal-l)}

/* product composition (chat) */
.dm-land .compo{position:relative}
.dm-land .win{background:linear-gradient(180deg,#0d233f,#0a1c33);border:1px solid var(--line);border-radius:18px;box-shadow:0 40px 90px -30px rgba(0,0,0,.7);overflow:hidden}
.dm-land .win-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}
.dm-land .win-bar i{width:9px;height:9px;border-radius:50%;background:#31456180}
.dm-land .win-bar .u{margin-inline-start:10px;font-size:.72rem;color:var(--muted);letter-spacing:.02em}
.dm-land .win-bar .u b{color:var(--teal-l);font-weight:600}
.dm-land .chat{padding:20px;display:grid;gap:12px}
.dm-land .bub{max-width:82%;padding:11px 15px;border-radius:14px;font-size:.92rem;line-height:1.4}
.dm-land .bub.bot{background:rgba(255,255,255,.05);border:1px solid var(--line);border-bottom-left-radius:5px;justify-self:start;color:var(--grey-l)}
.dm-land .bub.usr{background:linear-gradient(135deg,var(--clinic),var(--cobalt));color:#eaf3ff;border-bottom-right-radius:5px;justify-self:end}
.dm-land .qopts{display:flex;flex-wrap:wrap;gap:8px;justify-self:start;max-width:90%}
.dm-land .qopt{font-size:.85rem;padding:8px 13px;border-radius:10px;border:1px solid var(--line);color:var(--grey-l);background:rgba(255,255,255,.03)}
.dm-land .qopt.on{border-color:var(--cyan);color:var(--cyan);background:rgba(34,211,238,.10)}
.dm-land .routed{justify-self:start;display:inline-flex;align-items:center;gap:9px;font-size:.82rem;color:var(--teal-l);background:rgba(20,184,166,.10);border:1px solid rgba(20,184,166,.3);border-radius:10px;padding:9px 13px}
.dm-land .routed svg{width:15px;height:15px}
/* floating phone */
.dm-land .phone{position:absolute;width:172px;inset-inline-end:-14px;bottom:-26px;background:#04101d;border:1px solid var(--line);border-radius:26px;padding:9px;box-shadow:0 30px 60px -20px rgba(0,0,0,.7);z-index:3}
.dm-land .phone .scr{background:linear-gradient(180deg,#0d233f,#0a1c33);border-radius:19px;overflow:hidden}
.dm-land .phone .pt{padding:11px 12px;border-bottom:1px solid var(--line);font-size:.62rem;color:var(--muted);display:flex;align-items:center;gap:6px}
.dm-land .phone .dot{width:16px;height:16px;border-radius:5px;background:linear-gradient(135deg,var(--cobalt),var(--cyan))}
.dm-land .phone .langs{padding:11px 12px;display:grid;gap:6px}
.dm-land .phone .lg{font-size:.66rem;padding:6px 9px;border-radius:7px;border:1px solid var(--line);color:var(--grey-l);display:flex;justify-content:space-between;align-items:center}
.dm-land .phone .lg.on{border-color:var(--cyan);color:var(--cyan);background:rgba(34,211,238,.1)}
.dm-land .zoom{position:absolute;inset-inline-start:-26px;top:38px;background:rgba(11,31,56,.94);border:1px solid var(--line);border-radius:12px;padding:10px 13px;box-shadow:0 20px 40px -16px rgba(0,0,0,.6);z-index:4}
.dm-land .zoom .t{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--violet);font-weight:700;margin-bottom:4px}
.dm-land .zoom .v{font-size:.82rem;color:var(--white);font-weight:600;display:flex;align-items:center;gap:7px}
.dm-land .zoom .v svg{width:14px;height:14px;color:var(--teal-l)}

/* sections */
.dm-land section{position:relative}
.dm-land .band{padding-block:clamp(56px,5vw,104px)}
.dm-land .light{background:var(--white);color:var(--ink)}
.dm-land .light .sub{color:#5a7184}
.dm-land .sec-head{max-width:64ch;margin-bottom:44px}
.dm-land .sec-head .h-sec{margin:14px 0 12px}

/* value bar */
.dm-land .vbar{background:var(--grey-l);color:var(--ink);border-block:1px solid rgba(6,20,38,.06)}
.dm-land .vbar-in{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;padding-block:26px}
.dm-land .vitem{display:flex;align-items:center;gap:11px;font-weight:600;font-size:.92rem}
.dm-land .vitem svg{width:22px;height:22px;color:var(--teal);flex:none}

/* problem */
.dm-land .prob{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
.dm-land .prob .it{border-top:2px solid rgba(6,20,38,.1);padding-top:16px}
.dm-land .prob .it .n{font-family:var(--disp);font-weight:800;font-size:.8rem;color:var(--magenta)}
.dm-land .prob .it h4{font-size:1.08rem;margin:6px 0 6px;color:var(--ink)}
.dm-land .prob .it p{font-size:.92rem;color:#5a7184;line-height:1.5}

/* immersive product full width */
.dm-land .imm{overflow:hidden}
.dm-land .imm .glow{width:700px;height:400px;background:radial-gradient(circle,rgba(34,211,238,.28),transparent 65%);top:20%;left:50%;transform:translateX(-50%)}
.dm-land .imm .grid-bg{position:absolute;inset:0;opacity:.4;mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000,transparent)}
.dm-land .imm-in{position:relative;z-index:2}
.dm-land .bigwin{margin-top:36px;background:linear-gradient(180deg,#0d233f,#091a30);border:1px solid var(--line);border-radius:18px;box-shadow:0 50px 100px -40px rgba(0,0,0,.8);overflow:hidden}
.dm-land .bigwin .win-bar{padding:14px 18px}
.dm-land .bigwin .body{display:grid;grid-template-columns:1.4fr 1fr;gap:0}
.dm-land .bigwin .chat{border-inline-end:1px solid var(--line)}
.dm-land .bigwin .side{padding:22px;display:grid;gap:14px;align-content:start;background:rgba(255,255,255,.015)}
.dm-land .sfield{display:grid;gap:3px}
.dm-land .sfield .k{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.dm-land .sfield .v{font-size:.96rem;font-weight:600;color:var(--white)}
.dm-land .sbadge{display:inline-flex;align-items:center;gap:8px;align-self:start;font-size:.78rem;color:var(--teal-l);background:rgba(20,184,166,.1);border:1px solid rgba(20,184,166,.28);border-radius:9px;padding:8px 12px}
.dm-land .sbadge svg{width:15px;height:15px}

/* workflow */
.dm-land .flow{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;position:relative;margin-top:10px}
.dm-land .flow::before{content:"";position:absolute;inset-block-start:26px;inset-inline:8%;height:2px;background:linear-gradient(90deg,var(--cobalt),var(--cyan) 40%,var(--teal) 75%,var(--violet))}
.dm-land .step{position:relative}
.dm-land .step .num{width:54px;height:54px;border-radius:14px;background:var(--ink);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:1.2rem;color:var(--cyan);position:relative;z-index:1;box-shadow:0 0 0 6px var(--night)}
.dm-land .step h4{font-size:1.02rem;margin:16px 0 6px}
.dm-land .step p{font-size:.88rem;color:var(--muted);line-height:1.5}

/* pillars */
.dm-land .pill{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.dm-land .pcard{border:1px solid var(--line);border-radius:16px;padding:24px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.008));position:relative;overflow:hidden}
.dm-land .pcard .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:16px}
.dm-land .pcard .ic svg{width:22px;height:22px}
.dm-land .pcard.a .ic{background:rgba(34,211,238,.12);color:var(--cyan)}
.dm-land .pcard.b .ic{background:rgba(18,104,232,.16);color:#6fa8ff}
.dm-land .pcard.c .ic{background:rgba(115,87,255,.16);color:#b3a4ff}
.dm-land .pcard h3{font-size:1.24rem;margin-bottom:10px}
.dm-land .pcard p{font-size:.92rem;color:var(--muted);line-height:1.55;margin-bottom:14px}
.dm-land .pcard ul{list-style:none;display:grid;gap:8px}
.dm-land .pcard li{display:flex;gap:9px;font-size:.88rem;color:var(--grey-l)}
.dm-land .pcard li svg{width:16px;height:16px;color:var(--teal-l);flex:none;margin-top:2px}

/* features grouped */
.dm-land .feats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.dm-land .fcard{border:1px solid rgba(6,20,38,.08);border-radius:14px;padding:22px;background:#fff}
.dm-land .fcard .ic{width:38px;height:38px;border-radius:10px;background:var(--grey-l);color:var(--clinic);display:grid;place-items:center;margin-bottom:14px}
.dm-land .fcard .ic svg{width:20px;height:20px}
.dm-land .fcard h4{font-size:1.04rem;margin-bottom:10px;color:var(--ink)}
.dm-land .fcard ul{list-style:none;display:grid;gap:7px}
.dm-land .fcard li{font-size:.86rem;color:#5a7184;display:flex;gap:8px}
.dm-land .fcard li svg{width:15px;height:15px;color:var(--teal);flex:none;margin-top:2px}

/* gallery */
.dm-land .gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto;gap:16px;margin-top:8px}
.dm-land .shot{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#0d233f,#0a1c33);position:relative}
.dm-land .shot .cap{position:absolute;left:12px;bottom:12px;font-size:.74rem;color:var(--grey-l);background:rgba(6,20,38,.7);border:1px solid var(--line);border-radius:8px;padding:5px 10px;backdrop-filter:blur(4px)}
.dm-land .shot.big{grid-row:span 2}
.dm-land .shot .ph{padding:16px;display:grid;gap:9px;min-height:100%}
.dm-land .shot .mini{font-size:.8rem}

/* multilingual */
.dm-land .ml{overflow:hidden}
.dm-land .ml .glow{width:560px;height:560px;background:radial-gradient(circle,rgba(115,87,255,.28),transparent 60%);top:-120px;left:-100px}
.dm-land .ml .glow.b{background:radial-gradient(circle,rgba(34,211,238,.26),transparent 60%);left:auto;right:-120px;top:auto;bottom:-160px}
.dm-land .ml-in{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.dm-land .globe{position:relative;aspect-ratio:1;max-width:420px;margin-inline:auto}
.dm-land .lchips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.dm-land .lchip{font-size:.92rem;font-weight:600;padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--grey-l)}
.dm-land .lchip.rtl{direction:rtl;border-color:rgba(34,211,238,.4);color:var(--cyan)}

/* why */
.dm-land .why{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.dm-land .why .w{border-top:2px solid var(--line);padding-top:18px}
.dm-land .why .w h4{font-size:1.1rem;margin-bottom:8px}
.dm-land .why .w p{font-size:.92rem;color:var(--muted);line-height:1.55}

/* clinic workspace (ajout) — captures en thème CLAIR réel de l'app, montées dans des cadres sombres */
.dm-land .clinic{overflow:hidden}
.dm-land .clinic .glow{width:680px;height:440px;background:radial-gradient(circle,rgba(36,107,253,.22),transparent 62%);top:6%;right:-180px}
.dm-land .chain{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px;font-size:.82rem;color:var(--muted);border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:rgba(255,255,255,.02)}
.dm-land .chain b{color:var(--teal-l);font-weight:600}
.dm-land .chain svg{width:14px;height:14px;color:var(--cyan)}
.dm-land .cgrid{display:grid;grid-template-columns:1.55fr 1fr;gap:22px;margin-top:38px}
.dm-land .cwrap{display:grid;gap:12px;align-content:start}
.dm-land .big-c{grid-column:1;grid-row:1 / span 2}
.dm-land .ai-c{grid-column:1 / 3}
.dm-land .ccap{display:flex;align-items:baseline;gap:11px}
.dm-land .ccap .cnum{font-family:var(--disp);font-weight:800;font-size:.78rem;color:var(--cyan);letter-spacing:.1em}
.dm-land .ccap.ai .cnum{color:#b3a4ff}
.dm-land .ccap h3{font-size:1.14rem;margin:0}
.dm-land .ccap .rt{margin-inline-start:auto;font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.dm-land .frame2{border:1px solid rgba(34,211,238,.26);border-radius:16px;background:linear-gradient(180deg,#0c2033,#08182c);padding:9px;box-shadow:0 34px 74px -34px rgba(0,0,0,.8),0 0 34px -10px rgba(34,211,238,.18)}
.dm-land .chrome{display:flex;align-items:center;gap:7px;padding:5px 6px 10px}
.dm-land .chrome i{width:9px;height:9px;border-radius:50%;background:#2b405c}
.dm-land .chrome .url{margin-inline-start:8px;font-size:.62rem;color:#6d8296;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:6px;padding:3px 10px}
/* ---- app dans ses COULEURS D'ORIGINE (thème clair) ---- */
.dm-land .app{--at:#0e7c86;--ad:#0b5f66;--ai:#1f2a2e;--am:#5a6b70;--al:#e6ecee;--abg:#f5f8f9;background:var(--abg);color:var(--ai);border-radius:9px;overflow:hidden;font-family:var(--sans)}
.dm-land .app .ah{padding:15px 18px 4px}
.dm-land .app .ah .t{font-family:var(--disp);font-weight:700;font-size:1.02rem;color:var(--ai)}
.dm-land .app .ah .s{font-size:.76rem;color:var(--am);margin-top:2px}
.dm-land .app .akpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px 18px}
.dm-land .app .akpi{background:#fff;border:1px solid var(--al);border-radius:10px;padding:12px}
.dm-land .app .akpi .n{font-family:var(--disp);font-weight:800;font-size:1.4rem;color:var(--at)}
.dm-land .app .akpi .l{font-size:.62rem;color:var(--am);margin-top:3px;line-height:1.3}
.dm-land .app .arecent{padding:2px 18px 16px}
.dm-land .app .arecent .rt{font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--am);padding:8px 0}
.dm-land .app .arow{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #eef2f3;font-size:.82rem}
.dm-land .app .arow .who{font-weight:600;color:var(--ai)}
.dm-land .app .arow .mo{color:var(--am)}
.dm-land .pill{font-size:.62rem;padding:3px 9px;border-radius:99px;font-weight:600;white-space:nowrap}
.dm-land .pill.n{background:#e8eff6;color:#245f8f}
.dm-land .pill.c{background:#fbf1e0;color:#b26a00}
.dm-land .pill.a{background:#e6f4ec;color:#18794e}
.dm-land .app table.at{width:100%;border-collapse:collapse;font-size:.79rem}
.dm-land .app .at th{text-align:start;font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;color:var(--am);font-weight:700;padding:9px 14px;background:#eef3f4;border-bottom:1px solid var(--al)}
.dm-land .app .at td{padding:9px 14px;border-bottom:1px solid #eef2f3;color:#37474d}
.dm-land .app .at td.ok{color:#1e9e5a;font-weight:800;text-align:center}
.dm-land .app .aqhead{padding:11px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eef2f3}
.dm-land .app .abtn{font-size:.72rem;font-weight:700;color:#fff;background:var(--at);border-radius:8px;padding:7px 12px}
.dm-land .app .aq{display:flex;align-items:center;gap:11px;padding:11px 16px;border-bottom:1px solid #eef2f3}
.dm-land .app .aq .grip{color:#9fb0b5;flex:none}
.dm-land .app .aq .qt{flex:1;color:#37474d;font-size:.83rem}
.dm-land .app .b2{font-size:.58rem;padding:2px 8px;border-radius:99px;border:1px solid #d7e0e2;color:var(--am);white-space:nowrap}
.dm-land .app .b2.cus{border-color:#bfe3e6;color:var(--ad);background:#eafafb}
.dm-land .asw{width:34px;height:19px;border-radius:99px;background:var(--at);position:relative;flex:none}
.dm-land .asw::after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;background:#fff;top:2px;right:2px}
.dm-land .asw.off{background:#cdd8db}.dm-land .asw.off::after{right:auto;left:2px}
.dm-land .app .aikb{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid #eef2f3;font-size:.84rem;color:#37474d}
.dm-land .app .aikb .fi{width:30px;height:30px;border-radius:8px;background:#eafafb;color:var(--at);display:grid;place-items:center;flex:none}
.dm-land .app .aikb .fi svg{width:16px;height:16px}
.dm-land .app .aikb .pg{margin-inline-start:auto;font-size:.7rem;color:#8a99a0}
.dm-land .app .ainote{padding:14px 16px;font-size:.82rem;color:var(--am);line-height:1.5}
.dm-land .app .achip{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:.74rem;font-weight:600;color:var(--ad);background:#eafafb;border:1px solid #bfe3e6;border-radius:8px;padding:6px 11px}
.dm-land .app .achip svg{width:14px;height:14px}

/* final CTA */
.dm-land .fcta{overflow:hidden;text-align:center}
.dm-land .fcta .grid-bg{position:absolute;inset:0;opacity:.4;mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000,transparent)}
.dm-land .fcta .glow{width:640px;height:420px;background:radial-gradient(circle,rgba(34,211,238,.3),transparent 62%);top:0;left:50%;transform:translateX(-50%)}
.dm-land .fcta-in{position:relative;z-index:2;max-width:760px;margin-inline:auto}
.dm-land .fcta .btn{margin-top:28px}

/* footer */
.dm-land .foot{border-top:1px solid var(--line);padding-block:30px}
.dm-land .foot-in{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;font-size:.86rem;color:var(--muted)}
.dm-land .foot a{color:var(--cyan)}

@media(max-width:1000px){
  .dm-land .hero-in{grid-template-columns:1fr;gap:56px} .dm-land .nav{display:none}
  .dm-land .vbar-in{grid-template-columns:repeat(2,1fr)}
  .dm-land .flow{grid-template-columns:repeat(2,1fr);gap:30px 20px} .dm-land .flow::before{display:none}
  .dm-land .pill{grid-template-columns:1fr} .dm-land .feats{grid-template-columns:1fr 1fr}
  .dm-land .prob{grid-template-columns:1fr} .dm-land .bigwin .body{grid-template-columns:1fr}
  .dm-land .bigwin .chat{border-inline-end:0;border-bottom:1px solid var(--line)}
  .dm-land .gal{grid-template-columns:1fr 1fr} .dm-land .shot.big{grid-row:auto}
  .dm-land .ml-in{grid-template-columns:1fr;gap:32px} .dm-land .why{grid-template-columns:1fr}
  .dm-land .cgrid{grid-template-columns:1fr} .dm-land .big-c,.dm-land .ai-c{grid-column:auto;grid-row:auto}
  .dm-land .app .akpis{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .dm-land .vbar-in{grid-template-columns:1fr} .dm-land .feats{grid-template-columns:1fr}
  .dm-land .flow{grid-template-columns:1fr} .dm-land .gal{grid-template-columns:1fr}
  .dm-land .phone{display:none} .dm-land .zoom{display:none} .dm-land .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){ .dm-land *{transition:none!important;animation:none!important} }

/* --- ajouts intégration (skip-link + chevrons RTL) --- */
.dm-land .dm-skip{position:absolute;inset-block-start:0;inset-inline-start:0;z-index:100;background:#04121f;color:#fff;padding:12px 18px;border-end-end-radius:8px;text-decoration:none;font-weight:700;transform:translateY(-140%);transition:transform .16s var(--ease)}
.dm-land .dm-skip:focus{transform:translateY(0)}
.dm-land .dm-dir{flex:none}
.dm-land[dir="rtl"] .dm-dir{transform:scaleX(-1)}
.dm-land a:focus-visible,.dm-land button:focus-visible,.dm-land select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:6px}

/* ============================================================
   SKIN « CHARTE DENTALMASTER 2026 » — appliqué le 20/08/2026.
   Charte : graphite #180B04 · clair #F6F5F3 · cuivre #FF7A45 (sur
   sombre) / #B23F12 (sur clair) · Syne (titres) · Inter (texte) ·
   JetBrains Mono (méta). Deux combinaisons INTERDITES : blanc sur
   #FF7A45, et #FF7A45 sur fond clair (utiliser #B23F12).
   Décision Serge : page à DOMINANTE CLAIRE — le graphite est réservé
   à quelques bandes (vidéo, espace clinique, CTA final) + aux cadres
   produits. Ce bloc, placé en FIN de fichier, gagne la cascade :
   pour revenir à l'ancien thème sombre, supprimer tout ce bloc.
   ============================================================ */

/* ---- 1. Palette générale : la page devient claire ---- */
.dm-land{
  --night:#F6F5F3;                       /* fond de page = clair charte */
  --ink:#221108; --ink2:#2A150A;         /* surfaces sombres (cadres) = graphite chaud */
  --clinic:#B23F12; --cobalt:#B23F12; --cyan:#B23F12;
  --teal:#B23F12; --teal-l:#9A3810; --violet:#B23F12; --magenta:#B23F12;
  --white:#180B04;                       /* texte principal sur clair = graphite */
  --grey-l:#4A382C; --muted:#7A695E;
  --line:rgba(24,11,4,.14); --line-soft:rgba(24,11,4,.06);
  --disp:"Syne","Manrope",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
}

/* ---- 2. Contextes SOMBRES (bandes graphite + cadres produits) :
        on y rebascule les variables — cuivre VIF autorisé sur sombre ---- */
.dm-land .dark,
.dm-land .win, .dm-land .bigwin, .dm-land .phone, .dm-land .zoom, .dm-land .shot,
.dm-land .step .num{
  --white:#F6F5F3; --grey-l:#EDE4DD; --muted:#B9A899;
  --cyan:#FF7A45; --teal:#FF7A45; --teal-l:#FFA06E;
  --clinic:#E4622F; --cobalt:#B23F12; --violet:#FFA06E; --magenta:#FF7A45;
  --line:rgba(246,245,243,.16); --line-soft:rgba(246,245,243,.07);
}
.dm-land .dark{background:#180B04;color:var(--white)}
.dm-land .dark .sub{color:var(--muted)}

/* ---- 3. Éléments à couleurs codées en dur : re-teintés ---- */
/* En-tête collant : clair givré */
.dm-land .head{background:rgba(246,245,243,.82);border-bottom:1px solid rgba(24,11,4,.10)}
.dm-land .brand .mk{background:linear-gradient(135deg,#B23F12,#E4622F);color:#F6F5F3}
.dm-land .nav{color:#4A382C}
.dm-land .nav a:hover{color:#B23F12}
.dm-land .sel{color:#180B04;background:#FFFFFF;border-color:rgba(24,11,4,.18)}
.dm-land .sel option{color:#180B04}
/* Boutons — jamais de blanc sur #FF7A45 : le primaire est cuivre PROFOND #B23F12 */
.dm-land .btn-primary{background:#B23F12;color:#F6F5F3;box-shadow:0 12px 30px -12px rgba(178,63,18,.45)}
.dm-land .btn-primary:hover{background:#9A350E;transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(178,63,18,.55)}
.dm-land .btn-ghost{background:transparent;color:#180B04;border-color:rgba(24,11,4,.25)}
.dm-land .btn-ghost:hover{border-color:#B23F12;background:rgba(178,63,18,.06)}
.dm-land .dark .btn-ghost{color:#F6F5F3;border-color:rgba(246,245,243,.3)}
.dm-land .dark .btn-ghost:hover{border-color:#FF7A45;background:rgba(255,122,69,.10)}
/* Étiquettes méta : cuivre + JetBrains Mono (charte) */
.dm-land .mlabel{font-family:var(--mono)}
/* Lueurs : douces et cuivrées, jamais envahissantes sur fond clair */
.dm-land .glow{opacity:.30}
.dm-land .hero .g1{background:radial-gradient(circle,rgba(228,98,47,.28),transparent 60%)}
.dm-land .hero .g2{background:radial-gradient(circle,rgba(178,63,18,.18),transparent 60%)}
.dm-land .imm .glow{background:radial-gradient(circle,rgba(228,98,47,.20),transparent 65%)}
.dm-land .ml .glow{background:radial-gradient(circle,rgba(228,98,47,.16),transparent 60%)}
.dm-land .ml .glow.b{background:radial-gradient(circle,rgba(178,63,18,.14),transparent 60%)}
.dm-land .clinic .glow{background:radial-gradient(circle,rgba(255,122,69,.14),transparent 62%)}
.dm-land .fcta .glow{background:radial-gradient(circle,rgba(255,122,69,.18),transparent 62%)}
/* Bande de valeurs sous le héros */
.dm-land .vbar{background:#EFE9E4;color:#180B04;border-block:1px solid rgba(24,11,4,.08)}
/* Sections claires : blanc pur sur page ivoire */
.dm-land .light{background:#FFFFFF;color:#180B04}
.dm-land .light .sub{color:#5F5148}
.dm-land .prob .it{border-top-color:rgba(24,11,4,.12)}
.dm-land .prob .it p{color:#5F5148}
/* Cadres produits (fenêtres, téléphone, captures) : graphite chaud */
.dm-land .win,.dm-land .phone .scr,.dm-land .bigwin,.dm-land .shot{background:linear-gradient(180deg,#241209,#180B04)}
.dm-land .phone{background:#120803}
.dm-land .win{box-shadow:0 40px 90px -30px rgba(24,11,4,.45)}
.dm-land .bigwin{box-shadow:0 50px 100px -40px rgba(24,11,4,.55)}
.dm-land .win-bar i{background:rgba(246,245,243,.22)}
.dm-land .bub.usr{background:linear-gradient(135deg,#B23F12,#E4622F);color:#F6F5F3}
.dm-land .zoom{background:rgba(24,11,4,.94);box-shadow:0 20px 40px -16px rgba(24,11,4,.5)}
.dm-land .shot .cap{background:rgba(24,11,4,.72)}
/* Images produit réelles dans la galerie + héros */
.dm-land .shot img{display:block;width:100%;height:100%;object-fit:cover}
.dm-land .heroimg{margin:0}
.dm-land .heroimg img{display:block;width:100%;border-radius:18px;border:1px solid rgba(24,11,4,.12);box-shadow:0 40px 90px -30px rgba(24,11,4,.40)}
/* Étapes du parcours : pastille graphite, chiffre cuivre vif (contexte sombre) */
.dm-land .step .num{background:#180B04;border-color:rgba(24,11,4,.2);box-shadow:0 0 0 6px var(--night)}
/* Piliers (désormais en bande claire) : cartes blanches, icônes cuivre */
.dm-land .light .pcard{background:#FFFFFF;border-color:rgba(24,11,4,.10)}
.dm-land .light .pcard.a .ic,.dm-land .light .pcard.b .ic,.dm-land .light .pcard.c .ic{background:#F8E9E1;color:#B23F12}
.dm-land .light .pcard li{color:#4A382C}
.dm-land .light .pcard li svg{color:#B23F12}
.dm-land .light .pcard p{color:#7A695E}
/* Cartes de fonctionnalités */
.dm-land .fcard{border-color:rgba(24,11,4,.10)}
.dm-land .fcard .ic{background:#F8E9E1;color:#B23F12}
.dm-land .fcard li{color:#5F5148}
/* Puces de langues (bande claire) */
.dm-land .lchip{background:#FFFFFF;border-color:rgba(24,11,4,.16);color:#4A382C}
.dm-land .lchip.rtl{border-color:#B23F12;color:#B23F12}
/* Pied de page */
.dm-land .foot{background:#180B04;color:#EDE4DD;border-top:0;--muted:#B9A899}
.dm-land .foot a{color:#FFA06E}
/* Lien d'évitement + focus */
.dm-land .dm-skip{background:#180B04;color:#F6F5F3}
.dm-land a:focus-visible,.dm-land button:focus-visible,.dm-land select:focus-visible{outline-color:#B23F12}
.dm-land .dark a:focus-visible,.dm-land .dark button:focus-visible{outline-color:#FF7A45}

/* ============================================================
   FIX 21/08 — Titre hero « étiré » : Syne 800 a des lettres très
   larges ; à 4.4rem sur une phrase longue, l'effet est distordu.
   -> graisse 700 + taille plafonnée + interlettrage neutre.
   (Ajouté en FIN de fichier, conformément à la règle de skin :
   rollback = supprimer ce bloc.)
   ============================================================ */
.dm-land .h-hero{
  font-weight:700;
  font-size:clamp(2.1rem, 1.2rem + 2.6vw, 3.5rem);
  letter-spacing:-.015em;
  line-height:1.08;
}
