/* TALKSEN — feuille de style du site
   Conçu par Graphicomm. Palette et typographies de la charte TALKSEN. */

@font-face{font-family:Montserrat;font-weight:700;font-display:swap;src:url(fonts/montserrat-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-weight:700;font-display:swap;src:url(fonts/montserrat-latin-ext-700.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-weight:800;font-display:swap;src:url(fonts/montserrat-latin-800.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-weight:800;font-display:swap;src:url(fonts/montserrat-latin-ext-800.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-weight:400;font-display:swap;src:url(fonts/dm-sans-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-weight:400;font-display:swap;src:url(fonts/dm-sans-latin-ext-400.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-weight:500;font-display:swap;src:url(fonts/dm-sans-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-weight:700;font-display:swap;src:url(fonts/dm-sans-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-weight:700;font-display:swap;src:url(fonts/dm-sans-latin-ext-700.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --bleu:#0053A3;--bleu-fonce:#003A75;--corail:#FE6C55;--corail-texte:#A3311C;--corail-clair:#FFE3DD;--corail-voile:#FFEAE5;
  --nuit:#0C2340;--nuit-2:#08182E;--fond:#F5F7FB;--gris:#55657A;--texte-2:#3F4B5C;--violet:#6B3FA0;--bleu-clair:#E5EEF8;
  --degrade:linear-gradient(90deg,#008CD1,#9C8BFE,#ED8CD9,#FE6C55,#EF7D00);
  --degrade-135:linear-gradient(135deg,#008CD1,#9C8BFE,#ED8CD9,#FE6C55,#EF7D00);
  --titre:Montserrat,system-ui,sans-serif;--corps:"DM Sans",system-ui,sans-serif;
  --largeur:1240px;--rayon:28px;
  --sortie:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:#FFFFFF;color:var(--nuit);font-family:var(--corps);font-size:17px;line-height:1.55;overflow-x:clip}
main,footer{overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--bleu);text-decoration:none}a:hover{color:var(--bleu-fonce)}
:focus-visible{outline:3px solid #9C8BFE;outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--titre);font-weight:800;margin:0;line-height:1.12}
p{margin:0}
.visuellement-cache{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.conteneur{max-width:var(--largeur);margin:0 auto;padding-left:24px;padding-right:24px}
.conteneur-etroit{max-width:880px;margin:0 auto;padding-left:24px;padding-right:24px}
.section{padding:96px 0;position:relative}
.s-blanc{background:#FFFFFF}.s-gris{background:var(--fond)}.s-corail{background:#FFF6F2}
.s-nuit{background:var(--nuit);color:#FFFFFF;background-image:radial-gradient(circle at 100% 0%,rgba(0,140,209,.35),transparent 40%),radial-gradient(circle at 0% 100%,rgba(237,140,217,.25),transparent 40%)}
.s-degrade{color:#FFFFFF;background-image:linear-gradient(120deg,#0053A3 0%,#4B3BB0 45%,#A0469A 75%,#D9573F 100%)}
.entete-section{display:flex;flex-direction:column;gap:12px;max-width:46rem;margin-bottom:40px}
.entete-section.ligne{max-width:none;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px}
.surtitre{align-self:flex-start;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--violet)}
.surtitre.corail{color:var(--corail-texte)}.surtitre.bleu{color:var(--bleu)}.surtitre.rose{color:#F5B8EA}
.h2{font-size:clamp(1.9rem,3.2vw,2.7rem)}
.chapeau{font-size:18px;color:var(--texte-2)}
.s-nuit .chapeau,.s-degrade .chapeau{color:#D6E4F5}
.lien-fleche{font-weight:700;display:inline-flex;align-items:center;gap:6px;min-height:44px}
.texte-degrade{background-image:linear-gradient(90deg,#9C8BFE,#ED8CD9,#FE6C55,#EF7D00);-webkit-background-clip:text;background-clip:text;color:transparent}
.bord-degrade{border:2px solid transparent;background-image:linear-gradient(#FFFFFF,#FFFFFF),var(--degrade-135);background-origin:border-box;background-clip:padding-box,border-box}

/* Boutons */
.bouton{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 26px;border-radius:26px;border:none;cursor:pointer;font-family:var(--titre);font-weight:800;font-size:15px;text-align:center;transition:transform .2s,box-shadow .2s}
.bouton:hover{transform:translateY(-2px)}
.bouton-corail{background:var(--corail);color:#3A0E06;box-shadow:0 10px 30px rgba(254,108,85,.35)}.bouton-corail:hover{color:#3A0E06}
.bouton-bleu{background:var(--bleu);color:#FFFFFF}.bouton-bleu:hover{color:#FFFFFF}
.bouton-blanc{background:#FFFFFF;color:var(--nuit)}.bouton-blanc:hover{color:var(--nuit)}
.bouton-contour{background:transparent;color:var(--bleu);border:1.5px solid var(--bleu)}

/* En-tête */
.entete{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #E6EBF2}
.entete-barre{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.logo img{height:32px;width:auto}
.nav-principale{display:flex;align-items:center;gap:28px;font-size:15px;font-weight:500}
.nav-principale a{color:var(--nuit);padding:10px 0;position:relative;white-space:nowrap}
.cta-entete{white-space:nowrap}
.entete-barre .logo,.nav-principale,.entete-actions{flex-shrink:0}
@media (min-width:1200px) and (max-width:1279px){.nav-principale{gap:18px;font-size:14px}.entete-barre{gap:12px}.cta-entete{padding:0 14px;font-size:13px}}
.nav-principale a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--degrade);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--sortie)}
.nav-principale a:hover::after,.nav-principale a[aria-current="page"]::after{transform:scaleX(1)}
.entete-actions{display:flex;align-items:center;gap:10px}
.langue-bascule{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 12px;border-radius:22px;border:1px solid #D5DCE6;color:var(--nuit);font-weight:700;font-size:13px}
.cta-entete{height:44px;padding:0 20px;border-radius:22px;color:#FFFFFF;font-family:var(--titre);font-weight:700;font-size:14px;display:inline-flex;align-items:center;border:2px solid transparent;background-image:linear-gradient(var(--bleu),var(--bleu)),var(--degrade);background-origin:border-box;background-clip:padding-box,border-box}
.cta-entete:hover{color:#FFFFFF}
.bouton-menu{display:none;width:44px;height:44px;border-radius:22px;background:var(--bleu);border:none;cursor:pointer;align-items:center;justify-content:center}
.bouton-menu svg{stroke:#FFFFFF}
.menu-mobile{display:none;border-top:1px solid #E6EBF2;background:#FFFFFF;padding:8px 24px 24px}
.menu-mobile a{display:block;color:var(--nuit);padding:14px 0;border-bottom:1px solid #EEF1F6;font-family:var(--titre);font-weight:700;font-size:18px}
.menu-mobile a.bouton{display:flex;margin-top:16px;border:none;color:#FFFFFF;height:52px}
.entete.ouvert .menu-mobile{display:block}

/* Ondes audio */
.onde{position:absolute;left:0;right:0;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.onde svg{position:absolute;left:0;top:0;width:200%;height:100%}
.onde .droite{animation:vagueD 14s linear infinite}.onde .gauche{animation:vagueG 22s linear infinite}
.separateur-onde{position:relative;height:90px}
.separateur-onde .onde{inset:0}
@keyframes vagueD{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes vagueG{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Haut de page */
.hero{position:relative;overflow:hidden;color:#FFFFFF;background:var(--nuit);background-image:radial-gradient(circle at 82% 18%,rgba(156,139,254,.55),transparent 42%),radial-gradient(circle at 70% 92%,rgba(254,108,85,.45),transparent 40%),radial-gradient(circle at 4% 96%,rgba(0,140,209,.5),transparent 38%),radial-gradient(circle at 40% 0%,rgba(237,140,217,.25),transparent 35%)}
.hero .onde{top:38%;height:300px;opacity:.55}
.hero-grille{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:48px;padding-top:64px;padding-bottom:72px}
.hero-texte{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:24px}
.badge{display:inline-block;padding:7px 14px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);font-family:var(--corps);font-size:13px;font-weight:700;letter-spacing:.08em;line-height:1.4;text-transform:uppercase;color:#FFFFFF}
.hero h1{font-size:clamp(2.3rem,4.8vw,3.9rem);line-height:1.05;letter-spacing:-.02em;animation:miseAuPoint 1.2s var(--sortie) both}
.hero h1 .badge{margin-bottom:20px}
.hero-chapeau{font-size:19px;color:#D6E4F5;max-width:34rem;animation:apparaitre .8s var(--sortie) .5s both}
.essai{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);max-width:36rem;animation:apparaitre .8s var(--sortie) .75s both}
.essai-titre{font-size:14px;font-weight:700}
.choix-langues{display:flex;flex-wrap:wrap;gap:8px}
.choix-langues button{height:44px;padding:0 16px;border-radius:22px;font:700 15px var(--corps);cursor:pointer;background:rgba(255,255,255,.1);color:#FFFFFF;border:1px solid rgba(255,255,255,.25);transition:background .2s,box-shadow .2s}
.choix-langues button[aria-checked="true"]{background:#FFFFFF;color:var(--nuit);box-shadow:0 0 0 3px rgba(237,140,217,.6);border-color:#FFFFFF}
.hero-visuel{flex:1 1 460px;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;animation:apparaitre 1s var(--sortie) .3s both}
.orbite span{position:absolute;padding:9px 16px;border-radius:20px;font:700 15px var(--titre);color:#FFFFFF;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:derive 7s ease-in-out infinite}
.telephone{position:relative;z-index:1;width:300px;max-width:100%;border-radius:46px;padding:12px;background-image:linear-gradient(160deg,#24508C,#0C2340);box-shadow:0 40px 90px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.16),0 0 90px rgba(156,139,254,.35)}
.ecran{border-radius:36px;background:var(--fond);color:var(--nuit);height:540px;display:flex;flex-direction:column;overflow:hidden}
.ecran-haut{padding:18px 16px 12px;background:#FFFFFF;border-bottom:1px solid #E6EBF2;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700}
.ecran-haut strong{font-family:var(--titre);font-weight:800;font-size:14px}
.ecran-fil{flex:1;padding:14px;display:flex;flex-direction:column;justify-content:flex-end;gap:14px}
.bulle-moi{align-self:flex-end;max-width:90%;background:var(--bleu);color:#FFFFFF;border-radius:20px 20px 6px 20px;padding:12px 14px;display:flex;flex-direction:column;gap:7px}
.bulle-autre{align-self:flex-start;max-width:90%;border-radius:20px 20px 20px 6px;padding:12px 14px;display:flex;flex-direction:column;gap:7px}
.ligne-principale{font-size:15px;line-height:1.35}
.ligne-traduite{font-size:13px;line-height:1.35}
.bulle-moi .ligne-traduite{color:#C9DCF2}
.bulle-autre .ligne-traduite{color:#8A4A3D}.bulle-autre .ligne-principale{color:#3A0E06}
.mot{display:inline-block;white-space:pre;animation:mot .45s var(--sortie) both}
.ecran-bas{padding:12px;background:#FFFFFF;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ecran-bas span{display:flex;align-items:center;justify-content:center;height:48px;border-radius:16px;font:700 13px var(--titre)}
.ecran-bas .b1{background:var(--bleu);color:#FFFFFF}.ecran-bas .b2{background:var(--corail);color:#3A0E06;animation:halo 2.2s ease-out 3s infinite}
.niveaux{display:flex;align-items:center;gap:4px;height:44px}
.niveaux span{display:block;width:4px;height:44px;border-radius:2px;background-image:linear-gradient(180deg,#9C8BFE,#ED8CD9,#FE6C55);animation:niveau 1s ease-in-out infinite}
.hero-pied{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;font-size:14px}
.pastille-mode{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:14px;background:rgba(255,255,255,.1);font-weight:700}
.pastille-mode i{width:8px;height:8px;border-radius:4px;background:#5BE0A0}
.pastille-mode.mode-phrase i{background:#F7A04A}
.hero-pied a{color:#FFFFFF;font-weight:700;text-decoration:underline;text-underline-offset:4px}

/* Formulaire liste d'attente */
.form-attente{display:flex;flex-wrap:wrap;gap:10px;max-width:36rem}
.form-attente input[type=email]{flex:1 1 220px;min-width:0;height:56px;padding:0 20px;border-radius:28px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#FFFFFF;font:16px var(--corps)}
.form-attente input::placeholder{color:#B9CCE4}
.form-attente .bouton{height:56px;border-radius:28px}
.form-attente.clair input[type=email]{border-color:#D5DCE6;background:#FFFFFF;color:var(--nuit)}
.form-attente.clair input::placeholder{color:#7A8799}
.consentement{flex-basis:100%;display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:#B9CCE4}
.consentement input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--corail)}
.consentement a{color:#FFFFFF;text-decoration:underline}
.form-attente.clair .consentement{color:var(--gris)}.form-attente.clair .consentement a{color:var(--bleu)}
.form-message{flex-basis:100%;font-size:15px;font-weight:700;min-height:1px}
.form-message.ok{color:#5BE0A0}.form-message.erreur{color:#FFB4A6}
.form-attente.clair .form-message.ok{color:#137A4B}.form-attente.clair .form-message.erreur{color:var(--corail-texte)}
.piege{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* Bandeau de langues */
.bandeau{background-image:var(--degrade);overflow:hidden;position:relative}
.bandeau-piste{display:flex;width:max-content;animation:vagueG 40s linear infinite;padding:18px 0}
.bandeau-piste span{font:800 26px var(--titre);color:var(--nuit);padding:0 22px;white-space:nowrap}
.bandeau-piste span::after{content:"•";margin-left:44px;opacity:.45}

/* Histoire en trois gestes */
.histoire{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.histoire-etapes{flex:1 1 460px;min-width:0}
.etapes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.etape{width:100%;display:flex;gap:18px;align-items:flex-start;padding:22px;border-radius:24px;border:2px solid transparent;background:var(--fond);cursor:pointer;text-align:left;font:inherit;color:inherit;opacity:.8;transition:all .35s var(--sortie)}
.etape[aria-current="step"]{opacity:1;background-image:linear-gradient(#FFFFFF,#FFFFFF),var(--degrade-135);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 16px 40px rgba(12,35,64,.1)}
.etape-num{flex:none;width:44px;height:44px;border-radius:22px;display:flex;align-items:center;justify-content:center;font:800 18px var(--titre);background:#FFFFFF;color:var(--bleu);border:1px solid #D5DCE6;transition:all .35s}
.etape[aria-current="step"] .etape-num{background:var(--bleu);color:#FFFFFF;border-color:var(--bleu)}
.etape strong{display:block;font:800 20px var(--titre);margin-bottom:6px}
.etape span.t{color:var(--texte-2);font-size:16px}
.histoire-ecran{flex:1 1 360px;min-width:0;position:sticky;top:110px;display:flex;justify-content:center}
.cadre-ecran{position:relative;padding:36px;border-radius:40px;background-image:linear-gradient(135deg,#E5EEF8,#EEE9FF 50%,#FFE3DD)}
.pile-ecrans{position:relative;width:280px;max-width:100%;aspect-ratio:320/698}
.pile-ecrans img{position:absolute;inset:0;width:100%;height:100%;border-radius:34px;box-shadow:0 30px 60px rgba(12,35,64,.22);opacity:0;transform:scale(.96) translateY(14px);transition:opacity .6s var(--sortie),transform .6s var(--sortie)}
.pile-ecrans img.actif{opacity:1;transform:none}
.voyant{position:absolute;top:18px;right:18px;width:18px;height:18px;border-radius:9px;background:var(--corail);animation:pulse 2s ease-in-out infinite}

/* Frise simultané / phrase par phrase */
.frise{display:flex;flex-direction:column;gap:18px;padding:28px;border-radius:28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.frise-ligne{display:flex;align-items:center;gap:16px}
.frise-label{width:190px;flex:none;display:flex;flex-direction:column;gap:2px}
.frise-label strong{font:700 16px var(--titre)}.frise-label span{font-size:13px;color:#B9CCE4}
.frise-piste{flex:1;min-width:0;position:relative;height:34px;border-radius:17px;background:rgba(255,255,255,.07)}
.frise-barre{position:absolute;top:0;bottom:0;border-radius:17px;transform-origin:left center;transform:scaleX(0)}
.frise.joue .frise-barre{animation:grandir var(--duree) linear var(--retard) both}
.frise-echelle{display:flex;justify-content:space-between;font-size:12px;color:#B9CCE4}
.frise-note{font-size:14px;color:#B9CCE4;margin-top:20px}

/* Comparatif */
.comparatif{display:flex;flex-direction:column;gap:12px}
.comparatif-ligne{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:12px}
.comparatif-tete{font:800 14px var(--titre);letter-spacing:.04em;text-transform:uppercase}
.comparatif-tete span{padding:0 22px;color:var(--gris)}.comparatif-tete span+span{color:var(--bleu)}
.avant,.apres{display:flex;align-items:center;gap:12px;padding:18px 22px;border-radius:20px;font-size:16px;line-height:1.45}
.avant{background:var(--fond);color:var(--gris)}
.apres{font-weight:700}
.coche{flex:none;width:28px;height:28px;border-radius:14px;background-image:linear-gradient(135deg,#0053A3,#9C8BFE);display:flex;align-items:center;justify-content:center}

/* Cartes situations */
.grille-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.situation{display:flex;flex-direction:column;border-radius:28px;overflow:hidden;background:#FFFFFF;box-shadow:0 6px 20px rgba(12,35,64,.07);transition:transform .3s var(--sortie),box-shadow .3s}
.situation:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(12,35,64,.16)}
.situation-haut{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:210px;padding:24px;color:#FFFFFF;border:none;cursor:pointer;text-align:left;font:inherit;width:100%}
.situation-icone{width:56px;height:56px;border-radius:18px;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center}
.situation-tete{display:flex;justify-content:space-between;align-items:flex-start}
.etiquette{font-size:12px;font-weight:700;color:var(--nuit);background:#FFFFFF;padding:5px 10px;border-radius:10px}
.echange{display:none;flex-direction:column;gap:8px}
.situation-haut[aria-expanded="true"] .echange{display:flex}
.situation-haut[aria-expanded="true"] .ecouter{display:none}
.echange span{max-width:92%;border-radius:14px;padding:8px 11px;font-size:13.5px;line-height:1.35;animation:apparaitre .6s var(--sortie) both}
.echange .e1{align-self:flex-start;background:#FFFFFF;color:var(--nuit);border-bottom-left-radius:4px}
.echange .e2{align-self:flex-end;background:var(--nuit);color:#FFFFFF;border-bottom-right-radius:4px;animation-delay:.5s}
.ecouter{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}
.situation-corps{flex:1;padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px}
.situation-corps h3{font-size:21px}
.situation-corps p{font-size:15.5px;color:var(--texte-2)}
.situation-corps .lien-fleche{margin-top:auto}

/* Mosaïque */
.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.bento article{border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:12px;overflow:hidden}
.bento .large{grid-column:span 2;padding:0;flex-direction:row;flex-wrap:wrap;align-items:stretch;background-image:linear-gradient(135deg,#0053A3,#6B4FD8 60%,#C25BB0);color:#FFFFFF}
.bento .large .txt{flex:1 1 260px;padding:32px;display:flex;flex-direction:column;gap:12px}
.bento .large .txt p{color:#E8E3FF}
.bento .large .vis{flex:1 1 220px;display:flex;justify-content:center;align-items:flex-end;padding:24px 24px 0}
.bento .large img{width:220px;height:300px;object-fit:cover;object-position:top;border-radius:26px 26px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.25)}
.bento h3{font-size:20px}.bento .large h3{font-size:26px;line-height:1.2}
.bento p{font-size:15px;color:var(--texte-2)}
.bento .vignette{width:100%;height:170px;object-fit:cover;border-radius:18px}
.bento .b-rose{background:var(--corail-voile)}.bento .b-rose h3{color:#3A0E06}.bento .b-rose p{color:#5A2A20}
.bento .b-bleu{background:var(--bleu-clair)}
.bento .b-nuit{background:var(--nuit);color:#FFFFFF}.bento .b-nuit p{color:#D6E4F5}
.pastille-icone{width:52px;height:52px;border-radius:16px;background-image:linear-gradient(135deg,#9C8BFE,#FE6C55);display:flex;align-items:center;justify-content:center}

/* Pastilles de langues */
.langues-grille{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.langues-grille>div{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:14px}
.pastilles{flex:1 1 560px;min-width:0;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.pastilles a,.pastilles span.p{display:flex;align-items:center;height:48px;padding:0 18px;border-radius:24px;font-weight:700;font-size:15px;transition:transform .2s}
.pastilles a:hover{transform:translateY(-3px)}
.t0{background:#E5EEF8;color:#0C2340}.t1{background:#EEE9FF;color:#3B2380}.t2{background:#FFE3DD;color:#7A2414}.t3{background:#FDEBF7;color:#6E1F5E}.t4{background:#FFF0DF;color:#6B3A00}
.pastilles .pill-phrase{background:var(--corail-voile);color:#7A2414;border:1px dashed #E3A396}

/* Graphicomm */
.graphicomm{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.graphicomm>div:first-child{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:16px}
.graphicomm p{color:#F0EBFF}
.ecrans-flottants{flex:1 1 420px;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ecrans-flottants img{border-radius:22px;box-shadow:0 20px 40px rgba(0,0,0,.3);animation:flotter 6s ease-in-out infinite}
.ecrans-flottants img:nth-child(2){margin-top:36px;animation-delay:1s}.ecrans-flottants img:nth-child(3){animation-delay:2s}
.badge-clair{align-self:flex-start;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:12px;background:rgba(255,255,255,.16)}

/* Engagements */
.zero-piege{font:800 clamp(4rem,9vw,7rem)/.9 var(--titre);background-image:linear-gradient(135deg,#9C8BFE,#ED8CD9,#FE6C55,#EF7D00);-webkit-background-clip:text;background-clip:text;color:transparent}
.engagement{display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:24px;background:#FFFFFF;box-shadow:0 8px 26px rgba(163,49,28,.08)}
.engagement .ic{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center}
.engagement h3{font-size:19px}.engagement p{font-size:15.5px;color:var(--texte-2)}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:12px}
.faq details{border-radius:20px;background:var(--fond);border:2px solid var(--fond);transition:background .3s}
.faq details[open]{border-color:transparent;background-image:linear-gradient(#FFFFFF,#FFFFFF),linear-gradient(135deg,#008CD1,#9C8BFE,#ED8CD9,#FE6C55);background-origin:border-box;background-clip:padding-box,border-box}
.faq summary{list-style:none;cursor:pointer;min-height:64px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;font:700 17px var(--titre)}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font:inherit}
.faq summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#FFFFFF;background:var(--bleu);transition:transform .25s,background .25s}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--corail)}
.faq .reponse{padding:0 22px 20px;color:var(--texte-2);font-size:16px}

/* Et ensuite */
.ensuite a{display:flex;flex-direction:column;gap:10px;padding:28px;border-radius:24px;color:#FFFFFF;transition:transform .3s var(--sortie),box-shadow .3s}
.ensuite a:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(12,35,64,.18);color:#FFFFFF}
.ensuite small{font-size:13px;font-weight:700;opacity:.85}
.ensuite strong{font:800 22px var(--titre)}
.ensuite em{font-style:normal;font-weight:700;margin-top:8px}
.ensuite .g1{background-image:linear-gradient(135deg,#0053A3,#7A5FE0)}.ensuite .g2{background-image:linear-gradient(135deg,#6B3FA0,#C25BB0)}
.ensuite .g3{background-image:linear-gradient(135deg,#FE8A76,#F7A04A);color:#3A0E06}.ensuite .g3:hover{color:#3A0E06}
.ensuite .g4{background-image:linear-gradient(135deg,#0053A3,#008CD1)}

/* Appel final */
.cta-final{position:relative;overflow:hidden;color:#FFFFFF;background:var(--nuit);background-image:radial-gradient(circle at 15% 20%,rgba(0,140,209,.5),transparent 40%),radial-gradient(circle at 85% 30%,rgba(156,139,254,.5),transparent 40%),radial-gradient(circle at 50% 110%,rgba(254,108,85,.55),transparent 45%)}
.cta-final .conteneur-etroit{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;padding-top:40px;padding-bottom:104px}
.cta-final h2{font-size:clamp(2rem,3.6vw,3rem);line-height:1.1}
.cta-final .form-attente{justify-content:center}
.cta-final .consentement{text-align:left}
.symbole-flottant{height:64px;width:auto;animation:flotter 5s ease-in-out infinite}

/* Pied de page */
.pied{background:var(--nuit-2);color:#C9DCF2}
.pied .separateur-onde{height:56px}
.pied-grille{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;padding-top:40px}
.pied-marque{flex:1 1 260px;display:flex;flex-direction:column;gap:12px;font-size:14px}
.pied-marque img{height:40px;width:auto}
.pied nav{flex:2 1 480px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px;font-size:14px}
.pied nav div{display:flex;flex-direction:column;gap:10px}
.pied nav strong{color:#FFFFFF}
.pied a{color:#C9DCF2}.pied a:hover{color:#FFFFFF}
.pied-bas{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:#8FA3BC;padding:32px 0}
.pied-bas a.g{color:#FFFFFF;font-weight:700}

/* Pages intérieures */
.hero-page{position:relative;overflow:hidden;color:#FFFFFF;background-image:radial-gradient(circle at 85% 15%,rgba(237,140,217,.55),transparent 40%),radial-gradient(circle at 10% 100%,rgba(0,140,209,.6),transparent 45%),linear-gradient(135deg,#0C2340 0%,#23307A 55%,#5B3FA8 100%)}
.hero-page.chaud{background-image:radial-gradient(circle at 85% 15%,rgba(239,125,0,.45),transparent 40%),radial-gradient(circle at 10% 100%,rgba(237,140,217,.5),transparent 45%),linear-gradient(135deg,#0C2340 0%,#5A2550 55%,#A3311C 100%)}
.hero-page.froid{background-image:radial-gradient(circle at 85% 15%,rgba(0,140,209,.55),transparent 40%),radial-gradient(circle at 10% 100%,rgba(156,139,254,.45),transparent 45%),linear-gradient(135deg,#08182E 0%,#0C2340 50%,#0053A3 100%)}
.hero-page .onde{top:45%;height:300px;opacity:.5}
.hero-page .conteneur{position:relative;z-index:1;padding-top:36px;padding-bottom:80px;display:flex;flex-direction:column;gap:32px}
.ariane{font-size:14px;color:#C9DCF2;display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.ariane li+li::before{content:"›";margin-right:8px}
.ariane a{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px}
.hero-page-grille{display:flex;flex-wrap:wrap;align-items:center;gap:48px}
.hero-page-grille>div:first-child{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:22px}
.hero-page h1{font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.05;letter-spacing:-.02em;animation:miseAuPoint 1.2s var(--sortie) both}
.hero-page .chapeau{font-size:19px;color:#E1E8F7;max-width:36rem}
.duo-ecrans{flex:1 1 380px;min-width:0;position:relative;min-height:460px;display:flex;justify-content:center}
.duo-ecrans img{position:absolute;width:220px;border-radius:30px;box-shadow:0 30px 70px rgba(0,0,0,.45);transition:transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .7s;will-change:transform;cursor:pointer}
.duo-ecrans img:first-child{animation:flotterT 7s ease-in-out infinite}
.duo-ecrans img:last-child{animation:flotterT 8s ease-in-out 1.5s infinite}
.duo-ecrans:hover img{animation-play-state:paused}
@keyframes flotterT{0%,100%{translate:0 0}50%{translate:0 -10px}}
.duo-ecrans img:first-child{left:50%;top:30px;transform:translateX(-4%) rotate(5deg);opacity:.92}
.duo-ecrans img:last-child{right:50%;top:0;transform:translateX(8%) rotate(-4deg)}

.onglets{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.onglets button{height:48px;padding:0 20px;border-radius:24px;font:700 15px var(--titre);cursor:pointer;background:var(--fond);color:var(--nuit);border:1px solid #E1E7EF;transition:all .25s}
.onglets button[aria-selected="true"]{color:#FFFFFF;border-color:transparent;background-image:var(--fond-onglet)}
.moment{display:flex;flex-wrap:wrap;gap:32px;align-items:stretch}
.moment-carte{flex:1 1 420px;min-width:0;min-height:300px;padding:30px;border-radius:30px;color:#FFFFFF;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.moment-carte .lieu{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.9}
.moment-carte .b1,.moment-carte .b2{max-width:90%;border-radius:18px;padding:12px 15px;font-size:17px;line-height:1.4;animation:apparaitre .6s var(--sortie) both}
.moment-carte .b1{align-self:flex-start;background:#FFFFFF;color:var(--nuit);border-bottom-left-radius:6px}
.moment-carte .b2{align-self:flex-end;background:var(--nuit);color:#FFFFFF;border-bottom-right-radius:6px;animation-delay:.5s}
.moment-texte{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:14px;justify-content:center}
.moment-texte h3{font-size:24px}.moment-texte p{color:var(--texte-2)}
.moment[hidden]{display:none}
.atout{border-radius:24px;padding:28px;background:#FFFFFF;display:flex;flex-direction:column;gap:10px;border-top:6px solid var(--c)}
.atout h3{font-size:19px}.atout p{font-size:15.5px;color:var(--texte-2)}
.destinations{flex:1 1 520px;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.destinations a{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-radius:20px;background:#FFFFFF;color:var(--nuit);transition:transform .25s}
.destinations a:hover{transform:translateY(-4px);color:var(--nuit)}
.destinations strong{font-family:var(--titre)}.destinations span{font-size:14px;color:var(--texte-2)}

/* Phrases utiles (pages de langues) */
.phrases{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.phrase{border-radius:22px;padding:20px 22px;background:#FFFFFF;display:flex;flex-direction:column;gap:8px;box-shadow:0 6px 20px rgba(12,35,64,.06)}
.phrase .fr{font-size:15px;color:var(--gris)}
.phrase .tr{font:700 18px var(--titre);color:var(--nuit)}
.encart-mode{display:flex;gap:18px;align-items:flex-start;padding:26px;border-radius:24px;background:#FFFFFF}
.encart-mode .ic{flex:none;width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(135deg,#008CD1,#9C8BFE)}
.encart-mode.phrase-par-phrase .ic{background-image:linear-gradient(135deg,#FE6C55,#EF7D00)}

/* Fonctionnalités détaillées */
.fonction{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding:56px 0;border-bottom:1px solid #E6EBF2}
.fonction:last-child{border-bottom:none}
.fonction:nth-child(even){flex-direction:row-reverse}
.fonction .txt{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:14px}
.fonction .txt h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}
.fonction .txt p{color:var(--texte-2)}
.fonction ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;color:var(--texte-2)}
.fonction .vis{flex:1 1 340px;min-width:0;display:flex;justify-content:center;gap:18px;padding:32px;border-radius:36px}
.fonction .vis img{width:240px;border-radius:30px;box-shadow:0 24px 50px rgba(12,35,64,.2)}
.fonction .vis img+img{margin-top:48px}
.v1{background-image:linear-gradient(135deg,#E5EEF8,#EEE9FF)}.v2{background-image:linear-gradient(135deg,#FFE3DD,#FDEBF7)}.v3{background-image:linear-gradient(135deg,#EEE9FF,#FFE3DD)}

/* Tableau des langues */
.tableau{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:16px}
.tableau th{text-align:left;font:800 13px var(--titre);letter-spacing:.05em;text-transform:uppercase;color:var(--gris);padding:0 18px}
.tableau td{background:#FFFFFF;padding:14px 18px}
.tableau td:first-child{border-radius:16px 0 0 16px;font-weight:700}.tableau td:last-child{border-radius:0 16px 16px 0}
.mode-s{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#137A4B}.mode-s::before{content:"";width:8px;height:8px;border-radius:4px;background:#2FBF7A}
.mode-p{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#9A4A00}.mode-p::before{content:"";width:8px;height:8px;border-radius:4px;background:#EF7D00}

/* Textes longs */
.prose{max-width:760px}
.prose h2{font-size:24px;margin:40px 0 12px}
.prose p,.prose li{color:var(--texte-2);margin-bottom:10px}
.prose ul{padding-left:22px}

/* Animations au chargement */
@keyframes apparaitre{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes miseAuPoint{from{opacity:0;filter:blur(14px);letter-spacing:.12em;transform:scaleX(1.06)}to{opacity:1;filter:none;transform:none}}
@keyframes mot{from{opacity:0;filter:blur(6px);transform:translateY(8px)}to{opacity:1;filter:none;transform:none}}
@keyframes niveau{0%,100%{transform:scaleY(.18)}50%{transform:scaleY(1)}}
@keyframes halo{0%,100%{box-shadow:0 0 0 0 rgba(254,108,85,.6)}60%{box-shadow:0 0 0 14px rgba(254,108,85,0)}}
@keyframes derive{0%,100%{transform:translate(0,0) rotate(-3deg)}50%{transform:translate(10px,-16px) rotate(3deg)}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.25);opacity:.4}}
@keyframes flotter{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes grandir{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Animations au défilement : pilotées par la position dans la page (--p de 0 à 1), donc réversibles.
   Sans script ou avec « réduire les animations », --p vaut 1 : tout est visible. */
.anim .a-titre{opacity:var(--p,1);filter:blur(calc((1 - var(--p,1)) * 12px));letter-spacing:calc((1 - var(--p,1)) * .09em);transform:scaleX(calc(1 + (1 - var(--p,1)) * .04));transform-origin:left center;will-change:opacity,filter}
.anim .a-onde{clip-path:circle(calc(var(--p,1) * 150%) at 0% 100%);opacity:calc(.15 + var(--p,1) * .85)}
.anim .a-cartes>*{opacity:var(--p,1);transform:perspective(1100px) rotateX(calc((1 - var(--p,1)) * 16deg)) translateY(calc((1 - var(--p,1)) * 36px)) scale(calc(.97 + var(--p,1) * .03));transform-origin:center top}
.anim .a-cascade>*{opacity:var(--p,1);transform:translateY(calc((1 - var(--p,1)) * 22px)) scale(calc(.8 + var(--p,1) * .2))}
@supports (animation-timeline: view()){
  .parallaxe{animation:glisser linear both;animation-timeline:view();animation-range:cover}
  @keyframes glisser{from{transform:translateY(16px)}to{transform:translateY(-16px)}}
}
/* FAQ : ouverture et fermeture progressives */
.faq details .reponse-cadre{overflow:hidden}
/* Tablette */
@media (max-width:1023px){
  .nav-principale,.cta-entete{display:none}
  .bouton-menu{display:inline-flex}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bento .large{grid-column:span 2}
}
@media (max-width:1199px){.nav-principale,.cta-entete{display:none}.bouton-menu{display:inline-flex}}
@media (min-width:1200px){.menu-mobile{display:none!important}}
/* Smartphone */
@media (max-width:767px){
  body{font-size:16px}
  .section{padding:64px 0}
  .hero-grille{padding-top:28px;gap:36px}
  .orbite{display:none}
  .hero .onde{top:auto;bottom:0;height:160px}
  .ecran{height:500px}
  .histoire-ecran{position:static}
  .frise-ligne{flex-wrap:wrap}.frise-label{width:100%}
  .frise-echelle-vide{display:none}
  .comparatif-ligne{grid-template-columns:minmax(0,1fr);gap:6px}
  .comparatif-tete{display:none}
  .avant{padding:12px 18px;font-size:14px}
  .bento{grid-template-columns:minmax(0,1fr)}
  .bento .large{grid-column:auto}
  .fonction{padding:40px 0;gap:32px}
  .fonction .vis{padding:24px}
  .fonction .vis img{width:46%}
  .duo-ecrans{min-height:380px}
  .duo-ecrans img{width:180px}
  .tableau{font-size:14px}.tableau td{padding:12px}
  .entete-section{margin-bottom:28px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .anim .a-titre,.anim .a-onde,.anim .a-cartes>*,.anim .a-cascade>*{opacity:1!important;filter:none!important;transform:none!important;clip-path:none!important;letter-spacing:normal!important}
  .pile-ecrans img{transition:none}
}
.cta-final .chapeau{color:#D6E4F5}
.pied-marque img{align-self:flex-start}
.pastilles a,.pastilles span.p{white-space:nowrap}
.grille-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:1023px){.grille-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.grille-3{grid-template-columns:minmax(0,1fr)}}

/* Sélecteur de langue */
.selecteur-langue{position:relative;flex:none}
.selecteur-bouton{display:inline-flex;align-items:center;gap:8px;height:50px;padding:0 16px 0 14px;border-radius:25px;border:2px solid transparent;background-image:linear-gradient(#F1F4F9,#F1F4F9),var(--degrade);background-origin:border-box;background-clip:padding-box,border-box;font:800 15px var(--titre);letter-spacing:.05em;color:var(--nuit);cursor:pointer;transition:box-shadow .25s}
.selecteur-bouton:hover,.selecteur-langue.ouvert .selecteur-bouton{box-shadow:0 6px 18px rgba(0,83,163,.18)}
.selecteur-bouton svg{color:var(--bleu)}
.selecteur-bouton .chevron{transition:transform .3s var(--sortie)}
.selecteur-langue.ouvert .chevron{transform:rotate(180deg)}
.selecteur-liste{position:absolute;right:0;top:calc(100% + 10px);min-width:220px;margin:0;padding:8px;list-style:none;background:#FFFFFF;border-radius:20px;box-shadow:0 24px 60px rgba(12,35,64,.2);border:1px solid #E6EBF2;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .25s var(--sortie),transform .3s var(--sortie),visibility 0s .3s;z-index:60}
.selecteur-langue.ouvert .selecteur-liste{opacity:1;visibility:visible;transform:none;transition:opacity .25s var(--sortie),transform .3s var(--sortie)}
.selecteur-liste a{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border-radius:14px;color:var(--nuit);font-weight:500;font-size:16px}
.selecteur-liste a b{display:inline-flex;align-items:center;justify-content:center;width:34px;height:26px;border-radius:8px;background:var(--fond);font:800 12px var(--titre);color:var(--gris)}
.selecteur-liste a:hover{background:var(--fond);color:var(--nuit)}
.selecteur-liste a[aria-current="true"]{background:var(--bleu-clair);font-weight:700}
.selecteur-liste a[aria-current="true"] b{background:var(--bleu);color:#FFFFFF}
@media (max-width:420px){.selecteur-bouton{height:46px;padding:0 12px;gap:6px}.selecteur-bouton>svg:first-child{display:none}.logo img{height:28px;width:auto}}

/* Japonais : polices du système, coupures de ligne naturelles */
html[lang="ja"] body,html[lang="ja"] .bouton,html[lang="ja"] .choix-langues button{font-family:"DM Sans","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI","Yu Gothic",Meiryo,system-ui,sans-serif}
html[lang="ja"] h1,html[lang="ja"] h2,html[lang="ja"] h3,html[lang="ja"] .surtitre,html[lang="ja"] .badge,html[lang="ja"] .etape strong,html[lang="ja"] .ensuite strong,html[lang="ja"] .faq summary,html[lang="ja"] .zero-piege{font-family:Montserrat,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;letter-spacing:.01em}
html[lang="ja"] h1,html[lang="ja"] h2,html[lang="ja"] h3,html[lang="ja"] p,html[lang="ja"] li,html[lang="ja"] summary{word-break:auto-phrase;line-break:strict}
html[lang="ja"] .hero h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.2}
html[lang="ja"] .hero-page h1{font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.22}
html[lang="ja"] .h2{line-height:1.3}
html[lang="ja"] body{line-height:1.75}
html[lang="ja"] .surtitre,html[lang="ja"] .badge{text-transform:none;letter-spacing:.04em}

/* ---------- Contact ---------- */
.contact-grille{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:48px;align-items:start}
.form-contact{display:flex;flex-direction:column;gap:18px;background:#FFFFFF;border:1px solid #E1E7F0;border-radius:var(--rayon);padding:36px;box-shadow:0 24px 60px -32px rgba(12,35,64,.28);position:relative}
.form-contact::before{content:"";position:absolute;inset:0 0 auto;height:6px;border-radius:var(--rayon) var(--rayon) 0 0;background:var(--degrade)}
.champs-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.champ{display:flex;flex-direction:column;gap:6px;min-width:0}
.champ label{font-weight:700;font-size:15px;color:var(--nuit)}
.champ input,.champ select,.champ textarea{width:100%;min-width:0;border:1px solid #CBD5E1;border-radius:14px;background:#FFFFFF;color:var(--nuit);font:16px/1.5 var(--corps);padding:12px 16px;transition:border-color .2s,box-shadow .2s}
.champ input,.champ select{height:52px}
.champ textarea{resize:vertical;min-height:160px}
.champ select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230C2340' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:none;border-color:var(--bleu);box-shadow:0 0 0 4px rgba(0,83,163,.15)}
.champ [aria-invalid=true]{border-color:var(--corail-texte);box-shadow:0 0 0 4px rgba(163,49,28,.12)}
.form-note{font-size:14px;color:var(--gris);margin:0}
.form-note a{color:var(--bleu);text-decoration:underline}
.form-contact .bouton{align-self:flex-start;height:56px;border-radius:28px}
.form-contact .form-message.ok{color:#137A4B}.form-contact .form-message.erreur{color:var(--corail-texte)}
.contact-aside{display:flex;flex-direction:column;gap:10px;padding:32px;border-radius:var(--rayon);background:var(--fond);color:var(--texte-2)}
.contact-aside p{margin:0}
.contact-mail{font:700 20px var(--titre);color:var(--bleu);word-break:break-all}
.contact-adresse{margin-top:14px!important;font-size:15px}
@media (max-width:1023px){.contact-grille{grid-template-columns:1fr;gap:32px}}
@media (max-width:767px){.form-contact{padding:24px 18px}.champs-2{grid-template-columns:1fr}.form-contact .bouton{align-self:stretch}}

/* ---------- À propos ---------- */
.frise-histoire{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;position:relative}
.frise-histoire::before{content:"";position:absolute;left:0;right:0;top:34px;height:3px;border-radius:2px;background:var(--degrade);opacity:.55}
.etape-histoire{position:relative;display:flex;flex-direction:column;gap:10px;padding:0 4px}
.etape-histoire .num{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:800 22px var(--titre);color:#FFFFFF;background:var(--degrade-135);box-shadow:0 0 0 8px #FFFFFF,0 14px 30px -10px rgba(107,63,160,.55);margin-bottom:8px;transition:transform .35s var(--sortie)}
.etape-histoire:hover .num{transform:scale(1.08) rotate(-6deg)}
.etape-histoire:nth-child(2) .num{background-image:linear-gradient(135deg,#9C8BFE,#ED8CD9)}
.etape-histoire:nth-child(3) .num{background-image:linear-gradient(135deg,#ED8CD9,#FE6C55)}
.etape-histoire:nth-child(4) .num{background-image:linear-gradient(135deg,#FE6C55,#EF7D00)}
.etape-histoire h3{font-size:21px}
.etape-histoire p{color:var(--texte-2);font-size:16px}
.section-chiffres{padding-top:72px;padding-bottom:72px}
.chiffres{display:grid;grid-template-columns:minmax(0,1.45fr) repeat(3,minmax(0,1fr));gap:24px}
.chiffre{display:flex;flex-direction:column;gap:8px;padding:8px 0 8px 22px;border-left:3px solid rgba(255,255,255,.18)}
.chiffre strong{font:800 clamp(2.3rem,4.4vw,3.6rem)/1 var(--titre);background-image:linear-gradient(90deg,#9C8BFE,#ED8CD9,#FE6C55,#EF7D00);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.chiffre span{color:#D6E4F5;font-size:15.5px;max-width:16rem}
.equation-nom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.2fr);align-items:stretch;gap:18px}
.morceau{display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:var(--rayon);background:var(--fond);transition:transform .35s var(--sortie),box-shadow .35s}
.morceau:hover{transform:translateY(-6px);box-shadow:0 22px 50px -26px rgba(12,35,64,.35)}
.morceau b{font:800 clamp(2.2rem,4vw,3.2rem)/1 var(--titre);letter-spacing:-.01em;color:var(--nuit)}
.morceau p{color:var(--texte-2);font-size:15.5px;margin:0}
.m-talk b{color:#0053A3}.m-sen b{color:#C25BB0}
.m-res{background:var(--nuit);background-image:radial-gradient(circle at 100% 0%,rgba(0,140,209,.45),transparent 55%),radial-gradient(circle at 0% 100%,rgba(237,140,217,.35),transparent 55%)}
.m-res b{background-image:linear-gradient(90deg,#008CD1,#9C8BFE,#ED8CD9,#FE6C55,#EF7D00);-webkit-background-clip:text;background-clip:text;color:transparent}
.m-res p{color:#FFFFFF;font:700 20px var(--titre)}
.operateur{align-self:center;font:800 40px var(--titre);color:#C9D3E1}
.studio-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:center}
.studio-texte{display:flex;flex-direction:column;gap:16px}
.studio-apps h3{font-size:18px;margin-bottom:14px;color:#F5D9F0}
.apps-grille{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.apps-grille li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center;padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);transition:background .3s,transform .3s var(--sortie)}
.apps-grille li:hover{background:rgba(255,255,255,.18);transform:translateY(-3px)}
.apps-grille .ic{grid-row:span 2;width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.apps-grille strong{font:800 16px var(--titre);color:#FFFFFF}
.apps-grille span:not(.ic){font-size:14px;color:#E8E3FF}
@media (max-width:1023px){
  .frise-histoire{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}
  .frise-histoire::before{display:none}
  .chiffres{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
  .chiffre strong{white-space:normal}
  .equation-nom{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .equation-nom .morceau.m-res{grid-column:1/-1}
  .equation-nom .operateur:nth-of-type(2){display:none}
  .studio-grille{grid-template-columns:minmax(0,1fr);gap:40px}
}
@media (max-width:767px){
  .frise-histoire{grid-template-columns:1fr;row-gap:28px}
  .frise-histoire::before{display:block;left:33px;right:auto;top:0;bottom:0;width:3px;height:auto}
  .etape-histoire{display:grid;grid-template-columns:68px 1fr;column-gap:18px;align-items:start}
  .etape-histoire .num{grid-row:span 2;margin:0}
  .chiffre strong{white-space:normal}
  .equation-nom{grid-template-columns:1fr;gap:10px}
  .operateur{justify-self:center;font-size:30px;line-height:1}
  .equation-nom .operateur:nth-of-type(2){display:block}
  .apps-grille{grid-template-columns:minmax(0,1fr)}
  .studio-texte .bouton{align-self:stretch!important;height:auto;min-height:52px;padding:12px 20px}
}

/* ---------- Contact : en-tête vivant ---------- */
.contact-intro{display:flex;flex-direction:column;gap:18px}
.contact-raisons{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.contact-raisons li{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#FFFFFF;font-weight:600;font-size:15px}
.contact-raisons .ic{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--degrade-135)}
.contact-visuel{display:flex;justify-content:center}
.contact-carte-tel{position:relative;width:min(340px,100%);padding:28px 22px 26px;border-radius:34px;background:#FFFFFF;box-shadow:0 40px 80px -30px rgba(0,0,0,.55);display:flex;flex-direction:column;gap:14px;animation:flotter 6s ease-in-out infinite}
.contact-carte-tel::before{content:"";position:absolute;inset:-2px;border-radius:36px;padding:2px;background:var(--degrade-135);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.contact-carte-tel img{width:52px;height:auto;margin-bottom:4px}
.bulle{margin:0;padding:12px 16px;border-radius:20px;font-size:15px;line-height:1.45;max-width:88%;opacity:0;transform:translateY(10px);animation:bulle .6s var(--sortie) forwards}
.bulle-visiteur{align-self:flex-end;background:var(--bleu);color:#FFFFFF;border-bottom-right-radius:6px;animation-delay:.4s}
.reponse-equipe{display:grid;align-items:end}.reponse-equipe>*{grid-area:1/1}
.bulle-equipe{justify-self:start;background:#EEF2F8;color:var(--nuit);border-bottom-left-radius:6px;animation-delay:2.3s}
.saisie{justify-self:start;align-self:end;display:inline-flex;gap:5px;padding:14px 16px;border-radius:20px;background:#EEF2F8;opacity:0;animation:saisie 1.4s ease 1s forwards}
@keyframes saisie{0%{opacity:0;transform:translateY(8px)}20%,80%{opacity:1;transform:none}100%{opacity:0}}
.saisie i{width:7px;height:7px;border-radius:50%;background:#9AA8BA;animation:points 1.2s ease-in-out infinite}
.saisie i:nth-child(2){animation-delay:.15s}.saisie i:nth-child(3){animation-delay:.3s}
@keyframes bulle{to{opacity:1;transform:none}}
@keyframes points{0%,80%,100%{transform:translateY(0);opacity:.5}40%{transform:translateY(-4px);opacity:1}}
.contact-aside{background:none;padding:0;gap:20px}
.carte-visite{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:32px;border-radius:var(--rayon);color:#D6E4F5;background:var(--nuit);background-image:radial-gradient(circle at 100% 0%,rgba(0,140,209,.5),transparent 50%),radial-gradient(circle at 0% 100%,rgba(237,140,217,.4),transparent 55%)}
.carte-visite img{width:60px;height:auto;margin-bottom:6px}
.carte-visite .badge-clair{color:#FFFFFF}
.carte-visite .contact-mail{color:#FFFFFF;background-image:linear-gradient(90deg,#9C8BFE,#ED8CD9,#FE6C55);-webkit-background-clip:text;background-clip:text;color:transparent}
.carte-visite .contact-adresse strong{color:#FFFFFF}
.carte-faq{display:flex;flex-direction:column;gap:6px;padding:26px 28px;border-radius:var(--rayon);background:var(--fond)}
.carte-faq p{margin:0;color:var(--texte-2)}
@media (max-width:1023px){.contact-visuel{display:none}}
@media (prefers-reduced-motion:reduce){.bulle{animation:none;opacity:1;transform:none}.saisie{display:none}.contact-carte-tel{animation:none}}

/* ---------- Choix de confidentialité ---------- */
.cmp{position:fixed;left:24px;bottom:24px;z-index:70;width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;padding:24px;border-radius:24px;background:#FFFFFF;color:var(--nuit);box-shadow:0 30px 70px -20px rgba(12,35,64,.5);display:flex;flex-direction:column;gap:14px;transform:translateY(24px) scale(.98);opacity:0;transition:transform .5s var(--sortie),opacity .4s}
.cmp::before{content:"";position:absolute;inset:0;border-radius:24px;padding:2px;background:var(--degrade-135);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.cmp.visible{transform:none;opacity:1}
.cmp[hidden]{display:none}
.cmp-tete{display:flex;align-items:center;gap:12px;padding-right:34px}
.cmp-tete strong{font:800 18px/1.25 var(--titre)}
.cmp-ic{flex:none;width:40px;height:40px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--degrade-135)}
.cmp-texte{margin:0;font-size:14.5px;line-height:1.55;color:var(--texte-2)}
.cmp-details{display:flex;flex-direction:column;gap:10px}
.cmp-details[hidden]{display:none}
.cmp-cat{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:16px;background:var(--fond)}
.cmp-cat strong{font-size:15px}
.cmp-cat p{margin:2px 0 0;font-size:13.5px;line-height:1.45;color:var(--texte-2)}
.cmp-inactive{opacity:.75}
.cmp-etat{flex:none;font-size:12.5px;font-weight:700;color:var(--gris);white-space:nowrap}
.cmp-interrupteur{flex:none;position:relative;display:inline-flex;cursor:pointer}
.cmp-interrupteur input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.cmp-glissiere{width:48px;height:28px;border-radius:14px;background:#C9D3E1;position:relative;transition:background .25s}
.cmp-glissiere::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#FFFFFF;box-shadow:0 2px 6px rgba(12,35,64,.25);transition:transform .25s var(--sortie)}
.cmp-interrupteur input:checked+.cmp-glissiere{background:var(--bleu)}
.cmp-interrupteur input:checked+.cmp-glissiere::after{transform:translateX(20px)}
.cmp-interrupteur input:focus-visible+.cmp-glissiere{outline:3px solid rgba(0,83,163,.35);outline-offset:2px}
.cmp-actions{display:flex;flex-wrap:wrap;gap:8px}
.cmp-actions .bouton{flex:1 1 auto;height:44px;padding:0 16px;font-size:14px}
.cmp-actions [hidden]{display:none}
.cmp-secondaire{background:#FFFFFF;color:var(--bleu);border:1.5px solid var(--bleu)}
.cmp-secondaire:hover{color:var(--bleu)}
.cmp-liens{margin:0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px}
.cmp-liens a{color:var(--bleu);text-decoration:underline;text-underline-offset:3px}
.cmp-fermer{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;border:none;background:var(--fond);color:var(--nuit);cursor:pointer;display:flex;align-items:center;justify-content:center}
.cmp-fermer:hover{background:#E6EBF2}
.cmp-onglet{position:fixed;left:16px;bottom:16px;z-index:65;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px 0 12px;border-radius:20px;border:1px solid #DCE3EE;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);color:var(--nuit);font:600 13px var(--corps);box-shadow:0 8px 24px -10px rgba(12,35,64,.35);cursor:pointer;transition:transform .2s,box-shadow .2s}
.cmp-onglet:hover{transform:translateY(-2px);box-shadow:0 12px 28px -10px rgba(12,35,64,.45)}
.cmp-onglet svg{color:var(--violet)}
.cmp-ouvert .cmp-onglet{opacity:0;pointer-events:none}
@media (max-width:767px){.cmp{left:12px;right:12px;bottom:12px;width:auto;padding:20px}.cmp-onglet span{display:none}.cmp-onglet{padding:0;width:40px;justify-content:center}}
@media (prefers-reduced-motion:reduce){.cmp{transition:none}}
