/* ============================================================
   HPI GLOBAL — Design System (v2 "Reference")
   Palette : bleu nuit #0F172A/#0F2942 · émeraude #0D9488/#00A88F · blanc
   Typo    : Cormorant Garamond (display) · Plus Jakarta Sans · Inter
   ============================================================ */
:root{
  --navy:#0F172A; --navy-2:#0F2942; --emer:#0D9488; --emer-2:#00A88F;
  --ink:#0F172A; --muted:#5B6B7C; --line:#E4E9EF; --platine:#F6F8FB;
  --e:cubic-bezier(.16,.84,.44,1); --e-out:cubic-bezier(.22,1,.36,1);
  --maxw:1160px;
}
*{ -webkit-font-smoothing:antialiased; }
html{ scroll-behavior:smooth; }
body{ font-family:'Inter',sans-serif; color:var(--ink); background:var(--platine); overflow-x:hidden; }
img,svg{ max-width:100%; height:auto; }
[id]{ scroll-margin-top:96px; }
.font-serif{ font-family:'Cormorant Garamond',serif; }
.eyebrow{ font-family:'Plus Jakarta Sans',sans-serif; letter-spacing:.32em; text-transform:uppercase; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:clamp(1.5rem,5.5vw,3rem); }

/* Échelle typographique monumentale */
.display{ font-family:'Cormorant Garamond',serif; font-weight:500; line-height:1.2; letter-spacing:-.01em; }
.display-xl{ font-size:clamp(3rem,7vw,8.75rem); }
.display-lg{ font-size:clamp(2.4rem,5vw,5rem); }
.display-md{ font-size:clamp(1.9rem,4vw,3.25rem); }
.lede{ font-size:clamp(1.05rem,1.6vw,1.35rem); line-height:1.65; color:var(--muted); max-width:60ch; }

/* Grain */
body::before{ content:'';position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* Barre de progression */
#progress{ position:fixed;top:0;left:0;height:2px;z-index:120;width:0;background:linear-gradient(90deg,var(--emer),var(--emer-2)); }

/* ---------- HEADER (transparent au-dessus du hero, solide au scroll) ---------- */
#siteHeader{ position:sticky;top:0;left:0;right:0;z-index:100;transition:background .5s var(--e),box-shadow .5s var(--e),border-color .5s;
  background:rgba(15,23,42,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.09); }
