/* Fiches des trois titres présentés sur l'accueil — identité IVS SCHOOL. */
body:has(.formation-hero){--titre:"Inter",system-ui,sans-serif}
body:has(.formation-hero) h1,body:has(.formation-hero) h2,body:has(.formation-hero) h3{font-family:var(--titre);text-transform:none;letter-spacing:-.045em}
body:has(.formation-hero) .bandeau-haut{background:#160b55}
body:has(.formation-hero) .pied{background:#120b3d}
.formation-hero~section[id]{scroll-margin-top:10.5rem}
.formation-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(118deg,#160a55 0%,#281096 62%,#3a16b5 100%);color:#fff}
.formation-hero::before{content:"";position:absolute;width:780px;height:780px;border:1px solid #ffffff22;border-radius:50%;left:-450px;top:-350px;box-shadow:0 0 0 110px #ffffff08,0 0 0 220px #ffffff06;pointer-events:none}
.formation-hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(#b7aaff46 1px,transparent 1px);background-size:25px 25px;mask-image:linear-gradient(90deg,transparent 38%,#000);z-index:-1;pointer-events:none}
.formation-hero__grille{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(55px,6vw,100px);align-items:center;min-height:690px;padding-top:85px;padding-bottom:90px}
.formation-hero__texte{position:relative;z-index:2}
.formation-hero .eyebrow{color:#cbc3ff;font-size:12px;letter-spacing:.16em}
.formation-hero .eyebrow span{margin:0 10px;color:#9f92ea}
.formation-hero h1{color:#fff;font-size:clamp(52px,5.3vw,80px);line-height:1.01;font-weight:850;max-width:15ch;margin:22px 0 25px}
.formation-hero__promesse{font:750 clamp(23px,2.4vw,32px)/1.25 var(--titre);color:#e5deff;margin:0 0 16px;max-width:23ch;letter-spacing:-.03em}
.formation-hero__resume{font-size:16px;line-height:1.75;color:#d5d2ed;max-width:53ch;margin:0}
.formation-hero__reperes{list-style:none;padding:0;margin:30px 0;display:flex;flex-wrap:wrap;gap:9px}
.formation-hero__reperes li{border:1px solid #ffffff49;background:#ffffff13;color:#fff;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:700;letter-spacing:.025em;backdrop-filter:blur(4px)}
.formation-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.formation-hero__actions .bouton{gap:18px}
.formation-hero__lien{color:#fff;font-weight:650;font-size:14px;text-decoration:none;border-bottom:1px solid #ffffff99;padding-bottom:4px;transition:gap .3s,color .3s}
.formation-hero__lien:hover{color:#e4dcff}
.formation-hero__lien span{margin-left:9px}
.formation-hero__visuel{position:relative;height:540px;margin:0;isolation:isolate;animation:formation-entree .8s cubic-bezier(.22,1,.36,1) both}
.formation-hero__visuel::before{content:"";position:absolute;inset:-16px -16px 16px 16px;border:1px solid #ffffff64;border-radius:16px 90px 16px 16px;z-index:-1}
.formation-hero__visuel picture,.formation-hero__visuel picture img{display:block;width:100%;height:100%}
.formation-hero__visuel picture img{object-fit:cover;border-radius:16px 90px 16px 16px}
.formation-hero__visuel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(17,7,57,.46));border-radius:16px 90px 16px 16px;pointer-events:none}
.formation-hero__visuel figcaption{position:absolute;z-index:1;right:18px;bottom:17px;color:#fff;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.formation-hero__note{position:absolute;z-index:2;left:-35px;bottom:32px;display:grid;gap:3px;padding:20px 25px;background:var(--accent);box-shadow:0 22px 42px -27px #070425;border-radius:10px;color:#fff;transform:rotate(-3deg)}
.formation-hero__note span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#d8d0ff}
.formation-hero__note strong{font:800 24px/1.15 var(--titre);letter-spacing:-.035em}
@keyframes formation-entree{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}

.formation-nav{position:sticky;top:4.5rem;z-index:55;background:#ffffffef;backdrop-filter:blur(18px);border-bottom:1px solid #e6e0f7;box-shadow:0 8px 22px -22px #1c0d67}
.formation-nav__interieur{min-height:68px;display:flex;align-items:center;gap:30px}
.formation-nav__nom{font:800 13px/1.2 var(--titre);color:var(--nuit);max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.formation-nav__liens{display:flex;align-items:center;gap:22px;margin-left:auto}
.formation-nav__liens a{color:#565373;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap;transition:color .2s}
.formation-nav__liens a:hover,.formation-nav__liens a[aria-current="true"]{color:var(--accent)}
.formation-nav__cta{white-space:nowrap;text-decoration:none;background:var(--accent-050);color:var(--accent);font-size:12px;font-weight:800;border-radius:6px;padding:11px 13px;transition:background .25s,transform .25s}
.formation-nav__cta:hover{background:var(--accent-100);transform:translateY(-2px)}
.formation-nav__progression{display:block;height:2px;width:0;background:linear-gradient(90deg,#1800ac,#805aff);transition:width .12s linear}

.formation-metier{background:#fff;padding:112px 0 116px}
.formation-metier__grille{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,140px);align-items:start;margin-bottom:70px}
.formation-metier h2,.formation-competences h2,.formation-distance h2,.formation-certification h2,.formation-questions h2,.formation-contact h2,.formation-autres h2{font-size:clamp(37px,3.7vw,56px);line-height:1.08;font-weight:820;margin-bottom:24px}
.formation-metier h2{max-width:12ch}
.formation-metier__lecture p{font-size:18px;line-height:1.8;margin:0 0 19px;color:var(--texte)}
.formation-metier__lecture .lien-fleche{display:inline-flex;margin-top:15px}
.formation-metier__cartes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.formation-metier__carte{position:relative;min-height:250px;padding:30px 28px 33px;border:1px solid #ddd6f5;border-radius:12px;background:#f9f7ff;transition:transform .35s,box-shadow .35s,border-color .35s}
.formation-metier__carte:hover{transform:translateY(-7px);border-color:#b9aaf0;box-shadow:0 25px 40px -32px #251176}
.formation-metier__numero{display:block;font:800 13px/1 var(--titre);letter-spacing:.14em;color:var(--accent);margin-bottom:37px}
.formation-metier__carte h3{font-size:21px;font-weight:750;color:var(--nuit);line-height:1.2;margin-bottom:12px}
.formation-metier__carte p{font-size:14px;line-height:1.65;margin:0}
.formation-metier__trait{position:absolute;bottom:0;left:28px;width:57px;height:3px;background:var(--accent);transition:width .35s}
.formation-metier__carte:hover .formation-metier__trait{width:calc(100% - 56px)}
.formation-metier__instant{display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;min-height:330px;margin-top:26px;background:#211078;border-radius:14px;color:#fff}
.formation-metier__instant figure{position:relative;margin:0;min-height:330px;overflow:hidden}
.formation-metier__instant img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.formation-metier__instant:hover img{transform:scale(1.035)}
.formation-metier__instant figcaption{position:absolute;bottom:15px;left:19px;color:#fff;font-size:10px;letter-spacing:.1em;text-shadow:0 1px 8px #111}
.formation-metier__instant-texte{position:relative;display:flex;flex-direction:column;justify-content:center;padding:38px clamp(38px,5vw,75px);background:radial-gradient(circle at 100% 0,#5430c4,#241078 65%,#190a57);isolation:isolate}
.formation-metier__instant-texte::before{content:"";position:absolute;inset:0;background-image:radial-gradient(#ffffff36 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent,#000);z-index:-1}
.formation-metier__instant-icone{font:800 85px/.65 Georgia,serif;color:#aa97ff;margin-bottom:22px}
.formation-metier__instant-texte p{color:#fff;font:750 clamp(21px,2.25vw,30px)/1.35 var(--titre);letter-spacing:-.035em;margin:0 0 25px;max-width:24ch}
.formation-metier__instant-texte>span:last-child{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#cfc4ff}

.formation-competences{position:relative;overflow:hidden;background:linear-gradient(120deg,#140944,#211078 70%,#2c0f99);color:#fff;padding:105px 0 100px}
.formation-competences::before{content:"";position:absolute;width:690px;height:690px;border:1px solid #ffffff1d;border-radius:50%;right:-320px;top:-270px;box-shadow:0 0 0 100px #ffffff09,0 0 0 200px #ffffff06;pointer-events:none}
.formation-competences__entete{position:relative;display:grid;grid-template-columns:1fr .68fr;gap:60px;align-items:end;margin-bottom:36px}
.formation-competences h2{color:#fff;max-width:14ch;margin-bottom:0}
.formation-competences__entete>p{font-size:15px;line-height:1.7;color:#cbc8e3;margin:0 0 6px}
.formation-competences__grille{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.formation-competences__carte{background:#fff;color:var(--texte);border-radius:12px;padding:36px 38px 39px;box-shadow:0 28px 50px -40px #07031e;transition:transform .35s,box-shadow .35s}
.formation-competences__carte:hover{transform:translateY(-7px);box-shadow:0 35px 55px -37px #07031e}
.formation-competences__carte-haut{display:flex;align-items:center;justify-content:space-between;color:var(--accent);font:800 11px/1 var(--titre);text-transform:uppercase;letter-spacing:.14em;margin-bottom:52px}
.formation-competences__carte-haut svg{width:25px;height:25px;transition:transform .3s}
.formation-competences__carte:hover svg{transform:translateX(5px)}
.formation-competences__carte h3{font-size:29px;line-height:1.15;color:var(--nuit);max-width:16ch;margin:0 0 16px}
.formation-competences__carte>p{font-size:15px;line-height:1.6;margin:0 0 27px}
.formation-competences__carte ul{list-style:none;padding:23px 0 0;margin:0;border-top:1px solid #e8e3f4;display:grid;gap:14px}
.formation-competences__carte li{position:relative;padding-left:27px;color:#373953;font-size:14px;line-height:1.5}
.formation-competences__carte li::before{content:"✓";position:absolute;left:0;top:-1px;color:var(--accent);font-weight:800}
.formation-competences__source{text-align:right;margin:23px 0 0}
.formation-competences__source a{color:#dcd5ff;font-size:12px;text-underline-offset:4px}

.formation-distance{padding:112px 0;background:#f6f3ff;overflow:hidden}
.formation-distance__grille{display:grid;grid-template-columns:1fr 1fr;gap:clamp(70px,9vw,145px);align-items:center}
.formation-distance__visuel{position:relative;display:grid;place-items:center;height:460px;border-radius:16px 80px 16px 16px;background:radial-gradient(circle at 48% 44%,#5131d1 0,#24108a 50%,#140a4b 100%);overflow:hidden;box-shadow:0 30px 65px -48px #1d0c6a}
.formation-distance__visuel::after{content:"";position:absolute;inset:0;background-image:radial-gradient(#ffffff4b 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(110deg,transparent,#000);pointer-events:none}
.formation-distance__orbite{position:absolute;width:370px;height:370px;border:1px solid #ffffff50;border-radius:50%;animation:formation-pulse 6s ease-in-out infinite alternate}
.formation-distance__orbite--deux{width:480px;height:480px;border-color:#ffffff27;animation-delay:-3s}
.formation-distance__centre{position:relative;z-index:1;display:grid;text-align:center;color:#fff}
.formation-distance__centre span{font:850 clamp(65px,7vw,110px)/.9 var(--titre);letter-spacing:-.09em}
.formation-distance__centre strong{font:800 23px/1.2 var(--titre);letter-spacing:.08em;text-transform:uppercase;margin-top:8px}
.formation-distance__flottant{position:absolute;z-index:1;background:#fff;border-radius:8px;color:#231174;box-shadow:0 16px 35px -22px #080330;padding:11px 14px;font-size:12px;font-weight:750}
.formation-distance__flottant--haut{top:38px;right:20px;transform:rotate(5deg)}
.formation-distance__flottant--bas{bottom:40px;left:20px;transform:rotate(-5deg)}
.formation-distance__texte h2{max-width:12ch}
.formation-distance__texte>p:not(.eyebrow){font-size:17px;line-height:1.8;max-width:49ch}
.formation-distance__detail{display:flex;gap:18px;align-items:start;border-top:1px solid #d8cffa;border-bottom:1px solid #d8cffa;padding:21px 0;margin:28px 0}
.formation-distance__detail>span{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#e3dbfb;color:var(--accent);font-weight:800}
.formation-distance__detail p{margin:0;font-size:14px;line-height:1.6}
@keyframes formation-pulse{from{transform:scale(.97);opacity:.65}to{transform:scale(1.04);opacity:1}}

.formation-certification{padding:116px 0}
.formation-certification__grille{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(70px,9vw,140px);align-items:center}
.formation-certification__intro h2{max-width:11ch}
.formation-certification__intro>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:39ch}
.formation-certification__fiche{border:1px solid #ded8f1;border-radius:14px;padding:37px 40px 32px;box-shadow:0 25px 50px -42px #281092}
.formation-certification__etiquette{display:inline-flex;color:var(--accent);background:var(--accent-050);border-radius:4px;padding:7px 9px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800}
.formation-certification__fiche h3{font-size:29px;color:var(--nuit);margin:19px 0 26px;line-height:1.2}
.formation-certification__fiche dl{margin:0 0 25px;border-top:1px solid #e4def2}
.formation-certification__fiche dl div{display:flex;justify-content:space-between;gap:25px;padding:13px 0;border-bottom:1px solid #e4def2;font-size:13px}
.formation-certification__fiche dt{color:#6d6884}.formation-certification__fiche dd{margin:0;color:var(--nuit);font-weight:750;text-align:right}
.formation-certification__fiche>a{display:inline-flex;color:var(--accent);font-size:14px;font-weight:750;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.formation-certification__fiche>a span{margin-left:11px}
.formation-certification__precision{font-size:12px;line-height:1.55;margin:22px 0 0;color:#77728c}

.formation-questions{padding:104px 0;background:#f7f5ff}
.formation-questions__grille{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(55px,8vw,130px)}
.formation-questions h2{max-width:12ch}
.formation-questions__grille>div:first-child>p:not(.eyebrow){font-size:16px;line-height:1.7;max-width:36ch}
.formation-questions__liste{display:grid;align-content:start;gap:10px}
.formation-questions details{background:#fff;border:1px solid #e1dbf2;border-radius:9px;transition:border-color .25s,box-shadow .25s}
.formation-questions details[open]{border-color:#c5b8ed;box-shadow:0 18px 38px -34px #281092}
.formation-questions summary{list-style:none;cursor:pointer;position:relative;padding:23px 58px 23px 24px;color:var(--nuit);font-size:15px;font-weight:750}
.formation-questions summary::-webkit-details-marker{display:none}
.formation-questions summary::after{content:"+";position:absolute;right:22px;top:19px;font-size:24px;line-height:1;color:var(--accent);transition:transform .25s}
.formation-questions details[open] summary::after{transform:rotate(45deg)}
.formation-questions details p{margin:0;padding:0 25px 24px;font-size:14px;line-height:1.65}

.formation-contact{position:relative;overflow:hidden;background:linear-gradient(110deg,#180a5b,#2f12a8);color:#fff;padding:90px 0}
.formation-contact::after{content:"";position:absolute;inset:0;background-image:radial-gradient(#baaaff48 1px,transparent 1px);background-size:21px 21px;mask-image:linear-gradient(90deg,transparent 35%,#000);pointer-events:none}
.formation-contact__grille{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:70px;align-items:center}
.formation-contact h2{color:#fff;max-width:16ch;margin-bottom:14px}
.formation-contact p:not(.eyebrow){max-width:52ch;color:#d8d1f0;line-height:1.7;margin:0}
.formation-contact__actions{display:grid;justify-items:start;gap:19px}
.formation-contact__actions .bouton{white-space:nowrap;gap:15px}
.formation-contact__actions>a:last-child{color:#fff;font:800 22px/1 var(--titre);text-decoration:none}

.formation-autres{padding:106px 0 120px}
.formation-autres__entete{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}
.formation-autres h2{margin-bottom:0}.formation-autres__grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.formation-autres__carte{position:relative;overflow:hidden;display:block;min-height:320px;border-radius:13px;background:var(--nuit);color:#fff;text-decoration:none}
.formation-autres__carte picture,.formation-autres__carte picture img{display:block;position:absolute;inset:0;width:100%;height:100%}
.formation-autres__carte picture img{object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.formation-autres__carte::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(22,8,78,.35) 50%,#160949 100%)}
.formation-autres__carte:hover picture img{transform:scale(1.055)}
.formation-autres__contenu{position:absolute;z-index:1;inset:auto 27px 27px;display:grid;gap:9px}
.formation-autres__contenu small{color:#e0d9ff;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.1em}
.formation-autres__contenu strong{font:800 27px/1.15 var(--titre);max-width:19ch;letter-spacing:-.035em}
.formation-autres__contenu>span{position:absolute;right:0;bottom:0;font-size:24px;transition:transform .3s}
.formation-autres__carte:hover .formation-autres__contenu>span{transform:translate(4px,-4px)}

@media(max-width:1050px){.formation-hero__grille{grid-template-columns:1fr;gap:45px}.formation-hero__visuel{height:430px}.formation-nav__nom,.formation-nav__cta{display:none}.formation-nav__liens{margin:auto}.formation-metier__grille,.formation-distance__grille,.formation-certification__grille,.formation-questions__grille{gap:40px}.formation-contact__grille{grid-template-columns:1fr}}
@media(max-width:760px){.formation-hero__grille,.formation-metier__grille,.formation-metier__instant,.formation-competences__entete,.formation-competences__grille,.formation-distance__grille,.formation-certification__grille,.formation-questions__grille,.formation-autres__grille{grid-template-columns:1fr}.formation-hero__grille{padding-top:65px;padding-bottom:70px}.formation-hero__visuel{height:360px}.formation-hero__note{left:10px;bottom:10px}.formation-nav{top:4.5rem;overflow-x:auto}.formation-nav__interieur{min-width:max-content}.formation-metier,.formation-competences,.formation-distance,.formation-certification,.formation-questions,.formation-autres{padding:70px 0}.formation-metier__cartes{grid-template-columns:1fr}.formation-metier__carte{min-height:0}.formation-metier__numero{margin-bottom:22px}.formation-metier__instant figure{min-height:270px}.formation-distance__visuel{height:330px}.formation-certification__fiche{padding:28px}.formation-contact{padding:70px 0}}
@media(prefers-reduced-motion:reduce){.formation-hero__visuel,.formation-distance__orbite{animation:none}.formation-metier__carte,.formation-competences__carte,.formation-autres__carte picture img{transition:none}}
