/* SUPRA IA — v2.0 révisée — 2026-10-05. Palette resserrée ; typographie et grille conservées. */
:root {
  --sip-navy: #0b1f3a;
  --sip-bleu-ia: #2563eb;
  --sip-or-premium: #d6a84f;
  --sip-bleu-sur-navy: #60a5fa;
  --sip-blanc: #ffffff;
  --sip-fond-clair: #f8fafc;
  --sip-anthracite: #1f2937;
  --sip-gris-texte: #475569;
  --sip-gris-filet: #e2e8f0;
  --sip-vert-confiance: #15803d;
  --sip-succes-fond: #dcfce7;
  --sip-or-clair: #fbf6ea;
  --sip-or-fonce: #8a651f;
  --sip-erreur-texte: #b91c1c;
  --sip-erreur-fond: #fee2e2;
  --sip-voile-photo: rgba(11, 31, 58, 0.88);
  --sip-space-1: 8px;
  --sip-space-2: 16px;
  --sip-space-3: 24px;
  --sip-space-4: 32px;
  --sip-space-5: 40px;
  --sip-space-6: 48px;
  --sip-space-8: 64px;
  --sip-space-10: 80px;
  --sip-space-12: 96px;
  --sip-radius-none: 0px;
  --sip-radius-control: 8px;
  --sip-radius-card: 12px;
  --sip-radius-pastille: 9999px;
  --sip-ombre-carte: 0 4px 16px rgba(11, 31, 58, 0.06);
  --sip-ombre-panneau: 0 12px 32px rgba(11, 31, 58, 0.07);
  --sip-ombre-menu: 0 20px 48px rgba(11, 31, 58, 0.07);
  --sip-conteneur: 1280px;
  --sip-lecture: 70ch;
  --sip-gouttiere-desktop: 48px;
  --sip-gouttiere-tablette: 32px;
  --sip-gouttiere-mobile: 24px;
  --sip-section-desktop: 96px;
  --sip-section-tablette: 72px;
  --sip-section-mobile: 56px;
  --sip-bp-large: 1152px;
  --sip-bp-tablette: 1024px;
  --sip-bp-mobile: 768px;
  --sip-bp-petit: 360px;
  --sip-control-height: 48px;
  --sip-focus-width: 3px;
  --sip-filet-premium: 3px;
  --sip-icone-metier: 64px;
  --sip-icon-grid: 24px;
  --sip-icon-stroke: 2px;
  --sip-vert-texte: var(--sip-vert-confiance);
  --sip-succes-texte: var(--sip-vert-confiance);
  --sip-font-sans: "Graphik", "Helvetica Neue", Arial, sans-serif;
}
:root, [data-theme="clair"] {
  --sip-surface: var(--sip-blanc);
  --sip-surface-alt: var(--sip-fond-clair);
  --sip-surface-teinte: var(--sip-fond-clair);
  --sip-titre: var(--sip-navy);
  --sip-texte: var(--sip-anthracite);
  --sip-texte-secondaire: var(--sip-gris-texte);
  --sip-lien: var(--sip-bleu-ia);
  --sip-lien-survol: var(--sip-navy);
  --sip-filet: var(--sip-gris-filet);
  --sip-bordure-controle: var(--sip-gris-texte);
  --sip-focus: var(--sip-bleu-ia);
  --sip-accent: var(--sip-or-premium);
  --sip-action: var(--sip-bleu-ia);
  --sip-action-survol: var(--sip-navy);
  --sip-texte-sur-action: var(--sip-blanc);
}
[data-theme="navy"] {
  --sip-surface: var(--sip-navy);
  --sip-surface-alt: var(--sip-navy);
  --sip-surface-teinte: var(--sip-navy);
  --sip-titre: var(--sip-blanc);
  --sip-texte: var(--sip-blanc);
  --sip-texte-secondaire: var(--sip-blanc);
  --sip-lien: var(--sip-bleu-sur-navy);
  --sip-lien-survol: var(--sip-blanc);
  --sip-filet: rgba(255, 255, 255, 0.16);
  --sip-bordure-controle: var(--sip-blanc);
  --sip-focus: var(--sip-bleu-sur-navy);
  --sip-accent: var(--sip-or-premium);
  --sip-action: var(--sip-blanc);
  --sip-action-survol: var(--sip-fond-clair);
  --sip-texte-sur-action: var(--sip-navy);
}
:root { --sip-h1-size: 48px; --sip-h1-line-height: 56px; --sip-h1-weight: 600; --sip-h1-tracking: -0.02em; }
:root { --sip-h2-size: 36px; --sip-h2-line-height: 44px; --sip-h2-weight: 600; --sip-h2-tracking: -0.015em; }
:root { --sip-h3-size: 24px; --sip-h3-line-height: 32px; --sip-h3-weight: 600; --sip-h3-tracking: -0.01em; }
:root { --sip-chiffre-cle-size: 72px; --sip-chiffre-cle-line-height: 80px; --sip-chiffre-cle-weight: 400; --sip-chiffre-cle-tracking: -0.03em; }
:root { --sip-citation-size: 24px; --sip-citation-line-height: 36px; --sip-citation-weight: 400; --sip-citation-tracking: -0.01em; }
:root { --sip-intro-size: 18px; --sip-intro-line-height: 28px; --sip-intro-weight: 400; --sip-intro-tracking: 0; }
:root { --sip-body-size: 16px; --sip-body-line-height: 26px; --sip-body-weight: 400; --sip-body-tracking: 0; }
:root { --sip-button-size: 16px; --sip-button-line-height: 24px; --sip-button-weight: 600; --sip-button-tracking: 0; }
:root { --sip-small-size: 14px; --sip-small-line-height: 22px; --sip-small-weight: 400; --sip-small-tracking: 0; }
:root { --sip-surtitre-size: 14px; --sip-surtitre-line-height: 20px; --sip-surtitre-weight: 600; --sip-surtitre-tracking: 0.08em; }
:root { --sip-legende-size: 12px; --sip-legende-line-height: 18px; --sip-legende-weight: 400; --sip-legende-tracking: 0; }
:root { --sip-h1-mobile-size: 34px; --sip-h1-mobile-line-height: 42px; --sip-h1-mobile-weight: 600; --sip-h1-mobile-tracking: -0.02em; }
:root { --sip-h2-mobile-size: 28px; --sip-h2-mobile-line-height: 36px; --sip-h2-mobile-weight: 600; --sip-h2-mobile-tracking: -0.015em; }
:root { --sip-h3-mobile-size: 22px; --sip-h3-mobile-line-height: 30px; --sip-h3-mobile-weight: 600; --sip-h3-mobile-tracking: -0.01em; }
:root { --sip-chiffre-cle-mobile-size: 56px; --sip-chiffre-cle-mobile-line-height: 64px; --sip-chiffre-cle-mobile-weight: 400; --sip-chiffre-cle-mobile-tracking: -0.03em; }
:root { --sip-surtitre-mobile-size: 12px; --sip-surtitre-mobile-line-height: 18px; --sip-surtitre-mobile-weight: 600; --sip-surtitre-mobile-tracking: 0.06em; }

