/* ============================================================
   pages.css — SOCLE 2026 factorisé + spécifique par page (scopé).
   GÉNÉRÉ automatiquement. Le spécifique de chaque page est isolé
   sous body.al-page-<clé> (imbrication CSS native).
   ============================================================ */

/* ===== SOCLE COMMUN (pages migrées 2026) ===== */
:root { --ink: #16181d; --ink-soft: #3c424b; --muted: #6b7280; --paper: #f7f5f0; --paper-2: #efece4; --white: #ffffff; --dark: #121715; --line: rgba(22,24,29,.10); --line-strong: rgba(22,24,29,.18); --gold: #e7ad42; --gold-deep: #c8893a; --green: #2e9e6b; --green-soft: #e6f4ec; --coral: #e0533a; --coral-soft: #fbeae6; --cta: #e7ad42; --radius: 14px; --radius-lg: 22px; --shadow-sm: 0 8px 24px rgba(22,24,29,.07); --shadow: 0 24px 60px rgba(22,24,29,.12); --shadow-lg: 0 36px 90px rgba(22,24,29,.16); --gold-soft: #fbeccb; --cta-hover: #f1bd5c; --promo: #6b1f2b; --cta-shadow: rgba(231,173,66,.34); --legal-tint: #f7f5f0; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: "Inter",system-ui,-apple-system,sans-serif; font-size: 17px; font-weight: 400; line-height: 1.65; -webkit-font-smoothing: antialiased; }
::selection { background: rgba(231, 173, 66, 0.3); }
img {
        display: block;
        max-width: 100%;
      }
a {
        color: inherit;
      }
h1,
      h2,
      h3,
      h4,
      p {
        margin-top: 0;
      }
figure {
        margin: 0;
      }
.sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
      }
.nav-links a:hover,
      .nav-links .current-menu-item > a,
      .menu-parent:hover .menu-trigger,
      .menu-parent:focus-within .menu-trigger {
        opacity: 1;
      }
.nav-links .current-menu-item > a::after,
      .nav-links .current-menu-item > .menu-trigger::before {
        content: "";
        position: absolute;
        right: 0;
        bottom: 17px;
        left: 0;
        height: 4px;
        border-radius: 3px;
        background: currentColor;
      }
.menu-toggle span,
      .menu-toggle span::before,
      .menu-toggle span::after {
        display: block;
        width: 20px;
        height: 2px;
        border-radius: 999px;
        background: currentColor;
      }
h1,
      h2,
      h3,
      p,
      figure {
        margin-top: 0;
      }
.lead,
      .muted {
        color: var(--ink-soft);
      }
