:root{
    --bg: oklch(0.971 0.007 330);
    --bg-warm: oklch(0.945 0.014 332);
    --bg-deep: oklch(0.215 0.045 330);
    --ink: oklch(0.185 0.030 330);
    --ink-2: oklch(0.385 0.024 332);
    --ink-3: oklch(0.560 0.020 332);
    --line: oklch(0.885 0.013 330);
    --line-2: oklch(0.805 0.018 330);
    --accent: oklch(0.520 0.190 352);
    --accent-bright: oklch(0.62 0.205 350);
    --accent-soft: oklch(0.930 0.050 350);
    --accent-ink: oklch(0.420 0.175 352);
    --gold: oklch(0.745 0.110 85);
    --ok: oklch(0.585 0.110 162);
    --radius: 14px;
    --focus: oklch(0.55 0.18 285);
  }
  html[data-theme="dark"]{
    --bg: oklch(0.165 0.028 330);
    --bg-warm: oklch(0.225 0.034 330);
    --bg-deep: oklch(0.115 0.022 330);
    --ink: oklch(0.955 0.010 330);
    --ink-2: oklch(0.780 0.013 330);
    --ink-3: oklch(0.580 0.016 330);
    --line: oklch(0.305 0.024 330);
    --line-2: oklch(0.385 0.028 330);
    --accent: oklch(0.640 0.205 350);
    --accent-soft: oklch(0.320 0.105 350);
    --accent-ink: oklch(0.800 0.160 352);
    --focus: oklch(0.72 0.18 285);
  }
  html[data-theme="dark"] .card, html[data-theme="dark"] .card-base, html[data-theme="dark"] .twoside-card, html[data-theme="dark"] .test, html[data-theme="dark"] .price-card, html[data-theme="dark"] .compare-wrap, html[data-theme="dark"] .input-cta, html[data-theme="dark"] .pact-card, html[data-theme="dark"] .feat{background: var(--bg-warm);}
  html[data-theme="dark"] .mock{background: color-mix(in oklab, var(--bg) 60%, var(--bg-warm));}
  html[data-theme="dark"] .stat-tile, html[data-theme="dark"] .booking, html[data-theme="dark"] .chart{background: var(--bg-deep);}
  html[data-theme="dark"] .timeslot{background: var(--bg-warm); border-color: var(--line);}
  html{scroll-behavior: smooth;}
  @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;}
  }
  *:focus{outline: none;}
  *:focus-visible{outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px;}
  .btn:focus-visible{outline-offset: 3px;}
  .skip-link{position: absolute; left: -9999px; top: 0; background: var(--ink); color: var(--bg); padding: 10px 16px; border-radius: 0 0 8px 0; font-family:'JetBrains Mono', monospace; font-size: 13px; z-index: 100;}
  .skip-link:focus{left: 0; outline: 2px solid var(--focus); outline-offset: 0;}
  .mobile-cta{display: none; position: fixed; bottom: 0; left: 0; right: 0; background: var(--bg); border-top: 1px solid var(--line); padding: 12px 16px env(safe-area-inset-bottom, 12px); z-index: 70; box-shadow: 0 -20px 40px -20px oklch(0.17 0.04 330 / 0.15);}
  .mobile-cta .btn{width: 100%; justify-content: center;}
  @media(max-width:760px){.mobile-cta{display: block;} body{padding-bottom: 64px;}}
  .theme-toggle{position: fixed; bottom: 16px; right: 16px; width: 40px; height: 40px; border-radius: 50%; background: var(--bg); border: 1px solid var(--line-2); color: var(--ink); cursor: pointer; z-index: 60; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 30px -10px oklch(0.17 0.04 330 / 0.3); font-size: 16px; transition: transform .2s ease;}
  .theme-toggle:hover{transform: scale(1.08);}
  @media(max-width:760px){.theme-toggle{bottom: 76px;}}
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{
    font-family: 'Manrope', system-ui, sans-serif;
    background: var(--bg);
    color: var(--ink);
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  .serif{font-family:'Instrument Serif', Georgia, serif; font-weight:400; letter-spacing: -0.01em;}
  .mono{font-family:'JetBrains Mono', ui-monospace, monospace;}
  .container{max-width: 1240px; margin:0 auto; padding: 0 28px;}
  .container-narrow{max-width: 960px; margin: 0 auto; padding: 0 28px;}
  a{color:inherit;}
  button{font-family:inherit;}

  /* ─── Nav ─── */
  .nav{
    position: sticky; top:0; z-index: 50;
    background: color-mix(in oklab, var(--bg) 88%, transparent);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid color-mix(in oklab, var(--line) 70%, transparent);
  }
  .nav-inner{display:flex; align-items:center; justify-content:space-between; height: 68px;}
  .logo{display:flex; align-items:center; gap:10px; font-family:'Instrument Serif',serif; font-size: 26px; letter-spacing:-0.01em;}
  /* Brand monogram — bordeaux speech-bubble mark (see assets/brand/). */
  .logo-mark{
    width:32px; height:32px;
    background: url("../brand/logo-mark-light.svg?v=1.0-20260623") center / contain no-repeat;
  }
  html[data-theme="dark"] .logo-mark{
    background-image: url("../brand/logo-mark-dark.svg?v=1.0-20260623");
  }
  .nav-links{display:flex; gap:28px; font-size: 14px; color: var(--ink-2);}
  .nav-links a{text-decoration:none; padding: 6px 0; position:relative;}
  .nav-links a:hover{color: var(--ink);}
  .nav-cta{display:flex; gap:10px; align-items:center;}

  /* Mobile nav toggle */
  .nav-toggle{
    display: none;
    width: 40px; height: 40px;
    background: transparent; border: 1px solid var(--line-2);
    border-radius: 10px; cursor: pointer;
    align-items: center; justify-content: center; gap: 4px;
    flex-direction: column; padding: 10px;
  }
  .nav-toggle span{
    display: block; width: 18px; height: 1.5px; background: var(--ink);
    transition: transform .25s ease, opacity .2s ease;
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform: translateY(5.5px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform: translateY(-5.5px) rotate(-45deg); }

  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding: 12px 18px; border-radius: 999px; border:1px solid transparent;
    font-weight: 400; font-size: 14px; cursor: pointer; text-decoration:none;
    transition: transform .15s ease, background .2s ease, border-color .2s ease, color .2s ease;
    letter-spacing: -0.005em;
  }
  .btn-primary{background: var(--ink); color: var(--bg);}
  .btn-primary:hover{background: var(--accent); transform: translateY(-1px);}
  .btn-ghost{color: var(--ink); border-color: var(--line-2);}
  .btn-ghost:hover{border-color: var(--ink);}
  .btn-accent{background: var(--accent); color: #fff;}
  .btn-accent:hover{background: var(--accent-ink);}
  .btn-lg{padding: 16px 26px; font-size: 15px;}

  .kbd{
    font-family:'JetBrains Mono', monospace; font-size: 11px;
    padding: 2px 6px; border:1px solid var(--line-2); border-radius:4px;
    background: var(--bg); color: var(--ink-2);
  }

  /* ─── Live activity ticker (FOMO) ─── */
  .ticker-bar{
    border-bottom: 1px solid var(--line);
    background: color-mix(in oklab, var(--bg-warm) 60%, var(--bg));
    overflow:hidden;
    font-size: 12.5px; color: var(--ink-2);
    height: 36px; display:flex; align-items:center;
  }
  .ticker-bar .dot{width:6px;height:6px;border-radius:50%;background:var(--ok); margin-right:8px; box-shadow:0 0 0 3px color-mix(in oklab, var(--ok) 22%, transparent); animation: pulse 2s infinite;}
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
  .ticker-track{display:flex; gap:48px; white-space:nowrap; animation: scroll 60s linear infinite; padding-left: 24px;}
  .ticker-track span b{color: var(--ink); font-weight: 400;}
  @keyframes scroll{from{transform:translateX(0)} to{transform:translateX(-50%)}}

  /* ─── Hero ─── */
  .hero{
    position: relative;
    padding: 72px 0 96px;
    overflow:hidden;
  }
  .hero-grid{display:grid; grid-template-columns: 1.05fr 0.95fr; gap: 64px; align-items: center;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'JetBrains Mono',monospace; font-size: 11px; letter-spacing:0.12em;
    text-transform: uppercase; color: var(--accent-ink);
    padding: 6px 12px; border-radius: 999px;
    background: var(--accent-soft);
    border: 1px solid color-mix(in oklab, var(--accent) 18%, transparent);
  }
  h1.display{
    font-family:'Instrument Serif', serif; font-weight:400;
    font-size: clamp(48px, 6.2vw, 92px);
    line-height: 0.98; letter-spacing: -0.025em;
    margin: 22px 0 24px;
  }
  h1.display em{font-style: italic; color: var(--accent);}
  .hero p.lede{font-size: 19px; color: var(--ink-2); max-width: 540px; line-height:1.5;}
  .hero-cta{display:flex; gap:12px; margin-top: 36px; align-items:center; flex-wrap:wrap;}
  .hero-trust{
    display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px;
    margin-top: 42px; padding-top: 28px; border-top: 1px solid var(--line);
  }
  .hero-trust .item{font-size: 13px; color: var(--ink-2); display:flex; flex-direction:column; align-items:flex-start; gap:4px;}
  .hero-trust .item b{color: var(--ink); font-weight: 400; font-size: 20px; font-family:'Instrument Serif',serif; line-height: 1;}

  /* Hero visual: editorial slider */
  .hero-vis{position:relative; height: 560px;}
  .hero-frame{
    position: relative;
    width: 100%;
    max-width: 520px;
    height: 540px;
    margin: 0 auto;
    background: #fff;
    border-radius: 18px;
    border: 1px solid var(--line);
    box-shadow: 0 40px 100px -50px oklch(0.17 0.04 330 / 0.4), 0 1px 0 oklch(1 0 0 / .8) inset;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  html[data-theme="dark"] .hero-frame{background: var(--bg-warm);}
  .hero-frame .chrome{
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid var(--line);
    background: linear-gradient(180deg, color-mix(in oklab, var(--bg-warm) 50%, #fff), #fff);
  }
  html[data-theme="dark"] .hero-frame .chrome{background: linear-gradient(180deg, color-mix(in oklab, var(--bg-deep) 50%, var(--bg-warm)), var(--bg-warm));}
  .hero-frame .chrome .lights{display: flex; gap: 6px;}
  .hero-frame .chrome .lights span{width: 11px; height: 11px; border-radius: 50%; background: var(--line-2);}
  .hero-frame .chrome .url{
    font-family:'JetBrains Mono', monospace; font-size: 11px; color: var(--ink-3);
    padding: 4px 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--bg);
    display: flex; align-items: center; gap: 8px;
  }
  .hero-frame .chrome .url::before{content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ok);}
  .hero-frame .chrome .right{display: flex; gap: 14px; align-items: center; font-size: 12px; color: var(--ink-3);}
  .hero-frame .stage{
    flex: 1; position: relative; overflow: hidden;
  }
  .hero-slide{
    position: absolute; inset: 0; padding: 22px;
    opacity: 0; visibility: hidden;
    will-change: opacity, transform;
  }
  .hero-slide.active{opacity: 1; visibility: visible;}
  .hero-slide h4.sl-title{margin: 0 0 4px; font-size: 14px; font-weight: 400; letter-spacing: -0.005em;}
  .hero-slide .sl-sub{font-size: 11.5px; color: var(--ink-3); margin-bottom: 16px; font-family:'JetBrains Mono', monospace; letter-spacing: 0.06em;}
  .hero-slide .sl-pill{
    display: inline-block; font-size: 10px; padding: 3px 8px; border-radius: 999px;
    background: color-mix(in oklab, var(--ok) 18%, transparent); color: var(--ok);
    font-family:'JetBrains Mono', monospace; letter-spacing: 0.06em;
    margin-left: 8px;
  }
  .hero-slide .sl-pill.accent{background: var(--accent-soft); color: var(--accent-ink);}
  .hero-slide .sl-pill.dark{background: var(--accent); color: #fff;}

  /* Slide 1: Agenda */
  .sl-agenda{padding: 0 !important;}
  .sl-agenda .top{
    padding: 14px 18px; display: flex; justify-content: space-between; align-items: center;
    border-bottom: 1px solid var(--line);
  }
  .sl-agenda .top h4{margin: 0; font-size: 14px; font-weight: 400;}
  .sl-agenda .list .row{
    display: grid; grid-template-columns: 56px 1fr auto;
    padding: 14px 18px; border-bottom: 1px dashed var(--line);
    align-items: center;
  }
  .sl-agenda .list .row:last-child{border-bottom: none;}
  .sl-agenda .list .row.busy{background: color-mix(in oklab, var(--accent-soft) 60%, transparent);}
  .sl-agenda .list .row .t{font-family:'JetBrains Mono', monospace; font-size: 11px; color: var(--ink-3);}
  .sl-agenda .list .row .who{font-size: 13px;}
  .sl-agenda .list .row .who small{display: block; color: var(--ink-3); font-size: 11px;}
  .sl-agenda .list .row .tag{font-size: 10px; padding: 3px 8px; border-radius: 999px; background: var(--bg-warm); font-family:'JetBrains Mono', monospace;}
  .sl-agenda .list .row.busy .tag{background: var(--accent); color: #fff;}

  /* Slide 2: Planificateur — map */
  .sl-map .map-area{
    aspect-ratio: 1.4; border-radius: 12px; border: 1px solid var(--line); position: relative; overflow: hidden;
    background:
      radial-gradient(circle at 28% 38%, color-mix(in oklab, var(--accent-soft) 70%, transparent), transparent 38%),
      radial-gradient(circle at 75% 70%, color-mix(in oklab, var(--accent-soft) 40%, transparent), transparent 32%),
      repeating-linear-gradient(45deg, var(--bg-warm), var(--bg-warm) 14px, color-mix(in oklab, var(--bg-warm) 80%, var(--ink-3)) 14px, color-mix(in oklab, var(--bg-warm) 80%, var(--ink-3)) 15px);
  }
  .sl-map .route{position: absolute; inset: 0; width: 100%; height: 100%;}
  .sl-map .pin{
    position: absolute; transform: translate(-50%, -100%);
    width: 26px; height: 26px;
    background: var(--accent); color: #fff;
    border-radius: 50% 50% 50% 0; transform-origin: bottom left;
    box-shadow: 0 4px 12px oklch(0.17 0.04 330 / 0.35);
    display: flex; align-items: center; justify-content: center;
    font-weight: 400; font-size: 12px;
  }
  .sl-map .pin span{transform: rotate(-45deg) translate(2px, -1px);}
  .sl-map .pin.start{background: var(--ink);}
  .sl-map .stats{
    display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px;
    margin-top: 16px;
  }
  .sl-map .stat{
    background: var(--bg-warm); padding: 10px 12px; border-radius: 8px;
  }
  .sl-map .stat .l{font-size: 9px; color: var(--ink-3); letter-spacing: 0.1em; text-transform: uppercase; font-family:'JetBrains Mono', monospace;}
  .sl-map .stat .v{font-family:'Instrument Serif', serif; font-size: 22px; line-height: 1.1; margin-top: 2px;}
  .sl-map .stat.win .v{color: var(--accent);}
  .sl-map .stat.dim .v{color: var(--ink-3); text-decoration: line-through; font-size: 14px;}

  /* Slide 3: Fiche client */
  .sl-crm .head{display: flex; gap: 14px; align-items: center; margin-bottom: 18px;}
  .sl-crm .head .av{
    width: 52px; height: 52px; border-radius: 50%;
    background: linear-gradient(135deg, oklch(0.78 0.07 35), oklch(0.55 0.17 352));
    color: #fff; font-weight: 400; font-size: 16px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  .sl-crm .head h5{margin: 0; font-size: 15px; font-weight: 400;}
  .sl-crm .head small{font-size: 11px; color: var(--ink-3); display: block; margin-top: 2px;}
  .sl-crm .kpis{display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin-bottom: 16px;}
  .sl-crm .kpi{background: var(--bg-warm); padding: 10px 12px; border-radius: 8px;}
  .sl-crm .kpi .l{font-size: 9px; color: var(--ink-3); letter-spacing: 0.1em; text-transform: uppercase; font-family:'JetBrains Mono', monospace;}
  .sl-crm .kpi .v{font-family:'Instrument Serif', serif; font-size: 20px; line-height: 1; margin-top: 4px;}
  .sl-crm .note{padding: 12px 14px; background: color-mix(in oklab, var(--accent-soft) 50%, transparent); border-radius: 8px; font-size: 12px; color: var(--ink-2); margin-bottom: 14px;}
  .sl-crm .note b{color: var(--accent-ink); display: block; margin-bottom: 4px; font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; font-family:'JetBrains Mono', monospace;}
  .sl-crm .hist{font-size: 12px;}
  .sl-crm .hist .h-row{display: grid; grid-template-columns: 76px 1fr auto; padding: 8px 0; border-bottom: 1px dashed var(--line); color: var(--ink-2);}
  .sl-crm .hist .h-row:last-child{border-bottom: none;}
  .sl-crm .hist .d{font-family:'JetBrains Mono', monospace; font-size: 10px; color: var(--ink-3);}

  /* Slide 4: Facture */
  .sl-bill{padding: 22px;}
  .sl-bill .bill-head{display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 16px;}
  .sl-bill .bill-head h4{margin: 0; font-family:'Instrument Serif', serif; font-weight: 400; font-size: 18px;}
  .sl-bill .bill-head .id{font-family:'JetBrains Mono', monospace; font-size: 10px; color: var(--ink-3); letter-spacing: 0.08em;}
  .sl-bill .lines{margin-bottom: 16px;}
  .sl-bill .lines .line{display: grid; grid-template-columns: 1fr auto; padding: 8px 0; border-bottom: 1px dashed var(--line); font-size: 13px;}
  .sl-bill .lines .line small{display: block; color: var(--ink-3); font-size: 11px; margin-top: 2px;}
  .sl-bill .lines .line .price{font-family:'JetBrains Mono', monospace; font-size: 13px; align-self: center;}
  .sl-bill .totals{padding-top: 12px; border-top: 1px solid var(--line); font-size: 12px;}
  .sl-bill .totals .t{display: flex; justify-content: space-between; padding: 4px 0; color: var(--ink-2);}
  .sl-bill .totals .t.grand{font-family:'Instrument Serif', serif; font-size: 22px; color: var(--ink); padding-top: 8px; margin-top: 4px; border-top: 1px dashed var(--line);}
  .sl-bill .pay{
    margin-top: 14px; padding: 12px;
    background: var(--ink); color: var(--bg); border-radius: 10px;
    display: flex; gap: 12px; align-items: center; justify-content: space-between;
  }
  .sl-bill .pay b{font-size: 13px;}
  .sl-bill .pay span{font-size: 10px; color: color-mix(in oklab, var(--bg) 60%, transparent); font-family:'JetBrains Mono', monospace;}
  .sl-bill .pay .ok{background: var(--ok); color: #fff; padding: 4px 10px; border-radius: 999px; font-size: 10px; font-family:'JetBrains Mono', monospace; letter-spacing: 0.08em;}

  /* Slide 5: Bilan */
  .sl-stats .top-row{display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin-bottom: 16px;}
  .sl-stats .tile{background: var(--bg-warm); padding: 14px; border-radius: 10px;}
  .sl-stats .tile .l{font-size: 9px; color: var(--ink-3); letter-spacing: 0.1em; text-transform: uppercase; font-family:'JetBrains Mono', monospace;}
  .sl-stats .tile .v{font-family:'Instrument Serif', serif; font-size: 28px; line-height: 1; margin-top: 4px;}
  .sl-stats .tile .d{font-size: 10px; color: var(--ok); margin-top: 4px; font-family:'JetBrains Mono', monospace;}
  .sl-stats .chart{
    height: 160px; background: var(--bg-warm); border-radius: 10px; padding: 14px;
    display: flex; gap: 6px; align-items: flex-end;
  }
  .sl-stats .chart div{flex: 1; background: linear-gradient(180deg, var(--accent), oklch(0.62 0.18 350)); border-radius: 3px 3px 0 0;}
  .sl-stats .axis{font-size: 10px; color: var(--ink-3); margin-top: 10px; font-family:'JetBrains Mono', monospace; text-align: center; letter-spacing: 0.06em;}

  /* Slider tabs */
  .hero-tabs{
    display: flex; gap: 6px; margin-top: 22px;
    max-width: 520px; margin-left: auto; margin-right: auto;
    padding: 6px; border-radius: 999px;
    background: color-mix(in oklab, var(--bg-warm) 70%, transparent);
    border: 1px solid var(--line);
  }
  html[data-theme="dark"] .hero-tabs{background: var(--bg-deep);}
  .hero-tabs button{
    flex: 1; padding: 8px 6px;
    background: transparent; border: none; cursor: pointer;
    font-family: 'JetBrains Mono', monospace; font-size: 10px;
    color: var(--ink-3); letter-spacing: 0.08em;
    border-radius: 999px;
    transition: color .2s ease, background .3s ease;
    text-transform: uppercase;
  }
  .hero-tabs button:hover{color: var(--ink);}
  .hero-tabs button.active{background: var(--ink); color: var(--bg);}
  html[data-theme="dark"] .hero-tabs button.active{background: var(--bg); color: var(--ink);}

  .hero-progress{
    position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: transparent;
  }
  .hero-progress .bar{height: 100%; background: var(--accent); width: 0%; transition: width 0.1s linear;}

  /* Decorative blur */
  .hero::before{
    content:""; position:absolute; width: 520px; height: 520px; right: -120px; top: -120px;
    background: radial-gradient(circle, color-mix(in oklab, var(--accent) 18%, transparent) 0%, transparent 60%);
    filter: blur(40px); z-index: 0; pointer-events:none;
  }
  .hero > *{position:relative; z-index:1;}

  /* ─── Section primitives ─── */
  section{padding: 100px 0;}
  .section-eyebrow{font-family:'JetBrains Mono',monospace; font-size: 11px; letter-spacing:0.16em; text-transform:uppercase; color: var(--accent); margin-bottom: 18px; display:block;}
  h2.section-title{font-family:'Instrument Serif',serif; font-weight:400; font-size: clamp(36px, 4.4vw, 60px); line-height:1.02; letter-spacing:-0.022em; margin: 0 0 22px;}
  h2.section-title em{font-style: italic; color: var(--accent);}
  .section-lede{font-size: 18px; color: var(--ink-2); max-width: 640px; line-height: 1.55;}

  .divider{height:1px; background: var(--line); width:100%;}

  /* ─── Logos ─── */
  .logos{padding: 56px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background: var(--bg-warm);}
  .logos-label{text-align:center; font-family:'JetBrains Mono',monospace; font-size: 11px; letter-spacing: 0.14em; text-transform:uppercase; color: var(--ink-3); margin-bottom: 28px;}
  .logo-row{display:flex; justify-content:space-between; align-items:center; gap: 36px; flex-wrap:wrap;}
  .logo-item{font-family:'Instrument Serif',serif; font-size: 26px; color: var(--ink-2); opacity:0.7; letter-spacing:-0.01em; white-space:nowrap;}
  .logo-item.sm{font-size:20px;}
  .logo-item.alt{font-family:'Manrope',sans-serif; font-weight: 400; text-transform:uppercase; letter-spacing: 0.08em; font-size:14px;}

  /* ─── Loss aversion calculator ─── */
  .loss{background: var(--bg-deep); color: var(--bg); position: relative; overflow:hidden;}
  .loss::before{content:""; position:absolute; inset:0; background:
    radial-gradient(circle at 15% 30%, color-mix(in oklab, var(--accent) 30%, transparent), transparent 50%);
    pointer-events:none;
  }
  .loss .section-eyebrow{color: oklch(0.80 0.12 350);}
  .loss h2.section-title{color: var(--bg);}
  .loss h2.section-title em{color: oklch(0.82 0.15 352);}
  .loss-grid{display:grid; grid-template-columns: 1fr 1fr; gap: 56px; margin-top: 56px; align-items:start;}
  .loss-controls .ctl{margin-bottom: 28px;}
  .loss-controls .ctl label{display:flex; justify-content:space-between; font-size: 13px; color: color-mix(in oklab, var(--bg) 70%, transparent); margin-bottom: 8px; text-transform:uppercase; letter-spacing: 0.08em; font-family:'JetBrains Mono',monospace; font-size: 11px;}
  .loss-controls .ctl .val{color: var(--bg); font-weight: 400;}
  .loss-controls input[type=range]{
    width:100%; -webkit-appearance:none; appearance:none;
    height: 6px; border-radius: 999px; background: color-mix(in oklab, var(--bg) 12%, transparent);
    outline:none;
  }
  .loss-controls input[type=range]::-webkit-slider-thumb{
    -webkit-appearance:none; appearance:none;
    width: 22px; height: 22px; border-radius:50%; background: var(--bg); cursor: grab;
    border: 4px solid var(--accent); box-shadow: 0 2px 8px rgba(0,0,0,.3);
  }
  .loss-controls input[type=range]::-moz-range-thumb{
    width: 22px; height: 22px; border-radius:50%; background: var(--bg); cursor: grab;
    border: 4px solid var(--accent);
  }
  .loss-result{
    background: color-mix(in oklab, var(--bg) 6%, var(--bg-deep));
    border: 1px solid color-mix(in oklab, var(--bg) 14%, transparent);
    border-radius: 18px; padding: 36px;
  }
  .loss-result .label{font-family:'JetBrains Mono',monospace; font-size: 11px; letter-spacing: 0.12em; text-transform:uppercase; color: color-mix(in oklab, var(--bg) 60%, transparent);}
  .loss-result .amount{font-family:'Instrument Serif',serif; font-size: 96px; line-height: 1; letter-spacing:-0.03em; margin: 14px 0; color: oklch(0.86 0.13 352);}
  .loss-result .per{font-size: 14px; color: color-mix(in oklab, var(--bg) 75%, transparent); margin-bottom: 28px;}
  .loss-result .breakdown{display:grid; grid-template-columns:1fr 1fr; gap: 14px 24px; font-size: 13px; color: color-mix(in oklab, var(--bg) 75%, transparent); border-top: 1px solid color-mix(in oklab, var(--bg) 16%, transparent); padding-top: 24px;}
  .loss-result .breakdown b{display:block; color: var(--bg); font-weight: 400; font-size: 18px; font-family:'Instrument Serif',serif;}

  /* ─── Two-side: Pros + Clients ─── */
  .twoside-card{
    border: 1px solid var(--line); border-radius: 22px; padding: 44px;
    background: #fff;
    display:grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;
    margin-top: 28px;
  }
  .twoside-card.flip{direction: rtl;}
  .twoside-card.flip > *{direction: ltr;}
  .twoside-card h3{font-family:'Instrument Serif',serif; font-weight:400; font-size: 40px; line-height:1.05; margin: 8px 0 18px; letter-spacing:-0.02em;}
  .twoside-card .audience-tag{font-family:'JetBrains Mono',monospace; font-size: 11px; letter-spacing: 0.14em; text-transform:uppercase; color: var(--accent);}
  .twoside-card p{color: var(--ink-2); font-size: 16px; line-height: 1.6;}
  .features-list{list-style:none; padding:0; margin: 24px 0 32px;}
  .features-list li{display:flex; gap:12px; padding: 10px 0; border-bottom:1px dashed var(--line); font-size: 14.5px;}
  .features-list li:last-child{border-bottom:none;}
  .features-list .ic{width: 22px; height: 22px; border-radius: 6px; background: var(--accent-soft); color: var(--accent); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size: 12px; font-weight: 400;}
  .features-list b{font-weight: 400;}
  .features-list span.h{display:block; color: var(--ink-3); font-size:13px; margin-top:2px;}

  .mock{
    background: var(--bg-warm); border:1px solid var(--line); border-radius: 16px; padding: 28px; height: 100%;
    min-height: 380px;
    position: relative;
  }
  .mock-header{display:flex; gap:6px; margin-bottom: 22px;}
  .mock-header span{width:9px; height: 9px; border-radius: 50%; background: var(--line-2);}
  .dash-grid{display:grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; margin-bottom: 14px;}
  .stat-tile{background:#fff; padding:14px; border-radius:10px; border:1px solid var(--line);}
  .stat-tile .l{font-size: 10px; color: var(--ink-3); text-transform:uppercase; letter-spacing:0.1em; font-family:'JetBrains Mono',monospace;}
  .stat-tile .v{font-family:'Instrument Serif',serif; font-size:28px; line-height:1; margin-top:4px;}
  .stat-tile .d{font-size: 10px; color: var(--ok); margin-top:4px; font-family:'JetBrains Mono',monospace;}
  .chart{background:#fff; height: 160px; border-radius:10px; border:1px solid var(--line); padding:12px; position:relative;}
  .bars{display:flex; gap: 6px; align-items: flex-end; height: 100%;}
  .bars div{flex:1; background: linear-gradient(180deg, var(--accent), oklch(0.62 0.18 350)); border-radius: 3px 3px 0 0;}

  /* Client-side mock: booking */
  .booking{background: #fff; border-radius: 12px; border:1px solid var(--line); padding: 20px;}
  .booking h6{margin:0 0 4px; font-size: 14px;}
  .booking .price{font-family:'Instrument Serif',serif; font-size:32px; line-height:1; margin: 12px 0; letter-spacing:-0.02em;}
  .booking .price small{font-family:'Manrope',sans-serif; font-size:13px; color: var(--ink-3); margin-left:6px;}
  .timeslot-row{display:flex; gap:6px; margin: 14px 0;}
  .timeslot{flex:1; padding: 8px 0; text-align:center; border:1px solid var(--line); border-radius:8px; font-size:12px; cursor:pointer;}
  .timeslot.sel{background: var(--ink); color: var(--bg); border-color: var(--ink);}
  .booking .promise{display:flex; gap:8px; align-items:center; margin-top: 14px; font-size: 12px; color: var(--ink-3); padding-top: 14px; border-top: 1px dashed var(--line);}

  /* ─── Stats ─── */
  .stats{padding: 80px 0; background: var(--bg-warm); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .stats-grid{display:grid; grid-template-columns: repeat(4, 1fr); gap: 36px;}
  .stat-big .num{font-family:'Instrument Serif',serif; font-size: 88px; line-height: 0.95; letter-spacing:-0.03em;}
  .stat-big .num em{font-style: italic; color: var(--accent);}
  .stat-big .lbl{margin-top:8px; font-size: 14px; color: var(--ink-2); max-width: 230px;}

  /* ─── Testimonials ─── */
  .tests-grid{display:grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 56px;}
  .test{
    background: #fff; border:1px solid var(--line); border-radius: 16px; padding: 28px;
    display:flex; flex-direction:column;
  }
  .test .qm{font-family:'Instrument Serif',serif; font-size: 64px; line-height: 0.5; color: var(--accent); margin: 8px 0 6px; height: 30px;}
  .test p{font-size: 17px; line-height:1.45; flex:1; font-family:'Instrument Serif',serif; font-style: italic; letter-spacing:-0.005em;}
  .test .who{display:flex; align-items:center; gap:12px; padding-top: 20px; border-top: 1px solid var(--line); margin-top: 20px;}
  .test .who h6{margin:0; font-size:14px; font-weight: 400;}
  .test .who small{display:block; color:var(--ink-3); font-size:12px;}
  .test .biz{font-family:'JetBrains Mono',monospace; font-size: 10px; padding: 3px 7px; border-radius: 999px; background: var(--bg-warm); color: var(--ink-2); margin-left:auto;}
  .test .res{display:flex; gap: 18px; padding-top: 14px; margin-top:14px; border-top:1px dashed var(--line); font-size: 12px;}
  .test .res b{display:block; font-family:'Instrument Serif',serif; font-size: 22px; color: var(--accent); line-height:1;}
  .test .res span{color: var(--ink-3); font-size: 11px;}

  /* ─── Comparison ─── */
  .compare-wrap{margin-top: 56px; border:1px solid var(--line); border-radius: 18px; overflow:hidden; background:#fff;}
  .compare-table{width:100%; border-collapse: collapse;}
  .compare-table th, .compare-table td{padding: 18px 22px; text-align:left; font-size: 14px; border-bottom: 1px solid var(--line);}
  .compare-table thead th{background: var(--bg-warm); font-family:'JetBrains Mono',monospace; font-size: 11px; letter-spacing:0.1em; text-transform:uppercase; color: var(--ink-2); font-weight: 400;}
  .compare-table th.us{background: var(--ink); color: var(--bg); position: relative;}
  .compare-table th.us::before{content:"VOUS ÊTES ICI"; position:absolute; top:-12px; right: 22px; font-size: 9px; background: var(--accent); color:#fff; padding: 4px 8px; border-radius: 999px; letter-spacing: 0.1em;}
  .compare-table td.us{background: color-mix(in oklab, var(--accent-soft) 50%, transparent);}
  .compare-table td:first-child{font-weight: 400; color: var(--ink);}
  .compare-table tr:last-child td{border-bottom:none;}
  .yes{color: var(--ok); font-weight: 400;}
  .no{color: var(--ink-3);}
  .partial{color: oklch(0.65 0.10 70); font-weight: 400;}

  /* ─── Pricing ─── */
  .pricing-grid{display:grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 56px;}
  .price-card{
    border:1px solid var(--line); border-radius: 18px; padding: 36px 30px;
    background: #fff; display:flex; flex-direction:column;
    position: relative;
  }
  .price-card.featured{
    background: var(--ink); color: var(--bg); border-color: var(--ink);
    transform: scale(1.03);
    box-shadow: 0 30px 80px -40px oklch(0.17 0.04 330 / 0.5);
  }
  .price-card .tier{font-family:'JetBrains Mono',monospace; font-size: 11px; letter-spacing:0.14em; text-transform:uppercase; color: var(--ink-3);}
  .price-card.featured .tier{color: color-mix(in oklab, var(--bg) 60%, transparent);}
  .price-card h4{font-family:'Instrument Serif',serif; font-size: 32px; margin: 14px 0 4px; font-weight:400;}
  .price-card .desc{font-size: 13px; color: var(--ink-3); min-height: 36px;}
  .price-card.featured .desc{color: color-mix(in oklab, var(--bg) 70%, transparent);}
  .price-card .amt{font-family:'Instrument Serif',serif; font-size: 64px; line-height: 1; margin: 22px 0 4px; letter-spacing:-0.02em;}
  .price-card .amt small{font-family:'Manrope',sans-serif; font-size:14px; color: var(--ink-3); font-weight: 400;}
  .price-card.featured .amt small{color: color-mix(in oklab, var(--bg) 65%, transparent);}
  .price-card .was{font-size:12px; color: var(--ink-3); text-decoration: line-through; margin-bottom: 12px; font-family:'JetBrains Mono',monospace;}
  .price-card.featured .was{color: color-mix(in oklab, var(--bg) 55%, transparent);}
  .price-card ul{list-style:none; padding:0; margin: 28px 0; flex:1;}
  .price-card ul li{padding: 7px 0; font-size: 13.5px; display:flex; gap:10px;}
  .price-card ul li::before{content:"✓"; color: var(--accent); font-weight: 400;}
  .price-card.featured ul li::before{color: oklch(0.85 0.15 350);}
  .price-card .badge-feat{position:absolute; top:-12px; left: 30px; background: var(--accent); color:#fff; font-size:10px; padding: 5px 10px; border-radius:999px; letter-spacing:0.1em; font-family:'JetBrains Mono',monospace;}

  /* ─── Founding members (scarcity) ─── */
  .founding{
    margin-top: 80px; padding: 36px;
    border: 1.5px solid var(--accent);
    background: color-mix(in oklab, var(--accent-soft) 50%, var(--bg));
    border-radius: 18px;
    display:grid; grid-template-columns: 1.4fr 1fr; gap: 36px; align-items:center;
  }
  .founding .left h4{font-family:'Instrument Serif',serif; font-size: 32px; margin:0 0 8px; font-weight:400;}
  .founding .left p{margin: 0; font-size: 14px; color: var(--ink-2);}
  .progress-bar{background: color-mix(in oklab, var(--accent) 12%, transparent); height: 12px; border-radius: 999px; margin: 14px 0 8px; overflow:hidden;}
  .progress-fill{background: var(--accent); height: 100%; border-radius:999px; transition: width .8s ease;}
  .founding .right{text-align:right;}
  .founding .right .n{font-family:'Instrument Serif',serif; font-size: 56px; line-height:1; color: var(--accent);}
  .founding .right .l{font-size: 12px; color: var(--ink-2); font-family:'JetBrains Mono',monospace; letter-spacing: 0.1em; text-transform:uppercase;}

  /* ─── FAQ ─── */
  .faq-list{margin-top: 48px; border-top:1px solid var(--line);}
  .faq-item{border-bottom:1px solid var(--line); padding: 24px 0; cursor:pointer;}
  .faq-q{display:flex; justify-content:space-between; align-items:center; font-family:'Instrument Serif',serif; font-size: 24px; letter-spacing:-0.01em;}
  .faq-q .plus{font-size: 20px; color: var(--accent); font-family:'Manrope',sans-serif; font-weight: 400; transition: transform .25s ease;}
  .faq-item.open .plus{transform: rotate(45deg);}
  .faq-a{max-height: 0; overflow:hidden; transition: max-height .35s ease, margin .2s ease; color: var(--ink-2); font-size: 15.5px; line-height: 1.6;}
  .faq-item.open .faq-a{max-height: 400px; margin-top: 14px;}

  /* ─── Risk reversal ─── */
  .reversal{
    background: var(--ink); color: var(--bg);
    position: relative; overflow: hidden;
  }
  .reversal::before{content:""; position:absolute; right: -160px; bottom: -160px;
    width: 500px; height: 500px; border-radius: 50%;
    background: radial-gradient(circle, color-mix(in oklab, var(--accent) 30%, transparent), transparent 70%);
  }
  .reversal-grid{display:grid; grid-template-columns: 1fr 1.3fr; gap: 64px; align-items: center;}
  .reversal h2.section-title{color: var(--bg);}
  .reversal .section-eyebrow{color: oklch(0.80 0.12 350);}
  .reversal p{color: color-mix(in oklab, var(--bg) 75%, transparent); font-size: 16px; max-width: 480px;}
  .promises{display:grid; grid-template-columns: 1fr 1fr; gap: 16px;}
  .promise-card{
    background: color-mix(in oklab, var(--bg) 4%, transparent);
    border: 1px solid color-mix(in oklab, var(--bg) 14%, transparent);
    border-radius: 14px; padding: 24px;
  }
  .promise-card .pn{font-family:'Instrument Serif',serif; font-size: 36px; color: oklch(0.82 0.15 352); line-height:1;}
  .promise-card h5{font-family:'Instrument Serif',serif; font-weight:400; font-size: 22px; margin: 12px 0 6px; letter-spacing:-0.01em;}
  .promise-card p{font-size: 13px; color: color-mix(in oklab, var(--bg) 65%, transparent); margin:0;}

  /* ─── Final CTA ─── */
  .final-cta{padding: 120px 0; text-align:center;}
  .final-cta h2{font-family:'Instrument Serif',serif; font-weight:400; font-size: clamp(48px, 6.2vw, 88px); line-height: 1; letter-spacing:-0.025em; margin: 0 0 24px;}
  .final-cta h2 em{color: var(--accent); font-style: italic;}
  .final-cta p{color: var(--ink-2); font-size: 18px; max-width: 540px; margin: 0 auto 40px;}
  .input-cta{display:flex; gap:8px; max-width: 480px; margin: 0 auto; background: #fff; border:1px solid var(--line); border-radius: 999px; padding: 6px; box-shadow: 0 30px 60px -40px oklch(0.17 0.04 330 / 0.3);}
  .input-cta input{flex:1; border:none; background:transparent; padding: 0 16px; font-size: 15px; font-family:inherit; outline:none; color: var(--ink);}
  .input-cta .hint{margin-top: 16px; font-size: 12px; color: var(--ink-3); font-family:'JetBrains Mono',monospace;}

  /* ─── Footer ─── */
  footer{padding: 60px 0 40px; border-top: 1px solid var(--line); background: var(--bg-warm); margin-top: 0;}
  .foot-grid{display:grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 36px;}
  .foot-grid h6{font-family:'JetBrains Mono',monospace; font-size: 11px; letter-spacing: 0.12em; text-transform:uppercase; color: var(--ink-3); margin: 0 0 14px; font-weight: 400;}
  .foot-grid a{display:block; color: var(--ink-2); text-decoration:none; font-size: 14px; padding: 4px 0;}
  .foot-grid a:hover{color: var(--accent);}
  .foot-bottom{margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--line); display:flex; justify-content:space-between; font-size: 12px; color: var(--ink-3); font-family:'JetBrains Mono',monospace;}

  /* ─── Pacte (no ads / no profiling) ─── */
  .pact-strip{
    background: var(--bg);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 22px 0;
  }
  .pact-strip-inner{
    display:flex; align-items:center; justify-content:center; gap: 28px; flex-wrap: wrap;
    font-family:'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-2);
  }
  .pact-strip-inner span.b{display:flex; align-items:center; gap:8px;}
  .pact-strip-inner span.b::before{content:""; width:6px; height:6px; border-radius:50%; background: var(--accent);}
  .pact-strip-inner span.sep{opacity:0.35; letter-spacing:0;}

  .metier-hub{
    padding: 88px 0;
    background: var(--bg-warm);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  .metier-grid{
    display:grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
    margin-top: 42px;
  }
  .metier-card{
    display:block; text-decoration:none;
    background:#fff; border:1px solid var(--line); border-radius: 18px;
    padding: 24px; min-height: 210px;
    transition: transform .18s ease, border-color .2s ease, box-shadow .2s ease;
  }
  .metier-card:hover{
    transform: translateY(-2px);
    border-color: color-mix(in oklab, var(--accent) 35%, var(--line));
    box-shadow: 0 24px 50px -34px oklch(0.17 0.04 330 / 0.3);
  }
  .metier-tag{
    display:inline-flex; align-items:center;
    font-family:'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.12em;
    text-transform:uppercase; color: var(--accent);
    padding: 5px 9px; border-radius: 999px; background: var(--accent-soft);
    border: 1px solid color-mix(in oklab, var(--accent) 20%, transparent);
  }
  .metier-card h3{
    font-family:'Instrument Serif', serif; font-weight:400; font-size: 30px;
    line-height: 1; letter-spacing: -0.02em; margin: 18px 0 12px;
  }
  .metier-card p{margin:0; font-size: 15px; color: var(--ink-2); line-height: 1.55;}
  .metier-actions{display:flex; gap: 12px; flex-wrap:wrap; margin-top: 28px;}

  .pact{
    padding: 100px 0;
    background:
      radial-gradient(ellipse at 80% 20%, color-mix(in oklab, var(--accent) 14%, transparent), transparent 55%),
      var(--bg);
  }
  .pact-grid{display:grid; grid-template-columns: 0.9fr 1.1fr; gap: 72px; align-items:center;}
  .pact h2{font-family:'Instrument Serif',serif; font-weight:400; font-size: clamp(40px, 5vw, 68px); line-height:1; letter-spacing:-0.022em; margin: 16px 0 22px;}
  .pact h2 em{font-style: italic; color: var(--accent);}
  .pact .lede{font-size: 17px; color: var(--ink-2); line-height: 1.6; max-width: 460px;}
  .pact-card{
    background: #fff; border:1px solid var(--line); border-radius: 22px; padding: 40px;
    box-shadow: 0 30px 80px -50px oklch(0.17 0.04 330 / 0.3);
  }
  .pact-row{display:grid; grid-template-columns: 22px 1fr; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line);}
  .pact-row:first-child{padding-top:0;}
  .pact-row:last-child{border-bottom:none; padding-bottom:0;}
  .pact-row .x{font-family:'Instrument Serif',serif; color: var(--accent); font-size: 22px; line-height: 1; margin-top:1px;}
  .pact-row b{font-family:'Instrument Serif',serif; font-weight:400; font-size: 22px; letter-spacing:-0.005em; display:block; margin-bottom: 4px;}
  .pact-row p{margin:0; font-size: 14px; color: var(--ink-2); line-height: 1.55;}
  .pact-sign{margin-top: 26px; padding-top: 22px; border-top: 1px dashed var(--line); display:flex; justify-content:space-between; align-items: center; font-size: 12px; color: var(--ink-3); font-family:'JetBrains Mono',monospace; letter-spacing: 0.08em;}
  .pact-sign .seal{
    width: 56px; height: 56px; border-radius: 50%;
    border: 1.5px solid var(--accent); color: var(--accent);
    display:flex; align-items:center; justify-content:center;
    font-family:'Instrument Serif',serif; font-style: italic; font-size: 22px;
    transform: rotate(-8deg);
  }

  .proof-band{
    padding: 96px 0;
    background: var(--bg);
  }
  .proof-grid{
    display:grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
    margin-top: 46px;
  }
  .proof-card{
    display:block; text-decoration:none;
    background:#fff; border:1px solid var(--line); border-radius: 18px;
    padding: 24px; min-height: 208px;
    transition: transform .18s ease, border-color .2s ease, box-shadow .2s ease;
  }
  .proof-card:hover{
    transform: translateY(-2px);
    border-color: color-mix(in oklab, var(--accent) 35%, var(--line));
    box-shadow: 0 24px 50px -34px oklch(0.17 0.04 330 / 0.24);
  }
  .proof-kicker{
    display:block;
    font-family:'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.12em;
    text-transform:uppercase; color: var(--ink-3);
    margin-bottom: 12px;
  }
  .proof-card h3{
    font-family:'Instrument Serif', serif; font-weight:400; font-size: 30px;
    line-height: 1.02; letter-spacing: -0.02em; margin: 0 0 12px;
  }
  .proof-card p{margin:0; font-size: 15px; line-height: 1.55; color: var(--ink-2);}
  .proof-actions{display:flex; gap: 12px; flex-wrap:wrap; margin-top: 28px;}
  .launch-grid{
    display:grid; grid-template-columns: 0.9fr 1.1fr; gap: 36px;
    margin-top: 48px; padding-top: 40px; border-top: 1px solid var(--line);
    align-items:start;
  }
  .launch-copy h3{
    font-family:'Instrument Serif', serif; font-weight:400; font-size: 40px;
    line-height: 1.02; letter-spacing: -0.02em; margin: 0 0 14px;
  }
  .launch-copy p{margin:0; font-size: 16px; line-height: 1.6; color: var(--ink-2);}
  .launch-steps{display:grid; grid-template-columns: repeat(2, 1fr); gap: 16px;}
  .launch-step{
    background: var(--bg-warm); border:1px solid var(--line); border-radius: 16px;
    padding: 22px;
  }
  .launch-step-no{
    font-family:'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.12em;
    text-transform:uppercase; color: var(--accent); margin-bottom: 12px;
  }
  .launch-step h4{
    font-family:'Instrument Serif', serif; font-weight:400; font-size: 26px;
    line-height: 1.04; letter-spacing: -0.015em; margin: 0 0 10px;
  }
  .launch-step p{margin:0; font-size: 14px; line-height: 1.55; color: var(--ink-2);}

  /* responsive */
  @media (max-width: 960px){
    .hero-grid, .twoside-card, .twoside-card.flip, .loss-grid, .reversal-grid, .foot-grid{grid-template-columns: 1fr;}
    .hero-vis{height: 460px;}
    .stats-grid, .tests-grid, .pricing-grid{grid-template-columns: 1fr;}
    .hero-trust, .metier-grid, .proof-grid, .launch-grid, .launch-steps{grid-template-columns: 1fr;}
    .nav-toggle{display: inline-flex;}
    .nav-links{
      display: none;
      position: absolute; top: 68px; left: 0; right: 0;
      background: var(--bg);
      border-bottom: 1px solid var(--line);
      flex-direction: column; padding: 24px 28px; gap: 18px;
      box-shadow: 0 30px 60px -40px oklch(0.17 0.04 330 / 0.3);
    }
    .nav.open .nav-links{display: flex;}
    .nav-cta a[href*="connecter"], .nav-cta a[href="#connexion"]{display: none;}
    section{padding: 64px 0;}
    .container, .container-narrow{padding: 0 20px;}
    .price-card.featured{transform:none;}
    .compare-table th, .compare-table td{padding: 12px;}
    .founding{grid-template-columns: 1fr; text-align:left;}
    .founding .right{text-align:left;}
    h1.display{font-size: clamp(42px, 9vw, 64px);}
    h2.section-title{font-size: clamp(30px, 6.5vw, 44px);}
  }
  @media (max-width: 560px){
    body{font-size: 15px;}
    .btn-lg{padding: 14px 22px; font-size: 14px;}
    .foot-bottom{flex-direction: column; align-items: flex-start; gap: 8px;}
    .hero{padding: 48px 0 72px;}
    .pricing-grid{gap: 14px;}
    .metier-card h3, .proof-card h3{font-size: 26px;}
    .launch-copy h3{font-size: 34px;}
  }
