/* ============================================================
   CONTRERAS ACADEMY — Coiffure & Morphopsychologie
   Charte graphique officielle (LH Digital)
   Noir #1D1D1B · Crème #F8F6F0 · Or #D6BA6B / #E8D7A0
   Typo principale : Aloevera Display (auto-hébergée)
   Typo accent : Natureal (auto-hébergée)
   ============================================================ */
@font-face{
  font-family:"Natureal";
  src:url("../fonts/Natureal.woff2") format("woff2"), url("../fonts/Natureal.woff") format("woff");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
@font-face{font-family:"Aloevera Display";src:url("../fonts/AloeveraDisplay-Light.woff2") format("woff2"), url("../fonts/AloeveraDisplay-Light.woff") format("woff");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Aloevera Display";src:url("../fonts/AloeveraDisplay-Regular.woff2") format("woff2"), url("../fonts/AloeveraDisplay-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Aloevera Display";src:url("../fonts/AloeveraDisplay-Medium.woff2") format("woff2"), url("../fonts/AloeveraDisplay-Medium.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Aloevera Display";src:url("../fonts/AloeveraDisplay-SemiBold.woff2") format("woff2"), url("../fonts/AloeveraDisplay-SemiBold.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Aloevera Display";src:url("../fonts/AloeveraDisplay-Bold.woff2") format("woff2"), url("../fonts/AloeveraDisplay-Bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}
.font-aloevera{--ff:"Aloevera Display",system-ui,sans-serif}
:root{
  --noir-rgb:29,29,27;--gold-rgb:214,186,107;--white-rgb:255,255,255;--gold-light-rgb:232,215,160;--cream-rgb:248,246,240;--black-rgb:0,0,0;
  --grad-avatar:linear-gradient(135deg,#e8d7a0,#c2a253);
  --noir:#1D1D1B;
  --noir-2:#26251F;
  --cream:#F8F6F0;
  --white:#FFFFFF;
  --gold:#D6BA6B;         /* accent sur fond clair */
  --gold-dark:#D6BA6B;
  --gold-light:#E8D7A0;   /* accent sur fond foncé */
  --border:#E6E1D4;
  --border-dark:rgba(var(--gold-light-rgb),.16);
  --gris:#6C685E;
  --gris-light:rgba(var(--cream-rgb),.66);
  --shadow-sm:0 2px 14px rgba(var(--noir-rgb),.05);
  --shadow-md:0 26px 60px -30px rgba(var(--noir-rgb),.4);
  --r:14px;
  --maxw:1440px;
  --gutter:clamp(20px, 4vw, 40px);
  --ff:"Aloevera Display",system-ui,sans-serif;   /* police principale auto-hébergée */
  --ff-script:"Natureal",cursive;                 /* police accent auto-hébergée */
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;overscroll-behavior:none}
/* Empêche le geste « retour » du trackpad / le pull-to-refresh (rechargement au scroll) via les sliders horizontaux. */
.uv-col__slider,.ftr-slider,.fcar__viewport,.arch__formateurs{overscroll-behavior-x:contain}
body{
  font-family:var(--ff);
  color:var(--noir);
  background:var(--cream);
  line-height:1.65;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(100% - 2 * var(--gutter),var(--maxw));margin-inline:auto}
/* Mobile : marge latérale fixe de 20px (sections + header, qui utilise .container). */
@media(max-width:600px){:root{--gutter:20px}}

/* ---------- Typo ---------- */
h1,h2,h3{font-family:var(--ff);font-weight:400;line-height:1.08;letter-spacing:-.01em}
.mark,.about__script,.xp-title__script{font-family:var(--ff);font-weight:400;font-size:1em;color:var(--gold-dark)}
.mark--light{color:var(--gold)}
.script{font-family:var(--ff-script);color:var(--gold-dark);font-weight:600;letter-spacing:.01em}
.kicker,.eyebrow{font-family:var(--ff);font-weight:600;font-size:.74rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:18px}
.kicker--light,.eyebrow--light{color:var(--gold-light)}
.h2,.about__title,.xp-title,.spotlight__title,.pk-title,.process__title{font-size:clamp(2.1rem,3.6vw,2.9rem);font-weight:400;line-height:1.15;letter-spacing:-.01em}
.h2--light{color:var(--cream)}
.lead{font-size:1.05rem;color:var(--gris);max-width:600px;font-weight:400}
.stars{color:var(--gold-dark);letter-spacing:3px;font-size:.85rem}

/* ---------- Buttons ---------- */
.btn{
  --bg:var(--noir);--fg:var(--cream);
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--ff);font-weight:500;font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;
  background:var(--bg);color:var(--fg);
  padding:14px 26px;border-radius:999px;border:0;cursor:pointer;
  transition:transform .2s ease,box-shadow .25s ease,background .2s ease,color .2s ease;
  white-space:nowrap;
}
.btn svg{transition:transform .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn:hover svg{transform:translateX(3px)}
.btn--light,.btn--primary{
  color:var(--noir);
  background:linear-gradient(180deg,#FFFFFF 0%,var(--cream) 58%,#EBE4D5 100%);
  box-shadow:
    0 18px 30px -14px rgba(var(--noir-rgb),.42),
    0 6px 12px -6px rgba(var(--noir-rgb),.22),
    inset 0 1px 0 rgba(var(--white-rgb),.9),
    inset 0 -6px 12px rgba(180,168,140,.28),
    inset 0 -1px 0 rgba(var(--white-rgb),.6)}
.btn--light:hover,.btn--primary:hover{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFFFFF 55%,var(--cream) 100%);
  box-shadow:
    0 24px 40px -14px rgba(var(--noir-rgb),.5),
    0 8px 16px -6px rgba(var(--noir-rgb),.26),
    inset 0 1px 0 rgba(var(--white-rgb),1),
    inset 0 -6px 14px rgba(180,168,140,.34),
    inset 0 -1px 0 rgba(var(--white-rgb),.7)}
/* Bouton noir « glassy » (fond clair) + CTA header au scroll : relief par reflets blancs. */
.btn--dark,.nav.is-scrolled .btn--primary{
  color:var(--cream);
  background:linear-gradient(180deg,#3d3b31 0%,var(--noir-2) 55%,#121109 100%);
  box-shadow:
    0 18px 30px -14px rgba(var(--noir-rgb),.5),
    0 6px 12px -6px rgba(var(--noir-rgb),.3),
    inset 0 1.5px 0 rgba(var(--white-rgb),.45),
    inset 0 3px 8px rgba(var(--white-rgb),.1),
    inset 0 -7px 14px rgba(var(--black-rgb),.5),
    inset 0 -1px 0 rgba(var(--black-rgb),.55)}
.btn--dark:hover,.nav.is-scrolled .btn--primary:hover{
  background:linear-gradient(180deg,#474436 0%,#2c2a22 55%,#1a1912 100%);
  box-shadow:
    0 24px 40px -14px rgba(var(--noir-rgb),.58),
    0 8px 16px -6px rgba(var(--noir-rgb),.36),
    inset 0 1.5px 0 rgba(var(--white-rgb),.55),
    inset 0 3px 9px rgba(var(--white-rgb),.14),
    inset 0 -8px 16px rgba(var(--black-rgb),.52),
    inset 0 -1px 0 rgba(var(--black-rgb),.6)}
.btn--ghost{background:transparent;border:1px solid var(--noir);color:var(--noir)}
.btn--ghost:hover{background:var(--noir);color:var(--cream)}
.btn--ghost-light{background:transparent;border:1px solid rgba(var(--cream-rgb),.35);color:var(--cream)}
.btn--ghost-light:hover{background:var(--cream);color:var(--noir);border-color:var(--cream)}
.btn--lg{padding:16px 32px;font-size:.82rem}

/* ---------- Logo ---------- */
.logo{display:inline-flex;flex-direction:column;line-height:.82;color:var(--noir)}
.logo__l1{font-size:1.6rem;font-weight:400;letter-spacing:.01em}
.logo__l2{font-size:1.6rem;font-weight:300;letter-spacing:.14em;margin-left:.08em}
.logo__on{font-family:var(--ff);font-weight:700;color:var(--gold-dark);font-size:1em;margin:0 .01em;letter-spacing:0}
.logo--light{color:var(--cream)}
.logo--light .logo__on{color:var(--gold-light)}
/* logo image (vrais médias) */
.brand__logo{height:46px;width:auto;display:block}
.brand__logo--dark{display:none}
.nav.is-scrolled .brand__logo--light{display:none}
.nav.is-scrolled .brand__logo--dark{display:block}
.brand__logo-foot{height:62px;width:auto;display:block}

/* ---------- Navbar ---------- */
.nav{position:sticky;top:0;z-index:60;background:var(--noir);border-bottom:1px solid transparent;
  transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:82px;gap:20px;max-width:var(--maxw)}

/* --- Navbar : état scrollé (clair, textes noirs) --- */
/* Fond flouté porté par un pseudo-élément : sinon backdrop-filter sur .nav crée un
   bloc conteneur qui piège le méga-menu et le panneau mobile (position:fixed). */
.nav.is-scrolled{background:transparent;border-bottom-color:var(--border);box-shadow:0 10px 34px -20px rgba(var(--noir-rgb),.42)}
.nav.is-scrolled::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(var(--cream-rgb),.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.nav.is-scrolled .logo{color:var(--noir)}
.nav.is-scrolled .logo__on{color:var(--gold-dark)}
.nav.is-scrolled .nav__link{color:var(--noir)}
.nav.is-scrolled .nav__link::after{background:var(--gold-dark)}
.nav.is-scrolled .nav__burger span{background:var(--noir)}
/* méga-menu & dropdown en clair quand scrollé */
.nav.is-scrolled .mega{background:rgba(var(--white-rgb),.98);border-top-color:var(--border);border-bottom-color:var(--border)}
.nav.is-scrolled .mega2__cats{border-right-color:var(--border)}
.nav.is-scrolled .mega2__cat{color:var(--noir)}
.nav.is-scrolled .mega2__cat .ic{background-color:var(--gris)}
.nav.is-scrolled .mega2__cat:hover,.nav.is-scrolled .mega2__cat.is-active{background:rgba(var(--gold-rgb),.12)}
.nav.is-scrolled .mega2__cat:hover .ic,.nav.is-scrolled .mega2__cat.is-active .ic{background-color:var(--gold-dark)}
.nav.is-scrolled .mega2__panel a{color:var(--gris);border-bottom-color:var(--border)}
.nav.is-scrolled .mega2__panel a:hover{color:var(--noir)}
.nav.is-scrolled .mega__foot{border-top-color:var(--border)}
.nav.is-scrolled .mega__foot span{color:var(--gris)}
.nav.is-scrolled .mega__all{color:var(--gold-dark)}
.nav.is-scrolled .drop{background:rgba(var(--white-rgb),.98);border-color:var(--border)}
.nav.is-scrolled .drop a{color:var(--gris)}
.nav.is-scrolled .drop a:hover{background:rgba(var(--gold-rgb),.12);color:var(--noir)}
.nav .logo{color:var(--cream)}
.nav .logo__on{color:var(--gold-light)}
.nav__links{display:flex;align-items:center;gap:30px}
.nav__item{position:relative;display:flex;align-items:center;height:82px}
.nav__link{display:inline-flex;align-items:center;gap:6px;font-family:var(--ff);font-size:.82rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;
  color:var(--cream);background:none;border:0;cursor:pointer;padding:4px 0;opacity:.85;transition:opacity .2s;position:relative}
.nav__link:hover{opacity:1}
.nav__link::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--gold-light);transition:width .22s ease}
.nav__link:hover::after,.nav__item.open>.nav__link::after{width:100%}
.nav__chev{transition:transform .25s ease}
.nav__item.open .nav__chev{transform:rotate(180deg)}
.nav__actions{display:flex;align-items:center;gap:12px}

/* --- Mega menu --- */
.mega{position:fixed;left:0;right:0;top:82px;z-index:59;background:rgba(20,19,16,.98);backdrop-filter:blur(16px);
  border-top:1px solid var(--border-dark);border-bottom:1px solid var(--border-dark);
  opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;
  transition:opacity .28s ease,transform .28s ease,visibility .28s}
.nav__item--mega:hover .mega,.nav__item--mega.open .mega{opacity:1;visibility:visible;transform:none;pointer-events:auto}
/* Barre d'admin WordPress (connecté) : header + méga-menu restent alignés dessous. */
.admin-bar .nav{top:32px}
.admin-bar .mega{top:114px}
@media screen and (max-width:782px){
	.admin-bar .nav{top:46px}
	.admin-bar .mega{top:128px}
}
@media screen and (max-width:600px){
	.admin-bar .nav{top:0}
	.admin-bar .mega{top:82px}
}
/* méga-menu — catégories interactives */
.mega2{display:grid;grid-template-columns:270px 1fr;gap:0;padding:0}
.ic{width:24px;height:24px;background-color:var(--gold-light);flex-shrink:0;
  -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
.ic-cut{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Cpath d='M20 4 8.12 15.88M14.47 14.48 20 20M8.12 8.12 12 12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Cpath d='M20 4 8.12 15.88M14.47 14.48 20 20M8.12 8.12 12 12'/%3E%3C/svg%3E")}
.ic-color{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2s7 8 7 12a7 7 0 1 1-14 0c0-4 7-12 7-12z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2s7 8 7 12a7 7 0 1 1-14 0c0-4 7-12 7-12z'/%3E%3C/svg%3E")}
.ic-curl{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M3 12c0-2 1.5-3 3-3s3 1 3 3-1.5 3-3 3M9 12c0-2 1.5-3 3-3s3 1 3 3-1.5 3-3 3M15 12c0-2 1.5-3 3-3s3 1 3 3-1.5 3-3 3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M3 12c0-2 1.5-3 3-3s3 1 3 3-1.5 3-3 3M9 12c0-2 1.5-3 3-3s3 1 3 3-1.5 3-3 3M15 12c0-2 1.5-3 3-3s3 1 3 3-1.5 3-3 3'/%3E%3C/svg%3E")}
.ic-razor{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 10.6C11 9.7 9.8 9 8 9 5.6 9 4.4 10.6 3 10.6 3 12.8 5 14 7.2 14 9.4 14 11 12.8 12 11.6 13 12.8 14.6 14 16.8 14 19 14 21 12.8 21 10.6 19.6 10.6 18.4 9 16 9 14.2 9 13 9.7 12 10.6Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 10.6C11 9.7 9.8 9 8 9 5.6 9 4.4 10.6 3 10.6 3 12.8 5 14 7.2 14 9.4 14 11 12.8 12 11.6 13 12.8 14.6 14 16.8 14 19 14 21 12.8 21 10.6 19.6 10.6 18.4 9 16 9 14.2 9 13 9.7 12 10.6Z'/%3E%3C/svg%3E")}
.ic-head{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-6 8-6s8 2 8 6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-6 8-6s8 2 8 6'/%3E%3C/svg%3E")}
.ic-com{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='12' rx='2'/%3E%3Cpath d='M8 8V6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M3 13h18'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='12' rx='2'/%3E%3Cpath d='M8 8V6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M3 13h18'/%3E%3C/svg%3E")}

.mega2__cats{padding:26px 0;border-right:1px solid var(--border-dark)}
.mega2__cat{display:flex;align-items:center;gap:14px;width:100%;padding:14px 26px;background:none;border:0;cursor:pointer;text-align:left;
  font-family:var(--ff);color:var(--cream);transition:background .2s,border-color .2s}
.mega2__cat .ic{width:20px;height:20px;background-color:var(--gris-light);transition:background .2s}
.mega2__cat b{font-size:.95rem;font-weight:400;letter-spacing:.01em}
.mega2__cat small{margin-left:auto;font-size:.78rem;color:var(--gris-light)}
.mega2__cat:hover,.mega2__cat.is-active{background:rgba(var(--gold-light-rgb),.06)}
.mega2__cat:hover .ic,.mega2__cat.is-active .ic{background-color:var(--gold-light)}
.mega2__panels{padding:34px 48px}
.mega2__panel{display:none;grid-template-columns:repeat(3,1fr);gap:2px 44px;align-content:start}
.mega2__panel.is-active{display:grid;animation:megaFade .3s ease}
@keyframes megaFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.mega2__panel a{font-size:.9rem;color:var(--gris-light);padding:9px 0;border-bottom:1px solid var(--border-dark);transition:color .2s,padding-left .2s}
.mega2__panel a:hover{color:var(--cream);padding-left:6px}
.mega__foot{border-top:1px solid var(--border-dark);display:flex;align-items:center;justify-content:space-between;gap:20px;
  max-width:var(--maxw);margin:0 auto;padding:16px 26px;font-size:.82rem;color:var(--gris-light)}
.mega__all{display:inline-flex;align-items:center;gap:8px;color:var(--gold-light);font-weight:500;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}
.mega__all:hover{color:var(--cream)}

/* --- Dropdown simple --- */
.drop{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(-8px);min-width:210px;
  background:rgba(20,19,16,.98);backdrop-filter:blur(16px);border:1px solid var(--border-dark);border-radius:14px;padding:8px;
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,transform .24s ease,visibility .24s;z-index:59}
.nav__item--drop:hover .drop,.nav__item--drop.open .drop{opacity:1;visibility:visible;transform:translateX(-50%);pointer-events:auto}
.drop a{display:block;font-size:.88rem;color:rgba(var(--cream-rgb),.75);padding:10px 14px;border-radius:8px;transition:background .18s,color .18s}
.drop a:hover{background:rgba(var(--gold-light-rgb),.1);color:var(--cream)}
.nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav__burger span{width:24px;height:2px;background:var(--cream);border-radius:2px;transition:.25s}
.nav__burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__burger.open span:nth-child(2){opacity:0}
.nav__burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Hero (façon Nexia) ---------- */
.hero{position:relative;background:var(--noir);color:var(--cream);padding:120px 0 200px;overflow:hidden}
.hero .container,.hero-media .container{max-width:var(--maxw);position:relative}
.hero__decor{position:absolute;top:10px;right:0;width:min(44vw,500px);aspect-ratio:884/534;font-size:0;opacity:.1;
  background:url("../img/on-clair.png") right center/contain no-repeat;
  pointer-events:none;user-select:none;z-index:0}
.hero__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:44px;max-width:800px}
.hero__title{font-size:clamp(2.5rem,4.6vw,3.7rem);font-weight:300;letter-spacing:-.01em;line-height:1.16}
.hero__title .mark--light{color:var(--gold)}
.hero__sub{font-size:1.12rem;color:var(--gris-light);line-height:1.65}
.hero-media{position:relative;z-index:2;margin-top:-150px;padding:0 0 76px}
.hero__media{position:relative;height:clamp(360px,44vw,540px);border-radius:24px;overflow:hidden;
  background-color:#241f16;
  background-image:
    radial-gradient(80% 120% at 78% 8%,rgba(var(--gold-rgb),.5),transparent 55%),
    radial-gradient(70% 90% at 12% 100%,rgba(var(--gold-rgb),.18),transparent 55%),
    linear-gradient(135deg,#39352a 0%,#241f16 45%,#141310 100%);
  background-size:cover;background-position:center;background-repeat:no-repeat;
  display:flex;align-items:flex-end;justify-content:flex-end;box-shadow:0 40px 80px -30px rgba(var(--black-rgb),.45)}
.hero__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero__media-on{position:absolute;z-index:1;left:3%;top:50%;transform:translateY(-50%);width:min(34vw,360px);aspect-ratio:884/534;font-size:0;opacity:.16;
  background:url("../img/on-clair.png") center/contain no-repeat;
  pointer-events:none}
.hero__tags{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:18px}
.hero__tag{display:inline-flex;align-items:center;gap:12px;background:var(--noir);color:var(--cream);border-radius:150px;padding:12px 18px;font-size:.9rem;white-space:nowrap;border:1px solid var(--border-dark)}
.hero__tag .dot{width:7px;height:7px;border-radius:50%;background:var(--gold-light);box-shadow:0 0 0 4px rgba(var(--gold-light-rgb),.16)}
.hero__tag b{font-weight:700}

/* ---------- Section shell ---------- */
.section{padding:112px 0;position:relative}
.section--soft{background:radial-gradient(130% 90% at 50% -10%,#FFFFFF 0%,var(--white) 60%);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.section--dark{background:var(--noir);color:var(--cream);overflow:hidden}
.section__watermark{position:absolute;font-family:var(--ff-script);font-weight:700;font-size:34vw;line-height:.7;color:rgba(var(--gold-light-rgb),.04);left:-4%;top:2%;pointer-events:none;user-select:none}
.sec-head{display:block;margin-bottom:52px;position:relative;z-index:2}
.sec-head__lead{max-width:60ch;color:var(--gris);font-size:1.05rem;text-align:left;margin-top:14px}
/* Section avis : en-tête centré (accueil + contact) */
#avis .sec-head{text-align:center}
#avis .sec-head__lead{margin-inline:auto;text-align:center}

/* ---------- Trust ---------- */
.trust{padding:40px 0;background:var(--cream);border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden}
.trust .container{display:flex;align-items:center;justify-content:center}
.trust__label{color:var(--gris);font-size:.86rem;letter-spacing:.02em;text-align:center;margin-bottom:26px}
.trust__label strong{color:var(--noir);font-weight:500}
.trust__slider{overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.trust__track{display:flex;align-items:center;gap:64px;width:max-content;will-change:transform;animation:trustScroll 32s linear infinite}
.trust:hover .trust__track{animation-play-state:paused}
.trust__track span{font-size:1.15rem;font-weight:500;letter-spacing:.02em;color:var(--gris);white-space:nowrap;transition:color .2s}
.trust__track span:hover{color:var(--noir)}
@keyframes trustScroll{to{transform:translateX(-50%)}}

/* ---------- Reviews (marquee infini) ---------- */
.rev-marquee{width:100vw;margin-left:calc(50% - 50vw);display:flex;flex-direction:column;gap:22px;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 10%,#000 90%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0,#000 10%,#000 90%,transparent 100%)}
.rev-row{overflow:hidden}
.rev-track{display:flex;width:max-content;will-change:transform;animation:revscroll 68s linear infinite}
.rev-track .review{margin-right:22px}
.rev-row--rev .rev-track{animation-duration:76s;animation-direction:reverse}
.rev-marquee:hover .rev-track{animation-play-state:paused}
.review{flex:0 0 380px;background:var(--cream);border:1px solid var(--border);border-radius:var(--r);padding:30px;transition:transform .25s,box-shadow .25s}
.review:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
@keyframes revscroll{to{transform:translateX(calc(-100% / 6))}}
.review blockquote{font-size:1.16rem;font-weight:300;line-height:1.5;color:var(--noir);margin:16px 0 24px}
.review blockquote::before{content:"“";font-family:var(--ff);color:var(--gold);font-size:2rem;line-height:0;margin-right:2px}
.review figcaption{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 12px;font-size:.9rem}
.review figcaption b{grid-column:2;font-weight:500}
.review figcaption small{grid-column:2;color:var(--gris)}
.av{width:44px;height:44px;border-radius:50%;grid-row:span 2;display:block}
.av1{background:var(--grad-avatar)}
.av2{background:linear-gradient(135deg,#d3cbb6,#8a8168)}
.av3{background:linear-gradient(135deg,#e6cbb0,#b58e6a)}
.av6{background:linear-gradient(135deg,#dcc9ac,#a98d68)}

/* ---------- Résultats (bento EEAT) ---------- */
.rs-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:238px;gap:20px;max-width:var(--maxw);margin:0 auto}
.rcard{position:relative;overflow:hidden;background:var(--white);border:1px solid var(--border);border-radius:22px;padding:32px;
  box-shadow:0 16px 40px -28px rgba(var(--noir-rgb),.28);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.rcard:hover{transform:translateY(-4px);box-shadow:0 26px 50px -28px rgba(var(--noir-rgb),.38)}
.rcard--feature{grid-column:span 2;grid-row:span 2;background:var(--noir);border-color:transparent;color:var(--cream);padding:44px;justify-content:space-between}
.rcard--founder{grid-column:span 2;flex-direction:row;align-items:center;gap:24px}
.rcard__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:auto}
.rquote{font-family:var(--ff);font-weight:300;font-size:2.4rem;line-height:1;color:var(--gold-dark)}
.rcard--feature .rquote{color:var(--gold-light);font-size:4.4rem}
.rtag{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:6px 12px;border-radius:999px;
  background:rgba(var(--gold-rgb),.18);color:var(--gold-dark);white-space:nowrap;flex-shrink:0}
.rcard--feature .rtag{background:rgba(var(--gold-light-rgb),.14);color:var(--gold-light)}
.rquote-text{font-size:1rem;line-height:1.55;color:#332a1c;margin:16px 0}
.rcard--feature .rquote-text{color:var(--cream);font-size:1.6rem;font-weight:300;line-height:1.42;margin:0 0 20px;max-width:24ch}
.rquote-text b{font-weight:600;color:var(--noir)}
.rcard--feature .rquote-text b{color:var(--gold-light);font-weight:400}
.rsource{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);margin-top:auto}
.rcard--feature .rsource{color:var(--gris-light)}
/* carte-chiffre */
.rmetric{justify-content:flex-end;gap:10px}
.rmetric__ic{width:34px;height:34px;background-color:var(--gold-dark);margin-bottom:auto;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3Cpath d='M12 3 4 6v6c0 5 3.5 8 8 9 4.5-1 8-4 8-9V6l-8-3Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3Cpath d='M12 3 4 6v6c0 5 3.5 8 8 9 4.5-1 8-4 8-9V6l-8-3Z'/%3E%3C/svg%3E") center/contain no-repeat}
.rmetric__num{font-family:var(--ff);font-size:3.4rem;font-weight:300;letter-spacing:-.02em;line-height:1;color:var(--noir)}
.rmetric__num em{font-style:normal;font-size:1.5rem;color:var(--gold-dark)}
.rmetric__label{font-size:.92rem;color:var(--gris);line-height:1.45}
.rmetric--gold{background:linear-gradient(155deg,#F3E3B8,var(--gold));border-color:transparent}
.rmetric--gold .rmetric__num,.rmetric--gold .rmetric__num em{color:var(--noir)}
.rmetric--gold .rmetric__label{color:rgba(var(--noir-rgb),.72)}
.rmetric--dark{background:var(--noir);border-color:transparent}
.rmetric--dark .rmetric__num{color:var(--cream)}
.rmetric--dark .rmetric__num em{color:var(--gold-light)}
.rmetric--dark .rmetric__label{color:var(--gris-light)}
/* fondateur (EEAT) */
.rfounder__av{width:78px;height:78px;border-radius:50%;flex-shrink:0;display:block;background:var(--grad-avatar)}
.rcard--founder b{font-size:1.35rem;font-weight:400;letter-spacing:-.01em}
.rcard--founder small{display:block;color:var(--gold-dark);font-size:.86rem;margin:3px 0 10px;letter-spacing:.02em}
.rcard--founder p{color:var(--gris);font-size:.92rem;line-height:1.5}
.rs-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:56px}

/* ---------- FAQ ---------- */
.faq2__head{text-align:center;max-width:600px;margin:0 auto 48px}
.faq2__head .lead{color:var(--gris);font-size:1.05rem;margin:12px auto 0;max-width:52ch}
.faq__list{display:grid;gap:0;max-width:840px;margin:0 auto;border-top:1px solid var(--border)}
.qa{border-bottom:1px solid var(--border)}
.qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;
  font-size:1.18rem;font-weight:400;padding:24px 4px}
.qa summary::-webkit-details-marker{display:none}
.qa summary i{position:relative;width:18px;height:18px;flex-shrink:0}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;background:var(--gold-dark);border-radius:2px;transition:.25s}
.qa summary i::before{top:8px;left:0;width:18px;height:1.6px}
.qa summary i::after{top:0;left:8px;width:1.6px;height:18px}
.qa[open] summary i::after{transform:rotate(90deg);opacity:0}
.qa p{color:var(--gris);font-size:.96rem;padding:0 4px 26px;max-width:620px}
.faq__help{display:flex;align-items:center;gap:20px;flex-wrap:wrap;max-width:840px;margin:40px auto 0;
  background:var(--white);border:1px solid var(--border);border-radius:18px;padding:22px 28px;box-shadow:0 16px 40px -28px rgba(var(--noir-rgb),.24)}
.faq__help-av{width:56px;height:56px;border-radius:50%;flex-shrink:0;display:block;background:var(--grad-avatar)}
.faq__help-txt{flex:1;min-width:200px}
.faq__help-txt b{display:block;font-size:1.1rem;font-weight:500}
.faq__help-txt span{color:var(--gris);font-size:.92rem}
.faq__help .btn{flex-shrink:0}

/* ---------- CTA ---------- */

/* ---------- Footer (dark, brand band) ---------- */
.footer{background:var(--noir);color:var(--cream);padding:72px 0 30px;position:relative;overflow:hidden}
.footer__watermark{position:absolute;left:-2%;bottom:-24%;width:min(56vw,640px);aspect-ratio:884/534;font-size:0;opacity:.06;
  background:url("../img/on-clair.png") left center/contain no-repeat;
  pointer-events:none}
.footer__inner{position:relative;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr;gap:32px;padding-bottom:46px;border-bottom:1px solid var(--border-dark)}
.footer__base{color:var(--gris-light);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-top:14px}
.footer__tag{font-size:1.7rem;color:var(--gold-light);margin-top:8px}
.footer__social{display:flex;gap:12px;margin-top:18px}
.footer__social a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--cream);border:1px solid rgba(var(--cream-rgb),.22);transition:background .2s ease,color .2s ease,border-color .2s ease}
.footer__social a:hover{background:var(--gold);color:var(--noir);border-color:var(--gold)}
.footer__social svg{width:17px;height:17px}
.footer__col h4{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;color:var(--gold-light);font-weight:600}
.footer__col a{display:block;color:var(--gris-light);font-size:.9rem;padding:6px 0;transition:color .2s}
.footer__col a:hover{color:var(--cream)}
.footer__cta{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.footer__cta span{font-size:1.25rem;font-weight:300}
.footer__bottom{position:relative;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;color:rgba(var(--cream-rgb),.45);font-size:.8rem;letter-spacing:.02em}
.footer__legal a:hover{color:var(--cream)}

/* ---------- Expertises (panneau arrondi façon Language Connexion) ---------- */
.xp-section{padding:0}
.xp-panel{position:relative;overflow:hidden;border-radius:0;
  background:radial-gradient(120% 100% at 50% -10%,#FFFFFF 0%,var(--cream) 60%)}
.xp-inner{position:relative;z-index:2;width:min(100% - 2 * var(--gutter),var(--maxw));margin-inline:auto;display:flex;flex-direction:column;gap:64px;padding:104px 0 180px}

.xp-head{text-align:center;max-width:600px;margin:0 auto}
.xp-sub{color:var(--gris);font-size:1.05rem;max-width:480px;margin:14px auto 0}

.xp-grid-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;align-items:stretch;grid-auto-rows:1fr}
/* Morpho : l'expertise est suivie du CTA sombre ; on aligne sa marge basse. */
.page-template-template-morpho #expertises{padding-bottom:152px}
@media(min-width:1025px){.page-template-template-univers #expertises{padding-bottom:188px}}
.xpc{display:flex;flex-direction:column;min-width:0;gap:2.5rem;min-height:460px;background:var(--white);color:var(--noir);border:1px solid var(--border);border-radius:32px;padding:2.5rem;box-shadow:0 18px 44px -30px rgba(var(--noir-rgb),.28)}
.xpc:nth-child(3n+2){position:relative;top:76px}
.xpc__top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.xpc h3{font-size:2.25rem;font-weight:400;letter-spacing:-.01em;line-height:1.2;overflow-wrap:break-word}
.xpc__ic{width:44px;height:44px;flex-shrink:0;background-color:var(--gold-dark);transform-origin:center bottom;
  -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
.xpc:hover .xpc__ic{animation:xpSwing .5s ease forwards}
@keyframes xpSwing{0%{transform:scale(1) rotate(0)}25%{transform:scale(1.18) rotate(-7deg)}50%{transform:scale(1.18) rotate(7deg)}75%{transform:scale(1.18) rotate(-3deg)}100%{transform:scale(1.18) rotate(0)}}
.xpc p{color:var(--gris);font-size:.96rem;line-height:1.55}
.xpc__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.xpc__tag{display:inline-flex;align-items:center;gap:.5rem;padding:6px 12px 6px 6px;border-radius:150px;
  background:rgba(var(--gold-rgb),.16);color:var(--gold-dark);font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600}
.xpc__tag::before{content:"";width:16px;height:16px;flex-shrink:0;background-color:var(--gold-dark);border-radius:50%;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1 14-4-4 1.4-1.4L11 13.2l5.6-5.6L18 9Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1 14-4-4 1.4-1.4L11 13.2l5.6-5.6L18 9Z'/%3E%3C/svg%3E") center/contain no-repeat}
.xpc__link{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff);font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--noir);transition:gap .2s,color .2s}
.xpc__link:hover{color:var(--gold-dark);gap:12px}

/* ---------- Catalogue (filtres) ---------- */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
/* Filtres accueil : barre d'onglets scrollable (une seule ligne) sur tablette/mobile. */
@media(max-width:1024px){
  .filters:not(.arch__facets){flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:6px;margin-bottom:26px}
  .filters:not(.arch__facets)::-webkit-scrollbar{display:none}
  .filters:not(.arch__facets) .filter{flex:0 0 auto}
}
.filter{font-family:var(--ff);font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  background:transparent;color:var(--gris);border:1px solid var(--border);padding:10px 20px;border-radius:999px;cursor:pointer;
  transition:background .2s,color .2s,border-color .2s}
.filter:hover{border-color:var(--gold);color:var(--noir)}
.filter.is-active{background:var(--noir);color:var(--cream);border-color:var(--noir)}

.catalog{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.course{position:relative;display:flex;flex-direction:column;background:var(--cream);border:1px solid var(--border);border-radius:16px;overflow:hidden;
  transition:transform .25s,box-shadow .25s,opacity .3s;color:var(--noir)}
.course:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.course.is-hidden{display:none}
.course__media{position:relative;height:275px;display:flex;align-items:flex-end;padding:16px;
  background:linear-gradient(140deg,#26241b,#191916);overflow:hidden}
@media(max-width:600px){.course__media{height:250px}}
.course__media::after{content:"";position:absolute;top:-30%;right:-10%;width:140px;height:140px;border-radius:50%;
  background:radial-gradient(circle,rgba(var(--gold-rgb),.22),transparent 70%)}
.course__ic{position:absolute;top:16px;right:18px;width:26px;height:26px;background-color:var(--gold-light);
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.course__tag{position:relative;z-index:2;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  background:rgba(var(--cream-rgb),.08);color:var(--gold-light);border:1px solid rgba(var(--gold-light-rgb),.28);padding:5px 12px;border-radius:999px}
/* Image à la une des formations (275px), avec dégradé bas pour lisibilité de l'étiquette. */
.course__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.course__media:has(.course__img)::after{inset:auto 0 0 0;width:100%;height:55%;border-radius:0;background:linear-gradient(to top,rgba(25,25,22,.65),transparent);z-index:1}
.course__media:has(.course__img) .course__ic{display:none}
.m-coiffure{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Cpath d='M20 4 8.12 15.88M14.47 14.48 20 20M8.12 8.12 12 12'/%3E%3C/svg%3E")}
.m-esthetique{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2c.6 5.2 1.8 7.4 8 8-6.2.6-7.4 2.8-8 8-.6-5.2-1.8-7.4-8-8 6.2-.6 7.4-2.8 8-8z'/%3E%3C/svg%3E")}
.m-morpho{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-6 8-6s8 2 8 6'/%3E%3C/svg%3E")}
.m-seminaire{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4 12H2M22 12h-2M5 5l1.4 1.4M17.6 17.6 19 19M19 5l-1.4 1.4M6.4 17.6 5 19'/%3E%3C/svg%3E")}
.m-feminin{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Cpath d='M20 4 8.12 15.88M14.47 14.48 20 20M8.12 8.12 12 12'/%3E%3C/svg%3E")}
.m-technique{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2s7 8 7 12a7 7 0 1 1-14 0c0-4 7-12 7-12z'/%3E%3C/svg%3E")}
.m-matiere{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2c.6 5.2 1.8 7.4 8 8-6.2.6-7.4 2.8-8 8-.6-5.2-1.8-7.4-8-8 6.2-.6 7.4-2.8 8-8z'/%3E%3C/svg%3E")}
.m-masculin{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4l7 7M14 8l6 6-2 2-6-6M12 10l-8 8'/%3E%3Ccircle cx='18' cy='16' r='1'/%3E%3C/svg%3E")}
.m-commercial{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='12' rx='2'/%3E%3Cpath d='M8 8V6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M3 13h18'/%3E%3C/svg%3E")}
.course::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;z-index:3}
.course:hover::before{transform:scaleX(1)}
.course__body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.course__body h3{font-size:1.24rem;font-weight:400;letter-spacing:-.01em;margin-bottom:8px}
.course__body p{font-size:.88rem;color:var(--gris);flex:1}
.course__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border);font-size:.8rem;color:var(--gris)}
.course__fin{color:var(--gold-dark);font-weight:500;letter-spacing:.02em}
.catalog__empty{text-align:center;color:var(--gris);padding:40px 0}
.catalog__cta{text-align:center;margin-top:34px}

/* ---------- Portrait & témoignage (spotlight) ---------- */
.spotlight__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.spotlight__media{position:relative}
.spotlight__frame{position:absolute;left:-16px;top:26px;width:100%;height:100%;border:1px solid var(--gold);border-radius:22px;z-index:0;
  transform:translate(0,0);transition:transform .8s cubic-bezier(.22,1,.36,1)}
.spotlight.in-view .spotlight__frame{transform:translate(-14px,-14px)}
.spotlight__photo{position:relative;z-index:1;aspect-ratio:4/5;border-radius:22px;overflow:hidden;
  background:linear-gradient(160deg,#2a2820 0%,#14110C 70%);box-shadow:var(--shadow-md)}
.spotlight__ph{position:absolute;inset:0;
  background:radial-gradient(120% 80% at 50% 12%,rgba(var(--gold-rgb),.32),transparent 55%)}
.spotlight__ph::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:74%;height:82%;
  background-color:rgba(var(--gold-light-rgb),.18);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 12a5 5 0 1 0-5-5 5 5 0 0 0 5 5Zm0 2c-4 0-9 2-9 6v2h18v-2c0-4-5-6-9-6Z'/%3E%3C/svg%3E") bottom/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 12a5 5 0 1 0-5-5 5 5 0 0 0 5 5Zm0 2c-4 0-9 2-9 6v2h18v-2c0-4-5-6-9-6Z'/%3E%3C/svg%3E") bottom/contain no-repeat}
.spotlight__badge{position:absolute;top:20px;left:20px;z-index:2;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  color:var(--noir);background:var(--gold);padding:6px 13px;border-radius:999px}
.spotlight__cap{position:absolute;left:22px;bottom:20px;z-index:2;color:var(--cream);display:flex;flex-direction:column}
.spotlight__cap b{font-family:var(--ff);font-weight:600;font-size:1.3rem;color:var(--gold-light);line-height:1.1}
.spotlight__cap small{font-size:.78rem;letter-spacing:.06em;color:var(--gris-light);margin-top:2px}
/* reveal en volet */
.spot-portrait{clip-path:inset(0 0 100% 0);transition:clip-path 1s cubic-bezier(.22,1,.36,1)}
.spotlight.in-view .spot-portrait{clip-path:inset(0 0 0 0)}

.spotlight__content .kicker{margin-bottom:18px}
.spotlight__title{margin-bottom:24px}
/* Page À propos : nom des fondateurs (légende sur l'image) en script, citations en noir (Natureal conservé). */
#jean-marie .spotlight__cap b,#stessie .spotlight__cap b{font-family:var(--ff-script);font-weight:400;font-size:1.9rem;line-height:1.05}
#jean-marie .spotlight__quote .script,#stessie .spotlight__quote .script{color:var(--noir)}
.spotlight__story{color:var(--gris);font-size:1.06rem;margin-bottom:18px;max-width:600px}
.spotlight__quote{position:relative;margin:30px 0 24px}
.spotlight__quote .script{font-size:2.1rem;line-height:1.25;color:var(--gold-dark)}
.spotlight__author{display:flex;align-items:center;gap:14px}
.spotlight__author .av{width:46px;height:46px}
.spotlight__author b{display:block;font-weight:500}
.spotlight__author small{color:var(--gris)}

/* ---------- Parcours (en-tête façon Language Connexion) ---------- */
.pk-head{text-align:center;margin:0 auto 60px;display:flex;flex-direction:column;align-items:center}
@keyframes pkWobble{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}
.pk-title{max-width:20ch}
.pk-hl{color:var(--gold-dark)}
.pk-script{display:block;font-family:var(--ff-script);font-weight:700;
  font-size:clamp(2rem,3.4vw,2.9rem);line-height:.95;margin-top:-.4rem;color:var(--gold-dark)}
.pk-sub{color:var(--gris);font-size:1.02rem;max-width:30rem;margin:.75rem auto 0}

/* ---------- Depth pass (relief / ombres) ---------- */
.course,.plan,.review,.fcard,.place,.fcar__intro{box-shadow:0 14px 36px -22px rgba(var(--noir-rgb),.3)}
.stat{box-shadow:0 14px 34px -24px rgba(var(--noir-rgb),.3)}
/* léger relief lumineux en haut des cartes crème */
.course::after,.plan::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(var(--white-rgb),.7)}

/* ============================================================
   Page formation (détail)
   ============================================================ */
.ic-pin{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-5.6 7-11a7 7 0 1 0-14 0c0 5.4 7 11 7 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-5.6 7-11a7 7 0 1 0-14 0c0 5.4 7 11 7 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E")}

.fp-hero{position:relative;overflow:hidden;background:radial-gradient(120% 130% at 50% -20%,#2a2820,var(--noir) 62%);color:var(--cream);padding:50px 0 64px}
.fp-hero__on{position:absolute;right:-4%;bottom:-34%;font-family:var(--ff-script);font-weight:700;font-size:34vw;line-height:.7;color:rgba(var(--gold-light-rgb),.05);pointer-events:none}
.fp-hero .container{max-width:var(--maxw)}
.fp-hero__inner{position:relative;z-index:2;max-width:var(--maxw)}
.fp-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;color:var(--gris-light);margin-bottom:26px}
.fp-crumb a:hover{color:var(--cream)}
.fp-crumb span{opacity:.45}
.fp-crumb b{color:var(--gold-light);font-weight:400}
.fp-hero__title{font-size:clamp(2.4rem,5.4vw,4rem);font-weight:300;letter-spacing:-.02em;line-height:1.03}
.fp-hero__by{font-size:2rem;color:var(--gold-light);margin:0 0 20px;line-height:1}
.fp-hero__sum{font-size:1.08rem;color:var(--gris-light);max-width:600px;margin-bottom:28px}
.fp-facts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.fp-fact{display:inline-flex;align-items:center;gap:8px;background:rgba(var(--cream-rgb),.06);border:1px solid rgba(var(--cream-rgb),.14);border-radius:999px;padding:9px 15px 9px 14px;font-size:.875rem;color:rgba(var(--cream-rgb),.9);white-space:nowrap}
.fp-fact .dot{width:6px;height:6px;border-radius:50%;background:var(--gold-light);flex-shrink:0}
.fp-hero__cta{display:flex;gap:14px;flex-wrap:wrap}

.fp-layout{display:grid;grid-template-columns:1fr 356px;gap:60px;align-items:start}
.fp-main{display:flex;flex-direction:column;gap:56px;min-width:0}
.fp-block .kicker{margin-bottom:12px}
.fp-block>.h2{font-size:clamp(1.7rem,3vw,2.2rem);margin-bottom:24px}
.fp-list{list-style:none;display:grid;gap:14px}
.fp-list li{position:relative;padding-left:34px;color:var(--gris);font-size:1.02rem}
.fp-list li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:rgba(var(--gold-rgb),.16);
  -webkit-mask:none}
.fp-list li::after{content:"";position:absolute;left:4px;top:7px;width:12px;height:12px;background-color:var(--gold-dark);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat}
.fp-program{list-style:none;display:grid}
.fp-program li{display:flex;gap:24px;padding:24px 0;border-top:1px solid var(--border)}
.fp-program li:last-child{border-bottom:1px solid var(--border)}
.fp-program__n{font-family:var(--ff);font-size:1.4rem;font-weight:300;color:var(--gold-dark);flex-shrink:0;line-height:1.2}
.fp-program h3{font-size:1.2rem;font-weight:400;margin-bottom:6px}
.fp-program p{color:var(--gris);font-size:.96rem}
.fp-def{display:grid}
.fp-def>div{display:grid;grid-template-columns:190px 1fr;gap:24px;padding:18px 0;border-top:1px solid var(--border)}
.fp-def>div:last-child{border-bottom:1px solid var(--border)}
.fp-def span{font-weight:500;font-size:.92rem}
.fp-def p{color:var(--gris);font-size:.96rem}
.fp-trainer{display:flex;gap:22px;align-items:flex-start;background:var(--white);border:1px solid var(--border);border-radius:18px;padding:28px;box-shadow:var(--shadow-sm)}
.fp-trainer__av{width:72px;height:72px;border-radius:50%;flex-shrink:0;display:block}
.fp-trainer b{font-size:1.15rem;font-weight:500}
.fp-trainer small{display:block;color:var(--gold-dark);margin:2px 0 12px;font-size:.86rem}
.fp-trainer p{color:var(--gris);font-size:.96rem}

.fp-aside{position:sticky;top:100px}
.fp-card{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:30px;box-shadow:var(--shadow-md)}
.fp-card__tag{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);font-weight:600}
.fp-card__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:12px 0 22px}
.fp-card__price b{font-size:2.6rem;font-weight:300;letter-spacing:-.02em;line-height:1}
.fp-card__price span{font-size:.9rem;color:var(--gris)}
.fp-card__price small{width:100%;color:var(--gris);font-size:.85rem;margin-top:2px}
.fp-card__meta{list-style:none;display:grid;margin-bottom:20px}
.fp-card__meta li{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--border);font-size:.9rem}
.fp-card__meta li:first-child{border-top:1px solid var(--border)}
.fp-card__meta span{color:var(--gris)}
.fp-card__meta b{font-weight:500;text-align:right}
.fp-card__aides{margin-bottom:20px}
.fp-card__aides-h{display:flex;align-items:center;gap:7px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:6px;font-weight:600}
.fp-aides__list{list-style:none;display:flex;flex-direction:column;margin:0;padding:0}
.fp-aide{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid var(--border)}
.fp-aide__info{display:flex;flex-direction:column;gap:1px;min-width:0}
.fp-aide__info b{font-size:.9rem;font-weight:600;color:var(--noir);line-height:1.15}
.fp-aide__info small{font-size:.72rem;color:var(--gris);line-height:1.25}
.fp-aide__rate{flex-shrink:0;font-size:1.02rem;font-weight:600;color:var(--noir);white-space:nowrap}
.fp-aide__rate em{font-style:normal;font-size:.7rem;font-weight:500;color:var(--gris);margin-left:1px}
.fp-dates{list-style:none;display:flex;flex-direction:column;gap:12px;margin:0;padding:0}
.fp-date{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:15px 20px;border:1px solid var(--border);border-radius:14px;background:var(--white)}
.fp-date__day{font-size:1.05rem;font-weight:600;color:var(--noir);font-variant-numeric:tabular-nums}
.fp-date__loc{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;color:var(--gris)}
.fp-date__loc .ic{width:15px;height:15px;background-color:var(--gold-dark)}
.fp-date__badge{margin-left:auto;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;padding:5px 12px;border-radius:999px;background:rgba(var(--gold-rgb),.16);color:var(--gold-dark);border:1px solid rgba(var(--gold-rgb),.4)}
.fp-date--full{opacity:.72}
.fp-date--full .fp-date__day{text-decoration:line-through;text-decoration-color:rgba(var(--noir-rgb),.35)}
.fp-date--full .fp-date__badge{background:rgba(178,59,50,.10);color:#b23b32;border-color:rgba(178,59,50,.28)}
.fp-card .btn{margin-bottom:10px}
.fp-card__badges{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px;font-size:.82rem;color:var(--gold-dark);font-weight:500}

/* ---------- Grain / texture (profondeur agence) ---------- */
.hero::after,.section--dark::after,.cta::after,.footer::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:130px 130px}
.cta,.footer{position:relative}
.cta__eyebrow,.cta h2,.cta__script,.cta .btn,.footer__inner,.footer__bottom{z-index:2}

/* ---------- CTA contact (façon Nexia) ---------- */
/* ---------- Page formations : cartes univers ---------- */
/* ---------- Page formations : archive avec rail de filtres ---------- */
.page-formations .container,.page-formation .container{max-width:var(--maxw)}
.arch{display:grid;grid-template-columns:264px 1fr;gap:44px;align-items:start}
.arch__filters{position:sticky;top:100px;max-height:calc(100vh - 124px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px;display:flex;flex-direction:column;gap:26px}
.arch__group{display:flex;flex-direction:column}
/* Facettes dépendantes : option/groupe masqué par formations.js quand 0 résultat. */
.filter[hidden],.arch__formateur[hidden],.arch__check[hidden],.arch__group[hidden]{display:none}
.arch__group-title{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);font-weight:600;margin-bottom:12px}
.arch__facets{display:flex;flex-direction:column;gap:2px}
.arch__facets .filter{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;
  padding:10px 14px;border-radius:10px;border:1px solid transparent;background:none;cursor:pointer;
  font-family:var(--ff);font-size:.95rem;color:var(--noir);transition:background .2s,border-color .2s}
.arch__facets .filter em{font-style:normal;font-size:.8rem;color:var(--gris);font-variant-numeric:tabular-nums}
.arch__facets .filter:hover{background:var(--cream)}
.arch__facets .filter.is-active{background:rgba(var(--gold-rgb),.14);border-color:rgba(var(--gold-rgb),.4);font-weight:500}
.arch__facets .filter.is-active em{color:var(--gold-dark)}
.arch__side-cta{background:linear-gradient(158deg,var(--noir),var(--noir-2));color:var(--cream);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:14px}
.arch__side-cta b{font-size:1.02rem;font-weight:500}
.arch__side-cta p{font-size:.88rem;color:var(--gris-light);line-height:1.45}
.arch__checks{display:flex;flex-direction:column;gap:1px}
.arch__check{display:flex;align-items:center;gap:10px;padding:7px 4px;font-size:.92rem;color:var(--noir);cursor:pointer;user-select:none}
.arch__check:hover{color:var(--gold-dark)}
.arch__check input{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:1.5px solid var(--border);border-radius:5px;flex-shrink:0;position:relative;cursor:pointer;transition:background .15s,border-color .15s}
.arch__check input[type=radio]{border-radius:50%}
.arch__check input:checked{background:var(--gold);border-color:var(--gold)}
.arch__check input[type=checkbox]:checked::after{content:"";position:absolute;left:5px;top:1.5px;width:5px;height:9px;border:solid #1D1D1B;border-width:0 2px 2px 0;transform:rotate(45deg)}
.arch__check input[type=radio]:checked::after{content:"";position:absolute;left:4.5px;top:4.5px;width:7px;height:7px;border-radius:50%;background:#1D1D1B}
.arch__check em{margin-left:auto;font-style:normal;font-size:.8rem;color:var(--gris);font-variant-numeric:tabular-nums}
.arch__reset{margin-top:2px;align-self:flex-start;font-size:.82rem;color:var(--gris);text-decoration:underline;background:none;border:0;cursor:pointer;padding:4px 0;font-family:var(--ff)}
.arch__reset:hover{color:var(--gold-dark)}
.course__price{color:var(--gold-dark);font-weight:600;font-size:.85rem;white-space:nowrap}
.arch__results{min-width:0}
.arch__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid var(--border)}
.arch__count{font-size:.95rem;color:var(--gris)}
.arch__count b{color:var(--noir);font-weight:600;font-size:1.2rem;font-variant-numeric:tabular-nums}
.arch__sort{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--gris);letter-spacing:.02em}
.arch__sort::before{content:"";width:15px;height:15px;background-color:var(--gold-dark);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1 14-4-4 1.4-1.4L11 13.2l5.6-5.6L18 9Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1 14-4-4 1.4-1.4L11 13.2l5.6-5.6L18 9Z'/%3E%3C/svg%3E") center/contain no-repeat}
.arch__results .catalog{grid-template-columns:repeat(3,1fr);gap:20px}
.arch__results .course__body{gap:0}
.course__by{font-size:.86rem;color:var(--gold-dark);font-weight:500;margin:2px 0 10px}
.arch__results .course__meta{margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}

/* univers : lignes éditoriales */
@media (max-width:1024px){
  .arch{grid-template-columns:minmax(0,1fr);gap:24px}
.arch__filters{position:static;max-height:none;overflow:visible;padding-right:0;flex-direction:column;align-items:stretch;gap:16px;min-width:0}
  .arch__group{min-width:0}
  .arch__group-title{display:none}
  .arch__formateurs{display:none}
  .arch__facets{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:8px;scrollbar-width:none;padding-bottom:4px;min-width:0}
  .arch__facets::-webkit-scrollbar{display:none}
  .arch__facets .filter{width:auto;flex:0 0 auto}
  .arch__group--fund,.arch__group--extra,.arch__side-cta,.arch__reset,.arch__note{display:none}
  .arch__results .catalog{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .arch__results .catalog{grid-template-columns:1fr}
}

/* ---------- Univers : showcase interactif (accordéon + visuel) ---------- */
.cs-wrap{display:flex;gap:clamp(48px,5vw,90px);align-items:center;justify-content:space-between}
.cs-left{flex:1 1 auto;min-width:0}
.cs-left .h2{margin-bottom:14px}
.cs-subline{font-size:1.05rem;line-height:1.6;color:var(--gris);margin:0 0 22px;max-width:48ch}
.cs-menu{display:flex;flex-direction:column}
.cs-item{border-top:1px solid var(--border)}
.cs-item:last-child{border-bottom:1px solid var(--border)}
.cs-item-btn{all:unset;display:flex;align-items:center;gap:16px;width:100%;box-sizing:border-box;padding:19px 4px;
  font-family:var(--ff);font-size:1.28rem;font-weight:400;letter-spacing:-.01em;color:var(--noir);cursor:pointer;transition:color .2s ease}
.cs-item-btn:hover{color:var(--gold-dark)}
.cs-item.is-active .cs-item-btn{color:var(--gold-dark)}
.cs-item-ic{flex-shrink:0;width:26px;height:26px;background-color:currentColor;
  -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
.cs-item-plus{display:none}
.cs-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}
.cs-item.is-active .cs-collapse{grid-template-rows:1fr}
.cs-collapse-inner{overflow:hidden}
.cs-content{font-size:.98rem;line-height:1.6;color:var(--gris);padding:0 4px 24px;margin:0}
.cs-progress{position:relative;height:2px;background:var(--border)}
.cs-progress-fill{position:absolute;top:0;left:0;height:2px;width:0;background:var(--gold-dark)}
.cs-item.is-active .cs-progress-fill{transition:width 5s linear;width:100%}
.cs-item.is-active .cs-progress-fill.is-paused{transition-duration:0s}
.cs-media{position:relative;flex:0 0 auto;width:min(46%,600px);min-width:0}
.cs-media::before{content:"";position:absolute;inset:0;z-index:0;background:var(--gold-light);
  border-radius:24px 24px 92px 24px;transform:translate(-20px,20px)}
.cs-right{position:relative;z-index:1;aspect-ratio:1/1;border-radius:24px;overflow:hidden;
  background:radial-gradient(130% 130% at 28% 18%,#2b2920 0%,var(--noir) 68%);box-shadow:0 40px 80px -50px rgba(var(--noir-rgb),.6)}
.cs-visual{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:scale(1.04);
  transition:opacity .6s ease,transform .7s ease}
.cs-visual.is-active{opacity:1;transform:scale(1)}
.cs-visual__on{position:absolute;right:-6%;bottom:-8%;width:54%;aspect-ratio:884/534;opacity:.08;
  background:url("../img/on-clair.png") right bottom/contain no-repeat;pointer-events:none}
.cs-visual__ic{width:150px;height:150px;background-color:var(--gold-light);
  -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;
  filter:drop-shadow(0 20px 40px rgba(var(--gold-rgb),.25))}
.cs-visual__name{position:absolute;left:0;right:0;bottom:40px;text-align:center;font-family:var(--ff);
  font-weight:300;font-size:2rem;line-height:1;color:var(--gold-light);letter-spacing:.01em}
.cs-visual__tag{position:absolute;left:0;right:0;top:40px;text-align:center;font-size:.72rem;letter-spacing:.24em;
  text-transform:uppercase;color:rgba(var(--gold-light-rgb),.55)}
@media (prefers-reduced-motion:reduce){.cs-collapse,.cs-progress-fill,.cs-visual,.cs-item-plus,.cs-item-btn{transition:none!important}}
@media (max-width:1024px){.cs-media{display:none}.cs-left{width:100%}}
@media (max-width:600px){.cs-item-btn{font-size:1.15rem}.cs-visual__ic{width:110px;height:110px}.cs-visual__name{font-size:2.1rem}}

/* ---------- Section formateurs (cartes photo, bio au survol) ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tm-card{position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden;cursor:pointer;
  background:linear-gradient(155deg,#57564f,#2b2a27 55%,#111110)}
.tm-card__ph{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;filter:grayscale(1);transition:filter .3s ease}
.tm-card__ov{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;
  color:var(--cream);background:linear-gradient(to top,rgba(17,17,16,.92) 6%,rgba(17,17,16,.15) 50%,transparent 72%)}
.tm-card__ov h3{font-size:1.4rem;font-weight:500;margin:0;letter-spacing:-.01em}
.tm-card__ov p{margin:4px 0 0;font-size:.88rem;color:var(--gold-light)}
.tm-card__bio{max-height:0;overflow:hidden;opacity:0;color:var(--gris-light);font-size:.86rem;line-height:1.5;
  transition:max-height .38s ease,opacity .35s ease,margin-top .38s ease}
.tm-card:hover .tm-card__ph{filter:grayscale(1) brightness(.82)}
.tm-card:hover .tm-card__bio{max-height:150px;opacity:1;margin-top:12px}
@media (max-width:1024px){.team-grid{grid-template-columns:1fr 1fr;gap:16px}}
@media (max-width:600px){.team-grid{grid-template-columns:1fr}}

.ccta{position:relative;overflow:hidden;background:var(--noir);color:var(--cream);padding:120px 0;text-align:center}
.ccta__decor{position:absolute;left:-6%;top:50%;transform:translateY(-50%);width:min(52vw,600px);aspect-ratio:884/534;font-size:0;opacity:.07;
  background:url("../img/on-clair.png") left center/contain no-repeat;
  pointer-events:none;z-index:0;user-select:none}
.ccta__inner{position:relative;z-index:1;max-width:760px}
.ccta h2{color:var(--cream);font-size:clamp(2.1rem,4.4vw,2.9rem);font-weight:300;line-height:1.2;letter-spacing:-.01em;margin-bottom:18px}
.ccta p{color:var(--gris-light);font-size:1.05rem;line-height:1.6;max-width:620px;margin:0 auto 40px}

/* ---------- À propos (origine & fondateurs) ---------- */
.about{position:relative;overflow:hidden;background:var(--cream);padding:120px 0}
.about__inner{position:relative;z-index:1;display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:center;max-width:var(--maxw)}
.about__media{position:relative;margin:0}
.about__media::before{content:"";position:absolute;inset:0;z-index:0;background:var(--gold-light);
  border-radius:24px 24px 92px 24px;transform:translate(-22px,22px)}
@media(max-width:600px){.about__media::before{transform:translate(-6px,10px);border-radius:20px 20px 60px 20px}.spotlight__frame{left:-6px;top:12px}}
.about__figure{position:relative;z-index:1;margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/5;
  background:linear-gradient(160deg,#2a2926,#141412);box-shadow:0 40px 80px -50px rgba(var(--noir-rgb),.6)}
.about__figure img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1)}
.about__cap{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:2px;
  padding:64px 30px 26px;color:var(--cream);background:linear-gradient(to top,rgba(20,20,18,.88),transparent)}
.about__cap b{font-size:1.05rem;font-weight:500}
.about__cap span{font-size:.85rem;color:var(--gold-light)}
.about__content{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.about__lead{font-size:1.1rem;line-height:1.6;color:var(--noir)}
.about__text{font-size:1rem;line-height:1.65;color:var(--gris)}
.about__founders{display:flex;flex-wrap:wrap;gap:16px 44px;width:100%;margin-top:6px;padding-top:24px;border-top:1px solid var(--border)}
.about__founder{display:flex;flex-direction:column;gap:2px}
.about__founder b{font-size:1rem;font-weight:500;color:var(--noir)}
.about__founder span{font-size:.85rem;color:var(--gris)}
.about__content .btn{margin-top:16px}
@media (max-width:1024px){
  .about{padding:76px 0}
  .about__inner{grid-template-columns:1fr;gap:36px}
  .about__media{max-width:440px;margin:0 auto;width:100%}
}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:1024px){
  .rs-bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto}
  .rcard--feature{grid-column:span 2;grid-row:span 1;min-height:300px}
  .catalog{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1024px){
  .nav__links{position:fixed;top:82px;left:0;right:0;bottom:0;flex-direction:column;align-items:stretch;background:var(--noir);
    border-bottom:1px solid var(--border-dark);padding:12px 20px 40px;gap:0;overflow-y:auto;
    transform:translateY(-100%);visibility:hidden;opacity:0;transition:transform .3s ease,visibility .3s ease,opacity .3s ease}
  .nav__links.open{transform:none;visibility:visible;opacity:1}
  .nav.is-scrolled .nav__links{background:var(--white)}
  .nav.is-scrolled .nav__link{border-bottom-color:var(--border)}
  .nav.is-scrolled .mega2__cat,.nav.is-scrolled .drop a{border-bottom-color:var(--border)}
  .nav__item{width:100%;height:auto;display:block}
  .nav__link,.nav__links>a.nav__link{display:flex;width:100%;justify-content:space-between;padding:16px 0;font-size:.95rem;border-bottom:1px solid var(--border-dark);opacity:1}
  .nav__link::after{display:none}
  .nav__chev{display:none}
  .nav__burger{display:flex}
  .nav .btn--primary,.nav .btn--gold{display:none}
  /* mega & drop en accordéon */
  .mega,.drop{position:static;transform:none!important;opacity:1;visibility:visible;pointer-events:auto;
    background:transparent;border:0;backdrop-filter:none;box-shadow:none;min-width:0;padding:0;display:none}
  .nav__item--mega.open .mega,.nav__item--drop.open .drop{display:block}
  .nav__item--mega:hover .mega,.nav__item--drop:hover .drop{display:none}
  .nav__item--mega.open:hover .mega,.nav__item--drop.open:hover .drop{display:block}
  .mega2{display:block;padding:2px 0 6px}
  .mega2__cats{border-right:0;padding:0}
  .mega2__cat{width:100%;padding:13px 0;border-left:0;border-bottom:1px solid var(--border-dark)}
  .mega2__cat.is-active,.mega2__cat:hover{background:transparent;border-left:0}
  .mega2__cat b{font-size:.9rem}
  .mega2__panels{padding:4px 0 4px 14px}
  .mega2__panel{grid-template-columns:1fr}
  .mega2__panel a{padding:9px 0;border-bottom:0}
  .mega__foot{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 0}
  .drop a{padding:11px 0 11px 12px}
  .sec-head{grid-template-columns:1fr;align-items:start}
  .sec-head__lead{text-align:left;max-width:520px}
  .hero{padding-bottom:96px}
  .xp-grid-cards{grid-template-columns:1fr 1fr;gap:16px;grid-auto-rows:auto}
  .xpc:nth-child(3n+2){top:auto}
  .xp-inner{padding:64px 0;gap:48px}
  .pk-script{margin-top:.4rem}
  .spotlight__grid{grid-template-columns:1fr;gap:44px}
  .spotlight__media{max-width:420px}
  .faq{grid-template-columns:1fr;gap:34px}
  .fp-layout{grid-template-columns:1fr;gap:44px}
  .fp-aside{position:static}
  .fp-def>div{grid-template-columns:1fr;gap:4px}
  .footer__inner{grid-template-columns:1fr 1fr}
  .footer__brand,.footer__cta{grid-column:1/-1}
}
@media(max-width:600px){
  .rs-bento{grid-template-columns:1fr;grid-auto-rows:auto}
  .rcard{min-height:200px}
  .rcard--feature,.rcard--founder{grid-column:auto;grid-row:auto}
  .rcard--founder{flex-direction:column;align-items:flex-start}
  .catalog{grid-template-columns:1fr}
  .xp-grid-cards{grid-template-columns:1fr}
  .xpc{padding:1.9rem;gap:1.6rem}
  .xpc h3{font-size:1.75rem}
  .arch__results .catalog{grid-template-columns:1fr}
  .section,.manifesto{padding:66px 0}
  .hero{padding:76px 0 84px}
  .review{flex-basis:300px;padding:26px}
  .rev-track{animation-duration:32s}
  .trust .container{flex-direction:column;gap:22px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important}
  .reveal{opacity:1;transform:none}
}

/* ---------- Accessibilité (thème) ---------- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:16px;top:-60px;z-index:1000;background:var(--noir);color:var(--cream);padding:10px 18px;border-radius:8px;transition:top .2s ease}
.skip-link:focus{top:16px}
/* ---------- Reveal : délais échelonnés (remplace les style="transition-delay" inline de la maquette) ---------- */
.xp-grid-cards .reveal:nth-child(2){transition-delay:.06s}
.xp-grid-cards .reveal:nth-child(3){transition-delay:.12s}
.xp-grid-cards .reveal:nth-child(4){transition-delay:.18s}
.xp-grid-cards .reveal:nth-child(5){transition-delay:.24s}
.xp-grid-cards .reveal:nth-child(6){transition-delay:.3s}
/* ---------- Process (méthode) — disposition Figma (node 38:2) ---------- */
.process__head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:52px;position:relative;z-index:2}
.process__title{max-width:520px;margin:0;color:var(--cream)}
.process__lead{max-width:360px;margin:0;text-align:right;font-size:.9375rem;line-height:1.5;color:var(--gris-light)}
.process{list-style:none;margin:0;padding:0;display:flex;gap:24px;align-items:stretch;position:relative;z-index:2}
.process__step{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:10px;padding-top:26px;border-top:2px solid rgba(var(--gold-rgb),.4)}
.process__n{font-family:var(--ff);font-size:2.5rem;font-weight:300;line-height:1;letter-spacing:-.01em;color:var(--gold-dark)}
.process__step-title{margin:0;font-family:var(--ff);font-size:1.25rem;font-weight:500;line-height:1.2;color:var(--cream)}
.process__text{margin:0;font-size:.9375rem;font-weight:400;line-height:1.5;color:var(--gris-light)}
.process .reveal:nth-child(2){transition-delay:.1s}
.process .reveal:nth-child(3){transition-delay:.2s}
.process .reveal:nth-child(4){transition-delay:.3s}
@media(max-width:1024px){
  .process{flex-wrap:wrap;gap:34px 24px}
  .process__step{flex:1 1 40%}
  .process__head{flex-direction:column;align-items:flex-start;gap:14px}
  .process__lead{text-align:left}
}
@media(max-width:600px){
  .process__step{flex:1 1 100%}
}
/* ---------- Bouton pleine largeur (sidebar formations) ---------- */
.btn--block{display:flex;width:100%;justify-content:center}

/* ---------- Statuts de session (page formation) ---------- */
.fp-date__badge--ok{background:var(--gold);color:var(--noir);border-color:transparent}
.fp-date__badge--warn{background:rgba(var(--gold-rgb),.22);color:var(--gold-dark);border:1px solid rgba(var(--gold-rgb),.5)}

/* ---------- Spotlight : délais reveal (remplace les style="transition-delay" inline) ---------- */
.spotlight__content .reveal:nth-child(2){transition-delay:.06s}
.spotlight__content .reveal:nth-child(3){transition-delay:.12s}
.spotlight__content .reveal:nth-child(4){transition-delay:.18s}
.spotlight__content .reveal:nth-child(5){transition-delay:.24s}
.spotlight__content .reveal:nth-child(6){transition-delay:.3s}
/* ---------- Page formation : allègement typographique (−10 % + moins gras) ---------- */
.single-formation .fp-hero__title{font-size:clamp(2.16rem,4.85vw,3.6rem)}
.single-formation .fp-hero__by{font-size:1.8rem}
.single-formation .fp-hero__sum{font-size:.97rem}
.single-formation .fp-block>.h2{font-size:clamp(1.53rem,2.7vw,1.98rem)}
.single-formation .fp-list li{font-size:.92rem}
.single-formation .fp-program h3{font-size:1.08rem}
.single-formation .fp-program__n{font-size:1.26rem}
.single-formation .fp-trainer b{font-size:1.03rem;font-weight:400}
.single-formation .fp-card__price b{font-size:2.34rem}
.single-formation .kicker{font-weight:400}
.single-formation .fp-def span,
.single-formation .fp-card__meta b{font-weight:400}
.single-formation .fp-card__aides-h,
.single-formation .fp-aide__info b,
.single-formation .fp-aide__rate,
.single-formation .fp-date__day{font-weight:500}
/* ---------- Page Nos formations : gras aligné sur l'accueil (600 → 500) ---------- */
.page-template-template-formations .arch__group-title,
.page-template-template-formations .arch__count b,
.page-template-template-formations .course__price,
.page-template-template-formations .univ-row__count{font-weight:500}
/* ---------- Photo formateur (image CPT dans la carte) ---------- */
img.tm-card__ph{width:100%;height:100%;object-fit:cover}
/* ---------- Filtre formateur (photos rondes) — page Nos formations ---------- */
.arch__formateurs{display:flex;flex-direction:column;gap:4px}
.arch__formateur{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:999px;padding:5px 14px 5px 6px;cursor:pointer;font-family:var(--ff);font-size:.92rem;color:var(--noir);transition:background .2s,border-color .2s}
.arch__formateur:hover{background:var(--cream)}
.arch__formateur.is-active{background:rgba(var(--gold-rgb),.14);border-color:rgba(var(--gold-rgb),.4);font-weight:500}
.arch__formateur-img,.arch__formateur-ph{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0}
.arch__formateur-ph{background:var(--grad-avatar)}
.arch__formateur[data-formateur="all"]{padding-left:16px}
/* ---------- FAQ : accordéon fluide (grid-template-rows) ---------- */
.qa__q{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;background:none;border:0;text-align:left;cursor:pointer;font-family:var(--ff);font-size:1.18rem;font-weight:400;color:var(--noir);padding:24px 4px}
.qa__q i{position:relative;width:18px;height:18px;flex-shrink:0}
.qa__q i::before,.qa__q i::after{content:"";position:absolute;background:var(--gold-dark);border-radius:2px;transition:.3s ease}
.qa__q i::before{top:8px;left:0;width:18px;height:1.6px}
.qa__q i::after{top:0;left:8px;width:1.6px;height:18px}
.qa.is-open .qa__q i::after{transform:rotate(90deg);opacity:0}
.qa__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.4,0,.2,1)}
.qa.is-open .qa__a{grid-template-rows:1fr}
.qa__a-inner{overflow:hidden}
.qa__a p{color:var(--gris);font-size:.96rem;padding:0 4px 26px;max-width:620px;margin:0}
@media(prefers-reduced-motion:reduce){.qa__a{transition:none}}
/* ---------- Logos partenaires (marquee) ---------- */
.trust__track img.trust__logo{height:36px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.6;transition:opacity .25s ease,filter .25s ease}
.trust__track img.trust__logo:hover{filter:grayscale(0);opacity:1}
/* Méga-menu : chevron au survol ---------- */
.nav__item--mega:hover .nav__chev{transform:rotate(180deg)}

/* ---------- Page formation : ajustements ---------- */
.single-formation .spotlight__frame{background:var(--gold-light);border:0;border-radius:24px 24px 92px 24px}

/* ============================================================
   Page À propos
   ============================================================ */
/* --- Hero deux colonnes (partagé À propos + Univers) --- */
.fp-hero--about,.fp-hero--univers{padding:clamp(64px,9vw,110px) 0 clamp(56px,8vw,92px)}
.fp-hero--about .fp-hero__inner,.fp-hero--univers .fp-hero__inner{display:grid;grid-template-columns:1fr minmax(340px,1fr);gap:clamp(36px,6vw,80px);align-items:center}
.fp-hero__col{min-width:0}
.fp-hero--about .fp-hero__by,.fp-hero--univers .fp-hero__by{font-family:var(--ff-script);font-size:clamp(1.4rem,3vw,2rem);color:var(--gold-light);margin:12px 0 0;line-height:1.25}
.fp-hero--about .fp-hero__sum,.fp-hero--univers .fp-hero__sum{margin-top:20px}
.fp-hero--about .fp-hero__cta,.fp-hero--univers .fp-hero__cta{margin-top:32px}
.fp-hero__media{position:relative;width:100%;max-width:540px;margin-inline:auto}
.fp-hero__photo{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/4.6;box-shadow:0 24px 60px rgba(var(--black-rgb),.4);background:linear-gradient(160deg,#2a2820,#14110c)}
.fp-hero__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fp-hero__ph{position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 12%,rgba(var(--gold-rgb),.32),transparent 55%)}
.fp-hero__ph::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:74%;height:82%;background-color:rgba(var(--gold-light-rgb),.18);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 12a5 5 0 1 0-5-5 5 5 0 0 0 5 5Zm0 2c-4 0-9 2-9 6v2h18v-2c0-4-5-6-9-6Z'/%3E%3C/svg%3E") bottom/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 12a5 5 0 1 0-5-5 5 5 0 0 0 5 5Zm0 2c-4 0-9 2-9 6v2h18v-2c0-4-5-6-9-6Z'/%3E%3C/svg%3E") bottom/contain no-repeat}
.fp-hero__cap{position:absolute;left:16px;right:16px;bottom:16px;z-index:2;background:rgba(var(--white-rgb),.92);border-radius:14px;padding:12px 16px;backdrop-filter:blur(6px);color:var(--noir)}
.fp-hero__cap b{display:block;font-weight:500}
.fp-hero__cap small{color:var(--gris);font-size:.85rem}
@media(max-width:1024px){.fp-hero--about .fp-hero__inner,.fp-hero--univers .fp-hero__inner{grid-template-columns:1fr;gap:44px}.fp-hero__media{max-width:460px}}
/* Titres de section allégés (weight 300) pour matcher l'accueil */

/* --- Chiffres clés (odomètre) --- */
.ap-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,36px);align-items:start;margin-top:clamp(44px,6vw,64px)}
.ap-stat{position:relative}
.ap-stat__index{position:absolute;top:2px;right:0;font-size:.75rem;letter-spacing:.14em;color:rgba(var(--noir-rgb),.25);opacity:0;transition:opacity .6s ease .9s}
.ap-stat__num{display:flex;align-items:baseline;font-weight:300;font-size:clamp(3rem,6.4vw,5rem);line-height:1.08;letter-spacing:-.03em;color:var(--noir);font-variant-numeric:tabular-nums}
.ap-stat__num em{font-style:normal;font-weight:500;color:var(--gold-dark);opacity:0;transition:opacity .4s ease 1.5s}
.ap-stats.is-in .ap-stat__num em{opacity:1}
.ap-stat__label{margin-top:12px;font-size:.95rem;color:var(--gris);line-height:1.45;max-width:18ch;opacity:0;transform:translateY(10px);transition:opacity .6s ease .9s,transform .6s ease .9s}
.ap-stats.is-in .ap-stat__label,.ap-stats.is-in .ap-stat__index{opacity:1;transform:none}
@media(max-width:1024px){.ap-stats{grid-template-columns:repeat(2,1fr);gap:40px 24px}}
@media(max-width:600px){.ap-stats{grid-template-columns:1fr 1fr;gap:34px 18px}.ap-stat:nth-child(n){margin-top:0}}

/* --- Nos lieux (duo comparatif) --- */
.lieux{position:relative;overflow:hidden;background:radial-gradient(120% 130% at 50% -20%,#2a2820,var(--noir) 62%);color:var(--cream);padding:clamp(80px,10vw,112px) 0}
.lieux__head{text-align:center;margin-bottom:clamp(36px,5vw,52px)}
.lieux__head .kicker{color:var(--gold-light)}
.lieux__grid{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(20px,3vw,40px);align-items:stretch}
.lieu-card{background:rgba(var(--white-rgb),.05);border:1px solid rgba(var(--white-rgb),.12);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .3s ease,transform .3s ease}
.lieu-card:hover{border-color:rgba(var(--gold-light-rgb),.5);transform:translateY(-4px)}
.lieu-card__photo{position:relative;aspect-ratio:16/9;background:linear-gradient(160deg,#5a4f40,#2b2620 80%);background-size:cover;background-position:center}
.lieu-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.lieu-card__photo::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 60% 45% at 65% 20%,rgba(var(--gold-light-rgb),.18),transparent 65%)}
.lieu-card__photo .m2{position:absolute;right:16px;bottom:12px;z-index:2;font-weight:400;font-size:2rem;color:var(--cream);line-height:1}
.lieu-card__photo .m2 em{font-style:normal;color:var(--gold-light);font-size:.6em}
.lieu-card__photo--france{display:grid;place-items:center}
.lieu-card__map{position:relative;z-index:2;width:min(52%,180px);height:auto;filter:drop-shadow(0 6px 18px rgba(var(--black-rgb),.35))}
.lieu-card__body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.lieu-card__ville{font-family:var(--ff);font-weight:600;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-light);line-height:1.2}
.lieu-card__body h3{font-size:1.2rem;font-weight:500}
.lieu-card__body p{color:var(--gris-light);font-size:.95rem}
.lieu-card__list{margin-top:auto;padding-top:12px;display:flex;flex-direction:column;gap:8px}
.lieu-card__item{display:flex;gap:10px;align-items:baseline;font-size:.92rem;color:rgba(var(--cream-rgb),.85)}
.lieu-card__item::before{content:"✓";color:var(--gold-light);font-weight:600}
.lieux__mid{align-self:center;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 4px}
.lieux__mid .script{font-family:var(--ff);font-weight:400;font-size:1.5rem;color:var(--gold-light);line-height:1.3;max-width:14ch}
@media(max-width:1024px){.lieux__grid{grid-template-columns:1fr}.lieux__mid{padding:6px 0}}

/* --- Fondateurs : spotlight inversé (Stessie) --- */
.spotlight__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.spotlight--rev .spotlight__grid{grid-template-columns:1.1fr .9fr}
.spotlight--rev .spotlight__content{order:1}
.spotlight--rev .spotlight__media{order:2}
.spotlight--rev .spotlight__frame{left:auto;right:-16px}
/* Fond doré plein derrière les portraits (page À propos) */
#jean-marie .spotlight__frame,#stessie .spotlight__frame,.uv-spotlight .spotlight__frame{background:var(--gold-light);border:0}
@media(max-width:1024px){
  #jean-marie .spotlight__grid,#stessie .spotlight__grid{grid-template-columns:1fr;gap:44px}
  #stessie .spotlight__media{order:-1}
}

/* --- Formateurs : slider + effet iris (préfixe .ftr- pour éviter .fcard) --- */
.ftr-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:34px}
.ftr-nav{display:flex;gap:10px}
.ftr-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--border);background:var(--white);cursor:pointer;display:grid;place-items:center;color:var(--noir);font-family:var(--ff);font-size:1rem;transition:background .25s,color .25s,border-color .25s}
.ftr-btn:hover{background:var(--noir);color:var(--cream);border-color:var(--noir)}
.ftr-btn:disabled{opacity:.35;cursor:default}
.ftr-btn:disabled:hover{background:var(--white);color:var(--noir);border-color:var(--border)}
.ftr-slider{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 4px 18px}
.ftr-slider::-webkit-scrollbar{display:none}
.ftr-slide{flex:0 0 calc((100% - 74px) / 4.3);scroll-snap-align:start}
@media (max-width:1024px){.ftr-slide{flex-basis:min(236px,68vw)}}
.ftr-card{position:relative;border-radius:20px;overflow:hidden;height:400px;cursor:pointer;background:var(--noir)}
/* Mobile : un formateur par vue, pleine largeur, image à 300px. */
@media (max-width:600px){.ftr-slide{flex-basis:100%}.ftr-card{height:400px}}
.ftr-card__pro,.ftr-card__fun{position:absolute;inset:0;background-size:cover;background-position:center}
.ftr-card__pro{background:radial-gradient(ellipse 70% 40% at 50% 22%,rgba(var(--gold-light-rgb),.4),transparent 60%),linear-gradient(170deg,#e4dac7,#b3a184 60%,#6d5e49)}
.ftr-card__pro img,.ftr-card__fun img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ftr-card__tag{position:absolute;top:14px;left:14px;z-index:6;font-size:.7rem;letter-spacing:.03em;background:rgba(var(--noir-rgb),.82);color:var(--cream);padding:5px 11px;border-radius:999px;backdrop-filter:blur(4px)}
.ftr-card__fun{background:radial-gradient(ellipse 60% 40% at 30% 25%,rgba(var(--gold-light-rgb),.55),transparent 60%),radial-gradient(ellipse 50% 40% at 75% 70%,rgba(var(--gold-rgb),.45),transparent 65%),linear-gradient(160deg,#8a6f4b,#4a3b28);opacity:0;transition:opacity .5s ease}
.ftr-card.is-active .ftr-card__fun{opacity:1}
.ftr-card__shade{position:absolute;inset:auto 0 0 0;height:45%;z-index:4;background:linear-gradient(to top,rgba(18,16,13,.65),transparent);transition:opacity .35s ease}
.ftr-card__id{position:absolute;left:16px;right:16px;bottom:14px;z-index:6;color:var(--cream);text-shadow:0 2px 12px rgba(var(--black-rgb),.4);transition:opacity .35s ease}
.ftr-card__id b{display:block;font-weight:500;font-size:1.08rem}
.ftr-card__role{font-family:var(--ff);color:var(--gold-light);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1.3}
.ftr-card__desc{position:absolute;inset:auto 0 0 0;z-index:5;padding:70px 18px 18px;color:var(--cream);background:linear-gradient(to top,rgba(18,16,13,.94) 40%,transparent);opacity:0;transition:opacity .45s ease .25s}
.ftr-card__desc b{display:block;font-weight:500;font-size:1.08rem}
.ftr-card__desc p{font-size:.88rem;color:rgba(var(--cream-rgb),.85);line-height:1.5;margin-top:8px}
.ftr-card.is-active .ftr-card__desc{opacity:1}
.ftr-card.is-active .ftr-card__id,.ftr-card.is-active .ftr-card__shade{opacity:0}

@media(prefers-reduced-motion:reduce){
  .ftr-card__fun,.ftr-card__desc,.ftr-card__id,.ftr-card__shade{transition:none}
  .ap-stat__label,.ap-stat__index,.ap-stat__num em{opacity:1;transform:none;transition:none}
}
/* ============================================================
   Page Univers (Coiffure / Morpho)
   ============================================================ */
/* --- Hero univers : styles partagés avec .fp-hero--about (design system unifié, sans cadre) --- */

.uv-histo__grid{display:grid;grid-template-columns:minmax(260px,.85fr) 1.3fr;gap:clamp(36px,6vw,80px);align-items:start}
.uv-histo__intro{position:sticky;top:110px}
.uv-histo__intro>p{color:var(--gris);margin-top:16px;max-width:38ch}
.uv-histo__quote{margin-top:24px;font-family:var(--ff);font-style:italic;font-weight:300;font-size:clamp(1.25rem,2.2vw,1.6rem);color:var(--gold-dark);line-height:1.35}
.uv-tl{--barw:66px;--gap:30px;position:relative;padding-left:calc(var(--barw) + var(--gap))}
.uv-tl__bar{position:absolute;left:0;top:0;bottom:0;width:var(--barw);border-radius:24px;background:linear-gradient(180deg,#fdfaf4,#f3e8d4);border:1px solid rgba(var(--gold-rgb),.28);box-shadow:inset 0 2px 10px rgba(var(--white-rgb),.9),inset 0 -8px 22px rgba(var(--gold-rgb),.14),0 18px 40px rgba(var(--noir-rgb),.09)}
.uv-tl__rail{position:absolute;left:calc(var(--barw)/2);top:16px;bottom:16px;width:3px;transform:translateX(-50%);border-radius:3px;background:repeating-linear-gradient(rgba(var(--gold-rgb),.3) 0 7px,transparent 7px 14px)}
.uv-tl__trail{position:absolute;left:calc(var(--barw)/2);top:16px;width:5px;transform:translateX(-50%);border-radius:5px;height:calc(var(--p,0) * (100% - 32px));background:linear-gradient(180deg,rgba(var(--gold-light-rgb),.18),var(--gold-light) 55%,var(--gold));box-shadow:0 0 12px rgba(var(--gold-rgb),.5),0 0 30px rgba(var(--gold-rgb),.22)}
.uv-tl__scissors{position:absolute;left:calc(var(--barw)/2);top:calc(18px + var(--p,0) * (100% - 36px));transform:translate(-50%,-50%);width:36px;height:36px;color:var(--gold-dark);filter:drop-shadow(0 4px 10px rgba(var(--gold-rgb),.45));pointer-events:none;z-index:3}
.uv-tl__scissors svg{width:100%;height:100%;overflow:visible}
.uv-tl__scissors .blade{transform-origin:12px 12.5px}
.uv-tl.is-snipping .blade--l{animation:uvSnipL .3s cubic-bezier(.45,0,.35,1) 2}
.uv-tl.is-snipping .blade--r{animation:uvSnipR .3s cubic-bezier(.45,0,.35,1) 2}
@keyframes uvSnipL{0%,100%{transform:rotate(0)}45%{transform:rotate(-12deg)}}
@keyframes uvSnipR{0%,100%{transform:rotate(0)}45%{transform:rotate(12deg)}}
.uv-tl-step{position:relative;padding:0 0 clamp(24px,3.6vw,34px)}
.uv-tl-step:last-child{padding-bottom:0}
.uv-tl-step__node{position:absolute;top:14px;left:calc(-1 * (var(--barw)/2 + var(--gap)));transform:translateX(-50%);width:44px;height:44px;border-radius:50%;background:#fff;border:2px solid rgba(var(--gold-rgb),.35);display:grid;place-items:center;color:#bfb29c;opacity:.35;box-shadow:0 8px 20px rgba(var(--noir-rgb),.12);transition:border-color .4s,color .4s,background .4s,opacity .4s,transform .4s,box-shadow .4s;z-index:2}
.uv-tl-step__node svg{width:21px;height:21px}
.uv-tl-step.is-cut .uv-tl-step__node{opacity:1;border-color:var(--gold);color:var(--gold-dark)}
.uv-tl-step.is-current .uv-tl-step__node{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateX(-50%) scale(1.12);box-shadow:0 12px 26px rgba(140,104,56,.38)}
.uv-tl-step__card{padding:16px 20px;border-radius:16px;border:1px solid transparent;transition:background .45s,border-color .45s,box-shadow .45s,transform .45s}
.uv-tl-step__date{font-family:var(--ff);font-weight:600;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);line-height:1.2;display:block;margin-bottom:8px}
.uv-tl-step h3{font-size:1.18rem;font-weight:500;margin-bottom:6px}
.uv-tl-step p{color:var(--gris);max-width:56ch}
.uv-tl-step__date,.uv-tl-step h3,.uv-tl-step p{transition:opacity .5s,filter .5s,transform .5s cubic-bezier(.22,.8,.3,1)}
.uv-tl-step:not(.is-cut) .uv-tl-step__date,.uv-tl-step:not(.is-cut) h3,.uv-tl-step:not(.is-cut) p{opacity:.4;filter:blur(2.5px);transform:translateY(8px)}
.uv-tl-step.is-current .uv-tl-step__card{background:#fff;border-color:rgba(var(--gold-rgb),.28);box-shadow:0 16px 40px rgba(var(--noir-rgb),.1);transform:translateX(8px)}
@media(max-width:1024px){.uv-histo__grid{grid-template-columns:1fr}.uv-histo__intro{position:static}}
@media(max-width:600px){.uv-tl{--barw:54px;--gap:22px}.uv-tl-step__node{width:38px;height:38px}.uv-tl-step__node svg{width:18px;height:18px}.uv-tl__scissors{width:30px;height:30px}.uv-tl-step__card{padding:12px 14px}.uv-tl-step.is-current .uv-tl-step__card{transform:translateX(4px)}}

/* --- Expertises univers : composant .xpc partagé avec l'accueil (aucun style dédié). --- */

/* --- Collections (slider paquets de photos) --- */
.uv-col__nav{display:flex;gap:10px}
.uv-col__btn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(var(--white-rgb),.25);background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--cream);font-family:var(--ff);font-size:1rem;transition:background .25s,color .25s,border-color .25s}
.uv-col__btn:hover{background:var(--gold);border-color:var(--gold);color:var(--noir)}
.uv-col__btn:disabled{opacity:.3;cursor:default}
.uv-col__btn:disabled:hover{background:transparent;border-color:rgba(var(--white-rgb),.25);color:var(--cream)}
.uv-col__slider{display:flex;gap:60px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:40px;scrollbar-width:none;padding:40px 40px 46px}
.uv-col__slider::-webkit-scrollbar{display:none}
.uv-col__slide{flex:0 0 calc((100% - 120px) / 3);scroll-snap-align:start}
@media (max-width:1024px){.uv-col__slide{flex-basis:min(330px,80vw)}}
.uv-colcard{display:block;cursor:pointer}
.uv-colcard__deck{position:relative;aspect-ratio:4/2.6}
.uv-colcard__deck::after{content:"Ouvrir la galerie";position:absolute;left:50%;top:46%;z-index:4;transform:translate(-50%,-50%) scale(.92);background:rgba(var(--noir-rgb),.88);color:var(--cream);font-size:.85rem;font-weight:500;padding:10px 18px;border-radius:999px;backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .35s,transform .35s cubic-bezier(.22,.8,.3,1)}
.uv-colcard:hover .uv-colcard__deck::after{opacity:1;transform:translate(-50%,-50%) scale(1)}
.uv-colcard__shot{position:absolute;inset:0;border-radius:14px;overflow:hidden;border:5px solid #fff;background:linear-gradient(160deg,#5a4f40,#2b2620 85%);box-shadow:0 14px 36px rgba(var(--black-rgb),.35);transition:transform .5s cubic-bezier(.22,.8,.3,1)}
.uv-colcard__shot img{width:100%;height:100%;object-fit:cover}
.uv-colcard__stack{position:absolute;inset:0;transition:transform .55s cubic-bezier(.22,.8,.3,1)}
.uv-colcard__shot:nth-child(1){transform:rotate(-6deg) translate(-8px,6px)}
.uv-colcard__shot:nth-child(2){transform:rotate(4deg) translate(10px,2px)}
.uv-colcard__shot:nth-child(3){transform:rotate(-1deg)}
/* Survol : fondu simple + léger zoom (plus de dépliage du deck). */
.uv-colcard__shot::after{content:"";position:absolute;inset:0;background:rgba(var(--white-rgb),.12);opacity:0;transition:opacity .5s ease;pointer-events:none}
.uv-colcard:hover .uv-colcard__stack{transform:scale(1.02)}
.uv-colcard:hover .uv-colcard__shot::after{opacity:1}
.uv-colcard__count{position:absolute;right:2px;bottom:-4px;z-index:3;display:inline-flex;align-items:center;gap:7px;background:var(--noir);color:var(--cream);font-size:.82rem;font-weight:500;padding:8px 14px;border-radius:999px;box-shadow:0 8px 20px rgba(var(--black-rgb),.35);transition:transform .4s}
.uv-colcard:hover .uv-colcard__count{transform:translateY(-4px)}
.uv-colcard__count svg{color:var(--gold-light)}
.uv-colcard__badge{position:absolute;left:2px;top:-8px;z-index:3;background:var(--gold);color:var(--noir);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;padding:6px 13px;border-radius:999px;transform:rotate(-3deg);box-shadow:0 8px 20px rgba(var(--black-rgb),.3)}
.uv-colcard__body{position:relative;z-index:5;margin-top:34px;text-align:center}
.uv-colcard__saison{font-family:var(--ff);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);line-height:1.2;display:block}
.uv-colcard__body h3{font-size:1.08rem;font-weight:500;color:var(--cream);margin:4px 0}
.uv-colcard__body p{font-size:.84rem;color:var(--gris-light)}
.uv-colcard__link{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-weight:500;font-size:.92rem;color:var(--gold-light)}
.uv-colcard__link svg{transition:transform .25s}
.uv-colcard:hover .uv-colcard__link svg{transform:translateX(4px)}

/* --- Galerie plein ecran --- */
.uv-gal{position:fixed;inset:0;z-index:100;background:rgba(14,12,10,.97);backdrop-filter:blur(10px);display:flex;flex-direction:column;color:var(--cream);animation:uvGalIn .35s ease both}
.uv-gal[hidden]{display:none}
@keyframes uvGalIn{from{opacity:0}to{opacity:1}}
.uv-gal__progress{height:3px;background:rgba(var(--white-rgb),.12)}
.uv-gal__progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold-light),var(--gold));transition:width .45s cubic-bezier(.22,.8,.3,1)}
.uv-gal__bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px clamp(16px,4vw,40px)}
.uv-gal__id{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.uv-gal__saison{font-family:var(--ff);font-weight:600;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);line-height:1.2}
.uv-gal__title{font-weight:500;font-size:1.05rem}
.uv-gal__counter{font-size:.92rem;color:rgba(var(--white-rgb),.6);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.uv-gal__close{width:42px;height:42px;border-radius:50%;border:1px solid rgba(var(--white-rgb),.3);background:transparent;color:var(--cream);cursor:pointer;font-size:1rem;transition:background .25s,border-color .25s,transform .25s}
.uv-gal__close:hover{background:var(--gold);border-color:var(--gold);color:var(--noir);transform:rotate(90deg)}
.uv-gal__stage{flex:1;min-height:0;position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(8px,2vw,20px);padding:0 clamp(10px,3vw,32px);touch-action:pan-y}
.uv-gal__arrow{width:48px;height:48px;border-radius:50%;z-index:2;border:1px solid rgba(var(--white-rgb),.3);background:transparent;color:var(--cream);cursor:pointer;font-size:1.05rem;transition:background .25s,border-color .25s,transform .2s}
.uv-gal__arrow:hover{background:var(--gold);border-color:var(--gold);color:var(--noir)}
.uv-gal__arrow:active{transform:scale(.92)}
.uv-gal__frame{position:relative;height:100%;min-width:0;overflow:hidden;border-radius:18px}
.uv-gal__photo{position:absolute;inset:0;background-size:cover;background-position:center;display:grid;place-items:center;background-color:#1a1712}
.uv-gal__photo .num{font-family:var(--ff);font-weight:300;font-size:clamp(1.6rem,4vw,2.6rem);color:rgba(var(--white-rgb),.55)}
.uv-gal__photo.in-next{animation:uvGInNext .55s cubic-bezier(.22,.8,.3,1) both}
.uv-gal__photo.out-next{animation:uvGOutNext .55s cubic-bezier(.22,.8,.3,1) both}
.uv-gal__photo.in-prev{animation:uvGInPrev .55s cubic-bezier(.22,.8,.3,1) both}
.uv-gal__photo.out-prev{animation:uvGOutPrev .55s cubic-bezier(.22,.8,.3,1) both}
@keyframes uvGInNext{from{transform:translateX(6%) scale(.985);opacity:0}to{transform:none;opacity:1}}
@keyframes uvGOutNext{from{transform:none;opacity:1}to{transform:translateX(-5%) scale(.985);opacity:0}}
@keyframes uvGInPrev{from{transform:translateX(-6%) scale(.985);opacity:0}to{transform:none;opacity:1}}
@keyframes uvGOutPrev{from{transform:none;opacity:1}to{transform:translateX(5%) scale(.985);opacity:0}}
.uv-gal__thumbs{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:16px clamp(16px,4vw,40px) 20px}
.uv-gal__thumbs::-webkit-scrollbar{display:none}
.uv-gal__thumb{flex:0 0 72px;aspect-ratio:4/3;border-radius:10px;border:2px solid transparent;cursor:pointer;background-size:cover;background-position:center;background-color:#2a251d;opacity:.5;display:grid;place-items:center;font-family:var(--ff);font-size:.9rem;color:rgba(var(--white-rgb),.8);transition:opacity .3s,border-color .3s,transform .3s cubic-bezier(.22,.8,.3,1)}
.uv-gal__thumb:hover{opacity:.85}
.uv-gal__thumb.is-active{opacity:1;border-color:var(--gold);transform:translateY(-3px)}
body.gal-open{overflow:hidden}
@media(max-width:1024px){.uv-gal__stage{grid-template-columns:1fr;padding:0 10px}.uv-gal__arrow{position:absolute;top:50%;transform:translateY(-50%)}.uv-gal__arrow[data-dir="-1"]{left:14px}.uv-gal__arrow[data-dir="1"]{right:14px}}

/* --- Reduced motion --- */
@media(prefers-reduced-motion:reduce){
	.uv-colcard__shot,.uv-colcard__stack,.uv-colcard__shot::after,.uv-colcard__count,.uv-colcard__link svg,.uv-colcard__deck::after{transition:none!important}
	.uv-gal,.uv-gal__photo{animation:none!important}
	.uv-gal__thumb,.uv-gal__progress i,.uv-gal__close,.uv-gal__arrow{transition:none!important}
	.uv-tl.is-snipping .blade{animation:none!important}
	.uv-tl__trail,.uv-tl__scissors,.uv-tl-step__node,.uv-tl-step__card,.uv-tl-step__date,.uv-tl-step h3,.uv-tl-step p{transition:none!important}
	.uv-tl-step:not(.is-cut) .uv-tl-step__date,.uv-tl-step:not(.is-cut) h3,.uv-tl-step:not(.is-cut) p{opacity:1;filter:none;transform:none}
}

/* ============================================================
   Page Contact
   ============================================================ */
/* Accès rapides (dans le hero sombre) */
.ct-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px;max-width:960px}
.ct-quick__item{display:flex;align-items:center;gap:14px;background:rgba(var(--cream-rgb),.06);border:1px solid rgba(var(--cream-rgb),.14);border-radius:16px;padding:16px 18px;transition:background .25s ease,border-color .25s ease,transform .25s ease}
.ct-quick__item:hover{background:rgba(var(--cream-rgb),.1);border-color:rgba(var(--gold-light-rgb),.5);transform:translateY(-3px)}
.ct-quick__ic{flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:rgba(var(--gold-light-rgb),.16);color:var(--gold-light);display:grid;place-items:center}
.ct-quick__ic svg{width:20px;height:20px}
.ct-quick__item small{display:block;font-size:.8rem;color:var(--gris-light);letter-spacing:.04em}
.ct-quick__item b{display:block;font-weight:400;font-size:1.02rem;color:var(--cream);word-break:break-word}

/* Formulaire */
.ct-form-wrap{max-width:960px}
.ct-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ct-form__head{text-align:center;margin-bottom:34px;display:flex;flex-direction:column;align-items:center;gap:16px}
.ct-form__logo{width:auto;height:66px}
.ct-form__head p{font-size:.76rem;color:var(--gris);letter-spacing:.14em;text-transform:uppercase}
.ct-form__sep{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);font-weight:600;margin:34px 0 16px}
.ct-form__lead{color:var(--gris);margin:-8px 0 16px;font-size:.95rem}

/* Objet de la demande : options soulignées */
.ct-motifs{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 18px;margin:0 0 34px;border:none;padding:0}
.ct-motif{display:inline-flex;align-items:center;gap:9px;background:transparent;border:none;padding:6px 0 9px;cursor:pointer;font-size:1rem;color:var(--gris);position:relative;transition:color .3s ease}
.ct-motif::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.22,.8,.3,1)}
.ct-motif:hover{color:var(--noir)}
.ct-motif input{position:absolute;opacity:0;pointer-events:none}
.ct-motif svg{width:17px;height:17px;opacity:.55;transition:opacity .3s ease,color .3s ease}
.ct-motif.is-active{color:var(--noir);font-weight:500}
.ct-motif.is-active::after{transform:scaleX(1)}
.ct-motif.is-active svg{opacity:1;color:var(--gold-dark)}

/* Champs soulignés */
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}
.ct-field{display:flex;flex-direction:column;gap:5px}
.ct-field--full{grid-column:1/-1}
.ct-field label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);font-weight:400}
.ct-field label .req,.ct-foot__note .req{color:var(--gold-dark)}
.ct-field input,.ct-field select,.ct-field textarea{background:transparent;border:none;border-bottom:1px solid rgba(var(--noir-rgb),.16);border-radius:0;padding:7px 2px;font-weight:400;color:var(--noir)}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{outline:none;border-bottom-color:var(--gold);border-bottom-width:2px;padding-bottom:6px}
.ct-field textarea{min-height:96px;resize:vertical}
.ct-cond{display:none}
.ct-cond.is-on{display:flex}

.ct-rgpd{display:flex;gap:11px;align-items:flex-start;margin-top:28px;font-size:.88rem;color:var(--gris);line-height:1.5}
.ct-rgpd input{margin-top:3px;accent-color:var(--gold);flex:0 0 auto}
.ct-rgpd a{color:var(--gold-dark);text-decoration:underline;text-underline-offset:2px}
.ct-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:30px}
.ct-foot__sign{font-family:var(--ff-script);color:var(--gold-dark);font-size:1.7rem;line-height:1}
.ct-foot__note{font-size:.84rem;color:var(--gris);margin-top:4px}

/* Messages */
.ct-alert{padding:14px 18px;border-radius:12px;margin-bottom:26px;font-size:.95rem}
.ct-alert--ok{background:rgba(var(--gold-rgb),.14);color:var(--noir);border:1px solid var(--gold-light)}
.ct-alert--err{background:#fbeaea;color:#8a2b2b;border:1px solid #e6b3b3}

@media(max-width:1024px){.ct-quick{grid-template-columns:1fr;max-width:520px}}
@media(max-width:600px){.ct-grid{grid-template-columns:1fr;gap:18px}.ct-foot{justify-content:center;text-align:center}}
@media(prefers-reduced-motion:reduce){
	.ct-quick__item,.ct-motif,.ct-motif::after,.ct-motif svg{transition:none!important}
}

/* ============================================================
   Formation — inscription (réutilise le style .ct-*)
   ============================================================ */
.ct-form__line{text-align:center;color:var(--gris);font-size:1rem;margin:-6px 0 8px}
.ct-form__line span{color:var(--gold-dark)}
.ct-field__lbl{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);font-weight:400}
.ct-field--spaced{margin-top:22px}
.fp-insc-sessions{display:flex;flex-wrap:wrap;gap:12px}
.fp-insc-session{position:relative;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-width:160px;border:1px solid var(--border);border-radius:14px;padding:12px 16px;transition:border-color .25s ease,background .25s ease}
.fp-insc-session:hover{border-color:var(--gold)}
.fp-insc-session input{position:absolute;opacity:0;pointer-events:none}
.fp-insc-session:has(input:checked){border-color:var(--gold);background:rgba(var(--gold-rgb),.12)}
.fp-insc-session:has(input:disabled){opacity:.45;cursor:not-allowed}
.fp-insc-session__date{font-weight:500;color:var(--noir)}
.fp-insc-session__meta{font-size:.82rem;color:var(--gris)}
.fp-insc-session__badge{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark)}
.fp-insc-count{display:flex;align-items:center;gap:14px}
.fp-insc-count__btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--white,#fff);font-size:1.3rem;line-height:1;color:var(--noir);cursor:pointer;transition:border-color .25s ease,color .25s ease}
.fp-insc-count__btn:hover:not(:disabled){border-color:var(--gold);color:var(--gold-dark)}
.fp-insc-count__btn:disabled{opacity:.4;cursor:not-allowed}
.fp-insc-count__val{font-size:1.8rem;font-weight:300;min-width:28px;text-align:center;font-variant-numeric:tabular-nums;color:var(--noir)}
.fp-insc-count__unit{color:var(--gris);font-style:normal}
.fp-insc-person{border:none;padding:0;margin:22px 0 0;min-inline-size:0}
.fp-insc-person + .fp-insc-person{border-top:1px solid var(--border);padding-top:24px}
.fp-insc-person__title{padding:0;margin-bottom:16px;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);font-weight:600}
.fp-insc-toggle{display:flex;align-items:flex-start;gap:11px;cursor:pointer;color:var(--gris);font-size:.95rem;line-height:1.4}
.fp-insc-toggle input{margin-top:3px;accent-color:var(--gold);flex:0 0 auto}
.fp-insc-entreprise{border:none;padding:0;margin:18px 0 0;min-inline-size:0}
.fp-insc-radios{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:4px}
.fp-insc-radios label{display:inline-flex;align-items:center;gap:8px;color:var(--noir);cursor:pointer}
.fp-insc-radios input{accent-color:var(--gold)}

/* ============================================================
   Barre de contact rapide flottante (tout le site)
   ============================================================ */
.crail{position:fixed;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--white,#fff);border:1px solid var(--border);border-radius:999px;padding:14px 9px;box-shadow:0 16px 36px -16px rgba(var(--noir-rgb),.55)}
.crail--right{right:16px}
.crail--left{left:16px}
.crail__label{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gris);margin-bottom:2px}
.crail__list{list-style:none;display:flex;flex-direction:column;gap:12px;margin:0;padding:0}
.crail__item{margin:0}
.crail__link{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:transparent;color:var(--noir);border:1px solid transparent;transition:background .25s ease,color .25s ease,border-color .25s ease}
.crail__link svg{width:20px;height:20px}
.crail__link:hover,.crail__link:focus-visible{background:var(--noir);color:var(--cream);border-color:var(--noir);outline:none}
.crail__link--primary{background:var(--gold);color:#fff;border-color:var(--gold)}
.crail__link--primary:hover,.crail__link--primary:focus-visible{background:var(--gold-dark);border-color:var(--gold-dark);color:#fff}
.crail__tip{position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%) translateX(6px);white-space:nowrap;background:var(--noir);color:var(--cream);font-size:.78rem;padding:6px 11px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.crail__tip::after{content:"";position:absolute;top:50%;right:-5px;transform:translateY(-50%);border:5px solid transparent;border-left-color:var(--noir)}
.crail__link:hover .crail__tip,.crail__link:focus-visible .crail__tip{opacity:1;transform:translateY(-50%) translateX(0)}
.crail--left .crail__tip{right:auto;left:calc(100% + 12px);transform:translateY(-50%) translateX(-6px)}
.crail--left .crail__tip::after{right:auto;left:-5px;border-left-color:transparent;border-right-color:var(--noir)}
.crail--left .crail__link:hover .crail__tip,.crail--left .crail__link:focus-visible .crail__tip{transform:translateY(-50%) translateX(0)}
@media(max-width:600px){
	.crail{top:auto;bottom:14px;left:50%;right:auto;transform:translateX(-50%);flex-direction:row;padding:8px 12px}
	.crail__label{display:none}
	.crail__list{flex-direction:row}
	.crail__tip{display:none}
	.crail__link{width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){.crail__link,.crail__tip{transition:none!important}}

/* Retour en haut — ordinateur / portable uniquement (masqué sur mobile/tactile) */
.gototop{position:fixed;right:24px;bottom:24px;z-index:45;width:48px;height:48px;border-radius:50%;border:1px solid var(--noir);background:var(--noir);color:var(--cream);display:none;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);box-shadow:0 14px 30px -14px rgba(var(--noir-rgb),.6);transition:opacity .3s ease,transform .3s ease,visibility .3s ease,background .25s ease,border-color .25s ease}
.gototop.is-visible{opacity:1;visibility:visible;transform:none}
.gototop:hover,.gototop:focus-visible{background:var(--gold);border-color:var(--gold);color:#fff;outline:none}
@media (min-width:1025px) and (hover:hover) and (pointer:fine){.gototop{display:grid}}
@media(prefers-reduced-motion:reduce){.gototop{transition:none}}

/* ============================================================
   Actualités — catalogue (cartes)
   ============================================================ */
.acards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,32px)}
.acard{display:flex;flex-direction:column;background:var(--white,#fff);border:1px solid var(--border);border-radius:18px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.acard:hover{transform:translateY(-4px);box-shadow:0 24px 46px -26px rgba(var(--noir-rgb),.45)}
.acard.is-hidden{display:none}
.acard__media{position:relative;aspect-ratio:16/10;background:var(--cream);overflow:hidden}
.acard__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,.8,.3,1)}
.acard:hover .acard__media img{transform:scale(1.04)}
.acard__ph{position:absolute;inset:0;background:radial-gradient(120% 120% at 30% 20%,#2a2820,var(--noir))}
.acard__badge{position:absolute;top:12px;left:12px;z-index:2;font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:rgba(var(--white-rgb),.94);color:var(--noir)}
.acard__badge--video{background:var(--gold);color:#fff}
.acard__badge--presse{background:var(--noir);color:var(--cream)}
.acard__play{position:absolute;inset:0;margin:auto;z-index:2;width:58px;height:58px;border-radius:50%;background:rgba(var(--white-rgb),.94);color:var(--noir);display:grid;place-items:center;pointer-events:none;transition:transform .3s ease}
.acard:hover .acard__play{transform:scale(1.08)}
.acard__play svg{width:22px;height:22px;margin-left:3px}
.acard__body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 24px;flex:1}
.acard__date{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.acard__title{font-size:1.2rem;font-weight:400;line-height:1.25;color:var(--noir)}
.acard__excerpt{font-size:.95rem;color:var(--gris);line-height:1.5;flex:1}
.acard__more{margin-top:6px;font-size:.85rem;font-weight:500;color:var(--gold-dark);display:inline-flex;align-items:center;gap:7px}
@media(max-width:1024px){.acards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.acards{grid-template-columns:1fr}}

/* ============================================================
   Actualités — détail (article / vidéo / presse)
   ============================================================ */
.asingle{padding-bottom:clamp(48px,7vw,88px)}
.asingle__head{padding-top:clamp(40px,6vw,72px);max-width:820px;margin-inline:auto;text-align:center}
.asingle__crumb{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:.82rem;color:var(--gris);margin-bottom:22px}
.asingle__crumb a:hover{color:var(--gold-dark)}
.asingle__crumb span{opacity:.4}
.asingle__crumb b{color:var(--noir);font-weight:400}
.asingle__type{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:14px}
.asingle__title{font-size:clamp(2rem,4.6vw,3.2rem);font-weight:300;line-height:1.1;letter-spacing:-.02em;color:var(--noir);text-wrap:balance}
.asingle__date{display:block;margin-top:16px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.asingle__cover{max-width:960px;margin:clamp(28px,4vw,44px) auto 0}
.asingle__cover img{width:100%;border-radius:18px;display:block}
.asingle__body{max-width:720px;margin:clamp(28px,4vw,44px) auto 0}
.asingle__chapo{font-size:1.2rem;line-height:1.6;color:var(--noir);font-weight:300;margin-bottom:24px}
.asingle__content{color:var(--gris);font-size:1.05rem;line-height:1.75}
.asingle__content > * + *{margin-top:1.1em}
.asingle__content h2{font-size:1.6rem;font-weight:400;color:var(--noir);margin-top:1.6em;line-height:1.2}
.asingle__content h3{font-size:1.25rem;font-weight:500;color:var(--noir);margin-top:1.4em}
.asingle__content a{color:var(--gold-dark);text-decoration:underline;text-underline-offset:2px}
.asingle__content ul,.asingle__content ol{padding-left:1.35em;display:grid;gap:.4em}
.asingle__content img{max-width:100%;height:auto;border-radius:12px}
.asingle__content blockquote{border-left:3px solid var(--gold);padding-left:22px;font-size:1.2rem;font-style:italic;color:var(--noir)}
.asingle__foot{max-width:720px;margin:clamp(36px,5vw,56px) auto 0;text-align:center}

/* Vidéo */
.avid__frame{position:relative;aspect-ratio:16/9;max-width:960px;margin:clamp(28px,4vw,44px) auto 0;border-radius:18px;overflow:hidden;background:var(--noir);box-shadow:0 30px 60px -30px rgba(var(--noir-rgb),.55)}
.avid__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Presse */
.apress__source{max-width:1040px;margin:18px auto 0;text-align:center;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark)}
.apress__grid{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:clamp(28px,4vw,56px);align-items:start;max-width:1040px;margin:clamp(28px,4vw,44px) auto 0}
.apress__media img{width:100%;border-radius:16px;display:block;box-shadow:0 28px 56px -30px rgba(var(--noir-rgb),.5)}
.apress__ph{display:block;aspect-ratio:3/4;border-radius:16px;background:radial-gradient(120% 120% at 30% 20%,#2a2820,var(--noir))}
.apress__quote{font-style:italic;font-weight:300;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.35;color:var(--gold-dark);margin-bottom:24px}
.apress__link{margin-top:28px}
@media(max-width:1024px){.apress__grid{grid-template-columns:1fr}.apress__media{max-width:420px;margin-inline:auto}}

/* ============================================================
   Transitions entre pages (View Transitions API)
   Fondu enchaine au lieu du flash blanc. Navigateurs recents ;
   ailleurs la navigation reste normale (aucun risque).
   ============================================================ */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtOut .3s ease both}
::view-transition-new(root){animation:vtIn .42s ease both}
@keyframes vtOut{from{opacity:1}to{opacity:0}}
@keyframes vtIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
	::view-transition-old(root),::view-transition-new(root){animation:none}
}

/* ---------- Pages legales (mentions / CGV / confidentialite) ---------- */
.legal__wrap{max-width:800px;margin-inline:auto}
.legal__title{font-size:clamp(2rem,3.4vw,2.75rem);font-weight:400;line-height:1.15;letter-spacing:-.01em;margin:6px 0 8px}
.legal__meta{color:var(--gris);font-size:.9rem;margin-bottom:40px}
.legal__body{color:var(--gris);line-height:1.75;font-size:1.02rem}
.legal__body>*:first-child{margin-top:0}
.legal__body h2{color:var(--noir);font-size:1.5rem;font-weight:500;line-height:1.25;letter-spacing:-.01em;margin:2.2em 0 .5em}
.legal__body h3{color:var(--noir);font-size:1.15rem;font-weight:500;margin:1.6em 0 .4em}
.legal__body p{margin:0 0 1.1em}
.legal__body ul,.legal__body ol{margin:0 0 1.2em;padding-left:1.4em}
.legal__body li{margin:.35em 0}
.legal__body a{color:var(--gold-dark);text-decoration:underline;text-underline-offset:2px}
.legal__body strong{color:var(--noir);font-weight:500}
.legal__body table{width:100%;border-collapse:collapse;margin:0 0 1.4em;font-size:.95rem}
.legal__body th,.legal__body td{text-align:left;padding:10px 14px;border:1px solid var(--border)}
.legal__body th{background:var(--cream);font-weight:500;color:var(--noir)}
@media (max-width:600px){.legal__body{font-size:.98rem}}
