/*
Theme Name: The Korea Connexion
Theme URI: https://thekoreaconnexion.com
Author: The Korea Connexion
Description: Thème bloc sur mesure — interprétation et traduction français · coréen · anglais.
Version: 1.2.2
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: thekoreaconnexion
Tags: block-theme, full-site-editing
*/
/* The Korea Connexion — maquette */
:root{
  --blanc:#FAF8F5;
  --blanc-2:#F3EFEA;
  --rouge:#C8102E;
  --bleu:#0047A0;
  --nuit:#0B1A3A;
  --nuit-2:#13244A;
  --encre:#0B1A3A;
  --gris:#5B6478;
  --gris-clair:#9AA0AE;
  --ligne:rgba(11,26,58,.12);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Plus Jakarta Sans",system-ui,sans-serif;
  --ko:"Nanum Myeongjo",serif;
  --max:1200px;
  --pill:999px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--blanc);color:var(--encre);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05;letter-spacing:-.01em;hyphens:none;text-wrap:balance}
.ko{font-family:var(--ko)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}

/* ---------- Anneaux ---------- */
.anneaux{display:inline-block;width:78px;height:46px;flex:none}
.anneaux circle{fill:none;stroke-width:4.5}

/* ---------- En-tête ---------- */
.entete{position:absolute;inset:0 0 auto;z-index:20}
.entete .wrap{display:flex;align-items:center;gap:40px;height:104px;max-width:1360px}
.logo{display:flex;align-items:center;gap:22px;font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:.005em;white-space:nowrap}
.logo .anneaux{width:62px;height:38px}
.nav{display:flex;gap:36px;margin-left:auto;font-size:16px;font-weight:500;letter-spacing:.01em}
.nav a{position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--rouge);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.nav a:hover::after{transform:scaleX(1)}
.nav .seul-mobile{display:none}
.entete.ouvert .nav .seul-mobile{display:block}
.langues{font-size:15px;font-weight:500;color:var(--gris-clair);letter-spacing:.04em;white-space:nowrap}
.langues a{transition:color .2s}
.langues a:hover,.langues a.actif{color:var(--bleu)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 40px;border-radius:var(--pill);font-family:var(--sans);font-weight:600;font-size:17px;letter-spacing:.005em;white-space:nowrap;transition:transform .25s ease,box-shadow .25s ease,background .25s}
.btn:hover{transform:translateY(-2px)}
.btn-nuit{background:var(--nuit);color:#fff}
.btn-nuit.petit{padding:14px 28px;font-size:15px}
.btn-rouge{background:var(--rouge);color:#fff;box-shadow:0 18px 40px -14px rgba(200,16,46,.55)}
.btn-rouge:hover{box-shadow:0 24px 48px -14px rgba(200,16,46,.65)}
.btn-blanc{background:#fff;color:var(--nuit);box-shadow:inset 0 0 0 1.5px var(--ligne)}
.btn-ligne{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}

/* ---------- Héros ---------- */
.heros{position:relative;min-height:100vh;min-height:max(100vh,900px);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:130px 24px 230px;isolation:isolate}
.heros::before{content:"";position:absolute;inset:0;z-index:-2;background-image:radial-gradient(rgba(11,26,58,.13) 1.2px,transparent 1.4px);background-size:30px 30px;mask-image:radial-gradient(ellipse 80% 70% at 50% 45%,#000 40%,transparent 85%)}
.taeguk{position:absolute;z-index:-3;inset:-10% -10% auto;height:120%;pointer-events:none}
.taeguk span{position:absolute;border-radius:50%;filter:blur(30px)}
.taeguk .t1{width:62vw;height:62vw;left:-6vw;top:-14vw;background:radial-gradient(circle at 40% 45%,rgba(200,16,46,.26),rgba(200,16,46,.10) 55%,transparent 72%);animation:flotte1 18s ease-in-out infinite}
.taeguk .t2{width:58vw;height:58vw;right:-4vw;top:22vw;background:radial-gradient(circle at 55% 50%,rgba(200,16,46,.22),rgba(200,16,46,.08) 58%,transparent 74%);animation:flotte2 22s ease-in-out infinite}
.taeguk .t3{width:48vw;height:70vw;left:24vw;top:-4vw;background:radial-gradient(ellipse at 50% 50%,rgba(0,71,160,.20),rgba(0,71,160,.07) 55%,transparent 72%);border-radius:48% 52% 50% 50%;animation:flotte3 26s ease-in-out infinite}
.taeguk .t4{width:96vw;height:96vw;left:2vw;top:-8vw;filter:none;border:1px solid rgba(200,16,46,.06);background:radial-gradient(circle,rgba(255,255,255,.0) 60%,rgba(200,16,46,.05))}
@keyframes flotte1{50%{transform:translate(4vw,3vw) scale(1.05)}}
@keyframes flotte2{50%{transform:translate(-5vw,-2vw) scale(.96)}}
@keyframes flotte3{50%{transform:translate(2vw,4vw) rotate(8deg)}}

.mots{position:absolute;inset:0;z-index:-1;pointer-events:none}
.mot{position:absolute;white-space:nowrap;animation:derive 14s ease-in-out infinite;opacity:0}
.mot.fr{font-family:var(--serif);font-style:italic;color:rgba(11,26,58,.32)}
.mot.ko{font-family:var(--ko);color:rgba(11,26,58,.18)}
.mot.ko.r{color:rgba(200,16,46,.42)}
.mot.ko.b{color:rgba(0,71,160,.38)}
@keyframes derive{0%{opacity:0;transform:translateY(14px)}15%,80%{opacity:1}100%{opacity:0;transform:translateY(-26px)}}

.surtitre{font-size:15px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--nuit);opacity:.82;margin-bottom:34px}
.heros h1{font-size:clamp(56px,8.6vw,124px);color:var(--nuit);line-height:.98}
.heros h1 em{display:block;font-style:italic;font-weight:500;background:linear-gradient(90deg,#3B2B86 0%,#8E1A5C 38%,var(--rouge) 70%);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .08em .06em}
.heros .accroche-ko{font-family:var(--ko);font-size:clamp(26px,3.2vw,40px);margin-top:30px;color:var(--nuit)}

.pont{position:relative;width:min(1060px,92vw);height:240px;margin:30px auto 0}
.pont svg.arc{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.pont .arc path{fill:none;stroke-width:1.6;stroke-dasharray:7 7;animation:defile 2.4s linear infinite}
@keyframes defile{to{stroke-dashoffset:-28}}
.pont .medaillon{position:absolute;left:50%;top:0;width:212px;height:212px;margin-left:-106px;border-radius:50%;background:rgba(255,255,255,.62);backdrop-filter:blur(6px);box-shadow:0 30px 60px -30px rgba(11,26,58,.25),inset 0 0 0 1px rgba(255,255,255,.8);display:grid;place-items:center}
.pont .medaillon svg{width:200px;height:140px;overflow:visible}
.pont .medaillon circle{fill:none;stroke-width:5.5;stroke-linecap:round}
.arcb,.arcr{stroke-dasharray:0 252;animation:traceb 2s cubic-bezier(.6,.05,.25,1) .3s forwards}
.arcr{animation-name:tracer;animation-delay:.8s}
@keyframes traceb{to{stroke-dasharray:205 47}}
@keyframes tracer{to{stroke-dasharray:215 37}}
.pont .medaillon .point{fill:#0047A0;opacity:0;animation:pointe .4s ease 2.2s forwards}
@keyframes pointe{to{opacity:.9}}
.pont .medaillon .tourne{transform-origin:100px 70px;animation:respire 7s ease-in-out 3s infinite}
@keyframes respire{50%{transform:scale(1.04)}}
.ville{position:absolute;bottom:0;transform:translate(-50%,0);font-family:var(--serif);font-size:20px;color:var(--nuit);white-space:nowrap}
.ville .ko{font-size:17px}
.ville::before{content:"";display:block;width:22px;height:22px;margin:0 auto 10px;border-radius:50%;background:var(--c);box-shadow:0 0 0 6px color-mix(in srgb,var(--c) 18%,transparent);animation:pouls 2.6s ease-out infinite}
.ville.fr{left:9%;--c:var(--bleu)}
.ville.kr{left:91%;--c:var(--rouge)}
@keyframes pouls{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--c) 40%,transparent)}70%{box-shadow:0 0 0 14px transparent}100%{box-shadow:0 0 0 0 transparent}}
.pont .voyageur{position:absolute;left:0;top:0;width:9px;height:9px;margin:-4.5px;border-radius:50%;background:var(--rouge);offset-path:path("M 95 222 Q 530 -40 965 222");animation:voyage 5s ease-in-out infinite}
.pont .voyageur.v2{background:var(--bleu);animation-direction:reverse;animation-delay:-2.5s}
@keyframes voyage{0%{offset-distance:0%;opacity:0}10%,90%{opacity:1}100%{offset-distance:100%;opacity:0}}

.actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:22px;position:relative;z-index:2}
.actions .btn{padding:15px 32px;font-size:15.5px}

.ondes{position:absolute;left:0;right:0;bottom:120px;height:140px;z-index:-1;pointer-events:none;overflow:hidden}
.ondes svg{width:200%;height:100%;animation:onde 18s linear infinite}
.ondes path{fill:none;stroke-width:1.6}
@keyframes onde{to{transform:translateX(-50%)}}

/* arc nuit qui ouvre la section suivante */
.voute{position:absolute;left:50%;bottom:-1px;width:150vw;height:220px;transform:translateX(-50%);background:var(--nuit);border-radius:50% 50% 0 0/100% 100% 0 0}

/* ---------- Bande nuit : prestations ---------- */
.nuit{background:var(--nuit);color:#fff;position:relative;padding:40px 0 150px;overflow:hidden}
.titre-section{text-align:center;max-width:780px;margin:0 auto}
.titre-section .ko-mot{font-family:var(--ko);font-size:20px;letter-spacing:.2em;display:block;margin-bottom:22px}
.titre-section h2{font-size:clamp(44px,5.4vw,76px)}
.titre-section h2 em{font-style:italic}
.titre-section p{margin-top:24px;font-size:18px;color:var(--gris)}
.nuit .titre-section .ko-mot{color:#FF6F84}
.nuit .titre-section p{color:rgba(255,255,255,.66)}
.nuit h2 em{color:#9DB8FF}

.modes{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:80px;counter-reset:m}
.mode{position:relative;padding:44px 32px 40px;border-radius:32px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);transition:transform .45s cubic-bezier(.2,.7,.2,1),background .45s}
.mode:hover{transform:translateY(-10px);background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.03))}
.mode:nth-child(even){margin-top:56px}
.mode .pict{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin-bottom:30px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.mode .pict svg{width:30px;height:30px;stroke:#fff;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.mode:nth-child(odd) .pict{background:rgba(200,16,46,.2);box-shadow:inset 0 0 0 1px rgba(255,111,132,.4)}
.mode:nth-child(even) .pict{background:rgba(0,71,160,.3);box-shadow:inset 0 0 0 1px rgba(157,184,255,.4)}
.mode h3{font-size:34px;margin-bottom:6px}
.mode .ko{display:block;font-size:16px;color:rgba(255,255,255,.5);margin-bottom:18px}
.mode p{font-size:15.5px;color:rgba(255,255,255,.72);line-height:1.6}
.mode .usage{display:block;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;letter-spacing:.06em;color:rgba(255,255,255,.5)}
.nuit .centre{text-align:center;margin-top:70px}

.nuit .anneau-geant{position:absolute;width:900px;height:900px;border-radius:50%;border:1px solid rgba(255,255,255,.05);pointer-events:none}
.nuit .anneau-geant.a1{left:-480px;top:120px;border-color:rgba(200,16,46,.18)}
.nuit .anneau-geant.a2{right:-480px;top:300px;border-color:rgba(0,71,160,.35)}

/* ---------- Préparation ---------- */
.prepa{position:relative;margin-top:-90px;z-index:2}
.prepa .carte{position:relative;max-width:1180px;margin:0 auto;background:var(--blanc);border-radius:48px;padding:96px 80px 100px;box-shadow:0 50px 100px -50px rgba(11,26,58,.35);display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.prepa .photo-ronde{position:relative;aspect-ratio:1;border-radius:50%;overflow:visible}
.prepa .photo-ronde img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.prepa .photo-ronde::before,.prepa .photo-ronde::after{content:"";position:absolute;inset:-18px;border-radius:50%;border:2px solid var(--rouge);transform:translateX(-26px);opacity:.85}
.prepa .photo-ronde::after{border-color:var(--bleu);transform:translateX(26px)}
.prepa .vignette{position:absolute;right:-40px;bottom:30px;background:#fff;border-radius:var(--pill);padding:14px 26px 14px 14px;display:flex;align-items:center;gap:14px;box-shadow:0 24px 50px -20px rgba(11,26,58,.35);font-size:14px;font-weight:600;z-index:2}
.prepa .vignette b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--nuit);color:#fff;font-family:var(--ko);font-size:13px;font-weight:700}
.prepa .texte .ko-mot{font-family:var(--ko);color:var(--rouge);letter-spacing:.2em;font-size:18px}
.prepa h2{font-size:clamp(40px,4.4vw,62px);margin:18px 0 26px}
.prepa h2 em{font-style:italic;color:var(--bleu)}
.prepa .texte>p{color:var(--gris);font-size:17.5px}
.etapes{list-style:none;margin-top:38px;display:grid;gap:4px}
.etapes li{display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:start;padding:18px 0;border-top:1px solid var(--ligne)}
.etapes li span{font-family:var(--serif);font-style:italic;font-size:34px;line-height:1;color:var(--rouge)}
.etapes li:nth-child(2) span{color:#6A2470}
.etapes li:nth-child(3) span{color:var(--bleu)}
.etapes strong{display:block;font-weight:600;font-size:16.5px}
.etapes small{font-size:15px;color:var(--gris)}

/* ---------- Domaines ---------- */
.domaines{padding:150px 0 130px;position:relative;overflow:hidden}
.domaines .titre-section .ko-mot{color:var(--bleu)}
.domaines h2 em{font-style:italic;color:var(--rouge)}
.orbite{position:relative;display:flex;justify-content:center;flex-wrap:wrap;gap:34px 16px;margin-top:80px;padding-bottom:64px}
.domaine{width:124px;text-align:center;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.domaine:nth-child(even){transform:translateY(64px)}
.domaine:hover{transform:translateY(-8px)}
.domaine:nth-child(even):hover{transform:translateY(56px)}
.domaine .rond{position:relative;width:124px;height:124px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 6px #fff,0 0 0 7.5px var(--c,var(--rouge)),0 26px 40px -22px rgba(11,26,58,.5)}
.domaine:nth-child(even) .rond{--c:var(--bleu)}
.domaine .rond img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.domaine:hover .rond img{transform:scale(1.1)}
.domaine h3{font-family:var(--serif);font-size:25px;margin-top:22px}
.domaine small{display:block;font-size:12.5px;line-height:1.35;color:var(--gris);margin:4px 0 6px}
.domaine .ko{font-size:15px;color:var(--gris-clair)}
.orbite-fil{position:absolute;left:-5%;right:-5%;top:110px;height:160px;z-index:-1}
.orbite-fil path{fill:none;stroke-width:1.4;stroke-dasharray:6 8}

/* ---------- Deux villes ---------- */
.villes{position:relative;padding:40px 0 150px}
.villes .grille{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}
.duo{position:relative;height:560px}
.duo .c{position:absolute;width:350px;height:350px;border-radius:50%;overflow:hidden;box-shadow:0 40px 70px -30px rgba(11,26,58,.45)}
.duo .c img{width:100%;height:100%;object-fit:cover}
.duo .c1{left:0;top:0;box-shadow:0 0 0 7px var(--blanc),0 0 0 10px var(--bleu),0 40px 70px -30px rgba(11,26,58,.45)}
.duo .c2{left:170px;top:150px;box-shadow:0 0 0 7px var(--blanc),0 0 0 10px var(--rouge),0 40px 70px -30px rgba(11,26,58,.45)}
.duo .legende{position:absolute;font-family:var(--serif);font-style:italic;font-size:22px;color:var(--nuit);background:#fff;border-radius:var(--pill);padding:8px 22px;box-shadow:0 16px 30px -16px rgba(11,26,58,.35)}
.duo .l1{left:20px;top:310px}
.duo .l2{left:420px;top:110px;font-style:normal;font-family:var(--ko);font-size:18px}
.villes .ko-mot{font-family:var(--ko);color:var(--rouge);letter-spacing:.2em;font-size:18px}
.villes h2{font-size:clamp(40px,4.6vw,66px);margin:18px 0 26px}
.villes h2 em{font-style:italic;color:var(--bleu)}
.villes p{color:var(--gris)}
.langues-trio{display:flex;gap:12px;flex-wrap:wrap;margin:34px 0 0}
.langues-trio span{padding:12px 24px;border-radius:var(--pill);background:#fff;box-shadow:inset 0 0 0 1.5px var(--ligne);font-weight:600;font-size:15px}
.langues-trio span.ko{font-weight:700}
.diplome{display:flex;align-items:center;gap:18px;margin-top:34px;padding:22px 26px;border-radius:28px;background:var(--blanc-2)}
.diplome .sceau{flex:none;width:64px;height:64px;border-radius:50%;object-fit:contain;background:#fff}
.diplome .sceau.vide{display:grid;place-items:center;background:var(--nuit);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em}
.diplome p{font-size:15px;color:var(--nuit);margin:0}

.chiffres{display:flex;gap:44px;margin-top:36px}
.chiffres b{display:block;font-family:var(--serif);font-weight:500;font-size:64px;line-height:1;color:var(--nuit)}
.chiffres div:nth-child(1) b{color:var(--rouge)}
.chiffres div:nth-child(3) b{color:var(--bleu)}
.chiffres span{font-size:14px;color:var(--gris)}

/* ---------- Références ---------- */
.avis{position:relative;background:var(--nuit);color:#fff;padding:170px 0 220px;overflow:hidden}
.avis .voute-haut{position:absolute;left:50%;top:-1px;width:150vw;height:160px;transform:translateX(-50%);background:var(--blanc);border-radius:0 0 50% 50%/0 0 100% 100%}
.avis .titre-section .ko-mot{color:#FF6F84}
.avis h2 em{font-style:italic;color:#9DB8FF}
.temoignages{position:relative;max-width:900px;margin:60px auto 0;text-align:center;display:grid}
.temoignage{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease,visibility 0s .5s;pointer-events:none}
.temoignage.actif{visibility:visible;transition:opacity .6s ease .45s,transform .6s ease .45s,visibility 0s .45s;opacity:1;transform:none;pointer-events:auto}
.temoignage blockquote{font-family:var(--serif);font-size:clamp(28px,3.2vw,42px);line-height:1.25;font-style:italic;font-weight:400}
.temoignage blockquote::before{content:"“";display:block;font-size:110px;line-height:.6;height:50px;color:var(--rouge);font-style:normal}
.temoignage cite{display:block;margin-top:34px;font-style:normal;font-size:15px;letter-spacing:.06em;color:rgba(255,255,255,.62)}
.temoignage cite b{display:block;color:#fff;font-size:16px;letter-spacing:.01em;margin-bottom:4px}
.puces{display:flex;justify-content:center;gap:14px;margin-top:50px}
.puces button{width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.22);color:rgba(255,255,255,.7);font-family:var(--serif);font-size:18px;transition:all .3s}
.puces button.actif{background:#fff;color:var(--nuit);box-shadow:none}
.defile{margin-top:90px;display:grid;gap:16px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.piste{display:flex;gap:16px;width:max-content;animation:defilement 60s linear infinite}
.piste.inverse{animation-direction:reverse;animation-duration:70s}
.piste span{flex:none;padding:14px 30px;border-radius:var(--pill);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);font-family:var(--serif);font-size:22px;color:rgba(255,255,255,.82);white-space:nowrap}
.piste span:nth-child(3n+1){box-shadow:inset 0 0 0 1px rgba(255,111,132,.4)}
.piste span:nth-child(3n+2){box-shadow:inset 0 0 0 1px rgba(157,184,255,.4)}
.defile:hover .piste{animation-play-state:paused}
@keyframes defilement{to{transform:translateX(calc(-50% - 8px))}}
.logos{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:80px}
.logos span{padding:12px 26px;border-radius:var(--pill);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);font-size:14px;letter-spacing:.08em;color:rgba(255,255,255,.62)}

/* ---------- Devis ---------- */
.devis{position:relative;padding:160px 0 180px;text-align:center;overflow:hidden}
.devis .voute-haut{position:absolute;left:50%;top:-1px;width:150vw;height:150px;transform:translateX(-50%);background:var(--nuit);border-radius:0 0 50% 50%/0 0 100% 100%}
.devis .grand-anneaux{position:absolute;left:50%;top:52%;width:1100px;height:640px;transform:translate(-50%,-50%);z-index:-1;opacity:.13}
.devis .grand-anneaux circle{fill:none;stroke-width:2}
.devis h2{font-size:clamp(50px,6.4vw,92px);margin-top:20px}
.devis h2 em{display:block;font-style:italic;background:linear-gradient(90deg,var(--bleu),#6A2470 50%,var(--rouge));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.devis .ko-mot{font-family:var(--ko);font-size:22px;color:var(--nuit)}
.devis p{max-width:560px;margin:26px auto 0;color:var(--gris)}
.devis .actions{margin-top:48px}
.coords{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 36px;margin-top:56px;font-size:15.5px;color:var(--gris)}
.coords a{color:var(--nuit);font-weight:600;border-bottom:1.5px solid rgba(200,16,46,.35)}

/* ---------- Pied ---------- */
.pied{background:var(--nuit);color:rgba(255,255,255,.7);padding:90px 0 40px;position:relative;font-size:15px}
.pied .haut{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px}
.pied .logo{color:#fff;font-size:26px}
.pied .slogan{margin-top:20px;font-family:var(--serif);font-style:italic;font-size:22px;color:#fff;line-height:1.3}
.pied .slogan .ko{display:block;font-style:normal;font-size:16px;color:rgba(255,255,255,.55);margin-top:6px}
.pied h4{font-family:var(--sans);font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.45);font-weight:600;margin-bottom:20px}
.pied ul{list-style:none;display:grid;gap:10px}
.pied a:hover{color:#fff}
.pied .bas{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:70px;padding-top:28px;border-top:1px solid rgba(255,255,255,.1);font-size:13.5px;color:rgba(255,255,255,.45)}

/* ---------- Apparition ---------- */
.apparait{opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.apparait.vu{opacity:1;transform:none}

/* ---------- Mobile ---------- */
.burger{display:none;width:46px;height:46px;border-radius:50%;border:0;background:#fff;box-shadow:inset 0 0 0 1.5px var(--ligne);cursor:pointer;place-items:center;flex:none}
.burger span{display:block;width:18px;height:1.5px;background:var(--nuit);position:relative;transition:transform .3s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:var(--nuit);transition:transform .3s}
.burger span::before{top:-6px}.burger span::after{top:6px}
.entete.ouvert .burger span{background:transparent}
.entete.ouvert .burger span::before{transform:translateY(6px) rotate(45deg)}
.entete.ouvert .burger span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1100px){
  .burger{display:grid}
  .entete .btn-nuit{margin-left:auto}
  .entete.ouvert .nav{display:flex;flex-direction:column;align-items:center;gap:6px;position:absolute;top:100%;left:16px;right:16px;margin:0;padding:24px;border-radius:32px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 30px 60px -30px rgba(11,26,58,.4);font-size:18px}
  .modes{grid-template-columns:repeat(2,1fr)}
  .mode:nth-child(even){margin-top:0}
  .prepa .carte{grid-template-columns:1fr;padding:70px 48px;gap:60px}
  .prepa .photo-ronde{max-width:420px;margin:0 auto;width:100%}
  .villes .grille{grid-template-columns:1fr}
  .duo{height:520px;max-width:600px;margin:0 auto;width:100%}
  .pied .haut{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap{padding:0 20px}
  .entete .wrap{height:84px;gap:16px}
  .logo{font-size:22px;gap:12px}
  .logo .anneaux{width:44px;height:28px}
  .langues{display:none}
  .entete .btn-nuit.petit{display:none}
  .burger{margin-left:auto}
  .heros{padding:130px 16px 170px}
  .surtitre{font-size:11px;letter-spacing:.22em}
  .pont{height:200px}
  .pont .medaillon{width:150px;height:150px;margin-left:-75px}
  .pont .medaillon svg{width:140px}
  .ville{font-size:16px}
  .ville.fr{left:12%}.ville.kr{left:84%}
  .pont .voyageur{display:none}
  .actions{gap:14px}
  .actions .btn{padding:14px 24px;font-size:15px}
  .modes{grid-template-columns:1fr}
  .prepa .carte{padding:56px 24px;border-radius:32px}
  .prepa .vignette{right:0}
  .domaine,.domaine .rond{width:130px}
  .domaine .rond{height:130px}
  .domaine:nth-child(even){transform:translateY(30px)}
  .duo{height:420px}
  .chiffres{gap:24px}
  .chiffres b{font-size:46px}
  .duo .c{width:240px;height:240px}
  .duo .c2{left:auto;right:0;top:130px}
  .duo .l1{left:0;top:240px}.duo .l2{left:auto;right:0;top:390px}
  .pied .haut{grid-template-columns:1fr}
  .mot{display:none}
  .mot.garde{display:block}
  .mot.m1{left:4%!important;top:15%!important;font-size:34px!important}
  .mot.m2{left:3%!important;top:50%!important;font-size:26px!important}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.arcb{stroke-dasharray:205 47}.arcr{stroke-dasharray:215 37}.apparait{opacity:1;transform:none}}

/* =====================================================
   V2 — manifeste, onglets, mosaïque, bloc contact
   ===================================================== */
.manifeste{position:relative;background:var(--nuit);color:#fff;text-align:center;padding:30px 0 170px;overflow:hidden}
.manifeste .filigrane{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);font-size:clamp(260px,34vw,520px);line-height:1;color:rgba(255,255,255,.045);white-space:nowrap;pointer-events:none;animation:souffle 12s ease-in-out infinite}
@keyframes souffle{50%{color:rgba(157,184,255,.08);transform:translate(-50%,-50%) scale(1.03)}}
.manif-texte{font-family:var(--serif);font-size:clamp(40px,5.2vw,74px);line-height:1.08;font-weight:500;position:relative;text-wrap:balance}
.manif-texte em{font-style:italic;background:linear-gradient(90deg,#9DB8FF,#FF6F84);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.manif-sous{max-width:620px;margin:30px auto 0;font-size:18px;color:rgba(255,255,255,.68);position:relative}
.chiffres.clair{justify-content:center;gap:90px;margin-top:70px;position:relative}
.chiffres.clair b{color:#fff;font-size:84px}
.chiffres.clair div:nth-child(1) b{color:#FF6F84}
.chiffres.clair div:nth-child(3) b{color:#9DB8FF}
.chiffres.clair span{color:rgba(255,255,255,.6);font-size:14px;letter-spacing:.06em}

.prestations{padding:150px 0 130px;position:relative}
.prestations .titre-section .ko-mot{color:var(--rouge)}
.prestations h2 em{font-style:italic;color:var(--bleu)}
.onglets{display:flex;justify-content:center;gap:6px;width:max-content;max-width:100%;margin:60px auto 0;padding:7px;border-radius:var(--pill);background:#fff;box-shadow:0 20px 50px -28px rgba(11,26,58,.35),inset 0 0 0 1px var(--ligne)}
.onglet{position:relative;overflow:hidden;border:0;background:transparent;cursor:pointer;padding:16px 30px;border-radius:var(--pill);font-family:var(--sans);font-size:16px;font-weight:600;color:var(--nuit);display:flex;align-items:center;gap:10px;transition:background .35s,color .35s}
.onglet .num{font-family:var(--serif);font-style:italic;font-size:17px;font-weight:500;color:var(--rouge)}
.onglet:hover{background:var(--blanc-2)}
.onglet.actif{background:var(--nuit);color:#fff}
.onglet.actif .num{color:#FF6F84}
.onglet .jauge{position:absolute;left:22px;right:22px;bottom:7px;height:2px;border-radius:2px;background:rgba(255,255,255,.18);overflow:hidden;opacity:0}
.onglet.actif .jauge{opacity:1}
.onglet .jauge::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#9DB8FF,#FF6F84);transform:scaleX(0);transform-origin:left}
.onglet.actif.joue .jauge::after{animation:jauge 5s linear forwards}
@keyframes jauge{to{transform:scaleX(1)}}
.panneaux{display:grid;margin-top:56px}
.panneau{grid-area:1/1;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;background:#fff;border-radius:48px;padding:70px 80px;box-shadow:0 50px 100px -55px rgba(11,26,58,.4),inset 0 0 0 1px var(--ligne);opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s .5s}
.panneau.actif{opacity:1;visibility:visible;transition:opacity .6s ease}
.panneau .pan-texte>*{transform:translateY(22px);opacity:0;transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .7s}
.panneau.actif .pan-texte>*{transform:none;opacity:1}
.panneau.actif .pan-texte>*:nth-child(2){transition-delay:.06s}
.panneau.actif .pan-texte>*:nth-child(3){transition-delay:.12s}
.panneau.actif .pan-texte>*:nth-child(4){transition-delay:.18s}
.panneau.actif .pan-texte>*:nth-child(5){transition-delay:.24s}
.pan-ko{display:block;font-size:20px;letter-spacing:.2em;color:var(--rouge)}
.panneau h3{font-size:clamp(40px,4.4vw,62px);margin:16px 0 22px}
.panneau h3 em{font-style:italic;color:var(--bleu)}
.panneau .pan-texte>p{color:var(--gris);font-size:17.5px}
.panneau ul{list-style:none;margin-top:26px;display:grid;gap:10px}
.panneau li{display:flex;align-items:center;gap:14px;font-weight:500;font-size:16px}
.panneau li::before{content:"";flex:none;width:18px;height:11px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 18'%3E%3Ccircle cx='9' cy='9' r='7' fill='none' stroke='%23C8102E' stroke-width='2.4'/%3E%3Ccircle cx='21' cy='9' r='7' fill='none' stroke='%230047A0' stroke-width='2.4'/%3E%3C/svg%3E")}
.pan-ref{margin-top:30px;padding:16px 22px;border-radius:22px;background:var(--blanc-2);font-size:14.5px;color:var(--nuit)!important}
.pan-ref b{display:block;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gris);margin-bottom:2px}
.pan-visuel{position:relative;justify-self:center;width:min(420px,100%)}
.pan-rond{aspect-ratio:1;border-radius:50%;overflow:hidden;position:relative}
.pan-rond img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 5.5s ease-out}
.panneau.actif .pan-rond img{transform:scale(1)}
.pan-visuel::before,.pan-visuel::after{content:"";position:absolute;inset:-16px;border-radius:50%;border:2px solid var(--rouge);transform:translateX(-22px);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.pan-visuel::after{border-color:var(--bleu);transform:translateX(22px)}
.panneau:not(.actif) .pan-visuel::before,.panneau:not(.actif) .pan-visuel::after{transform:none}
.pan-badge{position:absolute;right:-18px;bottom:36px;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:var(--nuit);color:#fff;font-size:17px;font-weight:700;box-shadow:0 20px 40px -16px rgba(11,26,58,.5)}

.mosaique{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:70px}
.case{position:relative;min-height:290px;padding:34px 30px 30px;border-radius:32px;background:#fff;box-shadow:inset 0 0 0 1px var(--ligne);overflow:hidden;display:flex;flex-direction:column;transition:background .45s ease,color .45s ease,transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.case:nth-child(4n+2),.case:nth-child(4n+4){transform:translateY(34px)}
.case .ico{width:46px;height:46px;fill:none;stroke:var(--bleu);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;animation:flotte-ico 5s ease-in-out infinite}
.case:nth-child(odd) .ico{stroke:var(--rouge);animation-delay:-2.5s}
@keyframes flotte-ico{50%{transform:translateY(-5px) rotate(-4deg)}}
.case .ico *{stroke-dasharray:120;stroke-dashoffset:0}
.case:hover .ico *{animation:dessine 1.1s ease forwards}
@keyframes dessine{0%{stroke-dashoffset:120}100%{stroke-dashoffset:0}}
.case-ko{position:absolute;right:22px;top:16px;font-size:64px;line-height:1;color:rgba(11,26,58,.07);transition:color .45s,transform .6s}
.case h3{font-size:31px;margin-top:auto}
.case small{display:block;font-size:14px;color:var(--gris);transition:color .45s}
.case-refs{max-height:0;opacity:0;overflow:hidden;font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.72);transition:max-height .55s ease,opacity .4s ease,margin .45s;margin-top:0}
.case:hover{background:var(--nuit);color:#fff;box-shadow:0 40px 70px -35px rgba(11,26,58,.6)}
.case:hover small{color:rgba(255,255,255,.55)}
.case:hover .ico{stroke:#9DB8FF}
.case:nth-child(odd):hover .ico{stroke:#FF6F84}
.case:hover .case-ko{color:rgba(255,255,255,.12);transform:scale(1.12)}
.case:hover .case-refs{max-height:120px;opacity:1;margin-top:14px}
.domaines{padding:120px 0 170px}

.avis{border-radius:0 0 50% 50%/0 0 140px 140px;padding-bottom:230px}
.villes{padding-top:150px}

.contact{padding:20px 0 140px}
.bloc-contact{position:relative;overflow:hidden;background:var(--nuit);color:#fff;border-radius:48px;padding:84px 80px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;box-shadow:0 60px 120px -60px rgba(11,26,58,.6)}
.bc-anneaux{position:absolute;right:-180px;top:-60px;width:820px;opacity:.28;pointer-events:none;animation:respire 9s ease-in-out infinite}
.bc-anneaux circle{fill:none;stroke-width:1.4}
.bc-texte{position:relative}
.bc-texte .ko-mot{font-family:var(--ko);font-size:18px;letter-spacing:.2em;color:#FF6F84}
.bloc-contact h2{font-size:clamp(50px,5.6vw,82px);margin:18px 0 24px}
.bloc-contact h2 em{display:block;font-style:italic;background:linear-gradient(90deg,#9DB8FF,#FF6F84);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.bc-texte>p{color:rgba(255,255,255,.68)}
.formulaire{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:16px;background:rgba(255,255,255,.05);border-radius:32px;padding:34px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);backdrop-filter:blur(8px)}
.formulaire .plein{grid-column:1/-1}
.formulaire label span{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:0 0 8px 6px}
.formulaire input,.formulaire select,.formulaire textarea{width:100%;font:inherit;font-size:15.5px;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:15px 18px;outline:none;transition:border-color .25s,background .25s;appearance:none;-webkit-appearance:none}
.formulaire select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:12px}
.formulaire select option{color:var(--nuit)}
.formulaire textarea{resize:vertical;min-height:96px}
.formulaire ::placeholder{color:rgba(255,255,255,.35)}
.formulaire input:focus,.formulaire select:focus,.formulaire textarea:focus{border-color:#9DB8FF;background:rgba(255,255,255,.1)}
.formulaire .btn{margin-top:8px;border:0;cursor:pointer;width:100%}

@media (max-width:1100px){
  .mosaique{grid-template-columns:repeat(2,1fr)}
  .case:nth-child(4n+2),.case:nth-child(4n+4){transform:none}
  .case:nth-child(even){transform:translateY(30px)}
}
@media (max-width:640px){
  .manifeste{padding-bottom:130px}
  .chiffres.clair{gap:26px;margin-top:48px}
  .chiffres.clair b{font-size:52px}
  .onglets{width:auto;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;border-radius:28px;margin-left:-4px;margin-right:-4px}
  .onglet{padding:14px 18px;font-size:14.5px;flex:none}
  .onglet .num{display:none}
  .panneau{padding:40px 24px;border-radius:32px}
  .pan-badge{width:72px;height:72px;right:-6px;font-size:14px}
  .mosaique{grid-template-columns:1fr 1fr;gap:12px}
  .case{min-height:220px;padding:24px 20px;border-radius:24px}
  .case h3{font-size:24px}
  .case-ko{font-size:44px}
  .case .case-refs{display:none}
  .bloc-contact{padding:48px 22px;border-radius:32px}
  .formulaire{grid-template-columns:1fr;padding:22px}
  .avis{border-radius:0 0 50% 50%/0 0 60px 60px}
}
.case:hover{transform:translateY(-6px)}
.case:nth-child(4n+2):hover,.case:nth-child(4n+4):hover{transform:translateY(28px)}
@media (max-width:1100px){.case:nth-child(4n+2):hover,.case:nth-child(4n+4):hover{transform:none}.case:nth-child(even):hover{transform:translateY(24px)}}

/* Gastronomie */
.gastro{padding:40px 0 170px;position:relative}
.gastro-grille{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.gastro .ko-mot{font-family:var(--ko);color:var(--rouge);letter-spacing:.2em;font-size:18px}
.gastro h2{font-size:clamp(42px,4.8vw,68px);margin:18px 0 24px}
.gastro h2 em{font-style:italic;color:var(--bleu)}
.gastro-texte>p{color:var(--gris);font-size:17.5px}
.vedette{margin-top:34px;padding:28px 32px;border-radius:32px;background:var(--nuit);color:#fff;position:relative;overflow:hidden}
.vedette::after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;border:1.5px solid rgba(255,111,132,.35);box-shadow:60px 20px 0 -1px transparent}
.vedette-label{display:block;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:#FF6F84}
.vedette strong{display:block;font-family:var(--serif);font-weight:500;font-size:38px;line-height:1.1;margin:8px 0 16px}
.vedette-autres{display:flex;flex-wrap:wrap;gap:10px}
.vedette-autres span{padding:8px 18px;border-radius:var(--pill);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);font-size:14px;color:rgba(255,255,255,.85)}
.lexique{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}
.lexique li{padding:14px 10px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px var(--ligne);text-align:center}
.lexique b{display:block;font-family:var(--serif);font-weight:500;font-size:20px;font-style:italic}
.lexique span{font-size:14px;color:var(--rouge)}
.gastro-visuel{position:relative;height:600px}
.gastro-visuel .g{position:absolute;border-radius:50%;overflow:hidden}
.gastro-visuel .g img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}
.gastro-visuel:hover .g img{transform:scale(1.06)}
.g1{width:420px;height:420px;right:0;top:0;box-shadow:0 0 0 7px var(--blanc),0 0 0 10px var(--rouge),0 40px 70px -30px rgba(11,26,58,.45)}
.g2{width:250px;height:250px;left:0;bottom:30px;box-shadow:0 0 0 7px var(--blanc),0 0 0 10px var(--bleu),0 40px 70px -30px rgba(11,26,58,.45);animation:flotte-ico 7s ease-in-out infinite}
.g3{width:150px;height:150px;left:250px;bottom:0;box-shadow:0 0 0 6px var(--blanc),0 30px 50px -24px rgba(11,26,58,.45);animation:flotte-ico 6s ease-in-out -3s infinite}
.g-mot{position:absolute;left:30px;top:20px;font-size:150px;line-height:1;color:rgba(200,16,46,.1)}

/* Contact : coordonnées */
.bc-coords{margin-top:36px;display:grid;gap:12px}
.bc-ligne{display:flex;align-items:center;gap:16px;padding:14px 18px 14px 14px;border-radius:24px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);transition:background .3s,transform .3s;border:0!important}
a.bc-ligne:hover{background:rgba(255,255,255,.1);transform:translateX(4px)}
.bc-ligne i{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(200,16,46,.22);box-shadow:inset 0 0 0 1px rgba(255,111,132,.4)}
.bc-ligne:nth-child(2) i{background:rgba(0,71,160,.35);box-shadow:inset 0 0 0 1px rgba(157,184,255,.45)}
.bc-ligne:nth-child(3) i{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.bc-ligne svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.bc-ligne span{font-size:15.5px;color:#fff;line-height:1.4}
.bc-ligne small{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:2px}
.bc-siege{margin-top:22px;font-size:13.5px;color:rgba(255,255,255,.45)}

@media (max-width:1100px){
  .gastro-grille{grid-template-columns:1fr;gap:50px}
  .gastro-visuel{max-width:600px;width:100%;margin:0 auto}
}
@media (max-width:640px){
  .lexique{grid-template-columns:repeat(2,1fr)}
  .vedette strong{font-size:30px}
  .gastro-visuel{height:420px}
  .g1{width:270px;height:270px}
  .g2{width:170px;height:170px;bottom:20px}
  .g3{width:110px;height:110px;left:170px}
  .g-mot{font-size:100px}
}

/* Références : défilement seul */
.avis-intro{text-align:center;max-width:560px;margin:24px auto 0;color:rgba(255,255,255,.62);font-size:17px}
.avis .defile{margin-top:70px;gap:18px}
.avis .piste span{font-size:26px;padding:16px 34px}
.piste.lente{animation-duration:80s}
.avis{padding-bottom:180px}
@media (max-width:640px){.avis .piste span{font-size:20px;padding:12px 24px}}

/* Domaines : médaillons cliquables + fiches */
button.domaine{border:0;background:none;font:inherit;color:inherit;cursor:pointer;padding:0}
.domaine .rond{display:block;transition:box-shadow .4s,transform .4s}
.domaine h3{transition:color .3s}
.domaine.actif .rond{box-shadow:0 0 0 6px #fff,0 0 0 9px var(--nuit),0 30px 50px -20px rgba(11,26,58,.6);transform:scale(1.08)}
.domaine.actif h3{color:var(--rouge)}
.domaine.actif small{color:var(--nuit);font-weight:600}
.domaines .titre-section strong{color:var(--nuit);font-weight:600}
.fiches{display:grid;margin-top:40px}
.fiche{grid-area:1/1;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .45s,transform .45s,visibility 0s .45s}
.fiche.actif{opacity:1;visibility:visible;transform:none;transition:opacity .6s .1s,transform .6s .1s}
.fiche .ko-mot{font-family:var(--ko);color:var(--rouge);letter-spacing:.2em;font-size:18px}
.fiche h2{font-size:clamp(40px,4.4vw,62px);margin:16px 0 22px}
.fiche h2 em{font-style:italic;color:var(--bleu)}
.fiche-texte>p{color:var(--gris);font-size:17px}
.fiche-visuel{position:relative;height:560px}
.fiche-visuel .g{position:absolute;border-radius:50%;overflow:hidden}
.fiche-visuel .g img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}
.fiche.actif .g1 img{animation:zoomdoux 6s ease-out}
@keyframes zoomdoux{from{transform:scale(1.12)}to{transform:scale(1)}}
.fiche .g1{width:400px;height:400px}
.fiche .g2{width:240px;height:240px}
.fiche .g3{width:140px;height:140px;left:240px}
.vedette-autres span{font-size:13.5px}
@media (max-width:860px){
  .fiche{grid-template-columns:1fr;gap:40px}
  .fiche-visuel{max-width:600px;width:100%;margin:0 auto}
}
@media (max-width:640px){
  .orbite{gap:28px 10px}
  .fiche-visuel{height:400px}
  .fiche .g1{width:260px;height:260px}
  .fiche .g2{width:160px;height:160px}
  .fiche .g3{width:100px;height:100px;left:160px}
}

/* Le haut de page tient dans l'écran, quelle que soit sa hauteur */
.heros{min-height:100vh;min-height:100svh;padding:clamp(88px,13vh,130px) 24px clamp(70px,14vh,200px);justify-content:center}
.surtitre{margin-bottom:clamp(14px,3vh,34px)}
.heros h1{font-size:clamp(44px,min(8.6vw,11.5vh),124px)}
.heros .accroche-ko{font-size:clamp(20px,min(3.2vw,4.2vh),40px);margin-top:clamp(10px,2.4vh,30px)}
.pont{height:clamp(120px,22vh,240px);margin-top:clamp(10px,2.5vh,30px)}
.pont .medaillon{width:clamp(110px,19vh,212px);height:clamp(110px,19vh,212px);margin-left:calc(clamp(110px,19vh,212px) / -2)}
.pont .medaillon svg{width:94%;height:auto}
.ville{font-size:clamp(14px,2vh,20px)}
.ville::before{width:clamp(14px,2vh,22px);height:clamp(14px,2vh,22px);margin-bottom:6px}
.actions{margin-top:clamp(10px,2.4vh,22px)}
.voute{height:clamp(60px,12vh,220px)}
.ondes{bottom:clamp(30px,8vh,120px);height:clamp(70px,12vh,140px)}
.entete .wrap{height:clamp(72px,11vh,104px)}

/* Prestations : onglets + panneau tiennent dans l'écran */
.prestations{padding:clamp(70px,12vh,150px) 0 clamp(70px,10vh,130px)}
.prestations h2{font-size:clamp(36px,min(5.4vw,7vh),76px)}
.onglets{margin-top:clamp(24px,4vh,60px)}
.panneaux{margin-top:clamp(20px,3.5vh,56px)}
.panneau{padding:clamp(32px,5vh,70px) clamp(32px,5vw,80px);gap:clamp(30px,4vw,70px)}
.panneau h3{font-size:clamp(32px,min(4.4vw,6vh),62px);margin:clamp(6px,1.2vh,16px) 0 clamp(10px,1.8vh,22px)}
.panneau .pan-texte>p{font-size:clamp(15px,2vh,17.5px)}
.panneau ul{margin-top:clamp(12px,2vh,26px);gap:clamp(4px,1vh,10px)}
.pan-ref{margin-top:clamp(12px,2.4vh,30px)}
.pan-visuel{width:min(420px,100%,46vh)}
@media (max-width:860px){
  .panneau{grid-template-columns:1fr;padding:48px 40px;gap:40px}
  .pan-visuel{width:min(340px,100%)}
}
@media (max-width:1100px) and (min-width:861px){.panneau{grid-template-columns:1.2fr .8fr}}
/* Médaillons : 8 sur une ligne dès 860 px */
@media (min-width:861px){
  .orbite{flex-wrap:nowrap;gap:clamp(8px,1.2vw,16px)}
  .domaine{width:clamp(88px,9.6vw,124px)}
  .domaine .rond{width:clamp(88px,9.6vw,124px);height:clamp(88px,9.6vw,124px)}
  .domaine h3{font-size:clamp(19px,2vw,25px)}
  .domaine small{font-size:clamp(11px,1vw,12.5px)}
  .domaine:nth-child(even){transform:translateY(clamp(30px,4.5vw,64px))}
  .domaine:nth-child(even):hover{transform:translateY(calc(clamp(30px,4.5vw,64px) - 8px))}
}

/* Fiches : visuels proportionnels à l'écran */
@media (min-width:861px){
  .fiche{gap:clamp(30px,5vw,80px);grid-template-columns:1.1fr .9fr}
  .fiche-visuel{--t:min(560px,72vh,44vw);height:var(--t)}
  .fiche .g1{width:calc(var(--t) * .71);height:calc(var(--t) * .71)}
  .fiche .g2{width:calc(var(--t) * .43);height:calc(var(--t) * .43)}
  .fiche .g3{width:calc(var(--t) * .25);height:calc(var(--t) * .25);left:calc(var(--t) * .43)}
  .fiche .g-mot{font-size:calc(var(--t) * .26)}
  .fiche h2{font-size:clamp(32px,min(4.2vw,7vh),62px);margin:clamp(6px,1.4vh,16px) 0 clamp(10px,2vh,22px)}
  .fiche-texte>p{font-size:clamp(14.5px,2vh,17px)}
  .fiche .vedette{margin-top:clamp(14px,3vh,34px);padding:clamp(16px,3vh,28px) 28px}
  .fiche .vedette strong{font-size:clamp(24px,4.4vh,38px);margin:4px 0 10px}
  .fiche .lexique li{padding:clamp(8px,1.4vh,14px) 8px}
}
@media (max-width:860px){.bloc-contact{grid-template-columns:1fr;padding:56px 40px}}
@media (min-width:861px){
  .contact{padding:clamp(20px,4vh,40px) 0 clamp(70px,12vh,140px)}
  .bloc-contact{padding:clamp(36px,7vh,84px) clamp(36px,5vw,80px);gap:clamp(30px,5vw,70px)}
  .bloc-contact h2{font-size:clamp(40px,min(5.6vw,9vh),82px);margin:clamp(8px,1.6vh,18px) 0 clamp(10px,2vh,24px)}
  .bc-coords{margin-top:clamp(16px,3.4vh,36px);gap:clamp(6px,1.2vh,12px)}
  .bc-ligne{padding:clamp(8px,1.4vh,14px) 18px clamp(8px,1.4vh,14px) 12px}
  .bc-ligne i{width:clamp(36px,6vh,46px);height:clamp(36px,6vh,46px)}
  .formulaire{padding:clamp(20px,3.6vh,34px);gap:clamp(8px,1.6vh,16px)}
  .formulaire input,.formulaire select,.formulaire textarea{padding:clamp(9px,1.6vh,15px) 16px}
  .formulaire textarea{min-height:clamp(56px,10vh,96px)}
  .formulaire label span{margin-bottom:clamp(4px,.8vh,8px)}
}

/* =====================================================
   V3 — Domaines sur un seul écran : sélecteurs à gauche, fiche à droite
   ===================================================== */
.domaines{padding:clamp(60px,10vh,120px) 0 clamp(80px,12vh,170px)}
.dom-grille{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(28px,4vw,64px);align-items:center;max-width:1280px}
.dom-titre{text-align:left;margin:0}
.dom-titre h2{font-size:clamp(34px,min(4.4vw,7.4vh),64px)}
.dom-titre p{margin-top:clamp(8px,1.8vh,20px);font-size:clamp(14px,2vh,16.5px)}
.domaines .orbite{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,2.4vh,26px) clamp(8px,1.2vw,16px);margin-top:clamp(16px,3.6vh,40px);padding:0;flex-wrap:unset}
.domaines .domaine,.domaines .domaine:nth-child(even){width:auto;transform:none}
.domaines .domaine:nth-child(even){transform:translateY(clamp(8px,2vh,18px))}
.domaines .domaine .rond{width:clamp(62px,min(9vw,12vh),108px);height:clamp(62px,min(9vw,12vh),108px);margin:0 auto}
.domaines .domaine h3{font-size:clamp(16px,min(1.7vw,2.8vh),22px);margin-top:clamp(6px,1.2vh,14px)}
.domaines .domaine small{font-size:clamp(10.5px,1.5vh,12px);line-height:1.3;margin:2px 0 0}
.domaines .domaine .ko{display:none}
.domaines .domaine:hover{transform:translateY(-4px)}
.domaines .domaine:nth-child(even):hover{transform:translateY(calc(clamp(8px,2vh,18px) - 4px))}
.domaines .domaine .rond img{filter:saturate(.75);transition:transform .8s,filter .5s}
.domaines .domaine:hover .rond img,.domaines .domaine.actif .rond img{filter:none}
.domaines .domaine.actif .rond{transform:scale(1.1)}

/* La fiche, en carte */
.domaines .fiches{margin:0;position:relative}
.domaines .fiche{display:flex;flex-direction:column;gap:0;background:#fff;border-radius:40px;overflow:hidden;box-shadow:0 50px 90px -50px rgba(11,26,58,.45),inset 0 0 0 1px var(--ligne);grid-template-columns:none;transform:none}
.domaines .fiche-visuel{order:-1;--t:clamp(150px,30vh,270px);height:var(--t);width:100%;max-width:none;margin:0;background:linear-gradient(120deg,var(--blanc-2),#fff 60%);position:relative;overflow:hidden}
.domaines .fiche .g{top:auto;bottom:auto}
.domaines .fiche .g1{width:calc(var(--t) * 1.02);height:calc(var(--t) * 1.02);right:calc(var(--t) * .18);top:calc(var(--t) * .14);left:auto;box-shadow:0 0 0 6px #fff,0 0 0 9px var(--rouge)}
.domaines .fiche .g2{width:calc(var(--t) * .62);height:calc(var(--t) * .62);right:calc(var(--t) * 1.02);top:calc(var(--t) * .2);left:auto;bottom:auto;box-shadow:0 0 0 6px #fff,0 0 0 9px var(--bleu);animation:none}
.domaines .fiche .g3{width:calc(var(--t) * .36);height:calc(var(--t) * .36);right:calc(var(--t) * .02);top:calc(var(--t) * .08);left:auto;bottom:auto;box-shadow:0 0 0 5px #fff,0 18px 30px -16px rgba(11,26,58,.5);animation:none;z-index:2}
.domaines .fiche .g-mot{left:clamp(20px,3vw,40px);top:auto;bottom:-.12em;font-size:calc(var(--t) * .62);color:rgba(200,16,46,.09)}
.domaines .fiche-texte{padding:clamp(18px,3.4vh,36px) clamp(22px,3vw,44px) clamp(20px,3.6vh,38px)}
.domaines .fiche .ko-mot{font-size:15px}
.domaines .fiche h3{font-family:var(--serif);font-weight:500;line-height:1.05;font-size:clamp(26px,min(3vw,5vh),44px);margin:clamp(4px,.8vh,10px) 0 clamp(8px,1.4vh,14px)}
.domaines .fiche h3 em{font-style:italic;color:var(--bleu)}
.domaines .fiche-texte>p{font-size:clamp(13.5px,1.9vh,16px);line-height:1.55}
.domaines .fiche .vedette{margin-top:clamp(10px,2vh,20px);padding:clamp(12px,2vh,20px) 24px;border-radius:24px}
.domaines .fiche .vedette strong{font-size:clamp(20px,3.4vh,30px);margin:2px 0 clamp(6px,1.2vh,12px)}
.domaines .fiche .vedette-autres{gap:6px}
.domaines .fiche .vedette-autres span{padding:5px 13px;font-size:12.5px}
.domaines .fiche .lexique{margin-top:clamp(8px,1.6vh,16px);gap:8px}
.domaines .fiche .lexique li{padding:clamp(6px,1.1vh,11px) 6px;border-radius:16px}
.domaines .fiche .lexique b{font-size:clamp(15px,2.2vh,18px)}
.domaines .fiche .lexique span{font-size:12.5px}

/* Transition entre deux fiches : sortie en fondu, entrée chorégraphiée */
.domaines .fiche{transition:opacity .35s ease,visibility 0s .35s}
.domaines .fiche.actif{transition:opacity .45s ease}
.domaines .fiche.actif .g1{animation:entreeG1 .9s cubic-bezier(.2,.8,.2,1) both}
.domaines .fiche.actif .g2{animation:entreeG2 .9s cubic-bezier(.2,.8,.2,1) .08s both}
.domaines .fiche.actif .g3{animation:entreeG3 .7s cubic-bezier(.3,1.4,.5,1) .3s both}
.domaines .fiche.actif .g1 img{animation:zoomdoux 5s ease-out both}
.domaines .fiche.actif .g-mot{animation:entreeMot 1.1s ease .1s both}
.domaines .fiche.actif .fiche-texte>*{animation:monte .6s cubic-bezier(.2,.8,.2,1) both}
.domaines .fiche.actif .fiche-texte>*:nth-child(2){animation-delay:.06s}
.domaines .fiche.actif .fiche-texte>*:nth-child(3){animation-delay:.12s}
.domaines .fiche.actif .fiche-texte>*:nth-child(4){animation-delay:.18s}
.domaines .fiche.actif .fiche-texte>*:nth-child(5){animation-delay:.24s}
@keyframes entreeG1{from{opacity:0;transform:translateX(40px) scale(.9)}to{opacity:1;transform:none}}
@keyframes entreeG2{from{opacity:0;transform:translateX(-30px) scale(.85)}to{opacity:1;transform:none}}
@keyframes entreeG3{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
@keyframes entreeMot{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes monte{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

@media (max-width:860px){
  .dom-grille{grid-template-columns:1fr}
  .dom-titre{text-align:center}
  .domaines .orbite{display:flex;overflow-x:auto;gap:14px;padding:6px 4px 18px;scroll-snap-type:x mandatory;scrollbar-width:none;margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}
  .domaines .domaine,.domaines .domaine:nth-child(even){flex:none;width:96px;transform:none;scroll-snap-align:start}
  .domaines .domaine .rond{width:84px;height:84px}
  .domaines .fiche-visuel{--t:180px}
}

/* =====================================================
   Transitions entre sections et apparitions
   ===================================================== */
.manifeste{border-radius:0 0 50% 50%/0 0 90px 90px;margin-bottom:-1px;position:relative;z-index:2}
.pied{border-radius:50% 50% 0 0/80px 80px 0 0;padding-top:120px}
.apparait{transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1),filter 1.1s;filter:blur(6px)}
.apparait.vu{filter:none}
.titre-section.apparait .ko-mot{display:inline-block;transition:letter-spacing 1.4s cubic-bezier(.2,.7,.2,1),opacity 1.2s;letter-spacing:.6em;opacity:0}
.titre-section.apparait.vu .ko-mot{letter-spacing:.2em;opacity:1}
.heros>*:not(.taeguk):not(.mots):not(.ondes):not(.voute){animation:monte 1s cubic-bezier(.2,.8,.2,1) both}
.heros .surtitre{animation-delay:.1s!important}
.heros h1{animation-delay:.2s!important}
.heros .accroche-ko{animation-delay:.35s!important}
.heros .pont{animation-delay:.45s!important}
.heros .actions{animation-delay:.6s!important}
@media (prefers-reduced-motion:reduce){.apparait{filter:none}}
@media (min-width:861px){
  .domaines .fiche-visuel{--t:clamp(110px,22vh,250px)}
  .domaines .fiche-texte{padding:clamp(14px,2.6vh,34px) clamp(22px,3vw,44px) clamp(16px,2.8vh,36px)}
  .domaines .fiche h3{font-size:clamp(24px,min(2.8vw,4.6vh),42px)}
  .domaines .fiche-texte>p{font-size:clamp(13px,1.8vh,16px)}
  .domaines .fiche .vedette{margin-top:clamp(8px,1.6vh,20px);padding:clamp(10px,1.6vh,20px) 22px}
  .domaines .fiche .vedette strong{font-size:clamp(18px,3vh,30px)}
  .domaines .fiche .lexique li{padding:clamp(5px,.9vh,11px) 6px}
  .domaines .fiche .lexique b{font-size:clamp(14px,2vh,18px)}
  .domaines .fiche .lexique span{font-size:clamp(11px,1.6vh,12.5px)}
  .dom-grille{min-height:calc(100vh - clamp(120px,20vh,290px))}
}
@media (min-width:861px){
  .domaines .fiche .g1{width:calc(var(--t) * .86);height:calc(var(--t) * .86);top:calc(var(--t) * .07);right:calc(var(--t) * .3)}
  .domaines .fiche .g2{width:calc(var(--t) * .58);height:calc(var(--t) * .58);top:calc(var(--t) * .3);right:calc(var(--t) * 1.04)}
  .domaines .fiche .g3{width:calc(var(--t) * .4);height:calc(var(--t) * .4);top:calc(var(--t) * .1);right:calc(var(--t) * .06)}
  .domaines .domaine.actif h3{margin-top:clamp(10px,1.8vh,18px)}
}
.dom-grille>*{min-width:0}
@media (max-width:860px){
  .domaines .fiche-visuel{--t:170px;height:var(--t)}
  .domaines .fiche .g1{width:calc(var(--t) * .86);height:calc(var(--t) * .86);top:calc(var(--t) * .07);right:calc(var(--t) * .3)}
  .domaines .fiche .g2{width:calc(var(--t) * .58);height:calc(var(--t) * .58);top:calc(var(--t) * .3);right:calc(var(--t) * 1.04)}
  .domaines .fiche .g3{width:calc(var(--t) * .4);height:calc(var(--t) * .4);top:calc(var(--t) * .1);right:calc(var(--t) * .06);left:auto}
  .domaines .fiche h3{font-size:28px;margin:6px 0 10px}
  .domaines .fiche .lexique{grid-template-columns:repeat(2,1fr)}
}

/* V4 — haut de page sans boutons ni bande bleue */
.heros{padding-bottom:clamp(60px,12vh,160px)}
.heros .pont{margin-top:clamp(16px,4vh,44px)}
.manifeste{border-radius:50% 50% 50% 50%/90px 90px 90px 90px;padding-top:clamp(90px,14vh,150px)}
.nav{gap:30px;font-size:15.5px}
@media (max-width:1240px) and (min-width:1101px){.nav{gap:20px;font-size:15px}.entete .wrap{gap:24px}.logo{font-size:26px}}

/* =====================================================
   V5 — Manifeste + pont fusionnés, défilé de confiance
   ===================================================== */
.manifeste{text-align:left;padding:clamp(80px,13vh,150px) 0 clamp(80px,13vh,150px)}
.manif-grille{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(30px,5vw,80px);align-items:center;position:relative;max-width:1240px}
.manifeste .filigrane{left:70%}
.manifeste .ko-mot{font-family:var(--ko);font-size:18px;letter-spacing:.2em;color:#FF6F84}
.manifeste .manif-texte{font-size:clamp(34px,min(4.2vw,7vh),62px);margin-top:clamp(8px,1.6vh,18px)}
.manifeste .manif-texte em{display:block}
.manifeste .manif-sous{margin:clamp(12px,2.4vh,26px) 0 0;max-width:560px;font-size:clamp(14.5px,2vh,17.5px)}
.manifeste .chiffres.clair{justify-content:flex-start;gap:clamp(24px,4vw,56px);margin-top:clamp(18px,4vh,44px)}
.manifeste .chiffres.clair b{font-size:clamp(44px,min(5.4vw,9vh),76px)}
.manifeste .duo{--d:clamp(200px,min(30vw,44vh),360px);height:calc(var(--d) * 1.5);max-width:none}
.manifeste .duo .c{width:var(--d);height:var(--d)}
.manifeste .duo .c1{left:0;top:0;box-shadow:0 0 0 7px var(--nuit),0 0 0 9px #9DB8FF,0 40px 70px -30px rgba(0,0,0,.6)}
.manifeste .duo .c2{left:calc(var(--d) * .5);top:calc(var(--d) * .45);box-shadow:0 0 0 7px var(--nuit),0 0 0 9px #FF6F84,0 40px 70px -30px rgba(0,0,0,.6)}
.manifeste .duo .l1{left:calc(var(--d) * .05);top:calc(var(--d) * .86)}
.manifeste .duo .l2{left:calc(var(--d) * 1.2);top:calc(var(--d) * .3)}
.manifeste .duo .c img{transition:transform 1.4s}
.manifeste .duo:hover .c img{transform:scale(1.05)}
.diplome.sombre{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);margin-top:clamp(16px,3.4vh,34px);padding:clamp(12px,2vh,22px) 24px}
.diplome.sombre p{color:rgba(255,255,255,.75);font-size:14px}
.diplome.sombre strong{color:#fff}
.diplome.sombre .sceau{width:clamp(44px,7vh,64px);height:clamp(44px,7vh,64px)}

.confiance{padding:clamp(20px,4vh,40px) 0 clamp(60px,10vh,120px);overflow:hidden}
.confiance-titre{text-align:center;font-family:var(--serif);font-size:clamp(24px,3vw,36px);color:var(--nuit)}
.confiance-titre .ko{display:block;font-size:15px;letter-spacing:.2em;color:var(--rouge);margin-bottom:6px}
.confiance-titre em{font-size:.6em;color:var(--gris);font-style:italic}
.confiance .defile{margin-top:clamp(18px,3.4vh,36px);gap:12px;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.confiance .piste span{color:var(--nuit);background:#fff;box-shadow:inset 0 0 0 1px var(--ligne);font-size:clamp(17px,1.8vw,22px);padding:11px 26px}
.confiance .piste span:nth-child(3n+1){box-shadow:inset 0 0 0 1px rgba(200,16,46,.3)}
.confiance .piste span:nth-child(3n+2){box-shadow:inset 0 0 0 1px rgba(0,71,160,.3)}
.domaines{padding-bottom:clamp(40px,7vh,90px)}

@media (max-width:900px){
  .manif-grille{grid-template-columns:1fr}
  .manifeste .duo{--d:min(260px,56vw);margin:0 auto;width:calc(var(--d) * 1.5)}
  .manifeste{text-align:center}
  .manifeste .manif-sous{margin-left:auto;margin-right:auto}
  .manifeste .chiffres.clair{justify-content:center}
  .manifeste .filigrane{left:50%}
}
@media (max-width:640px){
  .manifeste .duo .l2{left:auto;right:0}
  .confiance-titre em{display:block}
}

/* V6 — section « Elle relie » sur fond clair */
.manifeste{background:
  radial-gradient(ellipse 50% 70% at 12% 40%,rgba(0,71,160,.08),transparent 70%),
  radial-gradient(ellipse 45% 65% at 88% 60%,rgba(200,16,46,.08),transparent 70%),
  var(--blanc-2);color:var(--nuit);border-radius:0;padding:clamp(60px,10vh,120px) 0}
.manifeste .filigrane{color:rgba(11,26,58,.035);animation:none}
.manifeste .ko-mot{color:var(--rouge)}
.manifeste .manif-texte{color:var(--nuit)}
.manifeste .manif-texte em{background:linear-gradient(90deg,#3B2B86,#8E1A5C 45%,var(--rouge));-webkit-background-clip:text;background-clip:text;color:transparent}
.manifeste .manif-sous{color:var(--gris)}
.manifeste .chiffres.clair b{color:var(--nuit)}
.manifeste .chiffres.clair div:nth-child(1) b{color:var(--rouge)}
.manifeste .chiffres.clair div:nth-child(3) b{color:var(--bleu)}
.manifeste .chiffres.clair span{color:var(--gris)}
.manifeste .duo .c1{box-shadow:0 0 0 7px var(--blanc-2),0 0 0 10px var(--bleu),0 40px 70px -30px rgba(11,26,58,.45)}
.manifeste .duo .c2{box-shadow:0 0 0 7px var(--blanc-2),0 0 0 10px var(--rouge),0 40px 70px -30px rgba(11,26,58,.45)}
.diplome.sombre{background:#fff;box-shadow:inset 0 0 0 1px var(--ligne),0 20px 40px -28px rgba(11,26,58,.35)}
.diplome.sombre p{color:var(--gris)}
.diplome.sombre strong{color:var(--nuit)}
.manifeste{padding:clamp(26px,5vh,110px) 0;min-height:100vh;min-height:100svh;display:flex;align-items:center}
.manifeste>.wrap{width:100%}

/* V8 — formation intégrée, sans carte */
.formation{display:flex;align-items:center;gap:20px;margin-top:clamp(16px,3.4vh,36px);padding-top:clamp(14px,2.6vh,26px);border-top:1px solid var(--ligne);max-width:560px}
.formation-sceau{flex:none;width:clamp(46px,7vh,60px);height:clamp(46px,7vh,60px);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 1px var(--ligne);background:#fff}
.formation-sceau img{width:84%;height:84%;object-fit:contain;filter:grayscale(1) brightness(.55) sepia(1) hue-rotate(185deg) saturate(2.2);opacity:.9}
.formation-label{display:block;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--rouge);margin-bottom:2px}
.formation-titre{font-family:var(--serif);font-size:clamp(18px,2.8vh,23px);line-height:1.2;color:var(--nuit)}
.formation-titre em{font-style:italic;color:var(--bleu)}
.formation-ecole{font-size:13px;color:var(--gris);margin-top:3px}
@media (max-width:900px){.formation{margin-left:auto;margin-right:auto;text-align:left}}

/* =====================================================
   V9 — un bloc = un écran ; pied de page discret
   ===================================================== */
.ecran{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
.ecran>.wrap{width:100%}

/* Prestations */
.prestations.ecran{padding:clamp(24px,5vh,70px) 0}
.prestations .titre-section .ko-mot{margin-bottom:clamp(6px,1.2vh,16px);font-size:clamp(14px,2vh,20px)}
.prestations h2{font-size:clamp(28px,min(4.6vw,6.2vh),68px)}
.prestations .onglets{margin-top:clamp(14px,2.8vh,40px)}
.prestations .onglet{padding:clamp(10px,1.6vh,16px) 26px}
.prestations .panneaux{margin-top:clamp(14px,2.6vh,36px)}
.prestations .panneau{padding:clamp(22px,4vh,56px) clamp(32px,5vw,72px);border-radius:40px}
.prestations .pan-ko{font-size:clamp(14px,2vh,20px)}
.prestations .panneau h3{font-size:clamp(28px,min(4vw,5.4vh),56px);margin:clamp(4px,.8vh,12px) 0 clamp(8px,1.4vh,18px)}
.prestations .panneau .pan-texte>p{font-size:clamp(14px,1.9vh,17px)}
.prestations .panneau ul{margin-top:clamp(8px,1.6vh,22px)}
.prestations .panneau li{font-size:clamp(13.5px,1.8vh,16px)}
.prestations .pan-ref{margin-top:clamp(10px,2vh,26px);padding:clamp(8px,1.4vh,16px) 22px}
.prestations .pan-visuel{width:min(400px,100%,36vh)}
.prestations .pan-badge{width:clamp(64px,10vh,96px);height:clamp(64px,10vh,96px);font-size:clamp(13px,1.8vh,17px)}

/* Domaines + confiance sur le même écran */
.domaines.ecran{padding:clamp(20px,4vh,60px) 0 clamp(16px,3vh,40px)}
.domaines .dom-grille{min-height:0}
.domaines .fiche-visuel{--t:clamp(90px,17vh,220px)}
.domaines .domaine .rond{width:clamp(56px,min(8vw,9.5vh),100px);height:clamp(56px,min(8vw,9.5vh),100px)}
.domaines .dom-titre h2{font-size:clamp(30px,min(4vw,6vh),58px)}
.domaines .orbite{gap:clamp(6px,1.6vh,22px) clamp(8px,1.2vw,16px);margin-top:clamp(10px,2.4vh,32px)}
.domaines .domaine:nth-child(even){transform:translateY(clamp(4px,1.2vh,14px))}
.domaines .fiche-texte{padding:clamp(10px,2vh,30px) clamp(20px,2.6vw,40px) clamp(12px,2.2vh,32px)}
.domaines .fiche-texte>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.domaines .confiance{padding:0;margin-top:clamp(14px,3vh,40px)}
.domaines .confiance-titre{font-size:clamp(18px,2.8vh,26px)}
.domaines .confiance-titre .ko{display:inline;font-size:13px;margin:0 10px 0 0}
.domaines .confiance .defile{margin-top:clamp(8px,1.6vh,18px);gap:8px}
.domaines .confiance .piste span{font-size:clamp(14px,2.1vh,19px);padding:clamp(5px,1vh,9px) 22px}

/* Contact : occupe tout l'écran, le pied n'apparaît qu'après */
.contact.ecran{padding:clamp(20px,4vh,50px) 0}

/* Pied de page discret */
.pied{background:var(--blanc);color:var(--gris);border-radius:0;padding:clamp(22px,4vh,36px) 0 clamp(16px,3vh,26px);border-top:1px solid var(--ligne);font-size:14px}
.pied-ligne{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.pied .logo{color:var(--nuit);font-size:21px;gap:12px}
.pied .logo .anneaux{width:42px;height:26px}
.pied-liens{display:flex;gap:24px;flex-wrap:wrap;margin-left:auto}
.pied-liens a{color:var(--nuit);transition:color .2s}
.pied-liens a:hover{color:var(--rouge)}
.pied-langues{color:var(--gris-clair);font-size:13px}
.pied-bas{margin-top:14px;font-size:12.5px;color:var(--gris-clair)}
@media (max-width:860px){
  .ecran{min-height:0}
  .pied-ligne{flex-direction:column;align-items:flex-start;gap:14px}
  .pied-liens{margin-left:0}
}
.domaines.ecran{padding:clamp(12px,2.4vh,50px) 0 clamp(12px,2.4vh,36px)}
.domaines .fiche-visuel{--t:clamp(84px,15.5vh,210px)}
@media (max-height:660px) and (min-width:861px){
  .domaines .domaine small{display:none}
  .domaines .fiche .lexique{display:none}
  .domaines .dom-titre p{display:none}
  .domaines .confiance .piste.inverse{display:none}
  .bc-texte>p{display:none}
  .bc-coords{margin-top:12px}
  .formulaire textarea{min-height:44px}
  .bloc-contact h2{font-size:clamp(36px,8vh,60px)}
}
.bloc-contact>*{min-width:0}
.formulaire label{min-width:0}

/* =====================================================
   V13 — contact + pied sur un écran, liaisons invisibles, bulles animées
   ===================================================== */
.fin{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.ecran-fin{flex:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(20px,4vh,50px) 0}
.ecran-fin .pied{flex:none}

/* Fond continu : plus de ruptures entre les blocs */
body{background:var(--blanc)}
.manifeste{background:
  radial-gradient(ellipse 45% 55% at 14% 50%,rgba(0,71,160,.07),transparent 70%),
  radial-gradient(ellipse 40% 50% at 86% 50%,rgba(200,16,46,.07),transparent 70%),
  transparent}
.prestations,.domaines,.contact{background:transparent}
.heros{-webkit-mask-image:linear-gradient(#000 92%,transparent);mask-image:linear-gradient(#000 92%,transparent)}
.pied{border-top:0;background:linear-gradient(transparent,rgba(11,26,58,.025))}
.pied-ligne{border-top:1px solid var(--ligne);padding-top:clamp(16px,3vh,26px)}

/* Défilement « page par page », discret */
@media (min-width:861px) and (prefers-reduced-motion:no-preference){
  html{scroll-snap-type:y proximity}
  .heros,.manifeste,.prestations,.domaines,.fin{scroll-snap-align:start}
}

/* Bulles vivantes (propriété translate : se combine aux autres animations) */
@keyframes bulle{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes bulleX{0%,100%{translate:0 0}50%{translate:6px -6px}}
@keyframes respireAnneau{0%,100%{scale:1}50%{scale:1.035}}
@keyframes tourne{to{rotate:360deg}}
.manifeste .duo .c1{animation:bulle 7s ease-in-out infinite}
.manifeste .duo .c2{animation:bulle 8s ease-in-out -3s infinite}
.manifeste .duo .legende{animation:bulleX 6s ease-in-out infinite}
.manifeste .duo .l2{animation-delay:-2s}
.prestations .pan-visuel::before{animation:respireAnneau 6s ease-in-out infinite}
.prestations .pan-visuel::after{animation:respireAnneau 6s ease-in-out -3s infinite}
.prestations .pan-badge{animation:bulle 5s ease-in-out infinite}
.prestations .pan-rond img{animation:kenburns 14s ease-in-out infinite alternate}
@keyframes kenburns{from{scale:1}to{scale:1.08}}
.domaines .domaine .rond{animation:bulle 6s ease-in-out infinite}
.domaines .domaine:nth-child(2) .rond{animation-delay:-1s}
.domaines .domaine:nth-child(3) .rond{animation-delay:-2s}
.domaines .domaine:nth-child(4) .rond{animation-delay:-3s}
.domaines .domaine:nth-child(5) .rond{animation-delay:-4s}
.domaines .domaine:nth-child(6) .rond{animation-delay:-5s}
.domaines .domaine:nth-child(7) .rond{animation-delay:-1.5s}
.domaines .domaine:nth-child(8) .rond{animation-delay:-3.5s}
.domaines .domaine .rond::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px dashed var(--rouge);opacity:0;transition:opacity .4s;animation:tourne 12s linear infinite}
.domaines .domaine{position:relative}
.domaines .domaine .rond{position:relative;overflow:visible}
.domaines .domaine .rond img{border-radius:50%;width:100%;height:100%;object-fit:cover}
.domaines .domaine:hover .rond::after{opacity:.6}
.domaines .domaine.actif .rond::after{opacity:.9;border-color:var(--nuit)}
.domaines .fiche.actif .g2 img,.domaines .fiche.actif .g3 img{animation:kenburns 10s ease-in-out infinite alternate}
.domaines .fiche .g2{animation:bulle 7s ease-in-out infinite}
.domaines .fiche .g3{animation:bulle 5s ease-in-out -2s infinite}
.domaines .fiche.actif .g2{animation:entreeG2 .9s cubic-bezier(.2,.8,.2,1) .08s both,bulle 7s ease-in-out 1s infinite}
.domaines .fiche.actif .g3{animation:entreeG3 .7s cubic-bezier(.3,1.4,.5,1) .3s both,bulle 5s ease-in-out 1s infinite}
.bc-ligne i{animation:bulle 6s ease-in-out infinite}
.bc-ligne:nth-child(2) i{animation-delay:-3s}
.pont .medaillon{animation:bulle 8s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){html{scroll-snap-type:none}}
@media (min-width:861px){
  .ecran-fin{padding:clamp(14px,2.6vh,40px) 0}
  .ecran-fin .bloc-contact{padding:clamp(26px,5vh,70px) clamp(36px,5vw,80px);border-radius:40px}
  .ecran-fin .bloc-contact h2{font-size:clamp(36px,min(5vw,7.4vh),76px);margin:clamp(4px,1vh,14px) 0 clamp(8px,1.6vh,20px)}
  .ecran-fin .bc-texte>p{font-size:clamp(14px,1.9vh,17px)}
  .ecran-fin .bc-coords{margin-top:clamp(12px,2.4vh,30px)}
  .ecran-fin .bc-siege{margin-top:clamp(10px,2vh,22px)}
  .ecran-fin .formulaire{padding:clamp(16px,3vh,32px);gap:clamp(6px,1.3vh,14px)}
  .ecran-fin .formulaire label span{font-size:11px;margin-bottom:clamp(3px,.6vh,7px)}
  .ecran-fin .formulaire input,.ecran-fin .formulaire select,.ecran-fin .formulaire textarea{padding:clamp(8px,1.3vh,14px) 16px;font-size:15px}
  .ecran-fin .formulaire textarea{min-height:clamp(44px,8vh,90px)}
  .ecran-fin .formulaire .btn{padding:clamp(11px,1.8vh,17px) 30px;margin-top:4px}
  .ecran-fin .pied{padding:clamp(10px,2vh,26px) 0 clamp(10px,2vh,22px)}
  .ecran-fin .pied-ligne{padding-top:clamp(10px,2vh,22px)}
  .ecran-fin .pied-bas{margin-top:8px}
}

/* V15 — pied de page sur une seule ligne */
.pied-ligne{gap:10px 26px}
.pied-copy{font-size:12px;color:var(--gris-clair);order:1}
.pied-liens{order:2}
.pied-langues{order:3}
@media (max-width:1199px){.pied-copy{flex-basis:100%;order:4}}
@media (min-width:861px){
  .ecran-fin .bloc-contact h2{font-size:clamp(34px,min(4.6vw,6.6vh),72px)}
  .ecran-fin .bloc-contact{padding:clamp(22px,4.4vh,64px) clamp(36px,5vw,80px)}
  .ecran-fin .pied{padding:clamp(8px,1.6vh,20px) 0}
  .ecran-fin .pied-ligne{padding-top:clamp(8px,1.6vh,18px)}
}

/* =====================================================
   PAGES INTERNES
   ===================================================== */
.nav a.actif::after{transform:scaleX(1)}
.page-tete{position:relative;overflow:hidden;isolation:isolate;text-align:center;padding:clamp(120px,20vh,190px) 0 clamp(50px,9vh,100px);-webkit-mask-image:linear-gradient(#000 88%,transparent);mask-image:linear-gradient(#000 88%,transparent)}
.page-tete::before{content:"";position:absolute;inset:0;z-index:-2;background-image:radial-gradient(rgba(11,26,58,.12) 1.2px,transparent 1.4px);background-size:30px 30px;mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 30%,transparent 80%)}
.page-tete .taeguk{height:100%;inset:-20% -10% auto}
.page-tete .ko-mot{font-family:var(--ko);color:var(--rouge);letter-spacing:.2em;font-size:clamp(15px,2.2vh,20px);animation:monte .8s cubic-bezier(.2,.8,.2,1) both}
.page-tete h1{font-size:clamp(48px,min(7vw,11vh),112px);color:var(--nuit);margin-top:clamp(8px,1.6vh,16px);animation:monte .9s cubic-bezier(.2,.8,.2,1) .1s both}
.page-tete h1 em{font-style:italic;background:linear-gradient(90deg,#3B2B86,#8E1A5C 45%,var(--rouge));-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
.page-tete p{max-width:640px;margin:clamp(12px,2.4vh,24px) auto 0;color:var(--gris);font-size:clamp(15px,2.1vh,18px);animation:monte .9s cubic-bezier(.2,.8,.2,1) .2s both}
.anneaux-tete{width:clamp(90px,14vh,140px);margin:clamp(14px,3vh,30px) auto 0;display:block;overflow:visible;animation:bulle 7s ease-in-out infinite}
.anneaux-tete circle{fill:none;stroke-width:4;stroke-linecap:round}
.sommaire{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:clamp(16px,3vh,32px);animation:monte .9s cubic-bezier(.2,.8,.2,1) .35s both}
.sommaire a{display:flex;align-items:center;gap:10px;padding:10px 20px 10px 14px;border-radius:var(--pill);background:#fff;box-shadow:inset 0 0 0 1px var(--ligne),0 14px 30px -24px rgba(11,26,58,.5);font-weight:600;font-size:14.5px;color:var(--nuit);transition:transform .3s,box-shadow .3s}
.sommaire a:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--rouge),0 20px 30px -22px rgba(11,26,58,.5)}
.sommaire .num{font-family:var(--serif);font-style:italic;color:var(--rouge);font-weight:500}
.sommaire .ko{font-weight:400;font-size:13px;color:var(--gris-clair)}
.sommaire-dom a{padding:6px 18px 6px 6px}
.sommaire-dom img{width:34px;height:34px;border-radius:50%;object-fit:cover}

.detail{padding:clamp(30px,6vh,80px) 0}
.detail-grille{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,100px);align-items:center;max-width:1240px}
.detail.inverse .detail-visuel{order:2}
.detail-visuel{position:relative;--d:clamp(220px,min(32vw,52vh),440px);height:calc(var(--d) * 1.18)}
.detail-visuel .dv{position:absolute;border-radius:50%;overflow:hidden}
.detail-visuel .dv img{width:100%;height:100%;object-fit:cover;animation:kenburns 14s ease-in-out infinite alternate}
.dv1{width:var(--d);height:var(--d);left:calc(var(--d) * .1);top:0;box-shadow:0 0 0 7px var(--blanc),0 0 0 10px var(--rouge),0 40px 70px -30px rgba(11,26,58,.45);animation:bulle 8s ease-in-out infinite}
.dv2{width:calc(var(--d) * .5);height:calc(var(--d) * .5);left:0;bottom:0;box-shadow:0 0 0 6px var(--blanc),0 0 0 9px var(--bleu),0 30px 50px -24px rgba(11,26,58,.45);animation:bulle 6s ease-in-out -2s infinite}
.dv3{width:calc(var(--d) * .3);height:calc(var(--d) * .3);left:calc(var(--d) * .92);bottom:calc(var(--d) * .08);box-shadow:0 0 0 5px var(--blanc),0 24px 40px -20px rgba(11,26,58,.45);animation:bulle 5s ease-in-out -1s infinite}
.dv-num{position:absolute;right:0;top:calc(var(--d) * .02);font-family:var(--serif);font-style:italic;font-size:calc(var(--d) * .32);line-height:1;color:rgba(200,16,46,.12)}
.dv-ko{position:absolute;right:0;bottom:calc(var(--d) * .02);font-size:calc(var(--d) * .2);color:rgba(0,71,160,.1)}
.trio .dv-ko{top:calc(var(--d) * -.02);bottom:auto;color:rgba(200,16,46,.1)}
.detail-texte .ko-mot{font-family:var(--ko);color:var(--rouge);letter-spacing:.2em;font-size:16px}
.detail-texte h2{font-size:clamp(34px,min(4.4vw,7vh),62px);margin:clamp(6px,1.2vh,14px) 0 clamp(10px,2vh,22px)}
.detail-texte h2 em{font-style:italic;color:var(--bleu)}
.detail-intro{color:var(--gris);font-size:clamp(15px,2.1vh,18px)}
.detail-colonnes{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:clamp(16px,3.4vh,34px)}
.detail-colonnes h3{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--rouge);margin-bottom:12px}
.puces-anneaux,.liste-refs{list-style:none;display:grid;gap:8px}
.puces-anneaux li{display:flex;gap:12px;align-items:center;font-weight:500;font-size:15px}
.puces-anneaux li::before{content:"";flex:none;width:18px;height:11px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 18'%3E%3Ccircle cx='9' cy='9' r='7' fill='none' stroke='%23C8102E' stroke-width='2.4'/%3E%3Ccircle cx='21' cy='9' r='7' fill='none' stroke='%230047A0' stroke-width='2.4'/%3E%3C/svg%3E")}
.liste-refs li{font-family:var(--serif);font-size:clamp(17px,2.3vh,20px);line-height:1.3;padding-left:16px;position:relative;color:var(--nuit)}
.liste-refs li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--bleu)}
.liste-refs li:nth-child(odd)::before{background:var(--rouge)}
.detail .lexique{grid-template-columns:1fr 1fr;margin-top:0}
.detail-format{margin-top:clamp(16px,3vh,30px);padding:16px 22px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px var(--ligne);font-size:14.5px;color:var(--gris)}
.detail-format b{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--nuit);margin-bottom:4px}

/* Appel de fin de page interne */
.fin-courte{min-height:0}
.appel{padding:clamp(30px,6vh,70px) 0 clamp(30px,5vh,60px)}
.appel-bloc{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;background:var(--nuit);color:#fff;border-radius:40px;padding:clamp(36px,6vh,64px) clamp(32px,5vw,72px)}
.appel-bloc .bc-anneaux{right:-120px;top:-80px;width:620px}
.appel-bloc .ko-mot{font-family:var(--ko);font-size:16px;letter-spacing:.2em;color:#FF6F84}
.appel-bloc h2{font-size:clamp(38px,5vw,66px);margin-top:8px}
.appel-bloc h2 em{font-style:italic;background:linear-gradient(90deg,#9DB8FF,#FF6F84);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
.appel-bloc .btn{position:relative}

/* Page contact */
.fin-contact .contact{padding-top:clamp(90px,14vh,130px)}
.contact-page .formulaire{grid-template-columns:1fr 1fr}

/* Mentions légales */
.legal{padding:0 0 clamp(40px,8vh,90px)}
.legal-grille{display:grid;grid-template-columns:220px 1fr;gap:60px;max-width:1080px}
.legal-nav{position:sticky;top:30px;align-self:start;display:grid;gap:6px}
.legal-nav a{padding:8px 16px;border-radius:var(--pill);font-size:14px;font-weight:500;color:var(--gris);transition:background .25s,color .25s}
.legal-nav a:hover{background:#fff;color:var(--nuit)}
.legal-texte h2{font-size:clamp(28px,3vw,38px);margin:40px 0 14px;scroll-margin-top:30px}
.legal-texte h2:first-child{margin-top:0}
.legal-texte p,.legal-texte li{color:var(--gris);font-size:16px;margin-bottom:10px}
.legal-texte ul{list-style:none;padding:20px 24px;border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px var(--ligne)}
.legal-texte b{color:var(--nuit)}
.legal-texte a{color:var(--bleu);border-bottom:1px solid rgba(0,71,160,.3)}
.legal-texte mark{background:rgba(200,16,46,.1);color:var(--rouge);padding:1px 6px;border-radius:6px}

@media (max-width:900px){
  .detail-grille{grid-template-columns:1fr}
  .detail.inverse .detail-visuel{order:0}
  .detail-visuel{--d:min(280px,62vw);width:calc(var(--d) * 1.25);margin:0 auto}
  .detail-colonnes{grid-template-columns:1fr}
  .legal-grille{grid-template-columns:1fr}
  .legal-nav{position:static;display:flex;flex-wrap:wrap}
  .appel-bloc{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  .contact-page .formulaire{grid-template-columns:1fr}
  .page-tete .mots{display:none}
}

/* V16 — pied de page sur une seule ligne dès 1200 px */
@media (min-width:1200px){.pied-ligne{flex-wrap:nowrap}.pied-liens{gap:20px;white-space:nowrap}.pied-copy{white-space:nowrap}}

/* Page contact : formulaire sur 3 lignes */
@media (min-width:861px){
  .fin-contact .contact{padding-top:clamp(84px,12vh,110px);padding-bottom:clamp(10px,2vh,30px)}
  .contact-page .formulaire{grid-template-columns:repeat(6,1fr)}
  .contact-page .formulaire label{grid-column:span 2}
  .contact-page .formulaire label:nth-child(4),.contact-page .formulaire label:nth-child(5),.contact-page .formulaire label:nth-child(6),.contact-page .formulaire label:nth-child(7){grid-column:span 3}
  .contact-page .formulaire .btn{grid-column:1/-1}
  .contact-page .formulaire textarea{min-height:clamp(44px,9vh,96px)}
  .contact-page.contact .bloc-contact{grid-template-columns:.8fr 1.2fr}
}

/* Indication « Faites glisser » sur mobile */
.glisser{display:none}
@media (max-width:860px){
  .glisser{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
  .glisser i{font-style:normal;color:var(--rouge);font-size:16px;animation:glisse 1.6s ease-in-out infinite}
  @keyframes glisse{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}
  .onglets,.domaines .orbite{-webkit-mask-image:linear-gradient(90deg,#000 80%,transparent);mask-image:linear-gradient(90deg,#000 80%,transparent)}
  .onglets.vu-fin,.domaines .orbite.vu-fin{-webkit-mask-image:none;mask-image:none}
}

/* =====================================================================
   ADAPTATION WORDPRESS — blocs natifs (concaténé après le CSS de la maquette)
   Rappel : le CSS des blocs est imprimé APRÈS cette feuille ; toute surcharge
   d'un style de bloc doit donc être plus spécifique.
   ===================================================================== */
:root{
  --serif:"Cormorant Garamond","Nanum Myeongjo",Georgia,serif;
  --sans:"Plus Jakarta Sans","Nanum Myeongjo",system-ui,sans-serif;
}
body{font-family:var(--sans)}
:where(.wp-block-group)>:where(*),:where(.wp-block-buttons){margin-block:0}
figure.wp-block-image{margin:0}
img{height:auto}
.wp-site-blocks{overflow-x:clip}
main.contenu{position:relative}
a{text-decoration:none}
.wp-block-list{list-style:none;padding:0;margin:0}

/* Images recadrées en bulles : surclasser le height:auto du bloc image */
.wp-block-image.c img,.wp-block-image.pan-rond img,.wp-block-image.rond img,
.wp-block-image.g img,.wp-block-image.dv img{width:100%;height:100%;object-fit:cover;max-width:none}
.wp-block-image.formation-sceau img{width:84%;height:84%;object-fit:contain}

/* ---------- En-tête ---------- */
.wp-block-template-part:has(>.entete){position:absolute;inset:0 0 auto;z-index:20}
.entete{position:relative}
.entete .entete-rangee{display:flex;align-items:center;gap:40px;height:clamp(72px,11vh,104px);max-width:1360px}
.logo a{display:flex;align-items:center;gap:20px;color:var(--nuit)}
.logo a::before{content:"";flex:none;width:62px;height:38px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 44'%3E%3Cdefs%3E%3CclipPath id='c'%3E%3Crect x='28' y='29' width='14' height='14'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg fill='none' stroke-width='4.5'%3E%3Ccircle cx='24' cy='22' r='18' stroke='%23C8102E'/%3E%3Ccircle cx='46' cy='22' r='18' stroke='%230047A0'/%3E%3Ccircle cx='24' cy='22' r='18' stroke='%23C8102E' clip-path='url(%23c)'/%3E%3C/g%3E%3C/svg%3E")}
.entete .nav{margin-left:auto;font-family:var(--sans);font-size:15.5px;font-weight:500;gap:30px}
.entete .nav .wp-block-navigation__container{gap:30px}
.entete .nav .wp-block-navigation-item__content{position:relative;padding:6px 0;color:var(--nuit)}
.entete .nav .wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--rouge);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.entete .nav .wp-block-navigation-item__content:hover::after,.entete .nav .current-menu-item>.wp-block-navigation-item__content::after{transform:scaleX(1)}
.entete .nav .wp-block-navigation__responsive-container:not(.is-menu-open) .seul-mobile{display:none}
.langues{font-size:14px;font-weight:500;color:var(--gris-clair);letter-spacing:.04em;white-space:nowrap}
.langues strong{color:var(--bleu);font-weight:600}
.wp-block-button.b-nuit .wp-block-button__link{background:var(--nuit);color:#fff;padding:14px 28px;font-size:15px;white-space:nowrap;transition:transform .25s}
.wp-block-button.b-nuit .wp-block-button__link:hover{transform:translateY(-2px)}
/* Panneau mobile du menu : surclasser le blanc sur blanc du bloc */
.wp-block-navigation.nav .wp-block-navigation__responsive-container.is-menu-open{background-color:rgba(250,248,245,.98)!important;color:var(--nuit)!important;padding:90px 30px}
.wp-block-navigation.nav .is-menu-open .wp-block-navigation__container{gap:22px!important;font-size:22px;font-family:var(--serif)}
.wp-block-navigation.nav .wp-block-navigation__responsive-container-open{width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1.5px var(--ligne);place-items:center}
@media (max-width:1240px){.langues{display:none}}
@media (max-width:1100px){
  .entete .entete-rangee{gap:20px}
  .logo a{font-size:24px;gap:14px}
  .logo a::before{width:46px;height:28px}
  .entete .nav .wp-block-navigation__responsive-container-open:not(.always-shown){display:grid!important}
  .entete .nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none!important}
  .entete .nav{order:3;margin-left:0}
  .entete .entete-cta{margin-left:auto}
}
@media (max-width:640px){.entete .entete-cta{display:none}.entete .nav{margin-left:auto}.logo a{font-size:21px}}

/* ---------- Héros ---------- */
.heros{background:
  radial-gradient(ellipse 36% 46% at 18% 18%,rgba(200,16,46,.17),transparent 70%),
  radial-gradient(ellipse 30% 55% at 50% 30%,rgba(0,71,160,.14),transparent 72%),
  radial-gradient(ellipse 34% 46% at 82% 72%,rgba(200,16,46,.15),transparent 72%),
  transparent}
.heros::after{content:"";position:absolute;left:0;right:0;bottom:clamp(30px,8vh,120px);height:clamp(70px,12vh,140px);z-index:-1;pointer-events:none;
  background:repeat-x 0 0/1400px 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1400 140' preserveAspectRatio='none'%3E%3Cg fill='none' stroke-width='1.6'%3E%3Cpath stroke='rgba(200,16,46,.22)' d='M0 70 C 175 -10, 350 150, 525 70 S 875 -10, 1050 70 S 1225 150, 1400 70'/%3E%3Cpath stroke='rgba(0,71,160,.2)' d='M0 90 C 175 150, 350 10, 525 90 S 875 150, 1050 90 S 1225 10, 1400 90'/%3E%3C/g%3E%3C/svg%3E");
  animation:ondeFond 18s linear infinite}
@keyframes ondeFond{to{background-position-x:-1400px}}
.heros .mots{position:absolute;inset:0;z-index:-1;pointer-events:none}
.mot{position:absolute;white-space:nowrap;opacity:0;animation:derive 14s ease-in-out infinite;margin:0}
.mot-1{left:6%;top:30%;font:italic 54px var(--serif);color:rgba(11,26,58,.32)}
.mot-2{left:75%;top:43%;font-size:46px;font-family:var(--ko);color:rgba(200,16,46,.42);animation-delay:2s}
.mot-3{left:78%;top:20%;font-size:40px;font-family:var(--ko);color:rgba(0,71,160,.38);animation-delay:5s}
.mot-4{left:74%;top:60%;font-size:44px;font-family:var(--ko);color:rgba(11,26,58,.18);animation-delay:7s}
.mot-5{left:12%;top:60%;font:italic 42px var(--serif);color:rgba(0,71,160,.22);animation-delay:4s}
.mot-6{left:22%;top:16%;font:italic 36px var(--serif);color:rgba(11,26,58,.32);animation-delay:9s}
.mot-7{left:4%;top:44%;font-size:34px;font-family:var(--ko);color:rgba(0,71,160,.38);animation-delay:11s}
.mot-8{left:86%;top:80%;font:italic 36px var(--serif);color:rgba(11,26,58,.32);animation-delay:6s}
.heros h1 em{display:block}
.pont::before{content:"";position:absolute;inset:0;background:no-repeat center/100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1060 260' preserveAspectRatio='none'%3E%3Cstyle%3Epath%7Banimation:d 2.4s linear infinite%7D@keyframes d%7Bto%7Bstroke-dashoffset:-28%7D%7D%3C/style%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%230047A0'/%3E%3Cstop offset='1' stop-color='%23C8102E'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M 95 222 Q 530 -40 965 222' fill='none' stroke='url(%23g)' stroke-width='1.6' stroke-dasharray='7 7' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}
.pont::after{content:"";position:absolute;left:50%;top:0;width:clamp(110px,19vh,212px);height:clamp(110px,19vh,212px);transform:translateX(-50%);border-radius:50%;
  background:no-repeat center/94% auto url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 140'%3E%3Cstyle%3E.b,.r%7Bfill:none;stroke-width:5.5;stroke-linecap:round%7D.b%7Bstroke-dasharray:205 47%7D.r%7Bstroke-dasharray:215 37%7D%3C/style%3E%3Cdefs%3E%3CclipPath id='h'%3E%3Crect x='86' y='88' width='30' height='30'/%3E%3C/clipPath%3E%3C/defs%3E%3Ccircle class='b' cx='80' cy='70' r='40' stroke='%230047A0' transform='rotate(-40 80 70)'/%3E%3Ccircle class='r' cx='120' cy='70' r='40' stroke='%23C8102E' transform='rotate(150 120 70)'/%3E%3Ccircle class='b' cx='80' cy='70' r='40' stroke='%230047A0' clip-path='url(%23h)' transform='rotate(-40 80 70)'/%3E%3C/svg%3E"),rgba(255,255,255,.62);
  box-shadow:0 30px 60px -30px rgba(11,26,58,.25),inset 0 0 0 1px rgba(255,255,255,.8);backdrop-filter:blur(6px);animation:bulle 8s ease-in-out infinite}

/* ---------- Manifeste ---------- */
.manifeste{position:relative;overflow:hidden}
.manifeste::before{content:"연결";position:absolute;left:70%;top:46%;transform:translate(-50%,-50%);font-family:var(--ko);font-size:clamp(260px,34vw,520px);line-height:1;color:rgba(11,26,58,.035);white-space:nowrap;pointer-events:none}
.manifeste .chiffres{display:flex;gap:clamp(24px,4vw,56px);margin-top:clamp(18px,4vh,44px)}
.manifeste .chiffre{font-size:14px;letter-spacing:.06em;color:var(--gris)}
.manifeste .chiffre strong{display:block;font-family:var(--serif);font-weight:500;line-height:1;font-size:clamp(44px,min(5.4vw,9vh),76px);color:var(--nuit);letter-spacing:0}
.manifeste .chiffre:nth-child(1) strong{color:var(--rouge)}
.manifeste .chiffre:nth-child(3) strong{color:var(--bleu)}
.manifeste .formation-sceau{display:grid;place-items:center;overflow:hidden}

/* ---------- Prestations ---------- */
.onglet{margin:0;cursor:pointer;user-select:none}
.onglet em{font-family:var(--serif);font-style:italic;font-size:17px;font-weight:500;color:var(--rouge);margin-right:4px}
.onglet.actif em{color:#FF6F84}
.onglet::before,.onglet::after{content:"";position:absolute;left:22px;right:22px;bottom:7px;height:2px;border-radius:2px;opacity:0}
.onglet::before{background:rgba(255,255,255,.18)}
.onglet::after{background:linear-gradient(90deg,#9DB8FF,#FF6F84);transform:scaleX(0);transform-origin:left}
.onglet.actif::before,.onglet.actif::after{opacity:1}
.onglet.actif.joue::after{animation:jauge 5s linear forwards}
.pan-ref strong{display:block;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gris);margin-bottom:2px;font-weight:600}
.pan-ko{margin:0}
.panneau .pan-texte>p:not([class]){color:var(--gris);font-size:clamp(14px,1.9vh,17px)}
.prestations .pan-rond{position:relative}

/* ---------- Domaines ---------- */
.domaines .domaine{cursor:pointer;text-align:center}
.domaines .domaine .dom-sous{font-size:clamp(10.5px,1.5vh,12px);line-height:1.3;margin:2px 0 0;color:var(--gris)}
.domaines .domaine.actif .dom-sous{color:var(--nuit);font-weight:600}
.domaines .domaine .rond{display:block}
.vedette-nom{font-family:var(--serif);font-weight:500;line-height:1.1;font-size:clamp(18px,3vh,30px);margin:2px 0 clamp(6px,1.2vh,12px)}
.vedette-autres{display:flex;flex-wrap:wrap;gap:6px}
.vedette-autres li{padding:5px 13px;border-radius:var(--pill);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);font-size:12.5px;color:rgba(255,255,255,.85)}
.lexique li{text-align:center}
.lexique strong{display:block;font-family:var(--serif);font-weight:500;font-style:italic;font-size:clamp(14px,2vh,18px)}
.lexique em{display:block;font-style:normal;font-size:clamp(11px,1.6vh,12.5px);color:var(--rouge);font-family:var(--ko)}
.confiance-titre::before{content:"신뢰";font-family:var(--ko);font-size:13px;letter-spacing:.2em;color:var(--rouge);margin-right:10px}
.piste{display:flex;gap:8px;width:max-content;animation:defilement 60s linear infinite;list-style:none}
.piste.inverse{animation-direction:reverse;animation-duration:70s}
.piste li{flex:none;white-space:nowrap;border-radius:var(--pill);font-family:var(--serif);color:var(--nuit);background:#fff;box-shadow:inset 0 0 0 1px var(--ligne);font-size:clamp(14px,2.1vh,19px);padding:clamp(5px,1vh,9px) 22px}
.piste li:nth-child(3n+1){box-shadow:inset 0 0 0 1px rgba(200,16,46,.3)}
.piste li:nth-child(3n+2){box-shadow:inset 0 0 0 1px rgba(0,71,160,.3)}
.defile:hover .piste{animation-play-state:paused}

/* ---------- Contact ---------- */
.ecran-fin{min-height:calc(100vh - 76px);min-height:calc(100svh - 76px);display:flex;flex-direction:column;justify-content:center;padding:clamp(14px,2.6vh,40px) 0}
.ecran-fin>.wrap{width:100%}
.bloc-contact::before{content:"";position:absolute;right:-180px;top:-60px;width:820px;height:492px;opacity:.28;pointer-events:none;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 420'%3E%3Cg fill='none' stroke-width='1.4'%3E%3Ccircle cx='250' cy='210' r='190' stroke='%23C8102E'/%3E%3Ccircle cx='450' cy='210' r='190' stroke='%230047A0'/%3E%3C/g%3E%3C/svg%3E");animation:respire 9s ease-in-out infinite}
.bc-coords{display:grid;gap:clamp(6px,1.2vh,12px);margin-top:clamp(12px,2.4vh,30px)}
.bc-ligne{position:relative;display:grid;grid-template-columns:clamp(36px,6vh,46px) 1fr;column-gap:16px;align-items:center;padding:clamp(8px,1.4vh,14px) 18px clamp(8px,1.4vh,14px) 12px;border-radius:24px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.bc-ligne::before{content:"";grid-row:1/3;width:clamp(36px,6vh,46px);height:clamp(36px,6vh,46px);border-radius:50%;background:no-repeat center/20px 20px;animation:bulle 6s ease-in-out infinite}
.bc-mail::before{background-color:rgba(200,16,46,.22);box-shadow:inset 0 0 0 1px rgba(255,111,132,.4);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E")}
.bc-zone::before{background-color:rgba(0,71,160,.35);box-shadow:inset 0 0 0 1px rgba(157,184,255,.45);animation-delay:-3s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.5'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.6 2.5 15.4 0 18M12 3c-2.5 2.6-2.5 15.4 0 18'/%3E%3C/svg%3E")}
.bc-label{grid-column:2;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.bc-valeur{grid-column:2;font-size:15.5px;color:#fff;line-height:1.4}
.bc-valeur a{color:#fff}
.bc-intro{color:rgba(255,255,255,.68);font-size:clamp(14px,1.9vh,17px)}
.formulaire-zone{position:relative;min-width:0}
.formulaire-zone .wpcf7{margin:0}
.formulaire .hidden-fields-container{display:none}
.formulaire .wpcf7-form-control-wrap{display:block;font-size:inherit;letter-spacing:normal;text-transform:none;color:inherit;margin:0}
.formulaire label>span:first-child{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:0 0 clamp(3px,.6vh,7px) 6px}
.formulaire .plein{grid-column:1/-1}
.formulaire input[type=submit]{width:100%;border:0;cursor:pointer;font:inherit;font-weight:600;font-size:16px;padding:clamp(11px,1.8vh,17px) 30px;border-radius:var(--pill);background:var(--rouge);color:#fff;box-shadow:0 18px 40px -14px rgba(200,16,46,.55);transition:transform .25s}
.formulaire input[type=submit]:hover{transform:translateY(-2px)}
.formulaire .wpcf7-spinner{position:absolute;margin:14px 0 0 -40px}
.formulaire .wpcf7-response-output{grid-column:1/-1;margin:4px 0 0!important;padding:10px 16px!important;border-radius:16px;border:1px solid rgba(255,255,255,.25)!important;color:#fff;font-size:14px}
.formulaire .wpcf7-not-valid-tip{color:#FF6F84;font-size:12.5px;margin:4px 0 0 6px}
.formulaire .wpcf7-not-valid{border-color:#FF6F84!important}
.contact-page .formulaire .c-t{grid-column:span 2}
.contact-page .formulaire .c-d{grid-column:span 3}
.contact-page{padding-top:clamp(84px,12vh,110px)}
@media (min-width:861px){.contact-page .formulaire{grid-template-columns:repeat(6,1fr)}}
@media (max-width:860px){.formulaire{grid-template-columns:1fr!important}.formulaire label{grid-column:1/-1!important}.ecran-fin{min-height:0}}

/* ---------- Pied de page ---------- */
.pied .logo a{font-family:var(--serif);font-size:21px;gap:12px}
.pied .logo a::before{width:42px;height:26px}
.pied-ligne{display:flex;align-items:center;flex-wrap:wrap}
.pied-liens{margin-left:auto;font-size:14px}
.pied-liens .wp-block-navigation__container{gap:20px}
.pied-liens .wp-block-navigation-item__content{color:var(--nuit);transition:color .2s}
.pied-liens .wp-block-navigation-item__content:hover{color:var(--rouge)}

/* ---------- Pages internes ---------- */
.page-tete{background:
  radial-gradient(ellipse 36% 50% at 15% 20%,rgba(200,16,46,.14),transparent 70%),
  radial-gradient(ellipse 30% 60% at 50% 30%,rgba(0,71,160,.11),transparent 72%),
  radial-gradient(ellipse 34% 50% at 85% 75%,rgba(200,16,46,.12),transparent 72%)}
.page-tete .mots{position:absolute;inset:0;z-index:-1;pointer-events:none}
.page-tete p.mot{max-width:none;margin:0;animation:derive 14s ease-in-out infinite}
.mot-t1{left:6%;top:30%;font:italic 44px var(--serif);color:rgba(11,26,58,.3)}
.mot-t2{left:74%;top:26%;font-size:40px;font-family:var(--ko);color:rgba(200,16,46,.4);animation-delay:2s!important}
.mot-t3{left:80%;top:64%;font:italic 36px var(--serif);color:rgba(11,26,58,.3);animation-delay:5s!important}
.mot-t4{left:10%;top:66%;font-size:40px;font-family:var(--ko);color:rgba(0,71,160,.36);animation-delay:7s!important}
.page-tete p.ko-mot{max-width:none;margin:0 auto;font-size:clamp(15px,2.2vh,20px);color:var(--rouge);animation:monte .8s cubic-bezier(.2,.8,.2,1) both}
.page-tete .tete-intro::after{content:"";display:block;width:clamp(90px,14vh,140px);height:calc(clamp(90px,14vh,140px) * .6);margin:clamp(14px,3vh,30px) auto 0;animation:bulle 7s ease-in-out infinite;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 120'%3E%3Cg fill='none' stroke-width='4' stroke-linecap='round'%3E%3Ccircle cx='80' cy='60' r='40' stroke='%230047A0' stroke-dasharray='205 47' transform='rotate(-40 80 60)'/%3E%3Ccircle cx='120' cy='60' r='40' stroke='%23C8102E' stroke-dasharray='215 37' transform='rotate(150 120 60)'/%3E%3C/g%3E%3C/svg%3E")}
.sommaire{justify-content:center;gap:10px;margin-top:clamp(16px,3vh,32px);animation:monte .9s cubic-bezier(.2,.8,.2,1) .35s both}
.sommaire .wp-block-button__link{padding:10px 20px;border-radius:var(--pill);background:#fff;color:var(--nuit);box-shadow:inset 0 0 0 1px var(--ligne),0 14px 30px -24px rgba(11,26,58,.5);font-weight:600;font-size:14.5px;transition:transform .3s,box-shadow .3s}
.sommaire .wp-block-button__link:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--rouge),0 20px 30px -22px rgba(11,26,58,.5)}
.detail-visuel .dv-num,.detail-visuel .dv-ko{margin:0}
.detail-format strong{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--nuit);margin-bottom:4px;font-weight:600}
.detail-colonnes h3{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--rouge);margin-bottom:12px;line-height:1.4}
.detail .lexique{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.detail .lexique li{padding:10px 8px;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px var(--ligne)}
.appel-bloc::before{content:"";position:absolute;right:-120px;top:-80px;width:620px;height:372px;opacity:.28;pointer-events:none;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 420'%3E%3Cg fill='none' stroke-width='1.4'%3E%3Ccircle cx='250' cy='210' r='190' stroke='%23C8102E'/%3E%3Ccircle cx='450' cy='210' r='190' stroke='%230047A0'/%3E%3C/g%3E%3C/svg%3E")}
.appel-texte,.appel-bouton{position:relative}
.wp-block-button.b-rouge .wp-block-button__link{background:var(--rouge);color:#fff;padding:18px 40px;font-size:17px;box-shadow:0 18px 40px -14px rgba(200,16,46,.55);transition:transform .25s}
.wp-block-button.b-rouge .wp-block-button__link:hover{transform:translateY(-2px)}
.legal{padding:0 0 clamp(40px,8vh,90px)}
.legal-texte{max-width:860px}
.legal-texte h2{font-size:clamp(28px,3vw,38px);margin:40px 0 14px}
.legal-texte h2:first-child{margin-top:0}
.legal-texte p,.legal-texte li{color:var(--gris);font-size:16px;margin-bottom:10px}
.legal-texte .legal-liste{padding:20px 24px;border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px var(--ligne);margin-bottom:10px}
.legal-texte strong{color:var(--nuit)}
.legal-texte a{color:var(--bleu);border-bottom:1px solid rgba(0,71,160,.3)}
.page-simple,.page-404{padding:clamp(120px,20vh,190px) 0 80px;min-height:70vh}
.page-404 h1{font-size:clamp(48px,7vw,96px);margin:10px 0 20px}
.page-404 h1 em{font-style:italic;color:var(--rouge)}
.page-404 .appel-bouton{margin-top:30px}

/* Indication « Faites glisser » sur mobile */
@media (max-width:860px){
  .onglets-zone::after,.orbite-zone::after{content:"Faites glisser  →";display:block;text-align:center;margin-top:10px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
}

.pied .pied-liens .wp-block-navigation__container{display:flex;flex-direction:row;flex-wrap:wrap;gap:20px}
.admin-bar .wp-block-template-part:has(>.entete){top:var(--wp-admin--admin-bar--height,32px)}

/* Sélecteur de langue cliquable */
.langues a,.pied-langues a{color:inherit;transition:color .2s}
.langues a:hover,.pied-langues a:hover{color:var(--rouge)}
.pied-langues strong{color:var(--bleu);font-weight:600}
/* Coréen : le titre et l'accroche passent en Nanum Myeongjo */
:lang(ko) .heros h1,:lang(ko) .heros h1 em{font-family:var(--ko);letter-spacing:-.02em}
:lang(ko) .heros h1{font-size:clamp(40px,min(7vw,9.5vh),104px);line-height:1.15}
:lang(ko) .accroche-ko{font-family:var(--serif);font-style:italic}
:lang(ko) h2,:lang(ko) h3,:lang(ko) .manif-texte,:lang(ko) .vedette-nom,:lang(ko) .formation-titre{word-break:keep-all}
:lang(ko) p,:lang(ko) li{word-break:keep-all}