:root{color-scheme:light;--navy:#0b1f3a;--blue:#2563eb;--gold:#d6a84f;--muted:var(--sip-gris-texte);--line:var(--sip-gris-filet);--light:#f8fafc;font-family:Graphik,"Helvetica Neue",Arial,sans-serif;color:var(--navy);background:var(--light);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:280px}button,a,input{font:inherit}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}svg{width:21px;height:21px;flex-shrink:0;vertical-align:middle}body{min-height:100svh;display:grid;place-items:center;padding:32px 16px}.card{width:100%;max-width:448px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sip-ombre-carte);overflow:hidden}.brand{padding:23px 24px 20px;border-bottom:1px solid var(--line)}.logo{display:block;width:100%;height:auto;max-width:360px;margin:auto}.content{padding:27px 28px 19px}.eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 13px;display:flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:22px;height:2px;background:var(--gold)}h1{font-size:32px;font-weight:600;letter-spacing:-1.15px;line-height:1.15;margin:0 0 9px}.company{margin:0;font-size:12px;letter-spacing:.12em;font-weight:600}.signature{font-size:14px;line-height:1.5;color:var(--muted);margin:12px 0 23px}.role{font-size:14px;margin:10px 0 0}.identity{display:flex;align-items:center;gap:16px}.identity-text{min-width:0}.identity h1{font-size:26px;letter-spacing:-.8px}.photo{width:80px;height:80px;flex-shrink:0;object-fit:cover;border-radius:50%;background:var(--light);border:1px solid var(--line)}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action{min-height:49px;border:1px solid var(--sip-bordure-controle);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;font-size:14px;font-weight:600;background:#fff}.primary{grid-column:1/-1;background:var(--blue);color:white;border-color:var(--blue);min-height:54px;font-size:16px}.action:hover{background:var(--light)}.primary:hover{background:var(--sip-action-survol)}.details{margin-top:19px}.detail{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;font-size:14px;overflow-wrap:anywhere}.detail:hover .detail-label{text-decoration:underline;text-underline-offset:4px}.detail svg{width:18px;height:18px;color:var(--muted)}.detail small{display:block;color:var(--muted);font-size:12px;line-height:1.4}.detail .arrow{margin-left:auto;color:var(--muted);width:15px}.email{padding:5px 0}.email .detail-label{font-size:13px}.website{font-size:12px;color:var(--muted);margin:13px 0 0;padding-top:15px;border-top:1px solid var(--line)}.website span{color:var(--navy)}.tools{background:var(--light);border-top:1px solid var(--line);padding:8px 16px;display:flex;align-items:center;justify-content:center;gap:8px}.quiet{background:transparent;border:0;min-height:44px;padding:8px 6px;font-size:12px;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.quiet svg{width:17px;height:17px}.quiet:hover{text-decoration:underline;text-underline-offset:4px}.tools>span{height:16px;width:1px;background:var(--sip-gris-filet)}.install{max-width:448px;width:100%;color:var(--muted);text-align:center;font-size:12px;margin-top:12px}.install summary{cursor:pointer;min-height:32px;line-height:32px}.install p{margin:7px 14px;line-height:1.6}.shell{width:100%;max-width:448px}#status{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);color:white;background:var(--navy);padding:12px 20px;border-radius:8px;font-size:14px;z-index:5;box-shadow:0 4px 20px #0b1f3a20}#status:empty{display:none}dialog{border:0;padding:0;color:var(--navy);background:#fff}dialog::backdrop{background:#0b1f3ad9}.qr-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;overflow:auto}.qr-content{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(76px,env(safe-area-inset-top)) 24px max(30px,env(safe-area-inset-bottom));text-align:center}.qr-content .logo{width:min(100%,360px);margin:0 0 28px}.qr-content h2{font-size:20px;font-weight:400;line-height:1.45;margin:25px 0 4px;max-width:320px}.qr-content p{color:var(--muted);font-size:13px;margin:10px 0}.qr-image{width:min(100%,470px,55svh);height:auto;image-rendering:pixelated;display:block}.close{position:absolute;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));min-width:44px;min-height:44px;border:1px solid var(--sip-bordure-controle);border-radius:50%;background:#fff;display:grid;place-items:center}.copy-dialog{width:calc(100% - 32px);max-width:420px;border-radius:12px;padding:30px 24px}.copy-dialog h2{font-size:22px;margin-top:0}.copy-dialog label{display:block;font-size:14px}.copy-dialog input{width:100%;margin:12px 0 20px;padding:12px 8px;border:1px solid var(--sip-bordure-controle);border-radius:8px;font-size:14px}.copy-dialog .action{width:100%}[hidden]{display:none!important}body:has(dialog[open]){overflow:hidden}@media(max-width:480px){body{padding:0 0 12px;align-items:start;background:#fff}.card{border:none;border-radius:0;box-shadow:none}.brand{padding:20px 20px 17px}.content{padding:24px 24px 20px}.tools{padding-inline:12px}.install{margin-top:6px}}@media(max-width:360px){h1{font-size:29px}.content{padding-inline:20px}.tools{gap:3px}.quiet{font-size:12px}.brand{padding-inline:0}}@media(max-height:700px) and (max-width:480px){.brand{padding-block:10px}.content{padding-top:20px;padding-bottom:16px}.signature{margin:10px 0 18px}.details{margin-top:12px}.website{margin-top:10px;padding-top:12px}.eyebrow{margin-bottom:10px}}@media(display-mode:standalone){.install{display:none}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.qr-content{padding-top:max(76px,env(safe-area-inset-top))}}@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .15s ease}}@media print{body{padding:0}.tools,.install,.actions{display:none}.card{box-shadow:none}}
@media(max-height:740px){.qr-content{padding-top:66px;padding-bottom:20px}.qr-content .logo{margin-bottom:12px;width:min(100%,320px)}.qr-image{width:min(100%,430px,46svh)}.qr-content h2{margin-top:15px;font-size:18px}.qr-content p{margin:7px 0;font-size:12px}}

@media(max-width:360px){.identity{gap:12px}.identity h1{font-size:23px}.photo{width:64px;height:64px}}

/* One opening sequence; the final layout stays unchanged. */
@media screen and (prefers-reduced-motion:no-preference){
  @keyframes card-arrive{
    from{opacity:0;transform:translateY(16px) scale(.97)}
    to{opacity:1;transform:translateY(0) scale(1)}
  }
  @keyframes contact-highlight{
    0%,100%{box-shadow:0 0 0 0 #2563eb00}
    45%{box-shadow:0 0 0 7px #2563eb20,0 8px 24px #2563eb25}
  }
  .card>.brand,.card .eyebrow,.card .identity,.card .signature,.card .actions>.action,.card .details,.card .website,.card>.tools{
    animation:card-arrive 600ms cubic-bezier(.16,1,.3,1) both;
  }
  .card .eyebrow{animation-delay:100ms}
  .card .identity{animation-delay:180ms}
  .card .signature{animation-delay:280ms}
  .card .actions>.primary{animation:card-arrive 600ms cubic-bezier(.16,1,.3,1) 380ms both,contact-highlight 900ms ease-out 650ms}
  .card .actions>.action:nth-child(2){animation-delay:460ms}
  .card .actions>.action:nth-child(3){animation-delay:540ms}
  .card .details{animation-delay:600ms}
  .card .website,.card>.tools{animation-delay:680ms}
  .card:focus-within *{animation:none}
}

.website{display:grid;gap:10px}.website-tab,.booking-tab{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 16px;border-radius:var(--sip-radius-control);text-decoration:none;text-align:center}.website-tab{background:var(--sip-navy);color:var(--sip-blanc);font-size:21px;font-weight:600;letter-spacing:-.02em}.website-tab:hover{background:var(--sip-anthracite)}.booking-tab{border:1px solid var(--sip-navy);background:var(--sip-fond-clair);font-size:14px;font-weight:600;color:var(--sip-navy)}.booking-tab:hover{background:var(--sip-blanc)}.booking-tab .booking-duration{white-space:nowrap;font-weight:400}.website-tab svg,.booking-tab svg{width:18px;height:18px;flex-shrink:0}.website .website-tab{color:var(--sip-blanc)}