h1,h2,h3,p,ul{margin-top:0}
.nav-links .current-menu-item>a::after{content:"";position:absolute;right:0;bottom:17px;left:0;height:4px;border-radius:3px;background:currentColor}
.menu-parent:hover .sub-menu,.menu-parent:focus-within .sub-menu{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.search-toggle:hover{border-color:rgba(16,19,21,.28);transform:translateY(-1px)}
.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{display:block;width:20px;height:2px;border-radius:999px;background:currentColor}
.menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0}
.newsletter-band{position:relative;overflow:hidden;padding:clamp(56px,7vw,80px) 0;background:var(--paper)}
.newsletter-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,245,240,.97),rgba(247,245,240,.82)),url("https://www.alexlevand.com/wp-content/uploads/2023/03/alex-levand-levand-academy-programme-cover-horizontal-abods-3.jpg") center/cover no-repeat;opacity:.5}
.newsletter-panel h2{margin:0;font-size:clamp(25px,3vw,34px)}
.newsletter-panel p{margin:0;color:var(--ink-soft);font-size:17px}
.newsletter-inline input{min-height:54px;padding:0 18px;border:1px solid var(--line-strong);border-radius:10px;background:var(--white);color:var(--ink);font:inherit}
.newsletter-inline button{min-height:54px;padding:0 26px;border:0;border-radius:10px;background:var(--gold);color:#2a1d05;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .18s ease,transform .18s ease}
.newsletter-inline button:hover{background:#ffe066;transform:translateY(-2px)}
.newsletter-note{font-size:13px;color:var(--muted)}
h1,h2,h3,p,ul,figure{margin-top:0}
.search-toggle,.ghost-button{display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--white);cursor:pointer;text-decoration:none;font-weight:750}
h1,h2,h3,h4,p,figure,ul{margin-top:0}
.nav-links a:hover,.nav-links .current-menu-item>a,.menu-parent:hover .menu-trigger,.menu-parent:focus-within .menu-trigger{opacity:1}
.nav-links .current-menu-item>a::after,.nav-links .current-menu-item>.menu-trigger::before{content:"";position:absolute;right:0;bottom:17px;left:0;height:4px;border-radius:3px;background:currentColor}
h1,h2,h3{font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.breadcrumb{margin:0 0 18px;color:rgba(255,253,248,.7);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.breadcrumb a{color:inherit;text-decoration:none;opacity:.85}
.breadcrumb a:hover{opacity:1}
h1,
      h2,
      p {
        margin-top: 0;
      }
h1,h2,h4,p,ul{margin-top:0}
h1,h2{font-weight:800;letter-spacing:-.02em;line-height:1.1}
h1,h2,p,ul{margin-top:0}
h1,h2,h3,p,figure{margin-top:0}
details{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:22px 24px;box-shadow:var(--shadow-sm)}
summary{cursor:pointer;font-weight:700;letter-spacing:-.01em;list-style:none}

/* ===== @keyframes (globaux) ===== */
@keyframes hero-img-breathe {
        0%, 100% { filter: brightness(0.94) saturate(1.05); }
        50% { filter: brightness(1.1) saturate(1.35); }
      }
@keyframes energy-gold {
        0%, 100% { opacity: 0.35; transform: translate3d(0, 0, 0) scale(1); }
        50% { opacity: 0.95; transform: translate3d(8%, -8%, 0) scale(1.28); }
      }
@keyframes energy-red {
        0%, 100% { opacity: 0.3; transform: translate3d(0, 0, 0) scale(1); }
        50% { opacity: 0.9; transform: translate3d(-6%, 6%, 0) scale(1.22); }
      }
@keyframes energy-amber {
        0%, 100% { opacity: 0.22; transform: translate3d(0, 0, 0) scale(1); }
        50% { opacity: 0.72; transform: translate3d(4%, -3%, 0) scale(1.18); }
      }
@keyframes hero-shimmer {
        0%, 100% { opacity: 0.45; transform: scale(1); }
        50% { opacity: 1; transform: scale(1.12); }
      }
@keyframes hero-chi-spin { to { rotate: 360deg; } }
@keyframes hero-chi-pulse { 0%, 100% { scale: 0.95; opacity: 0.5; } 50% { scale: 1.06; opacity: 0.82; } }
@keyframes hero-beams { to { background-position: 300px 0, 0 0; } }
@keyframes hero-flow { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
@keyframes hero-sonar { 0% { transform: translate(-50%, -50%) scale(0.35); opacity: 0.85; } 100% { transform: translate(-50%, -50%) scale(1.5); opacity: 0; } }
@keyframes hero-aurora { 0%, 100% { transform: translateX(-6%) skewX(-8deg); } 50% { transform: translateX(6%) skewX(8deg); } }

/* ===== HOME ===== */
body.al-page-home {
  h1,
        h2,
        h3 {
          font-weight: 800;
          line-height: 1.1;
          letter-spacing: -0.02em;
          color: var(--ink);
        }
  .section {
          padding: clamp(64px, 8vw, 110px) 0;
        }
  .section.alt {
          background: var(--paper);
        }
  .section-head {
          max-width: 720px;
          margin-bottom: 44px;
        }
  .section-head h2 {
          margin: 0;
          font-size: clamp(25px, 3vw, 34px);
        }
  .lead {
          color: var(--ink-soft);
          font-size: clamp(18px, 2vw, 21px);
          line-height: 1.55;
        }
  .hero {
          position: relative;
          min-height: 560px;
          display: grid;
          align-items: center;
          overflow: hidden;
          background: var(--dark);
          color: #fffdf8;
        }
  .hero::before {
          content: "";
          position: absolute;
          z-index: 0;
          inset: 0;
          background:
            linear-gradient(90deg, rgba(24, 8, 10, 0.84) 0%, rgba(52, 14, 12, 0.56) 46%, rgba(16, 19, 21, 0.1) 80%),
            linear-gradient(180deg, rgba(30, 10, 8, 0.5) 0%, transparent 40%, rgba(20, 12, 10, 0.32) 100%),
            url("../web/alex-hero-2.jpg") right top / cover no-repeat;
          animation: hero-img-breathe 9s ease-in-out infinite;
        }
  .hero::after {
          content: "";
          position: absolute;
          z-index: 2;
          inset: 0;
          background:
            radial-gradient(ellipse 55% 45% at 22% 58%, rgba(255, 214, 120, 0.28) 0%, transparent 72%),
            radial-gradient(ellipse 40% 35% at 70% 35%, rgba(255, 90, 70, 0.22) 0%, transparent 70%);
          pointer-events: none;
          mix-blend-mode: screen;
          transform-origin: 28% 52%;
          animation: hero-shimmer 5.5s ease-in-out infinite;
        }
  .hero-energy {
          position: absolute;
          z-index: 1;
          inset: 0;
          overflow: hidden;
          pointer-events: none;
          mix-blend-mode: screen;
        }
  .hero-energy__orb {
          position: absolute;
          border-radius: 50%;
          will-change: transform, opacity;
        }
  .hero-energy__orb--gold {
          top: 14%;
          left: -10%;
          width: min(58vw, 540px);
          height: min(58vw, 540px);
          background: radial-gradient(circle, rgba(255, 214, 110, 0.95) 0%, rgba(230, 120, 50, 0.55) 42%, transparent 72%);
          filter: blur(38px);
          animation: energy-gold 6s ease-in-out infinite;
        }
  .hero-energy__orb--red {
          top: -4%;
          right: 0;
          width: min(46vw, 440px);
          height: min(46vw, 440px);
          background: radial-gradient(circle, rgba(255, 78, 58, 0.9) 0%, rgba(180, 32, 26, 0.45) 48%, transparent 76%);
          filter: blur(34px);
          animation: energy-red 4.2s ease-in-out infinite;
        }
  .hero-energy__orb--amber {
          bottom: -18%;
          left: 18%;
          width: min(72vw, 680px);
          height: min(42vw, 380px);
          background: radial-gradient(circle, rgba(255, 138, 48, 0.65) 0%, transparent 72%);
          filter: blur(48px);
          animation: energy-amber 7s ease-in-out infinite;
        }
  .hero-energy__orb--ember {
          right: 8%;
          bottom: -14%;
          width: min(50vw, 460px);
          height: min(50vw, 460px);
          background: radial-gradient(circle, rgba(255, 150, 70, 0.8) 0%, rgba(230, 90, 40, 0.4) 46%, transparent 74%);
          filter: blur(40px);
          animation: energy-amber 8.5s ease-in-out infinite reverse;
        }

  /* ===== Variantes de hero (preview pour choisir) ===== */
  .hero-variant-badge{position:absolute;z-index:6;top:96px;left:24px;display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:rgba(0,0,0,.5);color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(6px)}
  .hero-chi{position:absolute;z-index:1;pointer-events:none;mix-blend-mode:screen}

  /* Variante 1 — Aura chi : orbes bleu/rose/jaune + halo conique tournant */
  .hero--v1::before{background:linear-gradient(90deg,rgba(10,12,40,.86) 0%,rgba(30,14,52,.5) 46%,rgba(16,19,42,.1) 80%),linear-gradient(180deg,rgba(12,10,42,.5) 0%,transparent 40%,rgba(20,12,42,.32) 100%),url("../web/alex-hero-2.jpg") right top/cover no-repeat}
  .hero--v1::after{background:radial-gradient(ellipse 55% 45% at 24% 56%,rgba(90,150,255,.34) 0%,transparent 72%),radial-gradient(ellipse 42% 36% at 68% 36%,rgba(255,95,205,.28) 0%,transparent 70%)}
  .hero--v1 .hero-energy__orb--gold{background:radial-gradient(circle,rgba(95,155,255,.95) 0%,rgba(60,95,225,.5) 42%,transparent 72%)}
  .hero--v1 .hero-energy__orb--red{background:radial-gradient(circle,rgba(255,95,205,.9) 0%,rgba(205,45,155,.45) 48%,transparent 76%)}
  .hero--v1 .hero-energy__orb--amber{background:radial-gradient(circle,rgba(255,228,95,.6) 0%,transparent 72%)}
  .hero--v1 .hero-energy__orb--ember{background:radial-gradient(circle,rgba(155,115,255,.8) 0%,rgba(95,65,225,.4) 46%,transparent 74%)}
  .hero--v1 .hero-chi{left:clamp(-140px,4vw,60px);top:50%;width:min(72vw,780px);height:min(72vw,780px);translate:0 -50%;border-radius:50%;background:conic-gradient(from 0deg,rgba(95,155,255,.5),rgba(255,95,205,.5),rgba(255,228,95,.5),rgba(95,155,255,.5));filter:blur(64px);animation:hero-chi-spin 16s linear infinite,hero-chi-pulse 5s ease-in-out infinite}

  /* Variante 2 — Onde d'énergie : faisceaux + halo électrique */
  .hero--v2::before{background:linear-gradient(90deg,rgba(6,10,32,.9) 0%,rgba(26,10,42,.55) 46%,rgba(12,16,32,.12) 80%),url("../web/alex-hero-2.jpg") right top/cover no-repeat}
  .hero--v2::after{background:repeating-linear-gradient(115deg,rgba(95,155,255,.12) 0px,rgba(95,155,255,.12) 2px,transparent 2px,transparent 26px),radial-gradient(ellipse 50% 40% at 30% 55%,rgba(255,120,210,.28),transparent 70%);background-size:300px 100%,100% 100%;animation:hero-beams 5s linear infinite}
  .hero--v2 .hero-energy__orb--gold{background:radial-gradient(circle,rgba(70,195,255,.95) 0%,rgba(40,115,235,.5) 42%,transparent 72%)}
  .hero--v2 .hero-energy__orb--red{background:radial-gradient(circle,rgba(255,75,185,.92) 0%,rgba(210,35,145,.45) 48%,transparent 76%)}
  .hero--v2 .hero-energy__orb--amber{background:radial-gradient(circle,rgba(255,238,125,.62) 0%,transparent 72%)}
  .hero--v2 .hero-energy__orb--ember{background:radial-gradient(circle,rgba(125,125,255,.8) 0%,transparent 74%)}
  .hero--v2 .hero-chi{left:50%;top:50%;width:min(60vw,660px);height:min(60vw,660px);translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,transparent 37%,rgba(120,180,255,.4) 45%,transparent 51%),radial-gradient(circle,transparent 53%,rgba(255,105,205,.32) 60%,transparent 66%);animation:hero-chi-pulse 3.6s ease-in-out infinite}
  .hero--v2 h1{text-shadow:0 0 30px rgba(120,175,255,.45)}

  /* --- Variantes 3-6 : ondes d'énergie, palette V1 (bleu/violet/rose/jaune) --- */
  .hero--v3::before,.hero--v4::before,.hero--v5::before,.hero--v6::before{background:linear-gradient(90deg,rgba(10,12,40,.86) 0%,rgba(30,14,52,.5) 46%,rgba(16,19,42,.1) 80%),linear-gradient(180deg,rgba(12,10,42,.5) 0%,transparent 40%,rgba(20,12,42,.32) 100%),url("../web/alex-hero-2.jpg") right top/cover no-repeat}
  .hero--v3 .hero-energy__orb--gold,.hero--v4 .hero-energy__orb--gold,.hero--v5 .hero-energy__orb--gold,.hero--v6 .hero-energy__orb--gold{background:radial-gradient(circle,rgba(95,155,255,.9) 0%,rgba(60,95,225,.45) 42%,transparent 72%)}
  .hero--v3 .hero-energy__orb--red,.hero--v4 .hero-energy__orb--red,.hero--v5 .hero-energy__orb--red,.hero--v6 .hero-energy__orb--red{background:radial-gradient(circle,rgba(255,95,205,.88) 0%,rgba(205,45,155,.42) 48%,transparent 76%)}
  .hero--v3 .hero-energy__orb--amber,.hero--v4 .hero-energy__orb--amber,.hero--v5 .hero-energy__orb--amber,.hero--v6 .hero-energy__orb--amber{background:radial-gradient(circle,rgba(255,228,95,.55) 0%,transparent 72%)}
  .hero--v3 .hero-energy__orb--ember,.hero--v4 .hero-energy__orb--ember,.hero--v5 .hero-energy__orb--ember,.hero--v6 .hero-energy__orb--ember{background:radial-gradient(circle,rgba(155,115,255,.78) 0%,rgba(95,65,225,.38) 46%,transparent 74%)}

  /* V3 — Faisceaux diagonaux */
  .hero--v3::after{background:repeating-linear-gradient(115deg,rgba(95,155,255,.14) 0px,rgba(95,155,255,.14) 2px,transparent 2px,transparent 24px),repeating-linear-gradient(115deg,rgba(255,95,205,.1) 0px,rgba(255,95,205,.1) 2px,transparent 2px,transparent 40px);background-size:300px 100%,420px 100%;animation:hero-beams 5s linear infinite}

  /* V4 — Ondes concentriques (sonar) */
  .hero--v4 .hero-chi{left:32%;top:56%;width:min(60vw,680px);height:min(60vw,680px);border-radius:50%;background:radial-gradient(circle,rgba(95,155,255,.5) 0%,rgba(255,95,205,.3) 40%,transparent 62%);animation:hero-sonar 3.4s ease-out infinite}
  .hero--v4::after{background:radial-gradient(circle at 32% 56%,rgba(120,170,255,.18),transparent 60%)}

  /* V5 — Vague fluide (dégradé qui coule) */
  .hero--v5::after{background:linear-gradient(100deg,rgba(95,155,255,.34),rgba(150,110,255,.3),rgba(255,95,205,.3),rgba(255,228,95,.26),rgba(95,155,255,.34));background-size:280% 280%;mix-blend-mode:screen;animation:hero-flow 9s ease-in-out infinite}

  /* V6 — Aurore ondulante (rubans) */
  .hero--v6 .hero-chi{left:0;top:0;width:120%;height:100%;background:repeating-linear-gradient(78deg,transparent 0,rgba(95,155,255,.16) 30px,rgba(150,110,255,.16) 60px,rgba(255,95,205,.14) 90px,transparent 130px);filter:blur(26px);animation:hero-aurora 8s ease-in-out infinite}
  .hero-grid {
          position: relative;
          z-index: 3;
          display: grid;
          grid-template-columns: minmax(0, 620px);
          gap: 24px;
          padding: 148px 0 70px;
        }
  .hero-grid > div {
          max-width: 620px;
        }
  .hero h1 {
          max-width: 620px;
          margin-bottom: 28px;
          font-size: clamp(32px, 4vw, 46px);
          font-weight: 800;
          line-height: 1.05;
          letter-spacing: -1.4px;
          color: #fffdf8;
        }
  .hero .lead {
          max-width: 560px;
          margin-bottom: 32px;
          color: rgba(255, 253, 248, 0.87);
          font-size: 22px;
          line-height: 1.5;
        }
  .hero-actions {
          display: flex;
          flex-wrap: wrap;
          gap: 12px;
        }
  .o-embed {
          width: min(1000px, calc(100% - 40px));
          margin: 0 auto;
        }
  .vimeo-embed {
          position: relative;
          aspect-ratio: 16 / 9;
          margin-top: 56px;
          overflow: hidden;
          box-shadow: 0 6px 18px rgba(22, 24, 29, 0.10), 0 16px 44px rgba(22, 24, 29, 0.16);
        }
  .vimeo-embed .fluid-width-video-wrapper {
          position: absolute;
          inset: 0;
          padding: 0 !important;
        }
  .vimeo-embed iframe {
          position: absolute;
          inset: 0;
          width: 100%;
          height: 100%;
          border: 0;
        }
  .fit-grid {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          gap: 22px;
        }
  .fit-panel {
          position: relative;
          padding: 38px;
          border: 1px solid var(--line);
          border-radius: var(--radius-lg);
          background: var(--white);
          box-shadow: var(--shadow-sm);
          overflow: hidden;
        }
  .fit-panel::before {
          content: "";
          position: absolute;
          inset: 0 0 auto 0;
          height: 4px;
          background: var(--green);
        }
  .fit-panel.no::before {
          background: var(--coral);
        }
  .fit-panel h3 {
          margin: 0 0 22px;
          font-size: 20px;
        }
  .check-list {
          display: grid;
          gap: 14px;
          margin: 0;
          padding: 0;
          list-style: none;
        }
  .check-list li {
          position: relative;
          padding-left: 38px;
          color: var(--ink-soft);
          font-size: 16px;
          line-height: 1.5;
        }
  .check-list li::before {
          content: "";
          position: absolute;
          left: 0;
          top: 1px;
          width: 24px;
          height: 24px;
          border-radius: 7px;
          background:
            var(--green-soft)
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232e9e6b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")
            center / 15px no-repeat;
        }
  .fit-panel.no .check-list li::before {
          background:
            var(--coral-soft)
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e0533a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E")
            center / 14px no-repeat;
        }
  .accompagnement {
          padding: 0;
          overflow: hidden;
        }
  .offer-feature {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 0;
          align-items: stretch;
          width: 100%;
          min-height: 600px;
        }
  .image-stack {
          height: 100%;
        }
  .image-stack .portrait {
          display: block;
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center top;
        }
  .offer-feature .copy {
          align-self: center;
          max-width: 660px;
          padding: clamp(56px, 7vw, 104px) clamp(28px, 5vw, 84px);
        }
  .accompagnement h2 {
          font-size: clamp(25px, 3vw, 34px);
          margin-bottom: 18px;
        }
  .accompagnement p {
          color: var(--ink-soft);
          font-size: 17px;
          max-width: 560px;
        }
  .energy-list {
          display: grid;
          gap: 0;
          margin: 28px 0;
          padding: 0;
          list-style: none;
          border-top: 1px solid var(--line);
        }
  .energy-list li {
          display: grid;
          grid-template-columns: auto 1fr;
          gap: 18px;
          align-items: center;
          padding: 18px 0;
          border-bottom: 1px solid var(--line);
        }
  .energy-list span {
          font-size: 22px;
          font-weight: 800;
          color: var(--gold-deep);
          line-height: 1;
        }
  .energy-list strong {
          font-weight: 600;
          font-size: 17px;
          color: var(--ink);
        }
  .program-actions {
          display: flex;
          flex-wrap: wrap;
          gap: 14px;
          margin-top: 30px;
        }
  .video-head {
          margin-bottom: 40px;
        }
  .video-head h2 {
          margin: 0;
          font-size: clamp(25px, 3vw, 34px);
        }
  .video-rail {
          display: grid;
          grid-template-columns: repeat(4, 1fr);
          gap: 18px;
        }
  .video-card {
          position: relative;
          aspect-ratio: 4 / 5;
          overflow: hidden;
          border-radius: 14px;
          background: var(--paper-2);
          box-shadow: var(--shadow-sm);
          cursor: pointer;
        }
  .video-card img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
        }
  .video-card::after {
          content: "";
          position: absolute;
          inset: 0;
          background: linear-gradient(180deg, rgba(22, 24, 29, 0) 36%, rgba(22, 24, 29, 0.85) 100%);
        }
  .play-button {
          position: absolute;
          z-index: 2;
          top: 20px;
          right: 20px;
          display: grid;
          place-items: center;
          width: 52px;
          height: 52px;
          border-radius: 999px;
          background: rgba(255, 255, 255, 0.92);
          box-shadow: var(--shadow-sm);
          transition: background 200ms ease, transform 200ms ease;
        }
  .video-card:hover .play-button {
          background: var(--gold);
          transform: scale(1.06);
        }
  .video-card iframe,
        .video-card video {
          position: absolute;
          inset: 0;
          z-index: 5;
          width: 100%;
          height: 100%;
          border: 0;
          background: #000;
          object-fit: cover;
        }
  .video-card.is-playing::after,
        .video-card.is-playing .play-button,
        .video-card.is-playing .video-copy {
          display: none;
        }
  .video-copy {
          position: absolute;
          z-index: 2;
          right: 22px;
          bottom: 22px;
          left: 22px;
          color: var(--white);
        }
  .video-copy span {
          display: block;
          margin-bottom: 8px;
          color: rgba(255, 253, 248, 0.78);
          font-size: 12px;
          font-weight: 700;
          letter-spacing: 0.12em;
          text-transform: uppercase;
        }
  .video-copy strong {
          display: block;
          font-size: 18px;
          font-weight: 600;
          line-height: 1.32;
        }
  .testimonial-actions {
          margin-top: 36px;
          text-align: center;
        }
  .app-layout {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 56px;
          align-items: center;
        }
  .app-layout h2 {
          font-size: clamp(25px, 3vw, 34px);
          margin-bottom: 16px;
        }
  .app-layout p {
          color: var(--ink-soft);
          font-size: 17px;
          max-width: 460px;
        }
  .store-buttons {
          display: flex;
          flex-wrap: wrap;
          gap: 14px;
          margin-top: 28px;
        }
  .store-buttons img {
          height: 52px;
          width: auto;
        }
  .app-screens {
          display: grid;
          grid-template-columns: repeat(3, 1fr);
          gap: 14px;
        }
  .app-screens img {
          width: 100%;
          border-radius: 16px;
        }
  .app-screens img:nth-child(2) {
          transform: translateY(-22px);
        }
  .newsletter-form input {
          min-height: 50px;
          padding: 0 16px;
          border: 1px solid var(--line);
          border-radius: 10px;
          background: var(--white);
          color: var(--ink);
          font: inherit;
        }
  .newsletter-form input::placeholder {
          color: var(--muted);
        }
  .newsletter-form button {
          min-height: 50px;
          padding: 0 18px;
          border: 0;
          border-radius: 10px;
          background: var(--ink);
          color: var(--white);
          font: inherit;
          font-weight: 700;
          cursor: pointer;
          transition: background 180ms ease;
        }
  .pillars-grid {
          display: grid;
          grid-template-columns: repeat(3, 1fr);
          gap: clamp(28px, 4vw, 56px);
        }
  .pcard-1 {
          padding: 6px 6px 6px 0;
        }
  .pcard-1 .num {
          font-size: 40px;
          font-weight: 800;
          line-height: 1;
          letter-spacing: -0.03em;
          color: var(--gold-deep);
        }
  .pcard-1 .rule {
          width: 42px;
          height: 3px;
          margin: 16px 0 18px;
          border-radius: 2px;
          background: var(--gold);
        }
  .pcard-1 h3 {
          margin: 0 0 10px;
          font-size: 19px;
        }
  .pcard-1 p {
          margin: 0;
          color: var(--muted);
          font-size: 15.5px;
          line-height: 1.55;
        }
  .bilan-3 {
          display: grid;
          grid-template-columns: 0.95fr 1.05fr;
          overflow: hidden;
          border: 1px solid var(--line);
          border-radius: var(--radius-lg);
          background: var(--white);
          box-shadow: var(--shadow);
        }
  .bilan-3 .copy {
          padding: clamp(34px, 4.5vw, 56px);
        }
  .bilan-3 h2 {
          margin: 0 0 8px;
          font-size: clamp(23px, 2.6vw, 30px);
        }
  .bilan-3 .sub {
          margin: 0 0 18px;
          color: var(--gold-deep);
          font-size: 17px;
          font-weight: 700;
        }
  .bilan-3 p {
          color: var(--ink-soft);
          font-size: 16.5px;
        }
  .bilan-3 .note {
          display: flex;
          gap: 10px;
          margin-top: 22px;
          padding-top: 18px;
          border-top: 1px solid var(--line);
          color: var(--muted);
          font-size: 14px;
          line-height: 1.5;
        }
  .bilan-3 .note svg {
          flex: 0 0 auto;
          width: 18px;
          height: 18px;
          margin-top: 2px;
          stroke: var(--coral);
          fill: none;
          stroke-width: 2;
          stroke-linecap: round;
          stroke-linejoin: round;
        }
  .bilan-3 .photo {
          position: relative;
          min-height: 340px;
          background: var(--paper-2);
          order: -1;
        }
  .bilan-3 .photo img {
          position: absolute;
          inset: 0;
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center top;
        }
  @media (max-width: 980px) {
          .wrap {
            width: min(1180px, calc(100% - 48px));
          }
  
          .offer-feature,
          .app-layout,
          .bilan-3 {
            grid-template-columns: 1fr;
          }
  
          .offer-feature {
            min-height: 0;
          }
  
          .image-stack {
            height: auto;
          }
  
          .image-stack .portrait {
            height: auto;
            aspect-ratio: 16 / 10;
          }
  
          .offer-feature .copy {
            padding: clamp(40px, 8vw, 56px) 24px;
          }
  
          .bilan-3 .photo {
            min-height: 280px;
            order: -1;
          }
  
          .fit-grid {
            grid-template-columns: 1fr;
          }
          /* Témoignages : rail scrollable horizontalement en mobile (pas empilé) */
          .video-rail {
            display: flex;
            grid-template-columns: none;
            gap: 14px;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            -webkit-overflow-scrolling: touch;
            padding-bottom: 10px;
            scrollbar-width: none;
          }
          .video-rail::-webkit-scrollbar { display: none; }
          .video-rail > .video-card {
            flex: 0 0 74%;
            scroll-snap-align: center;
          }
  
          .pillars-grid {
            gap: clamp(16px, 4vw, 40px);
          }
  
          .app-screens img:nth-child(2) {
            transform: none;
          }}
  @media (max-width: 620px) {
          /* Vidéo home : toujours en 16/9 exact — une hauteur découplée de la
             largeur letterboxait la vidéo (bandes blanches haut/bas). */
          .o-embed { width: min(100%, 78vw); }
          .vimeo-embed { aspect-ratio: 16 / 9; height: auto; margin-top: 32px; }

          .wrap {
            width: calc(100% - 32px);
          }

          body {
            font-size: 16px;
          }
  
          .pillars-grid {
            grid-template-columns: 1fr;
            gap: 18px;
          }
  
          .pcard-1 .num {
            font-size: 30px;
          }
  
          .pcard-1 .rule {
            margin: 10px 0 12px;
          }
  
          .pcard-1 h3 {
            font-size: 16px;
          }
  
          .pcard-1 p {
            font-size: 13.5px;
            line-height: 1.45;
          }
  
          .hero {
            min-height: auto;
          }
  
          .hero-grid {
            padding: 132px 0 64px;
          }
  
          .hero .lead {
            font-size: 19px;
          }
  
          .hero-actions {
            flex-direction: column;
            align-items: stretch;
          }
  
          .fit-panel {
            padding: 28px;
          }
  
          .store-buttons img {
            height: 46px;
          }}
  @media (prefers-reduced-motion: reduce) {
          .hero::before,
          .hero::after,
          .hero-energy__orb {
            animation: none;
          }
  
          * {
            scroll-behavior: auto;
          }}
  .section--video { padding-top: clamp(4px, 1vw, 12px); padding-bottom: clamp(36px, 5vw, 72px); }
  .vimeo-embed { border-radius: 0; }}

/* ===== PRESENTATION ===== */
body.al-page-presentation {
  .wrap {
          width: min(1140px, calc(100% - 40px));
          margin: 0 auto;
        }
  h1,
        h2,
        h3 {
          font-weight: 800;
          letter-spacing: -0.02em;
          color: var(--ink);
        }
  h1 {
          max-width: 640px;
          margin-bottom: 18px;
          font-size: clamp(32px, 4.5vw, 48px);
          line-height: 1.05;
        }
  h2 {
          margin-bottom: 18px;
          font-size: clamp(25px, 3vw, 34px);
          line-height: 1.1;
        }
  h3 {
          margin-bottom: 10px;
          font-size: 20px;
          line-height: 1.2;
        }
  .section {
          padding: clamp(64px, 8vw, 110px) 0;
          background: var(--white);
          color: var(--ink);
        }
  .section.alt,
        .section.white {
          background: var(--paper);
        }
  .section-head {
          max-width: 760px;
          margin-bottom: 44px;
        }
  .section-head h2 {
          margin: 0 0 10px;
        }
  .lead {
          font-size: clamp(18px, 2vw, 21px);
          line-height: 1.55;
        }
  .hero {
          position: relative;
          overflow: hidden;
          min-height: 620px;
          display: grid;
          align-items: center;
          padding: 132px 0 70px;
          background: var(--dark);
          color: #fffdf8;
        }
  .hero h1 {
          color: #fffdf8;
        }
  .hero::before {
          content: "";
          position: absolute;
          inset: 0;
          background:
            linear-gradient(90deg, rgba(16, 19, 21, 0.9), rgba(16, 19, 21, 0.62) 42%, rgba(16, 19, 21, 0.12)),
            linear-gradient(0deg, rgba(16, 19, 21, 0.5), rgba(16, 19, 21, 0.08) 52%, rgba(16, 19, 21, 0.32)),
            var(--hero-img, url("../web/alex-photo-03.jpg")) center top / cover no-repeat;
        }
  .hero-grid {
          position: relative;
          z-index: 1;
          display: grid;
          grid-template-columns: minmax(0, 720px);
          gap: 34px;
          align-items: center;
        }
  .hero-subtitle {
          margin-bottom: 22px;
          color: var(--gold);
          font-size: clamp(18px, 2.4vw, 24px);
          font-weight: 700;
          line-height: 1.25;
          letter-spacing: -0.01em;
        }
  .hero-copy {
          max-width: 620px;
          margin-bottom: 30px;
          color: rgba(255, 253, 248, 0.85);
          font-size: clamp(17px, 2vw, 20px);
          line-height: 1.6;
        }
  .hero-photo {
          display: none;
        }
  .hero-photo img {
          width: 100%;
          height: 100%;
          min-height: 520px;
          object-fit: cover;
          object-position: center;
        }
  .hero-photo::after {
          content: "";
          position: absolute;
          inset: 0;
          border: 1px solid rgba(255, 255, 255, 0.16);
          border-radius: inherit;
          pointer-events: none;
        }
  .proof-grid,
        .credential-grid,
        .social-grid {
          display: grid;
          gap: 14px;
        }
  .proof-card,
        .credential-card,
        .social-card {
          border: 1px solid var(--line);
          border-radius: var(--radius);
          background: var(--white);
          box-shadow: var(--shadow-sm);
          transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
        }
  .proof-card:hover,
        .credential-card:hover {
          transform: translateY(-3px);
          box-shadow: var(--shadow);
        }
  .proof-card {
          min-height: 112px;
          padding: 24px;
        }
  .proof-card strong {
          display: block;
          margin-bottom: 8px;
          color: var(--gold-deep);
          font-size: clamp(24px, 3vw, 32px);
          font-weight: 800;
          line-height: 1;
          letter-spacing: -0.03em;
        }
  .proof-card span {
          display: block;
          color: var(--muted);
          font-size: 15px;
          font-weight: 600;
          line-height: 1.35;
        }
  .photo-strip {
          display: grid;
          grid-template-columns: 1.15fr 0.85fr 1fr;
          gap: 14px;
          margin-top: 34px;
        }
  .photo-tile {
          min-height: 310px;
          overflow: hidden;
          border-radius: var(--radius);
          background: var(--dark);
        }
  .photo-tile.tall {
          min-height: 420px;
        }
  .photo-tile img,
        .side-photo img,
        .credential-photo img {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
  .expertise-layout {
          display: grid;
          gap: 38px;
          align-items: start;
        }
  .text-flow {
          max-width: 760px;
          color: var(--ink-soft);
          font-size: 17px;
        }
  .text-flow p {
          margin-bottom: 20px;
        }
  .text-flow h2 {
          color: var(--ink);
        }
  .text-flow strong {
          color: var(--ink);
        }
  .expertise-side {
          display: grid;
          gap: 18px;
        }
  .side-photo,
        .credential-photo {
          overflow: hidden;
          border-radius: var(--radius-lg);
          background: var(--dark);
          box-shadow: var(--shadow);
        }
  .side-photo {
          min-height: 360px;
        }
  .credential-card {
          padding: 26px;
        }
  .credential-card p,
        .credential-card ul {
          margin-bottom: 0;
          color: var(--ink-soft);
          font-size: 16px;
        }
  .credential-card h3 {
          color: var(--gold-deep);
          font-size: 18px;
        }
  .credential-card ul {
          display: grid;
          gap: 6px;
          padding-left: 18px;
        }
  .credential-card a {
          color: var(--gold-deep);
          text-decoration: underline;
          text-underline-offset: 3px;
        }
  .credential-card h3 a {
          color: inherit;
          text-decoration: none;
        }
  .credential-card h3 a:hover {
          text-decoration: underline;
        }
  .credential-card a:hover {
          opacity: 0.85;
        }
  .credential-films {
          color: var(--muted);
          font-size: 16px;
          line-height: 1.5;
        }
  .credential-layout {
          display: grid;
          gap: 26px;
          align-items: stretch;
        }
  .credential-photo {
          min-height: 520px;
        }
  .book-section {
          overflow: hidden;
          background:
            radial-gradient(ellipse 60% 80% at 12% 20%, rgba(255, 255, 255, 0.12), transparent 70%),
            linear-gradient(140deg, #2c1366 0%, #5b2bb0 52%, #7c3aed 100%);
          color: #fffdf8;
        }
  .book-section h2 {
          color: #fffdf8;
        }
  .book-layout {
          display: grid;
          gap: 38px;
          align-items: center;
        }
  .book-cover {
          width: min(360px, 100%);
          margin: 0 auto;
          filter: drop-shadow(0 34px 60px rgba(0, 0, 0, 0.45));
        }
  .book-cover img {
          width: 100%;
          height: auto;
        }
  .book-list {
          display: grid;
          gap: 12px;
          margin: 24px 0 30px;
          padding: 0;
          list-style: none;
          color: rgba(255, 253, 248, 0.88);
          font-size: 16px;
        }
  .book-list li {
          position: relative;
          padding-left: 34px;
          line-height: 1.4;
        }
  .book-list li::before {
          content: "";
          position: absolute;
          left: 0;
          top: 1px;
          width: 22px;
          height: 22px;
          border-radius: 7px;
          background:
            rgba(231, 173, 66, 0.18)
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e7ad42' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")
            center / 14px no-repeat;
        }
  .book-actions {
          display: flex;
          flex-wrap: wrap;
          gap: 10px;
          margin-bottom: 14px;
        }
  .book-note {
          color: rgba(255, 253, 248, 0.72);
          font-size: 14px;
          font-weight: 600;
        }
  .book-section .muted {
          color: rgba(255, 253, 248, 0.82);
        }
  .social-card {
          display: grid;
          min-height: 130px;
          padding: 24px;
          text-decoration: none;
        }
  .social-card:hover {
          transform: translateY(-3px);
          box-shadow: var(--shadow);
          border-color: var(--gold);
        }
  .social-card strong {
          align-self: end;
          font-size: 22px;
          font-weight: 800;
          letter-spacing: -0.02em;
          color: var(--ink);
        }
  .social-card span {
          color: var(--gold-deep);
          font-size: 12px;
          font-weight: 700;
          letter-spacing: 0.1em;
          text-transform: uppercase;
        }
  .final-cta {
          text-align: center;
          background:
            linear-gradient(135deg, var(--gold-soft) 0%, var(--gold) 56%, var(--gold-deep) 100%);
          color: var(--ink);
        }
  .final-cta h2 {
          margin-right: auto;
          margin-left: auto;
          color: #2a1d05;
        }
  .final-cta p {
          max-width: 680px;
          margin: 0 auto 4px;
          color: rgba(42, 29, 5, 0.82);
          font-size: clamp(17px, 2vw, 20px);
          line-height: 1.55;
        }
  .final-cta .button {
          margin-top: 18px;
          background: var(--ink);
          color: #fffdf8;
          box-shadow: var(--shadow);
        }
  .final-cta .button:hover {
          background: #2a3135;
        }
  .newsletter-form input {
          min-height: 50px;
          padding: 0 16px;
          font: inherit;
        }
  .newsletter-form input::placeholder {
          color: var(--muted);
        }
  .newsletter-form button {
          min-height: 50px;
          padding: 0 18px;
          border: 0;
          font: inherit;
          font-weight: 700;
          cursor: pointer;
        }
  @media (min-width: 760px) {
          .proof-grid,
          .social-grid {
            grid-template-columns: repeat(4, 1fr);
          }
  
          .credential-grid {
            grid-template-columns: 1fr;
          }
  
          .credential-layout {
            grid-template-columns: 1fr 1fr;
          }
  
          .book-layout {
            grid-template-columns: minmax(280px, 0.66fr) minmax(0, 1fr);
          }}
  @media (min-width: 1040px) {
          .expertise-layout {
            grid-template-columns: minmax(0, 0.9fr) minmax(380px, 0.72fr);
          }}
  @media (max-width: 620px) {
          .wrap {
            width: min(100% - 28px, 1140px);
          }
  
          .section {
            padding: 72px 0;
          }
  
          .hero {
            min-height: auto;
            padding: 104px 0 64px;
          }
  
          .hero-photo,
          .hero-photo img {
            min-height: 420px;
          }
  
          .photo-strip {
            grid-template-columns: 1fr;
          }
  
          .photo-tile,
          .photo-tile.tall,
          .side-photo,
          .credential-photo {
            min-height: 340px;
          }
  
          .button,
          .ghost-button {
            width: 100%;
            white-space: normal;
            text-align: center;
          }
  
          .book-actions {
            display: grid;
          }}
  @media (prefers-reduced-motion: reduce) {
          html {
            scroll-behavior: auto;
          }
  
          *,
          *::before,
          *::after {
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
            transition-duration: 0.01ms !important;
          }}
  .pv1 { display: grid; grid-template-columns: repeat(4, 1fr); }
  .pv1 .it { padding: 4px 26px; }
  .pv1 .it + .it { border-left: 1px solid var(--line); }
  .pv1 strong { display: block; font-size: clamp(28px,3.4vw,40px); font-weight: 800; letter-spacing: -.02em; color: var(--gold-deep); line-height: 1; }
  .pv1 span { display: block; margin-top: 8px; color: var(--muted); font-size: 15px; }
  @media (max-width: 760px) {
          .pv1 { grid-template-columns: repeat(2, 1fr); }
          .pv1 .it:nth-child(3) { border-left: 0; }}}

/* ===== BLOG ===== */
body.al-page-blog {
  --radius-lg: 20px;
  font-family: Inter,system-ui,-apple-system,sans-serif;
  .wrap{width:min(1140px,calc(100% - 48px));margin:0 auto}
  .ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;font-size:16px;font-weight:750;text-decoration:none;transition:background .18s ease,transform .18s ease}
  .ghost-button:hover{transform:translateY(-1px)}
  h1{font-size:clamp(32px,4.5vw,48px);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--ink)}
  h2{margin-bottom:18px;font-size:clamp(25px,3vw,34px);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
  .muted{color:var(--muted)}
  .blog-main{padding:88px 0 0}
  .section{padding:clamp(48px,6vw,72px) 0}
  .section-tight{padding-top:8px;padding-bottom:8px}
  .page-intro{padding:8px 0 10px}
  .featured-wrap{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:16px;align-items:stretch}
  .featured-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(160px,1fr));gap:16px}
  .featured-hero,.featured-card{position:relative;overflow:hidden;display:block;min-height:100%;border-radius:var(--radius-lg);background:var(--dark);text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}
  .featured-hero{min-height:440px}
  .featured-card{min-height:160px;border-radius:var(--radius)}
  .featured-hero:hover,.featured-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
  .featured-hero img,.featured-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1)}
  .featured-hero:hover img,.featured-card:hover img{transform:scale(1.05)}
  .featured-hero::after,.featured-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,24,29,0) 38%,rgba(22,24,29,.85) 100%)}
  .featured-copy{position:absolute;z-index:1;right:20px;bottom:20px;left:20px;color:var(--white)}
  .featured-copy strong{display:block;font-size:clamp(19px,2vw,26px);font-weight:800;line-height:1.15;letter-spacing:-.01em}
  .featured-card .featured-copy strong{font-size:15px;line-height:1.3}
  .featured-label{display:inline-flex;margin-bottom:16px;padding:7px 14px;border-radius:999px;background:var(--gold-soft);color:var(--gold-deep);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
  .tag-title{margin:0 0 12px;font-size:clamp(32px,5vw,52px);font-weight:800;letter-spacing:-.02em;line-height:1.05}
  .tag-desc{max-width:640px;margin:0 0 10px;color:var(--ink-soft);font-size:17px;line-height:1.6}
  .tag-count{margin:0;color:var(--muted);font-size:14px;font-weight:600}
  .tag-back{margin:36px 0 0}
  .tag-back a{color:var(--gold-deep);font-weight:700;text-decoration:none}
  .tag-back a:hover{color:var(--gold)}
  /* Recherche : champ « affiner » + état vide */
  .search-refine{position:relative;display:flex;max-width:460px;margin:18px 0 0}
  .search-refine input{width:100%;min-height:52px;padding:0 54px 0 18px;border:1px solid var(--line-strong);border-radius:12px;background:var(--white);color:var(--ink);font:inherit;font-size:15.5px;transition:border-color .16s ease,box-shadow .16s ease}
  .search-refine input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(252,215,60,.28)}
  .search-refine button{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:9px;background:var(--gold);color:#2a1d05;cursor:pointer}
  .search-refine button svg{width:18px;height:18px}
  .search-empty{max-width:520px;margin:20px 0 40px;padding:34px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper)}
  .search-empty__title{margin:0 0 8px;font-size:19px;font-weight:800;color:var(--ink)}
  .search-empty__sub{margin:0;color:var(--ink-soft);font-size:16px}
  .search-empty__sub a{color:var(--gold-deep);font-weight:700;text-decoration:underline;text-underline-offset:3px}
  .filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px;padding:0;list-style:none}
  .filters button{padding:10px 18px;border:1px solid var(--line-strong);border-radius:999px;background:var(--white);color:var(--ink-soft);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}
  .filters button:hover{border-color:var(--gold);color:var(--gold-deep)}
  .filters button.is-active{border-color:var(--gold);background:var(--gold);color:#2a1d05}
  .articles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
  .article-row{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
  .article-row:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-strong)}
  .article-thumb{display:block;overflow:hidden;background:var(--paper-2);aspect-ratio:16/10}
  .article-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1)}
  .article-row:hover .article-thumb img{transform:scale(1.05)}
  .article-body{display:flex;flex-direction:column;gap:10px;flex:1;padding:20px 22px 24px}
  .article-tag{display:inline-flex;width:fit-content;padding:5px 11px;border-radius:999px;background:var(--gold-soft);color:var(--gold-deep);font-size:11.5px;font-weight:700;letter-spacing:.04em;line-height:1.2}
  .article-body h3{margin:0;font-size:18px;font-weight:800;line-height:1.3;letter-spacing:-.01em}
  .article-body h3 a{text-decoration:none;color:var(--ink);transition:color .16s ease}
  .article-body h3 a:hover{color:var(--gold-deep)}
  .article-body time{margin-top:auto;color:var(--muted);font-size:13.5px}
  .pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}
  .pagination-pages{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
  .pagination-pages a,.pagination-pages span{display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-size:15px;font-weight:600;color:var(--ink-soft)}
  .pagination-pages .is-current{border-color:var(--gold);background:var(--gold-soft);color:var(--gold-deep);font-weight:700}
  .pagination-pages a:hover{border-color:var(--gold);color:var(--gold-deep)}
  .pagination-next{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--line-strong);border-radius:999px;text-decoration:none;font-size:14px;font-weight:700;color:var(--ink);transition:border-color .16s ease,color .16s ease}
  .pagination-next:hover{border-color:var(--gold);color:var(--gold-deep)}
  .bla-banner{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1fr);gap:32px;align-items:center;overflow:hidden;padding:clamp(28px,4vw,44px);border-radius:var(--radius-lg);background:var(--dark);color:var(--white);box-shadow:var(--shadow)}
  .bla-banner img{width:100%;max-width:280px;border-radius:var(--radius);box-shadow:var(--shadow)}
  .bla-banner h2{margin:0 0 8px;color:var(--white);font-size:clamp(26px,3vw,38px);line-height:1.05;letter-spacing:-.02em;text-transform:lowercase}
  .bla-banner h2 span{display:block;font-size:.42em;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
  .bla-banner p{margin:0 0 16px;max-width:520px;color:rgba(255,255,255,.82);font-size:16px}
  .bla-banner strong{display:inline-flex;padding:8px 14px;border-radius:999px;background:rgba(231,173,66,.16);color:var(--gold);font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
  .bla-banner a{display:inline-flex;align-items:center;min-height:50px;margin-top:16px;padding:0 26px;border-radius:999px;background:var(--gold);color:#2a1d05;font-weight:700;text-decoration:none;box-shadow:0 14px 30px rgba(231,173,66,.36);transition:transform .2s ease,background .2s ease}
  .bla-banner a:hover{transform:translateY(-2px);background:#ffe066}
  .newsletter-panel{position:relative;display:grid;gap:18px;max-width:760px}
  .newsletter-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;max-width:560px}
  .newsletter-form input{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:6px;background:var(--white);font:inherit}
  .newsletter-form button{min-height:48px;padding:0 18px;border:0;border-radius:6px;background:var(--ink);color:var(--white);font:inherit;font-weight:700;cursor:pointer}
  @media (max-width:1040px){.blog-main{padding-top:76px}.featured-wrap{grid-template-columns:1fr}.featured-hero{min-height:340px}.articles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.bla-banner{grid-template-columns:1fr;text-align:center}.bla-banner img{margin:0 auto}.newsletter-inline{grid-template-columns:1fr}}
  @media (max-width:620px){.wrap{width:calc(100% - 32px)}body{font-size:16px}.section{padding:44px 0}.featured-side{grid-template-columns:1fr}.featured-hero{min-height:280px}.articles-grid{grid-template-columns:1fr;gap:18px}.pagination{flex-direction:column;align-items:flex-start}}
  @media (prefers-reduced-motion:reduce){.featured-hero img,.featured-card img,.article-thumb img{transition:none}*{scroll-behavior:auto}}}

/* ===== ARTICLE ===== */
body.al-page-article {
  --radius-lg: 20px;
  font-family: Inter,system-ui,-apple-system,sans-serif;
  .wrap{width:min(1140px,calc(100% - 48px));margin:0 auto}
  .ghost-button{min-height:46px;padding:0 22px;font-size:16px}
  .article-main{padding:0}
  .article-hero{position:relative;overflow:hidden;display:grid;align-items:end;min-height:clamp(360px,52vh,520px);padding:150px 0 46px;background:var(--dark);color:#fffdf8}
  .article-hero.has-cover::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,16,15,.32),rgba(13,16,15,.82)),var(--article-cover) center center/cover no-repeat}
  .article-hero .wrap{position:relative;z-index:1;width:min(760px,calc(100% - 48px))}
  .article-hero .article-tag{margin-bottom:16px}
  .article-hero .article-title{margin:0 0 12px;color:#fffdf8}
  .article-hero .article-meta{color:rgba(255,253,248,.82)}
  .section{padding:clamp(48px,6vw,72px) 0}
  .article-shell{max-width:720px;margin:0 auto}
  .article-tag{display:inline-flex;width:fit-content;margin-bottom:16px;padding:6px 12px;border-radius:999px;background:var(--gold-soft);color:var(--gold-deep);font-size:12px;font-weight:700;line-height:1.2;letter-spacing:.04em}
  .article-title{margin:0 0 14px;font-size:clamp(32px,4.5vw,48px);font-weight:800;line-height:1.08;letter-spacing:-.02em;color:var(--ink)}
  .article-meta{margin:0 0 30px;color:var(--muted);font-size:15px}
  .article-cover{overflow:hidden;margin-bottom:40px;border-radius:var(--radius-lg);background:var(--paper-2);box-shadow:var(--shadow-sm)}
  .article-cover img{width:100%;aspect-ratio:16/9;object-fit:cover}
  .article-content{color:var(--ink-soft);font-size:18px;line-height:1.75}
  .article-content h2{margin:44px 0 16px;font-size:clamp(25px,3vw,34px);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--ink)}
  .article-content p{margin:0 0 20px}
  .article-content a{color:var(--gold-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;transition:color .16s ease}
  .article-content a:hover{color:var(--gold)}
  /* Soulignage noir parasite dans le contenu (spans à text-decoration inline,
     ex. Sommaire) : on le retire. Les liens <a> gardent leur soulignage doré. */
  .article-content span[style*="underline"],
  .article-content span[style*="text-decoration"]{text-decoration:none !important}
  /* Le bloc bilan [al_bilan] est rendu dans le contenu : son bouton ne doit pas
     hériter du style des liens d'article (souligné / couleur dorée). */
  .article-content .al-bilan-shortcode .button,
  .article-content .al-bilan-shortcode .button:hover{color:#2a1d05;text-decoration:none}
  /* Le bloc bilan s'affiche en pleine largeur (full-bleed) alors que le reste
     du contenu de l'article reste dans une colonne étroite (720px). */
  .article-content .al-bilan-shortcode{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
  .article-content .al-bilan-shortcode .wrap{width:min(1140px,calc(100% - 48px));margin:0 auto}
  .article-content figure{margin:32px 0;text-align:center}
  .article-content figure img{margin:0 auto;border-radius:var(--radius);box-shadow:var(--shadow-sm)}
  .article-content figcaption{margin-top:12px;color:var(--muted);font-size:14px;font-style:italic}
  .article-content blockquote{margin:32px 0;padding:20px 26px 20px 34px;border-left:4px solid var(--gold);border-radius:0 var(--radius) var(--radius) 0;background:var(--paper);color:var(--ink);font-weight:500;font-style:italic;font-size:19px;line-height:1.6}
  .article-content blockquote p{margin:0 0 10px;padding-left:0}
  .article-content blockquote p:last-child{margin-bottom:0}
  .product-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.72fr);gap:28px;align-items:center;margin:40px 0;padding:clamp(24px,3.5vw,36px);border-radius:var(--radius-lg);background:var(--dark);color:var(--white);box-shadow:var(--shadow)}
  .product-banner h3{margin:0 0 8px;color:var(--white);font-size:26px;font-weight:800;letter-spacing:-.02em}
  .product-banner p{margin:0 0 14px;color:rgba(255,255,255,.82);font-size:16px}
  .product-banner .price{display:flex;align-items:baseline;gap:10px;margin-bottom:18px;font-size:15px;color:rgba(255,255,255,.78)}
  .product-banner .price strong{font-size:32px;font-weight:800;line-height:1;color:var(--gold)}
  .product-banner .price s{opacity:.6}
  .product-banner a{display:inline-flex;align-items:center;min-height:50px;padding:0 26px;border:0;border-radius:999px;background:var(--gold);color:#2a1d05;font-weight:700;text-decoration:none;letter-spacing:0;font-size:15px;box-shadow:0 14px 30px rgba(231,173,66,.36);transition:transform .2s ease,background .2s ease}
  .product-banner a:hover{transform:translateY(-2px);background:#ffe066}
  .product-banner img{border-radius:var(--radius);box-shadow:var(--shadow)}
  .video-block{margin:40px 0}
  .video-embed{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--dark);box-shadow:var(--shadow);aspect-ratio:16/9}
  .video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
  .app-promo{display:grid;gap:16px;margin:40px 0;padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);text-align:center}
  .app-promo p{margin:0;font-weight:700;color:var(--ink)}
  .store-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
  .store-buttons a{display:block;width:168px}
  .share-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:40px 0 0;padding-top:28px;border-top:1px solid var(--line)}
  .share-row a{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;color:var(--white);font-size:13px;font-weight:800;text-decoration:none;transition:transform .18s ease}
  .share-row a:hover{transform:translateY(-2px)}
  .share-fb{background:#1877f2}
  .share-x{background:#111}
  .share-pin{background:#e60023}
  .share-in{background:#0a66c2}
  .share-wa{background:#25d366}
  .share-mail{background:var(--ink)}
  .al-partage{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
  .al-partage__label{font-weight:800;font-size:14px;color:var(--ink);margin-right:2px}
  .al-partage__btn{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:10px;background:var(--al-share-color,#111);box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
  .al-partage__btn svg{width:24px;height:24px;display:block}
  .al-partage__btn:hover{transform:translateY(-2px);box-shadow:var(--shadow);filter:brightness(1.06)}
  .al-partage__btn--x{background:#000}
  .article-tags{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:26px 0 0;padding-top:22px;border-top:1px solid var(--line)}
  .article-tags__label{font-weight:800;font-size:12.5px;color:var(--ink);margin-right:2px}
  .article-tags .tag-chip{display:inline-flex;align-items:center;padding:3px 9px;border:1px solid var(--line-strong);border-radius:999px;background:var(--paper);color:var(--ink-soft);font-size:11.5px;font-weight:600;text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease}
  .article-tags .tag-chip:hover{border-color:var(--gold);background:var(--gold);color:#2a1d05}
  .related-section h2{margin-bottom:32px;text-align:center;font-size:clamp(25px,3vw,34px);font-weight:800;letter-spacing:-.02em}
  .related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .related-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:0;align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
  .related-row:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--line-strong)}
  .related-thumb{overflow:hidden;background:var(--paper-2)}
  .related-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1)}
  .related-row:hover .related-thumb img{transform:scale(1.05)}
  .related-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px}
  .related-body .article-tag{width:fit-content;margin-bottom:0;letter-spacing:.04em;font-size:11px;padding:4px 10px}
  .related-body h3{margin:0;font-size:16px;font-weight:800;line-height:1.3;letter-spacing:-.01em}
  .related-body h3 a{text-decoration:none;color:var(--ink);transition:color .16s ease}
  .related-body h3 a:hover{color:var(--gold-deep)}
  .related-body time{margin-top:auto;color:var(--muted);font-size:13.5px}
  .comments{max-width:720px;margin:0 auto}
  .comments h2{margin-bottom:28px;font-size:clamp(25px,3vw,34px);font-weight:800;letter-spacing:-.02em}
  .comment-form{display:grid;gap:14px}
  .comment-form textarea{min-height:160px;padding:16px;border:1px solid var(--line-strong);border-radius:12px;background:var(--white);color:var(--ink);font:inherit;resize:vertical}
  .comment-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .comment-fields input{min-height:50px;padding:0 16px;border:1px solid var(--line-strong);border-radius:10px;background:var(--white);color:var(--ink);font:inherit}
  .comment-check{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:14px}
  .comment-check input{margin-top:4px}
  .comment-submit{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:54px;padding:0 28px;border:0;border-radius:999px;background:var(--gold);color:#2a1d05;font:inherit;font-weight:700;cursor:pointer;letter-spacing:0;box-shadow:0 14px 30px rgba(231,173,66,.36);transition:transform .2s ease,background .2s ease}
  .comment-submit:hover{transform:translateY(-2px);background:#ffe066}
  .newsletter-panel{position:relative;display:grid;gap:18px;max-width:720px;margin:0 auto;text-align:center}
  .newsletter-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;max-width:560px;margin:0 auto}
  .newsletter-form input{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:6px;font:inherit}
  .newsletter-form button{min-height:48px;border:0;border-radius:6px;background:var(--ink);color:var(--white);font:inherit;font-weight:700;cursor:pointer}
  @media (max-width:1040px){.related-grid{grid-template-columns:1fr}.product-banner{grid-template-columns:1fr;text-align:center}.comment-fields{grid-template-columns:1fr}.newsletter-inline{grid-template-columns:1fr}}
  @media (max-width:620px){.wrap{width:calc(100% - 32px)}body{font-size:16px}.section{padding:44px 0}.article-content{font-size:17px}.related-grid{grid-template-columns:1fr}.related-row{grid-template-columns:96px minmax(0,1fr)}}
  @media (prefers-reduced-motion:reduce){.related-thumb img{transition:none}*{scroll-behavior:auto}}}

/* ===== OBJECTIF ===== */
body.al-page-objectif {
  .button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 30px;border:1px solid var(--cta);border-radius:999px;background:#fcd73c;color:var(--ink);box-shadow:0 10px 30px rgba(252,215,60,.35),0 0 36px rgba(252,215,60,.45);font-size:17px;font-weight:750;letter-spacing:-.3px;text-decoration:none;white-space:nowrap;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
  .button:hover,.ghost-button:hover{background:#ffe066;transform:translateY(-2px)}
  .ghost-button{background:transparent;color:var(--white);box-shadow:none}
  h1{max-width:820px;margin-bottom:18px;font-size:clamp(32px,4.5vw,48px);line-height:1.05}
  h2{margin-bottom:16px;font-size:clamp(25px,3vw,34px);line-height:1.1}
  h3{margin-bottom:10px;font-size:20px;line-height:1.2}
  .muted{color:var(--muted)}
  .hero{position:relative;overflow:hidden;min-height:620px;display:grid;align-items:center;padding:140px 0 80px;background:var(--dark);color:#fffdf8}
  .hero::before{content:"";position:absolute;inset:0;background:var(--al-hero-image,url("https://www.alexlevand.com/wp-content/uploads/2024/07/alexlevand-abdos.jpg")) center top/cover no-repeat}
  .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,19,21,.9),rgba(16,19,21,.55) 42%,rgba(16,19,21,.2)),linear-gradient(0deg,rgba(16,19,21,.42),rgba(16,19,21,0) 40%)}
  .hero .wrap{position:relative;z-index:1}
  .hero h1{color:#fffdf8}
  .hero p{max-width:680px;color:rgba(255,253,248,.87);font-size:clamp(18px,2vw,21px);line-height:1.55}
  .hero-note{display:inline-flex;align-items:center;margin:0 0 18px;padding:8px 14px;border:1px solid rgba(231,173,66,.5);border-radius:999px;background:rgba(231,173,66,.16);color:#fffdf8;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
  .section{padding:clamp(64px,8vw,110px) 0;background:var(--white)}
  .section.alt{background:var(--paper)}
  .section.dark{background:var(--dark);color:#fffdf8}
  .section.dark .muted{color:rgba(255,253,248,.72)}
  .section-head{max-width:820px;margin-bottom:44px}
  .section-head .muted{margin:0;font-size:clamp(17px,2vw,19px)}
  .intro-copy{max-width:820px}
  .intro-copy h2{font-size:clamp(25px,3vw,34px)}
  .intro-copy p{color:var(--ink-soft);font-size:clamp(17px,2vw,19px);line-height:1.6}
  .intro-copy p+p{margin-top:16px}
  .intro-copy strong{color:var(--ink);font-weight:700}
  .method-list{display:grid;gap:12px;margin:28px 0 0;padding:0;list-style:none}
  .method-list li{position:relative;display:flex;gap:14px;align-items:flex-start;color:var(--ink-soft);font-size:17px;line-height:1.5}
  .method-list li::before{content:"";flex:0 0 22px;width:22px;height:22px;margin-top:3px;border-radius:7px;background:var(--green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232e9e6b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/14px no-repeat}
  .app-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.88fr);gap:40px;align-items:center;padding:clamp(28px,3.5vw,40px);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-sm)}
  .app-box__media{overflow:hidden;border-radius:var(--radius);background:var(--dark);box-shadow:var(--shadow)}
  .app-box__media img{width:100%;height:100%;min-height:320px;object-fit:cover}
  .app-box__content{display:grid;gap:22px}
  .app-box h3{margin:0;font-size:clamp(24px,3vw,32px)}
  .app-box p{margin:0;color:var(--ink-soft)}
  .app-box strong{color:var(--ink)}
  .perks{display:grid;gap:12px;margin:0;padding:0;list-style:none}
  .perks li{display:flex;gap:12px;align-items:flex-start;color:var(--ink-soft);font-size:16px;font-weight:600;line-height:1.45}
  .perks li::before{content:"";flex:0 0 24px;width:24px;height:24px;margin-top:1px;border-radius:7px;background:var(--green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232e9e6b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/15px no-repeat}
  .store-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px}
  .store-buttons a{display:block;width:168px;max-width:calc(50vw - 20px);filter:drop-shadow(0 12px 28px rgba(231,173,66,.16));transition:transform .18s ease}
  .store-buttons a:hover{transform:translateY(-2px)}
  .store-buttons img{width:100%;height:auto}
  .objectif-app-banner{background:var(--paper)}
  .hero .store-buttons{margin-top:18px}
  .hero-actions{margin-top:24px}
  .programs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
  .program-card{display:flex;flex-direction:row;min-height:300px;height:100%;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-sm);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
  .program-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow)}
  .program-poster{flex:0 0 44%;display:block;overflow:hidden;background:var(--dark)}
  .program-poster img{display:block;width:100%;height:100%;object-fit:cover}
  .program-copy{display:flex;flex:1;flex-direction:column;padding:24px 24px 26px;background:var(--white);border-top:3px solid var(--gold)}
  .program-tag{display:inline-flex;align-items:center;width:fit-content;margin-bottom:14px;padding:6px 12px;border-radius:999px;background:var(--gold-soft);color:var(--gold-deep);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
  .program-copy h3{margin:0 0 12px;font-size:clamp(20px,2.2vw,23px);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
  .program-copy p{margin:0;color:var(--ink-soft);font-size:15.5px;line-height:1.6;font-weight:400}
  .objectives-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .objective-card{position:relative;min-height:280px;overflow:hidden;padding:0;border:0;border-radius:var(--radius);background:var(--dark);color:#fffdf8;box-shadow:var(--shadow-sm);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
  .objective-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
  .objective-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
  .objective-card:hover img{transform:scale(1.05)}
  .objective-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,24,29,.04),rgba(22,24,29,.88))}
  .objective-copy{position:absolute;z-index:1;right:20px;bottom:20px;left:20px}
  .objective-copy h3{margin:0;color:#fffdf8;font-size:19px;font-weight:800;line-height:1.15;letter-spacing:-.02em}
  .success-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .success-item{overflow:hidden;border:0;border-radius:var(--radius);padding:0;background:var(--dark);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}
  .success-item:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
  .success-item img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .25s ease}
  .success-item:hover img{transform:scale(1.05)}
  .final-cta{text-align:center;background:linear-gradient(135deg,var(--gold-soft) 0%,var(--gold) 54%,var(--gold-deep) 100%)}
  .final-cta h2{color:#2a1d05}
  .final-cta p{max-width:760px;margin:0 auto 24px;color:rgba(42,29,5,.82);font-size:clamp(17px,2vw,19px)}
  .final-cta .store-buttons{justify-content:center}
  .newsletter-form input{min-height:50px;padding:0 16px;font:inherit}
  .newsletter-form input::placeholder{color:var(--muted)}
  .newsletter-form button{min-height:50px;padding:0 18px;border:0;font:inherit;font-weight:700;cursor:pointer}
  @media (max-width:980px){.wrap{width:min(1180px,calc(100% - 48px))}.app-box{grid-template-columns:1fr}.app-box__media img{min-height:260px}.programs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.objectives-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.success-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
  @media (max-width:620px){.wrap{width:calc(100% - 32px)}body{font-size:16px}.section{padding:clamp(56px,12vw,72px) 0}.hero{min-height:auto;padding:104px 0 60px}.programs-grid,.objectives-grid,.success-grid{grid-template-columns:1fr}.program-card{flex-direction:column;min-height:0}.program-poster{flex:0 0 auto;aspect-ratio:auto;background:var(--paper-2)}.program-poster img{height:auto;max-height:none;object-fit:contain}.button,.ghost-button{width:100%;max-width:300px;margin-inline:auto}.store-buttons{justify-content:center;width:100%}.store-buttons a{width:min(168px,calc(50vw - 20px));max-width:168px}}
  @media (prefers-reduced-motion:reduce){.objective-card:hover img,.success-item:hover img,.program-card:hover{transform:none}*{scroll-behavior:auto}}
  .al-modal,.al-lightbox{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:24px}
  .al-modal.is-open,.al-lightbox.is-open{display:flex}
  .al-modal__backdrop{position:absolute;inset:0;background:rgba(8,9,11,.72);backdrop-filter:blur(4px)}
  .al-modal__box{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);width:min(900px,100%);max-height:90vh;overflow:hidden;border-radius:var(--radius-lg);background:var(--white);box-shadow:0 40px 100px rgba(0,0,0,.5)}
  .al-modal__media{margin:0;background:var(--paper-2)}
  .al-modal__media img{display:block;width:100%;height:100%;object-fit:cover}
  .al-modal__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,44px);text-align:center}
  .al-modal__body h3{margin:0 0 14px;font-size:clamp(22px,2.6vw,28px);font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}
  .al-modal__body p{margin:0 0 24px;color:var(--ink-soft);font-size:16.5px;line-height:1.55}
  .al-modal__body .store-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
  .al-modal__body .store-buttons a{display:block;width:168px;max-width:calc(50% - 6px)}
  .al-modal__body .store-buttons img{width:100%;height:auto}
  .al-close{position:absolute;z-index:2;top:14px;right:14px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm)}
  .al-close svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round}
  .al-lightbox img{position:relative;z-index:1;max-width:min(92vw,860px);max-height:86vh;border-radius:var(--radius-lg);box-shadow:0 30px 80px rgba(0,0,0,.5)}
  .al-lightbox .al-close{background:rgba(255,255,255,.16);color:#fff}
  @media (max-width:720px){.al-modal__box{grid-template-columns:1fr;max-height:92vh;overflow-y:auto}.al-modal__media img{max-height:230px}}}

/* ===== ERREUR ===== */
body.al-page-erreur {
  --cta-shadow: rgba(231,173,66,.36);
  color: var(--white);
  background: var(--dark);
  font-family: Inter,sans-serif;
  font-size: 18px;
  line-height: 1.7;
  .wrap {
          width: min(1140px, calc(100% - 40px));
          margin: 0 auto;
        }
  .error-hero .ghost-button {
          border: 1px solid rgba(255, 253, 248, 0.42);
          background: transparent;
          color: #fffdf8;
          box-shadow: none;
        }
  .error-hero .ghost-button:hover {
          border-color: rgba(255, 253, 248, 0.72);
          background: rgba(255, 253, 248, 0.10);
          color: #fffdf8;
          transform: translateY(-2px);
        }
  .error-hero {
          position: relative;
          display: grid;
          align-items: center;
          min-height: 100dvh;
          padding: 120px 0 80px;
          overflow: hidden;
          text-align: center;
        }
  .error-hero::before {
          content: "";
          position: absolute;
          inset: 0;
          background:
            linear-gradient(180deg, rgba(16, 19, 21, 0.72), rgba(16, 19, 21, 0.9)),
            var(--error-bg, url("../web/alex-hero-new.jpg")) center center / cover no-repeat;
          filter: saturate(0.82);
        }
  .error-title {
          margin: 0 0 18px;
          color: #fffdf8;
          font-size: clamp(30px, 4.5vw, 46px);
          font-weight: 800;
          line-height: 1.06;
          letter-spacing: -0.02em;
        }
  h1#error-title { margin: 0 0 18px; color: #fffdf8; font-size: clamp(30px, 4.5vw, 46px); font-weight: 800; line-height: 1.06; letter-spacing: -0.02em; }
  .error-card { position: relative; }
  .error-card__arrow { width: 20px; height: 20px; margin-top: 4px; color: var(--gold-deep); opacity: 0; transform: translateX(-4px); transition: opacity .18s ease, transform .18s ease; }
  .error-card:hover .error-card__arrow { opacity: 1; transform: translateX(0); }
  .error-hero .wrap {
          position: relative;
          z-index: 1;
        }
  .error-code {
          margin: 0 0 12px;
          color: var(--gold);
          font-size: clamp(88px, 22vw, 168px);
          font-weight: 800;
          line-height: 0.9;
          letter-spacing: -0.04em;
        }
  .error-title {
          margin: 0 0 18px;
          color: #fffdf8;
          font-size: clamp(34px, 5vw, 52px);
          font-weight: 800;
          line-height: 1.05;
          letter-spacing: -0.02em;
        }
  .error-lead {
          max-width: 560px;
          margin: 0 auto 32px;
          color: rgba(255, 253, 248, 0.82);
          font-size: clamp(18px, 2.2vw, 22px);
          line-height: 1.55;
        }
  .error-path {
          display: inline-flex;
          max-width: 100%;
          margin: 0 auto 28px;
          padding: 10px 16px;
          border: 1px solid rgba(255, 253, 248, 0.16);
          border-radius: 999px;
          background: rgba(255, 253, 248, 0.06);
          color: rgba(255, 253, 248, 0.72);
          font-size: 14px;
          font-weight: 600;
          word-break: break-all;
        }
  .error-actions {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          gap: 12px;
        }
  .error-links {
          padding: 56px 0 72px;
          background: var(--paper);
          color: var(--ink);
        }
  .error-links h2 {
          margin: 0 0 32px;
          color: var(--ink);
          font-size: clamp(22px, 2.6vw, 28px);
          font-weight: 800;
          line-height: 1.2;
          letter-spacing: -0.02em;
          text-align: center;
        }
  .error-grid {
          display: grid;
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 14px;
        }
  .error-card {
          display: grid;
          gap: 8px;
          padding: 24px 26px;
          border: 1px solid var(--line);
          border-radius: var(--radius);
          background: var(--white);
          box-shadow: 0 8px 24px rgba(22, 24, 29, 0.07);
          text-decoration: none;
          transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
        }
  .error-card:hover {
          transform: translateY(-2px);
          border-color: var(--gold);
          box-shadow: 0 24px 50px rgba(22, 24, 29, 0.12);
        }
  .error-card strong {
          color: var(--ink);
          font-size: 18px;
          font-weight: 800;
          letter-spacing: -0.02em;
        }
  .error-card span {
          color: var(--muted);
          font-size: 15px;
          line-height: 1.55;
        }
  .newsletter-form input {
          min-height: 48px;
          padding: 0 14px;
          border: 1px solid var(--line);
          border-radius: 6px;
          background: var(--white);
          font: inherit;
        }
  .newsletter-form button {
          min-height: 48px;
          padding: 0 18px;
          border: 0;
          border-radius: 6px;
          background: var(--ink);
          color: var(--white);
          font: inherit;
          font-weight: 700;
          cursor: pointer;
        }
  @media (max-width: 1040px) {
          .error-grid {
            grid-template-columns: 1fr 1fr;
          }}
  @media (max-width: 620px) {
          .wrap {
            width: min(100% - 28px, 1140px);
          }
  
          .error-actions {
            flex-direction: column;
            align-items: stretch;
          }
  
          .button,
          .ghost-button {
            width: 100%;
            white-space: normal;
            text-align: center;
          }
  
          .error-grid,
          .footer-grid {
            grid-template-columns: 1fr;
            gap: 32px;
          }}}

/* ===== FAQ ===== */
body.al-page-faq {
  font-family: Inter,sans-serif;
  .wrap{width:min(1140px,calc(100% - 48px));margin:0 auto}
  .ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;font-size:16px;font-weight:750;text-decoration:none}
  .faq-main{padding:clamp(108px,12vw,140px) 0 clamp(64px,8vw,96px)}
  .faq-page-title{margin:0 0 12px;text-align:center;font-size:clamp(32px,4.5vw,48px);font-weight:800;line-height:1.08;letter-spacing:-.02em}
  .faq-intro{max-width:600px;margin:0 auto clamp(40px,6vw,64px);text-align:center;color:var(--ink-soft);font-size:clamp(17px,2vw,20px);line-height:1.55}
  .faq-section{margin-bottom:clamp(40px,5vw,64px)}
  .faq-section:last-of-type{margin-bottom:40px}
  .faq-section h2{margin:0 0 18px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep)}
  .c-faq{display:grid;gap:12px;margin:0;padding:0;list-style:none}
  .c-faq__item{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
  .c-faq__item:hover{border-color:var(--line-strong)}
  .c-faq__item.is-open{border-color:var(--gold);box-shadow:0 10px 30px rgba(231,173,66,.12)}
  .c-faq__head{display:flex;align-items:center;gap:16px;margin:0;padding:20px 56px 20px 22px;font-size:17px;font-weight:700;line-height:1.4;letter-spacing:-.01em;color:var(--ink);cursor:pointer;position:relative;user-select:none}
  .c-faq__head::after{content:"";position:absolute;right:22px;top:50%;width:18px;height:18px;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c8893a' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s ease}
  .c-faq__item.is-open .c-faq__head::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c8893a' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat}
  .c-faq__content{display:none;padding:0 22px 22px;color:var(--ink-soft);font-size:16px;line-height:1.65}
  .c-faq__item.is-open .c-faq__content{display:block}
  .c-faq__content p{margin:0 0 14px}
  .c-faq__content p:last-child{margin-bottom:0}
  .c-faq__content ul{margin:0 0 14px;padding-left:22px}
  .c-faq__content a{text-decoration:underline;text-underline-offset:3px;color:var(--gold-deep);font-weight:600}
  .faq-outro{max-width:640px;margin:0 auto;text-align:center;color:var(--muted);font-size:17px;line-height:1.6}
  .faq-outro a{text-decoration:underline;text-underline-offset:3px;color:var(--gold-deep);font-weight:600}
  .newsletter-form input{min-height:50px;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font:inherit}
  .newsletter-form button{min-height:50px;padding:0 18px;border:0;border-radius:10px;background:var(--ink);color:var(--white);font:inherit;font-weight:700;cursor:pointer;transition:background .18s ease}
  @media (max-width:620px){.wrap{width:min(100% - 28px,1140px)}.faq-main{padding:96px 0 56px}.faq-page-title{margin-bottom:40px}.c-faq__head{padding:18px 52px 18px 18px;font-size:16px}.c-faq__item.is-open .c-faq__content{padding:0 18px 20px}}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.c-faq__content{transition:none}*{scroll-behavior:auto}}}

/* ===== CONTACT ===== */
body.al-page-contact {
  font-family: Inter,sans-serif;
  .wrap{width:min(1140px,calc(100% - 48px));margin:0 auto}
  .ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;background:var(--ink);color:var(--white);font-size:16px;font-weight:750;text-decoration:none}
  .contact-hero{position:relative;display:grid;align-items:center;min-height:480px;padding:140px 0 150px;background:var(--dark);color:#fffdf8;text-align:center}
  .contact-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,19,21,.45),rgba(16,19,21,.66)),url("../web/alex-photo-07.jpg") center top/cover no-repeat;filter:saturate(.82)}
  .contact-hero .wrap{position:relative;z-index:1}
  .contact-hello{display:inline-block;margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
  .contact-title{margin:0 0 18px;font-size:clamp(32px,4.5vw,48px);font-weight:800;line-height:1.08;letter-spacing:-.02em;color:#fffdf8}
  .contact-lead{max-width:600px;margin:0 auto 30px;color:rgba(255,253,248,.84);font-size:clamp(17px,2vw,20px);line-height:1.55}
  /* Email seul (hero) — chip prominente */
  .contact-email{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 26px;border:1px solid rgba(255,253,248,.34);border-radius:999px;background:rgba(255,253,248,.08);color:#fffdf8;font-size:clamp(16px,1.8vw,19px);font-weight:700;text-decoration:none;backdrop-filter:blur(6px);transition:border-color .16s ease,background .16s ease,transform .16s ease}
  .contact-email:hover{border-color:var(--gold);background:rgba(255,253,248,.14);transform:translateY(-1px)}
  .contact-email svg{width:20px;height:20px;flex:0 0 auto}
  /* Carte formulaire */
  .contact-card__title{margin:0 0 6px;font-size:clamp(22px,2.6vw,28px);font-weight:800;letter-spacing:-.02em;color:var(--ink)}
  .contact-card__sub{margin:0 0 26px;color:var(--ink-soft);font-size:16px;line-height:1.55}
  /* Réseaux sociaux discrets, tout en bas */
  .contact-social-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;max-width:720px;margin:38px auto 0}
  .contact-social-row__label{color:var(--muted);font-size:14px;font-weight:600}
  .contact-social-links{display:inline-flex;flex-wrap:wrap;gap:6px}
  .contact-social-links a{padding:6px 12px;border-radius:999px;color:var(--muted);font-size:14px;font-weight:600;text-decoration:none;transition:color .16s ease,background .16s ease}
  .contact-social-links a:hover{color:var(--ink);background:var(--paper-2)}
  .contact-chips{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px}
  .contact-chip{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid rgba(255,253,248,.32);border-radius:999px;background:rgba(255,253,248,.06);color:#fffdf8;font-size:15px;font-weight:600;text-decoration:none;backdrop-filter:blur(6px);transition:border-color .16s ease,background .16s ease}
  .contact-chip:hover{border-color:var(--gold);background:rgba(255,253,248,.12)}
  .contact-chip svg{width:16px;height:16px;fill:currentColor;flex:0 0 auto}
  .contact-socials{display:inline-flex;gap:8px;margin-left:4px}
  .contact-socials a{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:rgba(255,253,248,.12);color:#fffdf8;text-decoration:none;transition:background .16s ease}
  .contact-socials a:hover{background:var(--gold);color:#2a1d05}
  .contact-socials svg{width:15px;height:15px;fill:currentColor}
  .contact-bilan-banner{display:grid;gap:14px;justify-items:center;max-width:560px;margin:34px auto 0}
  .contact-bilan-ribbon{display:inline-flex;align-items:center;margin:0;padding:7px 16px;border:1px solid rgba(231,173,66,.5);border-radius:999px;background:rgba(231,173,66,.14);color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
  .contact-stage{padding:0 0 clamp(64px,8vw,96px);background:var(--white)}
  .contact-card{max-width:720px;margin:-110px auto 0;padding:clamp(28px,4vw,48px);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow)}
  .contact-form{display:grid;gap:22px}
  .form-field{display:grid;gap:8px}
  .form-field label{font-size:14px;font-weight:600;color:var(--ink)}
  .form-field input,.form-field textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);font:inherit;outline:none;transition:border-color .16s ease,box-shadow .16s ease}
  .form-field input:focus,.form-field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(231,173,66,.22)}
  .form-field textarea{min-height:140px;resize:vertical}
  .form-field.message textarea{min-height:160px}
  .hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
  .submit-btn{justify-self:start;min-width:160px}
  .contact-notes{display:grid;gap:16px;margin-top:32px;padding-top:28px;border-top:1px solid var(--line);color:var(--muted);font-size:16px;line-height:1.65}
  .contact-notes strong{display:block;margin-bottom:4px;color:var(--ink);font-size:17px}
  .contact-notes a{color:var(--gold-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px}
  /* Formulaire Formidable — aligné sur le design du site */
  .frm-show-form .frm_form_field{margin:0 0 20px}
  .frm-show-form .frm_form_field:last-of-type{margin-bottom:0}
  .frm-show-form .frm_primary_label{font-size:14px;font-weight:600;color:var(--ink)}
  .frm-show-form .frm_error{color:#b42318;font-size:13px}
  .frm-show-form .button-wrapper{margin-top:10px}
  .frm-show-form .button-wrapper button,
  .frm-show-form button.c-button,
  .frm-show-form .frm_button_submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;padding:0 38px;border:0;border-radius:999px;background:#fcd73c;color:#1a1205;font-family:inherit;font-size:17px;font-weight:800;letter-spacing:-.01em;cursor:pointer;box-shadow:0 0 0 6px rgba(252,215,60,.18),0 16px 38px -12px rgba(252,215,60,.95);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
  .frm-show-form .button-wrapper button:hover,
  .frm-show-form button.c-button:hover,
  .frm-show-form .frm_button_submit:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 0 0 7px rgba(252,215,60,.26),0 20px 44px -12px rgba(252,215,60,1)}
  /* Liens sociaux — pastilles lisibles (le HTML fournit du texte, pas des icônes) */
  .contact-chip:has(.contact-socials){padding:0;border:0;background:none;backdrop-filter:none;min-height:0}
  .contact-socials{gap:10px;flex-wrap:wrap;margin-left:0}
  .contact-socials a{width:auto;height:48px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,253,248,.32);background:rgba(255,253,248,.06);color:#fffdf8;font-size:14px;font-weight:600;backdrop-filter:blur(6px)}
  .contact-socials a:hover{background:var(--gold);color:#2a1d05;border-color:var(--gold)}
  .final-cta{padding:clamp(64px,8vw,96px) 0;text-align:center;background:var(--paper);border-top:1px solid var(--line)}
  .final-cta h2{margin:0 0 14px;font-size:clamp(25px,3vw,34px);font-weight:800;line-height:1.1;letter-spacing:-.02em}
  .final-cta p{max-width:600px;margin:0 auto 28px;color:var(--ink-soft);font-size:17px;line-height:1.6}
  .newsletter-form input{min-height:50px;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font:inherit}
  .newsletter-form button{min-height:50px;padding:0 18px;border:0;border-radius:10px;background:var(--ink);color:var(--white);font:inherit;font-weight:700;cursor:pointer;transition:background .18s ease}
  @media (max-width:1040px){.contact-chips{flex-direction:column;align-items:stretch}.contact-chip{justify-content:center}.contact-bilan-banner .button{width:100%;max-width:360px}}
  @media (max-width:620px){.wrap{width:min(100% - 28px,1140px)}.contact-hero{min-height:auto;padding:108px 0 140px}.contact-card{margin-top:-92px;padding:28px 22px 26px}}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{scroll-behavior:auto}}}

/* ===== ENERGIE ===== */
body.al-page-energie {
  --cta-shadow: rgba(231,173,66,.36);
  .wrap{width:min(1140px,calc(100% - 40px));margin:0 auto}
  .button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 30px;border:1px solid var(--cta);border-radius:999px;background:#fcd73c;color:var(--ink);box-shadow:0 10px 30px rgba(252,215,60,.35),0 0 36px rgba(252,215,60,.45);font-size:17px;font-weight:750;letter-spacing:-.3px;text-decoration:none;white-space:nowrap}
  h1{max-width:760px;margin-bottom:18px;font-size:clamp(32px,4.5vw,48px);font-weight:800;line-height:1.05;letter-spacing:-.02em}
  h2{margin-bottom:14px;font-size:clamp(25px,3vw,34px);font-weight:800;line-height:1.1;letter-spacing:-.02em}
  h3{margin-bottom:12px;font-size:20px;font-weight:800;line-height:1.25;letter-spacing:-.02em}
  .muted{color:var(--muted)}
  .hero{position:relative;overflow:hidden;min-height:560px;display:grid;align-items:center;padding:148px 0 80px;background:var(--dark);color:#fffdf8}
  .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,19,21,.66),rgba(16,19,21,.34) 46%,rgba(16,19,21,.04)),linear-gradient(0deg,rgba(16,19,21,.3),rgba(16,19,21,.04) 55%,rgba(16,19,21,.2)),url("../web/alex-photo-10.jpg") center top/cover no-repeat}
  .hero .wrap{position:relative;z-index:1}
  .hero h1{color:#fffdf8}
  .hero p{max-width:680px;margin-bottom:30px;color:rgba(255,253,248,.87);font-size:clamp(18px,2vw,21px);line-height:1.55}
  .section{padding:clamp(28px,3.4vw,46px) 0;background:var(--white)}
  .section.alt,.section.paper{background:var(--paper)}
  .section-head{margin-bottom:24px}
  .section-head{max-width:760px;margin-bottom:40px}
  .section-head .muted{font-size:clamp(17px,1.8vw,19px);line-height:1.55}
  .split{display:grid;gap:clamp(28px,4vw,48px);align-items:center}
  figure.photo{min-height:460px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-2);box-shadow:var(--shadow-sm);transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1)}
  .split:hover .photo{transform:translateY(-4px);box-shadow:var(--shadow)}
  .photo img{width:100%;height:100%;object-fit:cover}
  .copy{max-width:760px}
  .copy p{color:var(--ink-soft);font-size:16.5px}
  .copy a{color:var(--gold-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px;transition:color .16s ease}
  .copy a:hover{color:var(--gold)}
  /* Le bouton dans .copy ne doit pas hériter du style des liens (doré/souligné).
     CTA « énergie » : fond sombre, texte blanc, lisible. */
  .copy .button,.copy .button:hover{margin-top:8px;color:#fff;text-decoration:none;background:var(--dark);border-color:var(--dark);box-shadow:0 12px 30px rgba(16,19,21,.24)}
  .copy .button:hover{background:#000}
  .card-grid{display:grid;gap:18px;margin-top:28px}
  .card{padding:30px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease}
  .card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
  .card h3{color:var(--ink)}
  .card p{color:var(--ink-soft);margin:0}
  .card b{color:var(--green)}
  .dark-band{background:var(--dark);color:#fffdf8}
  .dark-band h2{color:#fffdf8}
  .dark-band>.wrap>p{max-width:680px;color:rgba(255,253,248,.78);font-size:clamp(17px,1.8vw,19px)}
  .dark-band .card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);box-shadow:none}
  .dark-band .card h3{color:#fffdf8}
  .dark-band .card p{color:rgba(255,253,248,.72)}
  .dark-band .card b{color:var(--gold)}
  .quote{margin:24px 0 0;padding:22px 26px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--radius);background:var(--paper);font-size:clamp(19px,2.2vw,23px);font-weight:800;line-height:1.3;letter-spacing:-.01em}
  .text-cta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:48px}
  .text-cta{display:grid;gap:10px;min-height:180px;padding:30px;border:1px solid var(--gold-soft);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--white),var(--gold-soft));box-shadow:var(--shadow-sm);text-decoration:none;color:var(--ink);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
  .text-cta:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold)}
  .text-cta span{color:var(--gold-deep);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
  .text-cta strong{font-size:clamp(20px,2.2vw,24px);font-weight:800;line-height:1.1;letter-spacing:-.02em}
  .text-cta em{color:var(--ink-soft);font-style:normal;font-size:15.5px;line-height:1.5}
  .video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .video-card{position:relative;min-height:480px;overflow:hidden;border-radius:var(--radius-lg);background:var(--paper-2);color:#fff;box-shadow:var(--shadow-sm)}
  .video-card img{width:100%;height:100%;object-fit:cover}
  .video-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,24,29,0) 36%,rgba(22,24,29,.85) 100%)}
  .play-button{position:absolute;z-index:2;top:18px;right:18px;display:grid;place-items:center;width:52px;height:52px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:var(--shadow-sm);transition:background .2s ease,transform .2s ease}
  .video-card:hover .play-button{background:var(--gold);transform:scale(1.06)}
  .video-copy{position:absolute;z-index:2;right:20px;bottom:20px;left:20px;color:#fff}
  .video-copy span{display:block;margin-bottom:8px;color:rgba(255,253,248,.78);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
  .video-copy strong{display:block;font-size:19px;font-weight:700;line-height:1.25;letter-spacing:-.01em}
  .video-copy p{margin:10px 0 0;color:rgba(255,253,248,.82);font-size:14.5px;line-height:1.45}
  .final-cta{text-align:center;background:linear-gradient(135deg,#fff8e8 0%,var(--gold) 54%,var(--gold-deep) 100%)}
  .final-cta h2{color:#2a1d05}
  .final-cta p{max-width:760px;margin-right:auto;margin-left:auto;color:rgba(42,29,5,.82)}
  .final-cta .button{border:0;background:var(--ink);color:var(--white);box-shadow:0 14px 30px rgba(22,24,29,.24)}
  .final-cta .button:hover{background:#2a3038}
  .newsletter-form input{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--ink);font:inherit}
  .newsletter-form input::placeholder{color:rgba(16,19,21,.42)}
  .newsletter-form button{min-height:48px;padding:0 18px;border:0;border-radius:6px;background:var(--ink);color:var(--white);font:inherit;font-weight:700;cursor:pointer;transition:background .18s ease}
  .newsletter-form button:hover{background:#2a3135}
  @media (min-width:820px){.split{grid-template-columns:minmax(280px,.68fr) minmax(0,1fr)}.split.reverse{grid-template-columns:minmax(0,1fr) minmax(280px,.68fr)}.split.reverse .photo{order:2}.split.reverse .copy{order:1}.card-grid{grid-template-columns:repeat(2,1fr)}}
  @media (max-width:900px){.text-cta-grid,.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media (max-width:620px){.wrap{width:min(100% - 28px,1140px)}.section{padding:66px 0}.hero{min-height:auto;padding:104px 0 64px}figure.photo{min-height:330px}.text-cta-grid,.video-grid{grid-template-columns:1fr}.video-card{min-height:520px}.button,.ghost-button{width:100%;white-space:normal;text-align:center}}
  @media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}.split:hover .photo,.card:hover,.text-cta:hover,.video-card:hover .play-button{transform:none}}}

/* ===== HISTOIRE ===== */
body.al-page-histoire {
  --cta-shadow: rgba(231,173,66,.36);
  .hero .jump-actions{display:none}
  .wrap{width:min(1140px,calc(100% - 40px));margin:0 auto}
  .button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 30px;border:1px solid var(--cta);border-radius:999px;background:#fcd73c;color:var(--ink);box-shadow:0 10px 30px rgba(252,215,60,.35),0 0 36px rgba(252,215,60,.45);font-size:17px;font-weight:750;letter-spacing:-.3px;text-decoration:none;white-space:nowrap}
  h1{max-width:760px;margin-bottom:20px;font-size:clamp(32px,4.5vw,48px);font-weight:800;line-height:1.05;letter-spacing:-.02em}
  h2{margin-bottom:14px;font-size:clamp(25px,3vw,34px);font-weight:800;line-height:1.1;letter-spacing:-.02em}
  h3{margin-bottom:12px;font-size:20px;font-weight:800;line-height:1.25;letter-spacing:-.02em}
  .muted{color:var(--muted)}
  .hero{position:relative;overflow:hidden;min-height:560px;display:grid;align-items:center;padding:148px 0 80px;background:var(--dark);color:#fffdf8}
  .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,19,21,.66),rgba(16,19,21,.34) 46%,rgba(16,19,21,.04)),linear-gradient(0deg,rgba(16,19,21,.3),rgba(16,19,21,.04) 55%,rgba(16,19,21,.2)),url("../web/alex-photo-04.jpg") center top/cover no-repeat}
  .hero .wrap{position:relative;z-index:1}
  .hero h1{color:#fffdf8}
  .hero p{max-width:650px;color:rgba(255,253,248,.87);font-size:clamp(18px,2vw,21px);line-height:1.55}
  .section{padding:clamp(64px,8vw,110px) 0;background:var(--white)}
  .section.alt,.section.paper{background:var(--paper)}
  .chapter{display:grid;gap:clamp(28px,4vw,48px);align-items:center}
  .chapter+.chapter{margin-top:clamp(48px,7vw,90px)}
  .chapter-media{min-height:430px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper-2);box-shadow:var(--shadow-sm);transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1)}
  .chapter:hover .chapter-media{transform:translateY(-4px);box-shadow:var(--shadow)}
  .chapter-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
  .chapter-copy{max-width:700px}
  .chapter-copy span{display:inline-block;margin-bottom:14px;padding:5px 12px;border-radius:999px;background:var(--gold-soft,#fbeccb);color:var(--gold-deep);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
  .chapter-copy p{color:var(--ink-soft);font-size:16.5px}
  .chapter-copy a{color:var(--gold-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px;transition:color .16s ease}
  .chapter-copy a:hover{color:var(--gold)}
  .quote{margin:24px 0 0;padding:20px 24px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--radius);background:var(--paper);color:var(--ink)!important;font-size:18px;font-weight:700;line-height:1.5}
  .final-cta{text-align:center;background:linear-gradient(135deg,#fff8e8 0%,var(--gold) 54%,var(--gold-deep) 100%)}
  .final-cta h2{color:#2a1d05}
  .final-cta p{max-width:680px;margin-right:auto;margin-left:auto;color:rgba(42,29,5,.82)}
  .final-cta .button{border:0;background:var(--ink);color:var(--white);box-shadow:0 14px 30px rgba(22,24,29,.24)}
  .final-cta .button:hover{background:#2a3038}
  .newsletter-form input{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--ink);font:inherit}
  .newsletter-form input::placeholder{color:rgba(16,19,21,.42)}
  .newsletter-form button{min-height:48px;padding:0 18px;border:0;border-radius:6px;background:var(--ink);color:var(--white);font:inherit;font-weight:700;cursor:pointer;transition:background .18s ease}
  .newsletter-form button:hover{background:#2a3135}
  @media (min-width:820px){.chapter{grid-template-columns:minmax(280px,.65fr) minmax(0,1fr)}.chapter:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(280px,.65fr)}.chapter:nth-child(even) .chapter-media{order:2}.chapter:nth-child(even) .chapter-copy{order:1}}
  @media (max-width:620px){.wrap{width:min(100% - 28px,1140px)}.section{padding:66px 0}.hero{min-height:auto;padding:104px 0 64px}.chapter-media{min-height:330px}.button,.ghost-button{width:100%;white-space:normal;text-align:center}}
  @media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}.chapter:hover .chapter-media{transform:none}}}

/* ===== APPLI ===== */
body.al-page-appli {
  .button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 30px;border:1px solid var(--cta);border-radius:999px;background:#fcd73c;color:var(--ink);box-shadow:0 10px 30px rgba(252,215,60,.35),0 0 36px rgba(252,215,60,.45);font-size:17px;font-weight:750;letter-spacing:-.3px;text-decoration:none;white-space:nowrap;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
  .button:hover,.ghost-button:hover{background:#ffe066;transform:translateY(-2px);box-shadow:0 14px 38px rgba(252,215,60,.45),0 0 52px rgba(252,215,60,.55)}
  .ghost-button{background:transparent;color:var(--white);box-shadow:none}
  h1{max-width:760px;margin-bottom:18px;font-size:clamp(32px,4.5vw,48px);line-height:1.05}
  h2{margin-bottom:16px;font-size:clamp(25px,3vw,34px);line-height:1.1}
  h3{margin-bottom:12px;font-size:22px;line-height:1.2}
  .muted{color:var(--muted)}
  .hero{position:relative;overflow:hidden;min-height:680px;display:grid;align-items:center;padding:128px 0 78px;background:var(--dark);color:var(--white)}
  .hero::before{content:"";position:absolute;inset:0;background:url("../app/app-hero.jpg") center top/cover no-repeat}
  .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,19,21,.86),rgba(16,19,21,.48) 40%,rgba(16,19,21,.08) 78%),linear-gradient(0deg,rgba(16,19,21,.34),rgba(16,19,21,0) 45%)}
  .hero .wrap{position:relative;z-index:1}
  .hero-grid{display:grid;grid-template-columns:minmax(0,50%);align-items:center}
  @media(max-width:820px){.hero-grid{grid-template-columns:1fr}}
  .hero p{max-width:620px;color:rgba(255,253,248,.86);font-size:22px;line-height:1.5}
  .app-intro{padding:clamp(28px,4vw,44px) 0}
  .app-intro p{max-width:860px;margin:0;color:var(--ink-soft);font-size:clamp(18px,2vw,22px);line-height:1.55}
  .hero-note{display:inline-flex;align-items:center;margin:0 0 18px;padding:8px 13px;border:1px solid rgba(231,173,66,.5);border-radius:999px;background:rgba(231,173,66,.16);box-shadow:0 0 32px rgba(231,173,66,.16);color:var(--white);font-size:13px;font-weight:850;text-transform:uppercase;letter-spacing:.5px}
  .hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;margin-top:30px}
  .store-buttons{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:12px}
  .store-buttons a{display:block;width:168px;max-width:calc(50vw - 20px);filter:drop-shadow(0 16px 34px rgba(231,173,66,.18));transition:transform .18s ease,filter .18s ease}
  .store-buttons a:hover{transform:translateY(-2px);filter:drop-shadow(0 22px 44px rgba(231,173,66,.28))}
  .store-buttons img{width:100%;height:auto}
  .section{padding:clamp(64px,8vw,110px) 0;background:var(--paper)}
  .section.dark{background:var(--dark);color:#fffdf8}
  .section.dark .muted{color:rgba(255,253,248,.72)}
  .section-head{max-width:760px;margin-bottom:44px}
  .trial-grid,.feature-grid,.review-grid,.faq-grid{display:grid;gap:16px}
  .trial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-sm);padding:28px;transition:transform .2s ease,box-shadow .2s ease}
  .card strong,.metric{display:block;font-size:30px;font-weight:800;line-height:1;letter-spacing:-.02em}
  .card p{margin-bottom:0;color:var(--muted)}
  .dark .card{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:var(--white);box-shadow:none}
  .dark .card p{color:rgba(255,253,248,.74)}
  .feature-card{display:grid;align-content:start;min-height:190px}
  .feature-card span{display:grid;place-items:center;width:44px;height:44px;margin-bottom:18px;border-radius:999px;background:#fcd73c;color:#2a1d05;box-shadow:0 12px 28px var(--cta-shadow);font-weight:800}
  .app-preview-scroll{width:100vw;margin-left:calc(50% - 50vw);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(16,19,21,.28) transparent}
  .app-preview-scroll::-webkit-scrollbar{height:8px}
  .app-preview-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(16,19,21,.22)}
  .app-preview-track{display:flex;flex-wrap:nowrap;gap:8px;width:max-content;padding:2px max(56px,calc((100vw - 1180px)/2)) 10px}
  .app-preview-section .section-head{margin-bottom:22px}
  .app-preview-card{flex:0 0 clamp(260px,22vw,320px);overflow:hidden;border-radius:14px;background:#0d100f;box-shadow:var(--shadow);scroll-snap-align:start}
  .app-preview-card img{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;object-position:top center}
  .app-preview-card figcaption{padding:18px 20px;background:var(--dark);color:var(--white)}
  .app-preview-card strong{display:block;font-size:17px;font-weight:800;line-height:1.2;letter-spacing:-.35px}
  .app-preview-card span{display:block;margin-top:6px;color:rgba(255,253,248,.74);font-size:14px;line-height:1.5}
  .split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:46px;align-items:center}
  .visual-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .visual-stack img{width:100%;border-radius:20px;box-shadow:var(--shadow)}
  .visual-stack img:first-child{margin-top:42px}
  .check-list{display:grid;gap:12px;margin:28px 0 0;padding:0;list-style:none}
  .check-list li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);font-weight:600}
  .check-list li::before{content:"";flex:0 0 28px;width:28px;height:28px;border-radius:999px;background:#fcd73c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232a1d05' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/15px no-repeat;box-shadow:0 10px 22px var(--cta-shadow)}
  .compare-table{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-sm)}
  .compare-row{display:grid;grid-template-columns:minmax(0,1.5fr) .75fr .75fr;border-bottom:0}
  .compare-row:last-child{border-bottom:0}
  .compare-row>div{padding:18px 20px}
  .compare-row:not(.compare-head):nth-child(even){background:var(--paper)}
  .compare-head{background:var(--dark);color:var(--white);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
  .compare-check{display:grid;place-items:center;color:var(--green);font-size:22px;font-weight:800}
  .compare-lock{display:grid;place-items:center;color:var(--muted);font-weight:800}
  .app-features{display:grid;grid-template-columns:1fr;gap:12px;max-width:760px;margin:0 auto;padding:0;list-style:none}
  .app-features li{position:relative;display:flex;align-items:center;min-height:64px;padding:16px 20px 16px 60px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm);font-size:16px;font-weight:600;line-height:1.4}
  .app-features li::before{content:"";position:absolute;left:18px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:999px;background:var(--green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232e9e6b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/16px no-repeat}
  @media(max-width:620px){.app-features{grid-template-columns:1fr}}
  .card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
  .review-stack{display:grid;gap:18px;max-width:860px;margin:0 auto}
  .review-card{min-height:0}
  .stars{margin-bottom:14px;color:var(--gold);letter-spacing:2px}
  .review-card h3{margin-bottom:10px;font-size:20px}
  .review-card blockquote{margin:0;color:var(--ink-soft);font-size:16px;line-height:1.65}
  .review-card cite{display:block;margin-top:18px;color:var(--ink);font-style:normal;font-weight:700}
  .faq-grid{grid-template-columns:1fr;max-width:860px;margin:0 auto;gap:14px}
  summary::-webkit-details-marker{display:none}
  summary::after{content:"+";float:right;margin-left:16px;color:var(--gold-deep);font-weight:800;font-size:22px;line-height:1}
  details[open] summary::after{content:"\2212"}
  details p{margin:14px 0 0;color:var(--ink-soft);font-size:16px}
  details p+p{margin-top:10px}
  details a{color:var(--gold-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px}
  details ul{margin:12px 0 0;padding-left:20px;color:var(--ink-soft);font-size:16px;line-height:1.6}
  details li+li{margin-top:8px}
  .final-cta{text-align:center;background:linear-gradient(135deg,#fff8e8 0%,var(--gold) 54%,var(--gold-deep) 100%)}
  .final-cta h2{color:#2a1d05}
  .final-cta p{max-width:760px;margin-right:auto;margin-left:auto;color:rgba(22,24,29,.78)}
  .final-cta .button{border:0;background:var(--ink);color:var(--white);box-shadow:var(--shadow)}
  .final-cta .button:hover{background:#2a3135}
  .newsletter-form input{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--ink);font:inherit}
  .newsletter-form input::placeholder{color:rgba(16,19,21,.42)}
  .newsletter-form button{min-height:48px;padding:0 18px;border:0;border-radius:6px;background:var(--ink);color:var(--white);font:inherit;font-weight:700;cursor:pointer;transition:background .18s ease}
  .newsletter-form button:hover{background:#2a3135}
  .app-preview-section .section-head{margin-bottom:28px}
  .app-preview-section{padding-bottom:72px}
  @media (min-width:1400px){.app-preview-scroll{overflow:visible}.app-preview-track{width:min(1680px,calc(100% - 40px));margin:0 auto;padding:0;justify-content:center}}
  .objectives-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .objective-card{position:relative;min-height:340px;overflow:hidden;padding:0;border:0;border-radius:var(--radius);background:#0d100f;color:var(--white);box-shadow:0 18px 45px rgba(16,19,21,.12);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
  .objective-card:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(16,19,21,.18)}
  .objective-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
  .objective-card:hover img{transform:scale(1.04)}
  .objective-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,19,21,.06),rgba(16,19,21,.9))}
  .objective-copy{position:absolute;z-index:1;right:18px;bottom:18px;left:18px}
  .objective-copy h3{margin:0;color:var(--white);font-size:21px;font-weight:850;line-height:1.1;letter-spacing:-.6px}
  .objective-copy p{margin:8px 0 0;color:rgba(255,253,248,.78);font-size:14px;line-height:1.45}
  @media (max-width:1040px){.wrap{width:min(1180px,calc(100% - 48px))}.hero-grid,.split{grid-template-columns:1fr}.trial-grid,.feature-grid,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.objectives-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.objective-card{min-height:300px}.app-preview-card{flex:0 0 min(68vw,280px)}}
  @media (max-width:620px){.wrap{width:min(100% - 28px,1140px)}.section{padding:66px 0}.hero{min-height:auto;padding:108px 0 60px}.hero p{font-size:20px}.hero::before{background:url("../app/app-hero.jpg") center top/cover no-repeat}.hero::after{background:linear-gradient(90deg,rgba(16,19,21,.92),rgba(16,19,21,.68)),linear-gradient(0deg,rgba(16,19,21,.22),rgba(16,19,21,0) 45%)}.store-buttons{flex-wrap:nowrap;justify-content:center;width:100%}.store-buttons a{width:min(168px,calc(50vw - 20px))}.trial-grid,.feature-grid,.review-grid,.faq-grid{grid-template-columns:1fr}.objectives-grid{grid-template-columns:1fr}.objective-card{min-height:280px}.app-preview-card{flex:0 0 min(78vw,280px)}.compare-row{grid-template-columns:minmax(0,1fr) 74px 74px}.compare-row>div{padding:14px 12px}.button,.ghost-button{width:100%;white-space:normal;text-align:center}}
  @media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}.card,.objective-card,.objective-card img,.app-preview-card,.store-buttons a,.button,.ghost-button,.footer-shop,.footer-social a,.footer-top{transition:none}}}