#siteHeader.is-solid{ box-shadow:0 12px 40px -22px rgba(0,0,0,.65); }
.nav-link{ font-family:'Plus Jakarta Sans';font-size:.9rem;color:rgba(255,255,255,.78);padding:.55rem .9rem;font-weight:500;transition:color .3s;position:relative; }
.nav-link:hover{ color:#fff; }
.nav-link.active{ color:#fff; }
.nav-link.active::after{ content:'';position:absolute;left:.9rem;right:.9rem;bottom:.15rem;height:1.5px;background:var(--emer-2); }
.nav-item>.mega{ opacity:0;visibility:hidden;transform:translateY(10px);transition:.24s var(--e); }
.nav-item:hover>.mega,.nav-item:focus-within>.mega{ opacity:1;visibility:visible;transform:translateY(0); }
.mega-card{ background:#fff;border-radius:14px;box-shadow:0 30px 60px -25px rgba(15,23,42,.45);ring:1px; }
.mega-link{ display:block;padding:.65rem 1rem;font-size:.9rem;color:var(--navy);border-radius:8px;transition:.2s; }
.mega-link:hover{ background:var(--platine);color:var(--emer); }

/* ---------- Boutons ---------- */
.btn{ position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:'Plus Jakarta Sans';font-weight:600;border-radius:.65rem;transition:transform .4s var(--e),box-shadow .4s var(--e);white-space:nowrap; }
.btn-primary{ color:#fff;background:linear-gradient(120deg,var(--emer) 0%,var(--emer-2) 55%,#12b3a0 100%);box-shadow:0 12px 34px -12px rgba(0,168,143,.7); }
.btn-primary:hover{ transform:translateY(-3px);box-shadow:0 20px 46px -14px rgba(0,168,143,.85); }
.btn-white{ color:var(--navy);background:#fff;box-shadow:0 12px 34px -14px rgba(255,255,255,.5); }
.btn-white:hover{ transform:translateY(-3px); }
.btn-ghost{ color:#fff;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(4px); }
.btn-ghost:hover{ border-color:var(--emer-2);transform:translateY(-3px); }
.btn-outline-navy{ color:var(--navy);border:1px solid var(--line); }
.btn-outline-navy:hover{ border-color:var(--emer);color:var(--emer);transform:translateY(-3px); }
.btn .arrow{ transition:transform .4s var(--e); } .btn:hover .arrow{ transform:translateX(5px); }
.btn::after{ content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg); }
.btn:hover::after{ animation:sheen .9s var(--e); }
@keyframes sheen{ to{ left:150%; } }

/* ---------- HERO ---------- */
.hero{ position:relative;min-height:calc(100svh - 76px);display:flex;align-items:center;overflow:hidden;background:var(--navy);padding-block:clamp(3.5rem,9vh,7rem); }
.hero-media{ position:absolute;inset:-8% 0 0 0;background:var(--navy) center/cover no-repeat;will-change:transform;
  animation:heroZoom 24s ease-in-out infinite alternate; }
@keyframes heroZoom{ from{ transform:scale(1.04); } to{ transform:scale(1.14); } }
.hero-overlay{ position:absolute;inset:0;background:
  radial-gradient(120% 90% at 75% 20%,rgba(0,168,143,.20),transparent 55%),
  linear-gradient(180deg,rgba(15,23,42,.55) 0%,rgba(15,23,42,.72) 55%,rgba(15,23,42,.92) 100%); }
.hero-sweep{ position:absolute;inset:0;pointer-events:none;background:linear-gradient(75deg,transparent 40%,rgba(255,255,255,.06) 50%,transparent 60%);
  background-size:250% 100%;animation:sweep 9s var(--e) infinite; }
@keyframes sweep{ 0%{background-position:120% 0} 100%{background-position:-60% 0} }
.scroll-cue{ position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.6);display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.7rem;letter-spacing:.25em; }
.scroll-cue .bar{ width:1px;height:44px;background:linear-gradient(rgba(255,255,255,.6),transparent);position:relative;overflow:hidden; }
.scroll-cue .bar::after{ content:'';position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--emer-2);animation:cue 2s var(--e) infinite; }
@keyframes cue{ 0%{top:-50%} 100%{top:100%} }

/* Texte dynamique */
.rot-word{ display:inline-block;transition:opacity .45s var(--e),transform .45s var(--e); }
.rot-word.out{ opacity:0;transform:translateY(-10px); }

/* ---------- Animations d'apparition ---------- */
.js .reveal,.js [data-reveal]{ opacity:0;transform:translateY(34px);filter:blur(6px);transition:opacity 1s var(--e-out),transform 1s var(--e-out),filter 1s var(--e-out);transition-delay:var(--d,0s); }
.reveal.in,[data-reveal].in{ opacity:1;transform:none;filter:none; }
.split .ln{ display:block;overflow:hidden; }
.js .split .ln>span{ display:block;transform:translateY(115%);transition:transform 1.05s var(--e-out);transition-delay:var(--d,0s); }
.split.in .ln>span{ transform:none; }

/* Signature — cadre incliné */
.frame-tilt{ transform:skewY(-4deg); } .frame-tilt>*{ transform:skewY(4deg); }
.diag-cut{ clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 4vw)); }
.diag-cut-b{ clip-path:polygon(0 4vw,100% 0,100% 100%,0 100%); }
.rule-accent{ height:1px;background:linear-gradient(90deg,transparent,var(--emer-2),transparent);opacity:.55; }
.hair{ height:1px;background:var(--line); }

/* Cartes */
.card{ background:#fff;border:1px solid var(--line);border-radius:18px;transition:transform .5s var(--e),box-shadow .5s var(--e),border-color .5s var(--e); }
.card:hover{ transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(15,41,66,.32);border-color:rgba(13,148,136,.35); }
.card-axis{ position:relative;overflow:hidden; }
.card-axis::before{ content:'';position:absolute;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--emer),var(--emer-2));transition:width .6s var(--e); }
.card-axis:hover::before{ width:100%; }
.card-axis:hover .axis-num{ color:var(--emer); }
.axis-num{ transition:color .5s var(--e); }

