/* Design commun sadapter.fr / nallis.fr, décliné de numerisques.fr (accent ambre) */

@font-face { font-family:'Inter'; font-weight:400; src:url('fonts/Inter_18pt-Regular.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Inter'; font-weight:500; src:url('fonts/Inter_18pt-Medium.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Inter'; font-weight:600; src:url('fonts/Inter_18pt-SemiBold.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Inter'; font-weight:700; src:url('fonts/Inter_18pt-Bold.ttf') format('truetype'); font-display:swap; }

:root {
  --bg:      #FFFFFF;
  --bg-soft: #F8F8F6;
  --ink:     #111111;
  --ink-2:   #3D3D3D;
  --muted:   #6B6B6B;
  --border:  #E9E9E7;
  --amber:   #D97706;
  --amber-d: #B45309;
  --green:   #16a34a;
  --nav-h:   64px;
  --r:       18px;
}
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:'Inter', system-ui, -apple-system, sans-serif; background:var(--bg); color:var(--ink); line-height:1.6; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; height:auto; }
section, div { scroll-margin-top:72px; }

/* NAV */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  height:var(--nav-h);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 2.75rem;
  background:rgba(255,255,255,.88); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--border);
}
.brand { display:flex; align-items:center; gap:.55rem; font-size:.875rem; font-weight:700; color:var(--ink); letter-spacing:-.01em; }
.brand svg { width:26px; height:24px; flex-shrink:0; }
.brand small { display:block; font-size:.62rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); line-height:1; margin-bottom:.15rem; }
.nav-links { display:flex; align-items:center; gap:.15rem; }
.nav-link { font-size:.82rem; font-weight:500; color:var(--muted); padding:.4rem .75rem; border-radius:7px; transition:color .14s, background .14s; white-space:nowrap; }
.nav-link:hover, .nav-link[aria-current="page"] { color:var(--ink); background:rgba(0,0,0,.04); }
.nav-hl { color:var(--amber) !important; font-weight:600; }
.nav-cta { margin-left:.65rem; padding:.48rem 1.1rem; background:var(--ink); color:#fff; border-radius:8px; font-size:.82rem; font-weight:700; transition:background .15s; white-space:nowrap; }
.nav-cta:hover { background:var(--amber); }
.mob-btn { display:none; border:0; background:transparent; padding:.4rem; cursor:pointer; color:var(--ink); border-radius:7px; }
.mob-btn:hover { background:rgba(0,0,0,.05); }
.mob-nav { display:none; position:fixed; top:var(--nav-h); left:0; right:0; z-index:99; background:var(--bg); border-bottom:1px solid var(--border); padding:1.25rem 1.5rem; box-shadow:0 8px 24px rgba(0,0,0,.07); flex-direction:column; gap:.7rem; }
.mob-nav.open { display:flex; }
.mob-nav a { font-weight:600; color:var(--ink); font-size:.9rem; }
.mob-nav .mob-cta { margin-top:.5rem; display:flex; justify-content:center; padding:.85rem; background:var(--ink); color:#fff; border-radius:9px; font-weight:700; }

/* HALOS */
.halo { position:absolute; border-radius:50%; pointer-events:none; }
.ha { width:640px; height:480px; background:radial-gradient(ellipse, rgba(217,119,6,.22) 0%, rgba(251,191,36,.08) 50%, transparent 70%); filter:blur(55px); top:8%; left:-8%; }
.hb { width:560px; height:420px; background:radial-gradient(ellipse, rgba(5,150,105,.14) 0%, rgba(16,185,129,.06) 50%, transparent 70%); filter:blur(70px); top:15%; right:-6%; }
.hc { width:380px; height:280px; background:radial-gradient(ellipse, rgba(99,102,241,.09) 0%, transparent 65%); filter:blur(60px); bottom:12%; left:35%; }

/* HERO (accueil) */
.hero { position:relative; overflow:hidden; min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:calc(var(--nav-h) + 5rem) 2rem 5rem; background:var(--bg); }
.hero-inner { position:relative; z-index:1; max-width:900px; width:100%; text-align:center; }
.hero-ey { display:inline-flex; align-items:center; gap:.55rem; font-size:.73rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); margin-bottom:1.75rem; }
.hero-ey span { width:20px; height:1px; background:currentColor; display:inline-block; opacity:.5; }
.hero-h { font-size:clamp(2.6rem, 6.5vw, 6rem); font-weight:700; line-height:.98; letter-spacing:-.055em; color:var(--ink); margin-bottom:1.6rem; text-wrap:balance; }
.hero-h em { font-style:normal; color:var(--amber); }
.hero-sub { font-size:clamp(1.4rem, 2.8vw, 2.3rem); font-weight:600; font-style:italic; color:var(--ink-2); letter-spacing:-.025em; line-height:1.2; margin-bottom:2rem; text-wrap:balance; }
.hero-desc { font-size:clamp(.95rem, 1.3vw, 1.1rem); color:var(--muted); line-height:1.68; margin:0 auto 2.25rem; max-width:56ch; }
.hero-btns { display:flex; gap:.75rem; flex-wrap:wrap; justify-content:center; margin-bottom:4rem; }
.hero-proof { display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem 2.5rem; border-top:1px solid var(--border); padding-top:2rem; }
.pi { font-size:.8rem; color:var(--muted); }
.pi b { color:var(--ink); font-weight:700; }

/* BANDEAU DE PAGE (pages intérieures) */
.page-hero { position:relative; overflow:hidden; padding:calc(var(--nav-h) + 5rem) 3rem 4rem; background:var(--bg); border-bottom:1px solid var(--border); }
.page-hero .hero-inner { max-width:1160px; margin:0 auto; text-align:left; }
.page-hero .hero-h { font-size:clamp(2.2rem, 5vw, 4.2rem); margin-bottom:1.1rem; }
.page-hero .hero-desc { margin:0 0 1.75rem; }
.page-hero .hero-btns { justify-content:flex-start; margin-bottom:0; }
.crumbs { font-size:.75rem; color:var(--muted); margin-bottom:1.25rem; }
.crumbs a:hover { color:var(--amber); }

/* BOUTONS */
.btn-dark { display:inline-flex; align-items:center; gap:.5rem; padding:.9rem 2rem; background:var(--ink); color:#fff; border-radius:9px; font-size:.95rem; font-weight:700; transition:background .16s, transform .12s; }
.btn-dark:hover { background:var(--amber); transform:translateY(-1px); }
.btn-ghost { display:inline-flex; align-items:center; gap:.5rem; padding:.9rem 1.75rem; border:1.5px solid var(--border); color:var(--ink-2); border-radius:9px; font-size:.95rem; font-weight:600; transition:border-color .15s, color .15s; background:var(--bg); }
.btn-ghost:hover { border-color:var(--ink); color:var(--ink); }
.btn-am { display:inline-flex; align-items:center; gap:.5rem; padding:1rem 2rem; background:var(--amber); color:#fff; border-radius:9px; font-size:1rem; font-weight:700; transition:background .15s, transform .12s; }
.btn-am:hover { background:var(--amber-d); transform:translateY(-1px); }
.btn-ow { display:inline-flex; align-items:center; gap:.5rem; padding:1rem 1.75rem; border:1.5px solid rgba(255,255,255,.2); color:rgba(255,255,255,.8); border-radius:9px; font-size:1rem; font-weight:600; transition:border-color .15s, color .15s; }
.btn-ow:hover { border-color:rgba(255,255,255,.5); color:#fff; }

/* SECTIONS */
.section { padding:6rem 3rem; }
.section.soft { background:var(--bg-soft); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.si { max-width:1160px; margin:0 auto; }
.si.narrow { max-width:760px; }
.eyebrow { font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:.9rem; display:block; }
.sh { font-size:clamp(1.75rem, 3.2vw, 2.6rem); font-weight:700; letter-spacing:-.04em; line-height:1.08; margin-bottom:.7rem; text-wrap:balance; }
.ss { font-size:.97rem; color:var(--muted); line-height:1.72; max-width:56ch; margin-bottom:3.5rem; }

/* CARTES À HALO (domaines, formations) */
.dom-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.85rem; }
.dom-grid.cols-3 { grid-template-columns:repeat(3,1fr); }
.dom-grid.cols-2 { grid-template-columns:repeat(2,1fr); }
.dom-card { position:relative; overflow:hidden; background:var(--bg); border:1px solid var(--border); border-radius:var(--r); padding:1.75rem 1.6rem 1.5rem; transition:box-shadow .22s, transform .18s; display:block; color:inherit; }
a.dom-card:hover, .dom-card.hov:hover { box-shadow:0 16px 48px rgba(0,0,0,.09); transform:translateY(-3px); }
.dom-card::before, .dom-card::after { content:''; position:absolute; border-radius:50%; pointer-events:none; }
.d1::before { width:110px; height:110px; top:-28px; right:-28px; filter:blur(32px); background:rgba(217,119,6,.55); }
.d1::after  { width:75px; height:75px; top:20px; right:30px; filter:blur(22px); background:rgba(251,191,36,.4); }
.d2::before { width:110px; height:110px; top:-28px; right:-28px; filter:blur(32px); background:rgba(239,68,68,.5); }
.d2::after  { width:75px; height:75px; top:20px; right:30px; filter:blur(22px); background:rgba(249,115,22,.35); }
.d3::before { width:110px; height:110px; top:-28px; right:-28px; filter:blur(32px); background:rgba(99,102,241,.4); }
.d3::after  { width:75px; height:75px; top:20px; right:30px; filter:blur(22px); background:rgba(59,130,246,.3); }
.d4::before { width:110px; height:110px; top:-28px; right:-28px; filter:blur(32px); background:rgba(5,150,105,.45); }
.d4::after  { width:75px; height:75px; top:20px; right:30px; filter:blur(22px); background:rgba(16,185,129,.3); }
.d-ico { font-size:1.5rem; margin-bottom:1.1rem; display:block; position:relative; z-index:1; }
.d-tag { font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:.5rem; position:relative; z-index:1; }
.d-ti { font-size:1.05rem; font-weight:700; color:var(--ink); margin-bottom:.45rem; line-height:1.25; position:relative; z-index:1; }
.d-de { font-size:.86rem; color:var(--muted); line-height:1.6; margin-bottom:1.25rem; position:relative; z-index:1; }
.d-list { list-style:none; margin:0 0 1.25rem; position:relative; z-index:1; display:flex; flex-direction:column; gap:.55rem; }
.d-list li { font-size:.84rem; color:var(--ink-2); line-height:1.5; padding-left:1.1rem; position:relative; }
.d-list li::before { content:''; position:absolute; left:0; top:.6em; width:6px; height:6px; border-radius:50%; background:var(--amber); }
.d-list strong { color:var(--ink); }
.d-lk { font-size:.8rem; font-weight:700; color:var(--ink); display:inline-flex; align-items:center; gap:.3rem; position:relative; z-index:1; transition:color .14s; }
.d-lk::after { content:'→'; transition:transform .14s; }
.d-lk:hover { color:var(--amber); }
.d-lk:hover::after { transform:translateX(3px); }

/* MÉTRIQUES */
.met-s { padding:4rem 3rem; background:var(--bg-soft); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.met-grid { max-width:1160px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:14px; overflow:hidden; }
.met-cell { background:var(--bg-soft); padding:2.25rem 2rem; text-align:center; }
.met-num { font-size:clamp(2rem,3.5vw,3.2rem); font-weight:700; letter-spacing:-.05em; line-height:1; margin-bottom:.45rem; font-variant-numeric:tabular-nums; color:var(--ink); }
.ac { color:var(--amber); }
.met-lbl { font-size:.8rem; color:var(--muted); line-height:1.45; max-width:20ch; margin:0 auto; }

/* PROGRAMME / ÉTAPES */
.prog-grid { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.prog-card { position:relative; overflow:hidden; background:var(--bg-soft); border:1px solid var(--border); border-radius:var(--r); padding:2.25rem 2rem; transition:box-shadow .2s, transform .18s; }
.prog-card:hover { box-shadow:0 12px 36px rgba(0,0,0,.07); transform:translateY(-2px); }
.prog-card::before { content:''; position:absolute; border-radius:50%; width:180px; height:180px; bottom:-55px; right:-55px; filter:blur(48px); pointer-events:none; }
.p1::before { background:rgba(217,119,6,.22); }
.p2::before { background:rgba(239,68,68,.18); }
.p3::before { background:rgba(99,102,241,.16); }
.p4::before { background:rgba(5,150,105,.18); }
.p-num { font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:1.1rem; position:relative; z-index:1; }
.p-ti { font-size:1.1rem; font-weight:700; color:var(--ink); margin-bottom:.55rem; line-height:1.22; position:relative; z-index:1; }
.p-de { font-size:.88rem; color:var(--muted); line-height:1.62; position:relative; z-index:1; }
.p-de ul { margin:.6rem 0 0 1.1rem; }
.p-de li { margin-bottom:.3rem; }
.note-box { margin-top:1.5rem; padding:1.35rem 1.6rem; background:var(--bg); border:1px solid var(--border); border-radius:12px; font-size:.9rem; color:var(--ink-2); line-height:1.6; display:flex; gap:.85rem; align-items:flex-start; }
.note-box strong { color:var(--ink); }

/* PROFIL / DEUX COLONNES */
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.two-col.wide-left { grid-template-columns:1.4fr 1fr; }
.t-creds { display:flex; flex-direction:column; gap:.65rem; margin-bottom:1.75rem; }
.t-cred { display:flex; align-items:center; gap:1rem; padding:.85rem 1.1rem; border:1px solid var(--border); border-radius:11px; background:var(--bg-soft); }
.t-num { font-size:1.35rem; font-weight:700; color:var(--amber); min-width:72px; font-variant-numeric:tabular-nums; }
.t-txt { font-size:.86rem; color:var(--ink-2); line-height:1.35; font-weight:500; }
.t-pull { font-size:clamp(1.15rem, 1.8vw, 1.5rem); font-weight:700; color:var(--ink); line-height:1.35; letter-spacing:-.03em; margin-bottom:1.75rem; text-wrap:balance; padding-left:1.25rem; border-left:3px solid var(--amber); }
.t-avatar { width:96px; height:96px; border-radius:50%; object-fit:cover; border:2px solid var(--border); display:block; margin-bottom:1.1rem; }
.t-lks { display:flex; flex-direction:column; gap:.6rem; margin-top:1.5rem; }
.t-lk { display:inline-flex; align-items:center; gap:.6rem; padding:.75rem 1.1rem; border:1.5px solid var(--border); border-radius:9px; font-size:.86rem; font-weight:600; color:var(--ink-2); transition:border-color .15s, color .15s; }
.t-lk:hover { border-color:var(--amber); color:var(--amber); }

/* TEXTE LONG */
.prose { font-size:.97rem; color:var(--ink-2); line-height:1.78; }
.prose p + p, .prose p + ul, .prose ul + p { margin-top:1rem; }
.prose h2 { font-size:1.5rem; font-weight:700; letter-spacing:-.03em; color:var(--ink); margin:2.75rem 0 .9rem; line-height:1.2; }
.prose h3 { font-size:1.1rem; font-weight:700; color:var(--ink); margin:2rem 0 .6rem; }
.prose ul, .prose ol { margin-left:1.25rem; }
.prose li { margin-bottom:.4rem; }
.prose strong { color:var(--ink); }
.prose a { color:var(--amber-d); text-decoration:underline; text-underline-offset:3px; }
.prose a:hover { color:var(--ink); }
.prose table { width:100%; border-collapse:collapse; margin:1rem 0; font-size:.9rem; }
.prose th, .prose td { text-align:left; padding:.7rem .9rem; border-bottom:1px solid var(--border); vertical-align:top; }
.prose th { color:var(--muted); font-weight:600; width:32%; }

/* LIVRES */
.book-list { display:flex; flex-direction:column; gap:1rem; }
.book { display:grid; grid-template-columns:120px 1fr; gap:1.75rem; align-items:start; padding:1.75rem; background:var(--bg); border:1px solid var(--border); border-radius:var(--r); transition:box-shadow .2s; }
.book:hover { box-shadow:0 12px 36px rgba(0,0,0,.07); }
.book img { width:120px; height:auto; border-radius:6px; box-shadow:0 10px 30px rgba(0,0,0,.18); }
.book.feat { grid-template-columns:200px 1fr; }
.book.feat img { width:200px; }
.b-tag { font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--amber); margin-bottom:.4rem; }
.b-ti { font-size:1.15rem; font-weight:700; letter-spacing:-.02em; line-height:1.25; margin-bottom:.35rem; }
.b-sub { font-size:.9rem; color:var(--ink-2); font-style:italic; margin-bottom:.75rem; }
.b-de { font-size:.88rem; color:var(--muted); line-height:1.65; margin-bottom:1rem; }

/* MÉDIAS (vidéos, audio) */
.media-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
.media-grid.cols-3 { grid-template-columns:repeat(3,1fr); }
.media-card { background:var(--bg); border:1px solid var(--border); border-radius:var(--r); overflow:hidden; }
.media-card video, .media-card iframe { display:block; width:100%; aspect-ratio:16/9; border:0; background:#000; }
.media-card audio { display:block; width:100%; }
.media-body { padding:1.1rem 1.25rem 1.3rem; }
.media-ti { font-size:.97rem; font-weight:700; margin-bottom:.3rem; }
.media-de { font-size:.84rem; color:var(--muted); line-height:1.55; }
.media-de audio { margin-top:.75rem; }

/* FRISE */
.timeline { position:relative; padding-left:1.75rem; border-left:2px solid var(--border); display:flex; flex-direction:column; gap:2rem; }
.tl-item { position:relative; }
.tl-item::before { content:''; position:absolute; left:calc(-1.75rem - 7px); top:.35rem; width:12px; height:12px; border-radius:50%; background:var(--bg); border:2px solid var(--amber); }
.tl-date { font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--amber); margin-bottom:.25rem; }
.tl-ti { font-size:1.05rem; font-weight:700; margin-bottom:.35rem; }
.tl-de { font-size:.9rem; color:var(--muted); line-height:1.65; }

/* FAQ */
.faq-list { display:flex; flex-direction:column; gap:.75rem; }
.faq-list details { border:1px solid var(--border); border-radius:12px; padding:1.1rem 1.35rem; background:var(--bg); }
.faq-list summary { font-weight:700; cursor:pointer; font-size:.97rem; }
.faq-list details p { margin-top:.75rem; font-size:.9rem; color:var(--muted); line-height:1.7; }

/* CONTACT */
.contact-s { padding:8rem 3rem; background:var(--ink); text-align:center; position:relative; overflow:hidden; }
.ch-a { position:absolute; border-radius:50%; pointer-events:none; width:500px; height:380px; top:10%; left:-5%; background:radial-gradient(ellipse, rgba(217,119,6,.2) 0%, transparent 65%); filter:blur(60px); }
.ch-b { position:absolute; border-radius:50%; pointer-events:none; width:400px; height:300px; bottom:0; right:0; background:radial-gradient(ellipse, rgba(5,150,105,.12) 0%, transparent 65%); filter:blur(70px); }
.contact-in { position:relative; z-index:1; max-width:660px; margin:0 auto; }
.c-ey { font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-bottom:1.1rem; display:block; }
.c-ti { font-size:clamp(2rem, 4vw, 3.2rem); font-weight:700; letter-spacing:-.045em; line-height:1.05; color:#fff; margin-bottom:1.1rem; text-wrap:balance; }
.c-su { font-size:1rem; color:rgba(255,255,255,.6); line-height:1.7; margin-bottom:2.75rem; }
.c-btns { display:flex; gap:.75rem; flex-wrap:wrap; justify-content:center; }
.c-trust { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem 2rem; margin-top:2rem; font-size:.8rem; color:rgba(255,255,255,.5); }

/* FOOTER */
.footer { background:var(--ink); border-top:1px solid rgba(255,255,255,.06); padding:2rem 2.75rem; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem 1.5rem; font-size:.8rem; color:rgba(255,255,255,.45); }
.footer a { color:rgba(255,255,255,.65); }
.footer a:hover { color:#fff; }
.f-brand { font-size:.875rem; font-weight:700; color:#fff; }
.f-links { display:flex; flex-wrap:wrap; gap:.4rem 1.1rem; }

/* ANIMATION HERO */
@media (prefers-reduced-motion: no-preference) {
  .hero-ey   { opacity:0; transform:translateY(16px); animation:hUp .6s ease .05s forwards; }
  .hero-h    { opacity:0; transform:translateY(28px); animation:hUp .75s cubic-bezier(.16,1,.3,1) .18s forwards; }
  .hero-sub  { opacity:0; transform:translateY(22px); animation:hUp .7s cubic-bezier(.16,1,.3,1) .35s forwards; }
  .hero-desc { opacity:0; transform:translateY(18px); animation:hUp .65s ease .5s forwards; }
  .hero-btns { opacity:0; transform:translateY(14px); animation:hUp .6s ease .65s forwards; }
  .hero-proof{ opacity:0; animation:hUp .5s ease .82s forwards; }
  @keyframes hUp { to { opacity:1; transform:translateY(0); } }
}

/* RESPONSIVE */
@media (max-width:1024px) {
  .dom-grid, .dom-grid.cols-3 { grid-template-columns:1fr 1fr; }
  .met-grid { grid-template-columns:1fr 1fr; }
  .two-col, .two-col.wide-left { grid-template-columns:1fr; gap:3rem; }
  .media-grid.cols-3 { grid-template-columns:1fr 1fr; }
}
@media (max-width:900px) {
  .nav { padding:0 1.25rem; }
  .nav-links { display:none; }
  .mob-btn { display:block; }
  .section { padding:4rem 1.5rem; }
  .page-hero { padding:calc(var(--nav-h) + 3rem) 1.5rem 3rem; }
  .met-s { padding:3rem 1.5rem; }
  .contact-s { padding:5rem 1.5rem; }
  .footer { padding:1.5rem; }
  .prog-grid { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .dom-grid, .dom-grid.cols-3, .dom-grid.cols-2, .met-grid, .media-grid, .media-grid.cols-3 { grid-template-columns:1fr; }
  .book, .book.feat { grid-template-columns:1fr; }
  .hero-h { font-size:clamp(2rem, 9vw, 2.8rem); }
  .hero-sub { font-size:clamp(1.1rem, 5vw, 1.5rem); line-height:1.45; }
}

/* FORMULAIRE */
.form-card { background:var(--bg); border:1px solid var(--border); border-radius:var(--r); padding:2.25rem 2rem; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1rem; }
.form-group label { font-size:.82rem; font-weight:600; color:var(--ink-2); }
.form-group .required { color:var(--amber); }
.form-group input, .form-group select, .form-group textarea { font:inherit; font-size:.92rem; padding:.75rem .9rem; border:1.5px solid var(--border); border-radius:9px; background:var(--bg); color:var(--ink); transition:border-color .15s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color:var(--amber); }
.form-group .invalid { border-color:#dc2626; }
.field-error { font-size:.76rem; color:#dc2626; min-height:1em; }
.form-submit { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin-top:.5rem; }
.form-submit button { font:inherit; border:0; cursor:pointer; }
.form-note { font-size:.8rem; color:var(--muted); }
.form-success, .form-error-msg { align-items:center; gap:.75rem; padding:1.25rem; border-radius:12px; margin-top:1rem; font-size:.92rem; }
.form-success { flex-direction:column; text-align:center; background:#f0fdf4; color:#166534; }
.form-error-msg { background:#fef2f2; color:#991b1b; }
.contact-option { display:flex; align-items:center; gap:1rem; padding:1.1rem 1.25rem; border:1px solid var(--border); border-radius:12px; background:var(--bg); transition:border-color .15s, box-shadow .2s; margin-bottom:.75rem; }
.contact-option:hover { border-color:var(--amber); box-shadow:0 8px 24px rgba(0,0,0,.06); }
.contact-option h3 { font-size:.95rem; font-weight:700; }
.contact-option p { font-size:.82rem; color:var(--muted); }
@media (max-width:640px) { .form-grid { grid-template-columns:1fr; } }

/* POPUP CONFIDENTIALITÉ (reprise de numerisques.fr) */
.pv-overlay { position:fixed; inset:0; background:rgba(17,17,17,.55); z-index:200; opacity:0; pointer-events:none; transition:opacity .4s ease; backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.pv-overlay.is-on { opacity:1; pointer-events:auto; }
.pv-box { position:fixed; left:50%; top:50%; transform:translate(-50%, calc(-50% + 22px)); z-index:201; width:min(580px, calc(100vw - 2rem)); max-height:calc(100vh - 3rem); overflow-y:auto; background:#fff; border:1px solid var(--border); border-radius:20px; box-shadow:0 40px 100px rgba(0,0,0,.22), 0 8px 24px rgba(0,0,0,.1); padding:2.25rem 3rem 2.25rem 2.25rem; font-size:.91rem; line-height:1.68; color:var(--muted); opacity:0; pointer-events:none; transition:opacity .4s ease, transform .4s ease; }
.pv-box.is-on { opacity:1; transform:translate(-50%,-50%); pointer-events:auto; }
.pv-box p + p { margin-top:.75rem; }
.pv-close { position:absolute; top:1rem; right:1rem; width:32px; height:32px; border-radius:50%; background:var(--bg-soft); border:none; color:var(--muted); font-size:1.15rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s; }
.pv-close:hover { background:var(--border); color:var(--ink); }
.pv-box strong { color:var(--ink); }
.pv-quote { margin-top:1rem; padding:.85rem 1.1rem; background:var(--bg-soft); border-left:3px solid var(--amber); border-radius:0 .5rem .5rem 0; font-style:italic; font-size:.875rem; color:var(--ink-2); line-height:1.6; }
.pv-contact { margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid var(--border); }
.pv-contact-lbl { font-size:.86rem; font-weight:600; color:var(--ink); margin-bottom:.75rem; }
.pv-links { display:flex; gap:.65rem; flex-wrap:wrap; }
.pv-link { display:inline-flex; align-items:center; gap:.45rem; padding:.58rem 1.05rem; border-radius:.5rem; font-size:.84rem; font-weight:600; transition:background .18s; }
.pv-li { background:var(--bg-soft); border:1px solid var(--border); color:var(--ink); }
.pv-li:hover { background:rgba(0,0,0,.06); }
.pv-cal { background:var(--ink); color:#fff; }
.pv-cal:hover { background:var(--amber); }
@media (max-width:480px) { .pv-box { padding:1.75rem 2.25rem 1.75rem 1.5rem; } }

/* RYTHME VERTICAL : sections plus proches, chacune tenant dans un écran */
.hero { padding:calc(var(--nav-h) + 3rem) 2rem 3rem; }
.hero .hero-desc { max-width:73ch; }
.hero-ey { margin-bottom:1.25rem; }
.hero-h { margin-bottom:1.1rem; }
.hero-sub { margin-bottom:1.5rem; }
.hero-desc { margin-bottom:1.75rem; }
.hero-btns { margin-bottom:2.5rem; }
.hero-proof { padding-top:1.5rem; }
.section { padding:4.5rem 3rem; }
.ss { margin-bottom:2.25rem; }
.met-s { padding:3rem 3rem; }
.contact-s { padding:5.5rem 3rem; }
.c-su { margin-bottom:2rem; }
.page-hero { padding:calc(var(--nav-h) + 3.5rem) 3rem 3rem; }
.dom-card { padding:1.5rem 1.5rem 1.35rem; }
.d-ico { margin-bottom:.8rem; }
.d-de { margin-bottom:1rem; }
.d-list { margin-bottom:1rem; gap:.45rem; }
.prog-card { padding:1.85rem 1.75rem; }
@media (max-width:900px) {
  .section { padding:3.5rem 1.5rem; }
  .contact-s { padding:4rem 1.5rem; }
  .page-hero { padding:calc(var(--nav-h) + 2.5rem) 1.5rem 2.5rem; }
}

/* Variantes de grille pour garder chaque section dans un écran */
.section.tight { padding-top:3.5rem; padding-bottom:3.5rem; }
.prog-grid.cols-3 { grid-template-columns:repeat(3,1fr); }
.book-list.cols-2 { display:grid; grid-template-columns:1fr 1fr; }
.t-creds.row { flex-direction:row; flex-wrap:wrap; margin-bottom:2.25rem; }
.t-creds.row .t-cred { flex:1 1 200px; }
.timeline.grid3 { border-left:0; padding-left:0; display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem 2.5rem; }
.timeline.grid3 .tl-item { padding-left:1.4rem; border-left:2px solid var(--border); }
.timeline.grid3 .tl-item::before { left:-7px; }
@media (max-width:1024px) {
  .prog-grid.cols-3, .timeline.grid3 { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
  .prog-grid.cols-3, .timeline.grid3, .book-list.cols-2 { grid-template-columns:1fr; }
}

/* ACCUEIL ÉDITORIAL (sadapter.fr) : bandeaux de couleur, ton personnel */
.hero.split .hero-inner { max-width:1160px; display:grid; grid-template-columns:1.1fr .9fr; gap:3.5rem; align-items:center; text-align:left; }
.hero.split .hero-desc { margin-left:0; }
.hero.split .hero-btns, .hero.split .hero-proof { justify-content:flex-start; }
.hero.split .hero-ey { justify-content:flex-start; }
.hero-art { position:relative; display:flex; justify-content:center; align-items:center; }
.hero-art img { position:relative; z-index:1; width:100%; max-width:430px; height:auto; mix-blend-mode:multiply; }
.hero-art .blob { position:absolute; z-index:0; width:115%; max-width:520px; height:auto; }
.blob-deco { position:absolute; pointer-events:none; z-index:0; }
.band-ink { background:var(--ink); color:#fff; position:relative; overflow:hidden; }
.band-ink .sh { color:#fff; }
.band-ink .eyebrow { color:rgba(255,255,255,.5); }
.band-ink p { color:rgba(255,255,255,.75); font-size:1.02rem; line-height:1.75; }
.band-ink p + p { margin-top:1rem; }
.band-ink strong { color:#fff; }
.band-grid { display:grid; grid-template-columns:1.35fr .85fr; gap:4rem; align-items:center; position:relative; z-index:1; }
.cta-card { background:var(--amber); color:#fff; border-radius:var(--r); padding:2.25rem 2rem; text-align:center; box-shadow:0 20px 60px rgba(217,119,6,.25); }
.cta-card .cta-ti { font-size:1.35rem; font-weight:700; letter-spacing:-.02em; margin-bottom:.6rem; color:#fff; }
.cta-card p { color:rgba(255,255,255,.9); font-size:.92rem; margin-bottom:1.4rem; }
.cta-card a { display:inline-flex; align-items:center; gap:.5rem; padding:.85rem 1.6rem; background:var(--ink); color:#fff; border-radius:9px; font-weight:700; font-size:.95rem; transition:transform .12s; }
.cta-card a:hover { transform:translateY(-1px); }
.whoami { display:grid; grid-template-columns:1.2fr .8fr; gap:4.5rem; align-items:center; }
.whoami .prose p { font-size:1.02rem; }
.portrait-wrap { position:relative; display:flex; justify-content:center; }
.portrait-wrap img { position:relative; z-index:1; width:100%; max-width:320px; border-radius:50%; }
.portrait-wrap .blob { position:absolute; z-index:0; width:120%; max-width:400px; top:50%; left:50%; transform:translate(-50%,-50%); }
.section.cream { background:#FBF7F0; }
.section.amber-soft { background:#FEF3C7; }
@media (max-width:1024px) {
  .hero.split .hero-inner, .band-grid, .whoami { grid-template-columns:1fr; gap:2.5rem; }
  .hero-art img { max-width:320px; }
}
@media (max-width:1024px) {
  .blob-deco { display:none; }
  .hero.split { min-height:auto; padding-top:calc(var(--nav-h) + 2rem); }
}
/* couvertures de livres : même hauteur, quel que soit le format d'origine */
.book img { width:120px; height:180px; object-fit:cover; object-position:center top; }
.book.feat img { width:200px; height:300px; }

/* TITRE TYPOGRAPHIQUE EN PROFONDEUR (accueil sadapter.fr) */
.hero-h.deep {
  position:relative; isolation:isolate; display:inline-block;
  font-size:clamp(4.2rem, 13vw, 10.5rem); line-height:.88; letter-spacing:-.065em;
  margin-bottom:1.4rem; padding:0 .08em .06em 0;
}
.hero-h.deep .t {
  position:relative; z-index:1;
  background:linear-gradient(180deg, #111111 0%, #2b2b2b 55%, #4a4a4a 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 22px 28px rgba(17,17,17,.14));
}
.hero-h.deep .t em { -webkit-text-fill-color:var(--amber); color:var(--amber); }
.hero-h.deep::before {
  content:attr(data-text); position:absolute; left:0; top:0; z-index:0;
  transform:translate(.04em, .04em);
  color:transparent; -webkit-text-fill-color:transparent;
  -webkit-text-stroke:2px rgba(217,119,6,.5);
  pointer-events:none;
}
.hero-h.deep + .hero-sub { margin-top:-.2rem; }
@media (max-width:640px) {
  .hero-h.deep { font-size:clamp(3.4rem, 17vw, 4.6rem); }
  .hero-h.deep::before { -webkit-text-stroke:1.5px rgba(217,119,6,.5); }
}

/* Pages intérieures : même titre en profondeur que l'accueil, à taille réduite */
.page-hero .hero-h.deep { font-size:clamp(2.4rem, 5.6vw, 4.6rem); line-height:.98; letter-spacing:-.05em; margin-bottom:1.25rem; }
.page-hero .hero-h.deep::before { -webkit-text-stroke:1.5px rgba(217,119,6,.5); transform:translate(.035em, .035em); }
.page-hero .hero-h.deep .t { filter:drop-shadow(0 14px 22px rgba(17,17,17,.12)); }
.page-hero .hero-inner { position:relative; z-index:1; }
@media (max-width:640px) {
  .page-hero .hero-h.deep { font-size:clamp(2rem, 9vw, 2.8rem); }
  .page-hero .blob-deco { display:none; }
}
.page-hero .hero-h.deep { display:block; width:fit-content; max-width:100%; }
.f-res { flex-basis:100%; padding-top:.75rem; border-top:1px solid rgba(255,255,255,.08); }
.f-res strong { color:rgba(255,255,255,.8); font-weight:700; margin-right:.4rem; }

/* Pied de page en colonnes */
.footer.cols { display:block; padding:3.5rem 2.75rem 1.5rem; }
.f-grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:2.5rem; max-width:1200px; margin:0 auto; }
.f-col { display:flex; flex-direction:column; gap:.55rem; }
.f-col h4 { color:#fff; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin:0 0 .4rem; }
.f-col a { font-size:.85rem; }
.f-about p { color:rgba(255,255,255,.55); font-size:.85rem; line-height:1.6; margin:.4rem 0; max-width:34ch; }
.f-brandlink { color:#fff !important; }
.f-brandlink small { color:rgba(255,255,255,.5); }
.f-li { display:inline-flex; align-items:center; gap:.45rem; }
.f-bottom { max-width:1200px; margin:2.5rem auto 0; padding-top:1.25rem; border-top:1px solid rgba(255,255,255,.08); display:flex; flex-wrap:wrap; justify-content:space-between; gap:.6rem 1.5rem; }
.f-bl { display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; }
@media (max-width:900px) { .f-grid { grid-template-columns:1fr 1fr; } .f-about { grid-column:1/-1; } }
@media (max-width:520px) { .footer.cols { padding:2.5rem 1.5rem 1.25rem; } .f-grid { grid-template-columns:1fr; gap:1.75rem; } }
.f-brandlink svg [fill="#111"] { fill:#fff; }
.f-brandlink svg [stroke="#111"] { stroke:#fff; }

/* Bloc « En bref » : résumé factuel en tête des pages de formation */
.brief-s { padding:2.5rem 3rem; background:var(--bg-soft); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.brief-lead { max-width:860px; font-size:1rem; line-height:1.7; color:var(--ink-2); margin-bottom:1.25rem; }
.brief-lead strong { color:var(--ink); }
.brief { display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); background:var(--bg); border:1px solid var(--border); border-radius:14px; overflow:hidden; margin:0; }
.brief > div { padding:1rem 1.2rem; box-shadow:1px 0 0 var(--border), 0 1px 0 var(--border); }
.brief dt { font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:.3rem; }
.brief dd { margin:0; font-size:.9rem; font-weight:600; color:var(--ink); line-height:1.45; }
@media (max-width:520px) { .brief-s { padding:2rem 1.5rem; } }