/* ===== TRANSFORMATIONS ===== */
body.al-page-transformations {
  .button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 30px;border:1px solid var(--cta);border-radius:999px;background:#fcd73c;color:var(--ink);box-shadow:0 10px 30px rgba(252,215,60,.35),0 0 36px rgba(252,215,60,.45);font-size:17px;font-weight:750;letter-spacing:-.3px;text-decoration:none;white-space:nowrap}
  h1{max-width:760px;margin-bottom:18px;font-size:clamp(32px,4.5vw,48px);line-height:1.05}
  h2{margin-bottom:16px;font-size:clamp(25px,3vw,34px);line-height:1.1}
  h3{margin-bottom:12px;font-size:22px;line-height:1.2}
  .muted{color:var(--muted)}
  .hero{position:relative;overflow:hidden;min-height:620px;display:grid;align-items:center;padding:116px 0 70px;background:var(--dark);color:var(--white)}
  .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,19,21,.66),rgba(16,19,21,.34) 48%,rgba(16,19,21,.06)),linear-gradient(0deg,rgba(16,19,21,.3),rgba(16,19,21,.04) 55%,rgba(16,19,21,.2)),url("../web/alex-levand-transformation-clients.jpg") center top/cover no-repeat}
  .hero .wrap{position:relative;z-index:1}
  .hero p{max-width:680px;color:rgba(255,253,248,.82);font-size:21px;line-height:1.55}
  .section{padding:clamp(64px,8vw,110px) 0;background:var(--paper)}
  .section.dark h1,.section.dark h2,.section.dark h3{color:var(--ink)}
  .section.dark .muted{color:var(--muted)}
  .section-head{max-width:760px;margin-bottom:32px}
  .jump-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
  .jump-actions a{box-shadow:none}
  .video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .video-card{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:14px;background:#0d100f;color:var(--white);box-shadow:0 18px 45px rgba(0,0,0,.16);cursor:pointer}
  .video-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1)}
  .video-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,19,21,.05),rgba(16,19,21,.86))}
  .play-button{position:absolute;z-index:1;top:18px;right:18px;display:grid;place-items:center;width:52px;height:52px;border-radius:999px;background:rgba(255,253,248,.92);transition:background .2s ease,transform .2s ease}
  .video-card:hover .play-button{background:#fcd73c;transform:scale(1.06)}
  .video-card iframe,.video-card video{position:absolute;inset:0;z-index:5;width:100%;height:100%;border:0;background:#000;object-fit:cover}
  .video-card.is-playing::after,.video-card.is-playing .play-button,.video-card.is-playing .video-copy{display:none}
  .video-copy{position:absolute;z-index:1;right:20px;bottom:20px;left:20px}
  .video-copy span{display:block;margin-bottom:8px;color:rgba(255,253,248,.78);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
  .video-copy strong{display:block;font-size:18px;font-weight:600;line-height:1.32;letter-spacing:-.01em}
  .gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .gallery-item{display:block;overflow:hidden;border:0;border-radius:var(--radius);background:var(--dark);cursor:pointer;padding:0;box-shadow:0 18px 45px rgba(16,19,21,.08)}
  .gallery-item img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .22s ease}
  .gallery-item:hover img{transform:scale(1.035)}
  .lightbox{position:fixed;z-index:60;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.88)}
  .lightbox.is-open{display:flex}
  .lightbox img{max-width:min(94vw,1100px);max-height:86vh;border-radius:var(--radius);box-shadow:0 26px 80px rgba(0,0,0,.42)}
  .lightbox-close,.lightbox-nav{position:absolute;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.08);color:var(--white);cursor:pointer}
  .lightbox-close{top:22px;right:22px;width:46px;height:46px;font-size:28px}
  .lightbox-nav{top:50%;width:48px;height:48px;font-size:34px;transform:translateY(-50%)}
  .lightbox-prev{left:22px}
  .lightbox-next{right:22px}
  .final-cta{text-align:center;background:linear-gradient(135deg,#fff8e8 0%,var(--gold) 54%,var(--gold-deep) 100%)}
  .final-cta h2{color:#2a1d05}
  .final-cta p{max-width:760px;margin-right:auto;margin-left:auto;color:rgba(22,24,29,.78)}
  .final-cta .button{border:0;background:var(--ink);color:var(--white);box-shadow:var(--shadow-sm)}
  .final-cta .button:hover{background:#2a3135}
  .newsletter-form input{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--ink);font:inherit}
  .newsletter-form input::placeholder{color:rgba(16,19,21,.42)}
  .newsletter-form button{min-height:48px;padding:0 18px;border:0;border-radius:6px;background:var(--ink);color:var(--white);font:inherit;font-weight:700;cursor:pointer;transition:background .18s ease}
  .newsletter-form button:hover{background:#2a3135}
  @media (min-width:760px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
  @media (min-width:1024px){.video-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
  @media (max-width:1040px){.wrap{width:min(1180px,calc(100% - 48px))}}
  @media (max-width:620px){.wrap{width:min(100% - 28px,1140px)}.section{padding:66px 0}.hero{min-height:auto;padding:104px 0 64px}.video-grid{grid-template-columns:1fr}.button,.ghost-button{width:100%;white-space:normal;text-align:center}}
  @media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}.video-card img,.gallery-item img,.play-button,.button,.ghost-button{transition:none}}}

/* ===== MENTIONS ===== */
body.al-page-mentions {
  font-family: Inter,sans-serif;
  .wrap{width:min(1140px,calc(100% - 40px));margin:0 auto}
  .ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;font-size:16px;font-weight:750;text-decoration:none}
  .legal-hero{margin-top:74px;padding:clamp(56px,8vw,88px) 0;background:var(--paper);border-bottom:0;text-align:center}
  .legal-hero h1{margin:0;font-size:clamp(30px,4vw,44px);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
  .legal-hero .legal-intro{max-width:620px;margin:18px auto 0;color:var(--ink-soft);font-size:clamp(17px,2vw,19px);line-height:1.55}
  .legal-body{padding:clamp(112px,13vw,140px) 0 clamp(48px,6vw,72px)}
  .legal-content{max-width:760px;margin:0 auto}
  .legal-section{margin-bottom:44px}
  .legal-section:last-child{margin-bottom:0}
  .legal-section h2{margin:0 0 16px;font-size:clamp(22px,2.6vw,28px);font-weight:800;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}
  .legal-section p{margin:0 0 16px;color:var(--ink-soft);font-size:16px;line-height:1.7}
  .legal-section p:last-child{margin-bottom:0}
  .legal-section a{color:var(--gold-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
  .legal-section a:hover{text-decoration-thickness:2px}
  .newsletter-form input{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:6px;background:var(--white);font:inherit}
  .newsletter-form button{min-height:48px;padding:0 18px;border:0;border-radius:6px;background:var(--ink);color:var(--white);font:inherit;font-weight:700;cursor:pointer}
  @media (max-width:620px){.wrap{width:min(100% - 28px,1140px)}.legal-hero{padding:44px 0}.legal-body{padding:96px 0 56px}}}

/* ===== CONFIDENTIALITE ===== */
body.al-page-confidentialite {
  font-family: Inter,sans-serif;
  .wrap{width:min(1140px,calc(100% - 40px));margin:0 auto}
  .ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;font-size:16px;font-weight:750;text-decoration:none}
  .legal-hero{margin-top:74px;padding:clamp(56px,8vw,88px) 0;background:var(--paper);border-bottom:0;text-align:center}
  .legal-hero h1{margin:0;font-size:clamp(30px,4vw,44px);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
  .legal-hero .legal-intro{max-width:620px;margin:18px auto 0;color:var(--ink-soft);font-size:clamp(17px,2vw,19px);line-height:1.55}
  .legal-body{padding:clamp(112px,13vw,140px) 0 clamp(48px,6vw,72px)}
  .legal-content{max-width:760px;margin:0 auto}
  .legal-section{margin-bottom:44px}
  .legal-section:last-child{margin-bottom:0}
  .legal-section h2{margin:0 0 16px;font-size:clamp(22px,2.6vw,28px);font-weight:800;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}
  .legal-section p{margin:0 0 16px;color:var(--ink-soft);font-size:16px;line-height:1.7}
  .legal-section p:last-child{margin-bottom:0}
  .legal-section ul{margin:0 0 16px;padding-left:22px;color:var(--ink-soft);font-size:16px;line-height:1.7}
  .legal-section li{margin-bottom:6px}
  .legal-section a{color:var(--gold-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;word-break:break-word}
  .legal-section a:hover{text-decoration-thickness:2px}
  .legal-table-wrap{overflow-x:auto;margin:8px 0 16px;border:1px solid var(--line);border-radius:var(--radius)}
  .legal-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.55}
  .legal-table th,.legal-table td{padding:13px 16px;border-bottom:0;text-align:left;vertical-align:top;color:var(--ink-soft)}
  .legal-table tr:last-child td{border-bottom:0}
  .legal-table th{background:var(--paper);color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  .newsletter-form input{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:6px;background:var(--white);font:inherit}
  .newsletter-form button{min-height:48px;padding:0 18px;border:0;border-radius:6px;background:var(--ink);color:var(--white);font:inherit;font-weight:700;cursor:pointer}
  @media (max-width:620px){.wrap{width:min(100% - 28px,1140px)}.legal-hero{padding:44px 0}.legal-body{padding:96px 0 56px}.legal-table th,.legal-table td{padding:10px 12px;font-size:14px}}}


/* ===== CONTACT — refonte carte formulaire (juil. 2026) ===== */
body.al-page-contact {
  /* Respiration entre la pastille email (fin du hero) et la carte */
  .contact-hero{padding-bottom:200px}
  /* Carte : flotte davantage au-dessus du hero, sans bordure, ombre douce */
  .contact-card{
    position:relative;z-index:2;
    max-width:760px;margin-top:-150px;padding:clamp(30px,4vw,46px);
    border:0;border-radius:24px;
    box-shadow:0 34px 90px -18px rgba(16,19,21,.38);
  }
  .contact-card__sub{margin-bottom:22px}

  /* Formidable : on retire la boîte interne (bordure fieldset par défaut) */
  .frm_forms fieldset{margin:0;padding:0;border:0;background:none}
  .frm_forms legend{display:none}

  /* Grille : prénom/email puis téléphone/sujet côte à côte, message pleine largeur */
  .frm_fields_container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px;margin:0;padding:0}
  .frm_fields_container > div{grid-column:1 / -1;margin:0}
  .frm_fields_container > div:empty{display:none}
  .frm_fields_container > div:not([class]):has(input){display:none} /* honeypot : pas de trou dans la grille */
  .frm_fields_container > .frm_form_field:has(> input){grid-column:auto}

  .frm-show-form .frm_form_field{margin:0}
  .form-field input,.form-field textarea{min-height:52px;border-color:var(--line-strong,rgba(16,19,21,.18))}
  .form-field textarea{min-height:150px}

  /* Bouton : pill dorée du site, sans halo géant */
  .frm-show-form .button-wrapper{margin-top:6px}
  .frm-show-form .button-wrapper button,
  .frm-show-form button.c-button,
  .frm-show-form .frm_button_submit{box-shadow:0 14px 30px -12px rgba(252,215,60,.7)}
  .frm-show-form .button-wrapper button:hover,
  .frm-show-form button.c-button:hover,
  .frm-show-form .frm_button_submit:hover{box-shadow:0 18px 34px -12px rgba(252,215,60,.85)}

  @media (max-width:620px){
    /* Carte pleine largeur (bord à bord) : on sort des gouttières du .wrap. */
    .contact-card{
      width:100vw;
      max-width:none;
      margin-left:calc(50% - 50vw);
      margin-right:calc(50% - 50vw);
      margin-top:-104px;
      padding:26px 18px 24px;
      border-radius:0;
    }
    .frm_fields_container{grid-template-columns:1fr}}}