/* Journey international */
.journey-step{ position:relative; }
.journey-media{ will-change:transform; }

/* Faculty */
.faculty-card figure{ overflow:hidden; }
.faculty-card img,.faculty-ph{ transition:transform .8s var(--e); }
.faculty-card:hover img,.faculty-card:hover .faculty-ph{ transform:scale(1.06); }

/* FAQ */
.faq q{ cursor:pointer; }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-a{ max-height:0;overflow:hidden;transition:max-height .5s var(--e); }
.faq-item.open .faq-a{ max-height:260px; }
.faq-item.open .faq-plus{ transform:rotate(45deg); }
.faq-plus{ transition:transform .4s var(--e); }

/* Timeline séquences (page EMBA) */
.seq{ position:relative; }
.seq::before{ content:'';position:absolute;left:-33px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--emer);box-shadow:0 0 0 4px rgba(13,148,136,.13); }
.seq.online::before{ background:#fff;border:2px solid var(--emer); }

/* Marquee villes */
.marquee{ display:flex;gap:3rem;white-space:nowrap;animation:marq 28s linear infinite;will-change:transform; }
@keyframes marq{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

:focus-visible{ outline:2px solid var(--emer-2);outline-offset:3px;border-radius:2px; }
@media (prefers-reduced-motion:reduce){
  .reveal,.split .ln>span{ opacity:1!important;transform:none!important;filter:none!important;transition:none!important; }
  .hero-media,.hero-sweep,.scroll-cue .bar::after,.marquee,.btn:hover::after{ animation:none!important; }
  html{ scroll-behavior:auto; }
}

/* ---------- Rythme vertical harmonisé ---------- */
.sec{ padding-block:clamp(4.5rem,8vw,8rem); }
.sec-sm{ padding-block:clamp(3rem,5vw,4.5rem); }

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .display-xl{ font-size:clamp(3rem,11vw,5.5rem); }
}
@media (max-width:640px){
  .display-xl{ font-size:clamp(2.5rem,13vw,3.4rem); line-height:1.02; }
  .display-lg{ font-size:clamp(2.1rem,8vw,2.8rem); }
  .display-md{ font-size:clamp(1.7rem,6.5vw,2.3rem); }
  .hero{ align-items:center; }
  .marquee{ gap:2rem; }
}

/* ---------- Tunnel Admissions (dossier emba/) ---------- */
.emba-steps{ display:flex;gap:.5rem;flex-wrap:wrap;padding:1.4rem 0;border-bottom:1px solid var(--line); }
.emba-step{ display:flex;align-items:center;gap:.6rem;padding:.55rem 1rem;border-radius:999px;color:var(--muted);
  font-family:'Plus Jakarta Sans';font-size:.8rem;font-weight:600;border:1px solid transparent;transition:.25s var(--e); }
.emba-step:hover{ color:var(--navy);background:#fff;border-color:var(--line); }
.emba-step.active{ color:#fff;background:linear-gradient(120deg,var(--emer),var(--emer-2)); }
.emba-step-num{ font-family:'Cormorant Garamond',serif;font-size:1.05rem;opacity:.85; }
.emba-form-section{ padding:2.75rem 0 4.5rem; }
.emba-embed{ max-width:900px;margin:0 auto; }


/* ---------- AJOUTS 08/2026 : footer social + liens certification ---------- */
.social-links{ display:flex;gap:.6rem;margin-top:1.25rem; }
.social-link{ display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.65rem;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.72);
  transition:color .3s var(--e),background-color .3s var(--e),border-color .3s var(--e),transform .3s var(--e); }
.social-link:hover{ color:#fff;background:rgba(0,168,143,.18);border-color:rgba(0,168,143,.6);transform:translateY(-2px); }
.social-link svg{ width:18px;height:18px;fill:currentColor;display:block; }
.link-rncp{ color:inherit;text-decoration:underline;text-decoration-color:rgba(255,255,255,.28);text-underline-offset:3px;
  transition:color .25s,text-decoration-color .25s; }
.link-rncp:hover{ color:#fff;text-decoration-color:var(--emer-2); }
.cert-link{ display:inline-flex;align-items:center;gap:.4rem;color:var(--emer);font-family:'Plus Jakarta Sans';font-weight:600;
  text-decoration:none;transition:color .25s,transform .3s var(--e); }
.cert-link:hover{ color:var(--emer-2);transform:translateX(3px); }
.cert-link-light{ color:var(--emer-2); }
.cert-link-light:hover{ color:#fff; }

/* Bloc "mention legale certification" */
.legal-note{ font-size:.8rem;line-height:1.7;color:var(--muted); }
.legal-note-light{ color:rgba(255,255,255,.6); }

/* Liste de chiffres cles (accueil) */
.kpi-card{ background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1.75rem; }
.kpi-card .kpi-val{ font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(2rem,3.4vw,2.9rem);line-height:1;color:var(--navy); }
.kpi-card .kpi-lbl{ margin-top:.75rem;font-size:.875rem;line-height:1.6;color:var(--muted); }

@media (max-width:640px){
  .social-links{ justify-content:flex-start; }
}

/* Correctif : debordement horizontal du bloc newsletter du footer (~768px)
   L'input flex-1 ne pouvait pas se reduire sous sa largeur intrinseque. */
footer .flex.gap-2 > input{ min-width:0; }
footer .flex.gap-2{ flex-wrap:wrap; }
footer .flex.gap-2 > .btn{ flex-shrink:0; }

/* Correctif : debordement de l'en-tete sur tres petits ecrans (<=360px) */
@media (max-width:360px){
  #siteHeader .wrap{ padding-inline:1rem; }
  #siteHeader .wrap > div{ min-width:0; }
  #siteHeader img{ max-width:118px; }
}

/* ---------- Bande de conversion : la distinguer nettement du footer ---------- */
.sec-cta{
  background:linear-gradient(180deg,#14314F 0%,#0F2942 100%);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:3px solid var(--emer);
}
.sec-cta + footer, footer{ position:relative; }

/* Correctif : pastilles de la frise desaxees par rapport au trait vertical.
   Trait a -33px du bord du contenu (pl-8 = 32px + bordure 2px) ;
   la pastille de 12px doit donc commencer a -39px pour etre centree. */
.seq::before{ left:-39px; }

/* ---------- Pages legales : tableaux et source des donnees ---------- */
.legal-table{ width:100%; border-collapse:collapse; margin:1.5rem 0 1rem; font-size:.9rem; }
.legal-table th,.legal-table td{ border:1px solid var(--line); padding:.7rem .9rem; text-align:left; vertical-align:top; }
.legal-table th{ background:var(--plat); font-family:'Plus Jakarta Sans'; font-weight:700; color:var(--navy-d); }
.legal-table td:last-child{ white-space:normal; }
.legal-src{ font-size:.82rem; color:var(--muted); font-style:italic; }
@media (max-width:640px){
  .legal-table{ font-size:.82rem; }
  .legal-table th,.legal-table td{ padding:.55rem .6rem; }
}

/* =====================================================================
   BANDEAU DE CONSENTEMENT AUX COOKIES
   Barre compacte, charte HPI (bleu nuit + émeraude).
   Contraintes : ne jamais élargir la page, ne jamais déborder de l'écran,
   rester utilisable sans faire défiler la page.
   ===================================================================== */
.ck, .ck *{ box-sizing:border-box; }

.ck{
  position:fixed;
  left:0; right:0; bottom:0;
  width:100%; max-width:100%;
  z-index:9999;
  /* padding-bottom : encoche des iPhone */
  padding:0 .75rem calc(.75rem + env(safe-area-inset-bottom,0px));
  display:flex; justify-content:center;
  transform:translateY(120%);
  transition:transform .5s var(--e-out);
  pointer-events:none;
}
.ck.is-open{ transform:translateY(0); pointer-events:auto; }

.ck-box{
  width:100%; max-width:1000px; min-width:0;
  background:linear-gradient(180deg,#14314F 0%,#0F2942 100%);
  border:1px solid rgba(255,255,255,.12);
  border-top:2px solid var(--emer-2);
  border-radius:.85rem;
  box-shadow:0 18px 44px -14px rgba(15,23,42,.6);
  padding:.9rem 1.1rem;
  display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.25rem;
  /* dvh : la hauteur réelle visible sur mobile, barres du navigateur déduites */
  max-height:calc(100vh - 1.5rem);
  max-height:calc(100dvh - 1.5rem);
  overflow-y:auto; overscroll-behavior:contain;
}

.ck-main{ flex:1 1 22rem; min-width:0; }
.ck-txt{
  margin:0; font-size:.82rem; line-height:1.5;
  color:rgba(255,255,255,.72);
}
.ck-tag{
  display:inline-block; margin-right:.55rem;
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:700;
  font-size:.6rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--emer-2);
}
.ck-link{ color:var(--emer-2); text-decoration:underline; text-underline-offset:2px; white-space:nowrap; }
.ck-link:hover{ color:#fff; }

/* ---- Boutons : rangée compacte ---- */
.ck-actions{
  flex:0 0 auto; min-width:0;
  display:flex; flex-wrap:wrap; align-items:center; gap:.5rem;
}
.ck-btn{
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:.8rem;
  padding:.55rem 1.1rem; border-radius:.5rem; border:1px solid transparent;
  cursor:pointer; text-align:center; line-height:1.25; white-space:nowrap;
  min-height:40px;
  transition:background-color .25s var(--e), color .25s var(--e), border-color .25s var(--e);
}
.ck-btn:focus-visible{ outline:2px solid var(--emer-2); outline-offset:2px; }
.ck-btn-primary{ background:var(--emer); color:#fff; }
.ck-btn-primary:hover{ background:var(--emer-2); }
.ck-btn-ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.3); }
.ck-btn-ghost:hover{ border-color:var(--emer-2); background:rgba(0,168,143,.14); }
.ck-btn-link{
  background:transparent; color:rgba(255,255,255,.6);
  text-decoration:underline; text-underline-offset:3px;
  padding:.55rem .5rem; font-weight:500;
}
.ck-btn-link:hover{ color:#fff; }

/* ---- Panneau de préférences ---- */
.ck-prefs{
  margin-top:.85rem; padding-top:.85rem;
  border-top:1px solid rgba(255,255,255,.12);
  display:grid; gap:.45rem;
}
/* L'attribut hidden doit primer sur display:grid */
.ck-prefs[hidden]{ display:none; }
.ck [hidden]{ display:none !important; }
.ck-cat{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:.6rem .75rem; border-radius:.55rem;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.09);
}
.ck-cat-txt{ min-width:0; }
.ck-cat-name{ margin:0; font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:.8rem; color:#fff; }
.ck-cat-desc{ margin:.15rem 0 0; font-size:.74rem; line-height:1.45; color:rgba(255,255,255,.55); }
.ck-always{ flex-shrink:0; font-size:.62rem; font-weight:600; color:var(--emer-2); letter-spacing:.06em; text-transform:uppercase; }

/* ---- Interrupteur ---- */
.ck-switch{ position:relative; flex-shrink:0; width:42px; height:24px; cursor:pointer; }
.ck-switch input{ position:absolute; inset:0; z-index:2; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.ck-slider{
  position:absolute; inset:0; z-index:1; pointer-events:none; border-radius:99px;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.22);
  transition:background-color .25s var(--e), border-color .25s var(--e);
}
.ck-slider::after{
  content:''; position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%;
  background:#fff; transition:transform .28s var(--e);
}
.ck-switch input:checked + .ck-slider{ background:var(--emer); border-color:var(--emer-2); }
.ck-switch input:checked + .ck-slider::after{ transform:translateX(18px); }
.ck-switch input:focus-visible + .ck-slider{ outline:2px solid var(--emer-2); outline-offset:3px; }
.ck-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ---------- Panneau déplié : hauteur bornée, défilement interne ---------- */
.ck.is-expanded .ck-box{
  max-height:calc(100vh - 1.5rem);
  max-height:calc(100dvh - 1.5rem);
}

/* ---------- TABLETTE ET EN DESSOUS ---------- */
@media (max-width:820px){
  .ck-box{ padding:.85rem .95rem; gap:.7rem; }
  .ck-main{ flex:1 1 100%; }
  .ck-actions{ flex:1 1 100%; }
  .ck-actions .ck-btn-ghost,
  .ck-actions .ck-btn-primary{ flex:1 1 0; }
  .ck-actions .ck-btn-link{ flex:1 1 100%; order:3; }
  .ck-actions .ck-btn-save{ flex:1 1 100%; order:4; }
}

/* ---------- MOBILE ---------- */
@media (max-width:520px){
  .ck{ padding:0 .5rem calc(.5rem + env(safe-area-inset-bottom,0px)); }
  .ck-box{ padding:.8rem .85rem; border-radius:.75rem; gap:.65rem; }
  .ck-txt{ font-size:.78rem; line-height:1.45; }
  .ck-tag{ display:block; margin:0 0 .2rem; }
  .ck-btn{ font-size:.78rem; padding:.6rem .75rem; min-height:42px; }
  .ck-cat{ padding:.55rem .65rem; gap:.7rem; }
  .ck-cat-desc{ font-size:.7rem; }
  /* Le panneau défile à l'intérieur du bandeau, jamais la page */
  .ck.is-expanded .ck-prefs{ max-height:38dvh; overflow-y:auto; padding-right:.2rem; }
}

@media (max-width:360px){
  .ck-actions .ck-btn-ghost,
  .ck-actions .ck-btn-primary{ flex:1 1 100%; }
}

/* ---------- Écrans très bas (paysage) ---------- */
@media (max-height:520px){
  .ck-box{ padding:.6rem .8rem; }
  .ck-txt{ font-size:.75rem; }
  .ck.is-expanded .ck-prefs{ max-height:34dvh; overflow-y:auto; }
}

@media (prefers-reduced-motion:reduce){
  .ck, .ck-btn, .ck-slider, .ck-slider::after{ transition:none; }
}

/* ---------- CTA de l'en-tete ----------
   NB : .btn{display:inline-flex} (ci-dessus) prime sur .hidden de Tailwind,
   les deux ayant la meme specificite et style.css etant charge en dernier.
   Le bouton reste donc visible sur mobile ; on l'ajuste pour les petits ecrans. */
.header-cta{ flex-shrink:0; }
@media (max-width:430px){
  .header-cta{ padding-left:.85rem; padding-right:.85rem; font-size:.78rem; }
}
@media (max-width:360px){
  .header-cta{ padding-left:.7rem; padding-right:.7rem; font-size:.74rem; }
}
