/* Rôle : présentation home. Domaine : annuaire public.
 * Méthode : feuille liée, ordre du gabarit conservé. Guide : docs/csp-annuaire.md. */
/* Tokens de design → /css/base.css (source unique) */
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  html,body{margin:0;padding:0}
  body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;color:var(--ink);background:var(--bg);line-height:1.55;font-size:16px}
  button{font-family:inherit;color:inherit;cursor:pointer;border:0;background:transparent}
  img{max-width:100%;display:block}
  a{color:var(--accent);text-decoration:none}
  a:hover{color:var(--accent-deep)}
  h1,h2,h3,h4,p{margin:0}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

  /* buttons */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;border-radius:13px;font-size:15px;padding:14px 22px;transition:filter .15s,border-color .15s,background .15s;line-height:1}
  .btn svg{width:17px;height:17px}
  .btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{filter:brightness(1.07);color:#fff}
  .btn-out{background:var(--surface);border:1.5px solid var(--ink-mute);color:var(--ink)}.btn-out:hover{border-color:var(--ink-soft);color:var(--ink)}
  .btn-ghost{background:var(--accent-softer);color:var(--accent-deep)}.btn-ghost:hover{background:var(--accent-soft)}
  .btn-lg{padding:16px 26px;font-size:16px;border-radius:14px}

  /* section rhythm */
  section{padding:76px 0}
  .band-surface{background:var(--surface);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-deep);background:var(--accent-softer);padding:7px 13px;border-radius:99px}
  .eyebrow.on-dark{color:#C3C8F5;background:rgba(255,255,255,.08)}
  h2.sec{font-size:34px;font-weight:800;letter-spacing:-0.025em;line-height:1.12;margin-top:16px;text-wrap:balance}
  .sec-intro{font-size:17px;color:var(--ink-soft);max-width:620px;margin-top:14px;line-height:1.6;text-wrap:pretty}
  .sec-head{margin-bottom:40px}

  /* generic image placeholder */
  .ph{border-radius:18px;border:1px solid var(--line);background:repeating-linear-gradient(135deg,#F1F2FA 0 13px,#E8EAF5 13px 26px);display:flex;align-items:center;justify-content:center;color:#9096B8}
  .ph .t{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;background:rgba(255,255,255,.7);padding:5px 10px;border-radius:7px;text-align:center}

  /* chips */
  .chips{display:flex;flex-wrap:wrap;gap:8px}
  .chip{display:inline-flex;align-items:center;gap:6px;font-weight:600;border-radius:9px;font-size:13px;padding:7px 13px;background:var(--bg-alt);color:var(--ink-soft)}
  .chip.accent{background:var(--accent-softer);color:var(--accent-deep)}
  a.chip:hover{background:var(--accent-soft);color:var(--accent-deep)}

  .av{border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}


  /* ============ HERO ============ */
  .hero{padding:64px 0 48px}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
  .hero h1{font-size:52px;line-height:1.04;font-weight:800;letter-spacing:-0.035em;text-wrap:balance}
  .hero h1 em{font-family:var(--font-serif);font-style:italic;font-weight:500;color:var(--accent-deep);letter-spacing:-0.02em}
  .hero p.lead{font-size:18px;color:var(--ink-soft);margin-top:20px;line-height:1.6;max-width:540px;text-wrap:pretty}
  .hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;align-items:center}
  .hero-note{margin-top:14px;font-size:13.5px;color:var(--ink-soft);font-weight:600;display:inline-flex;align-items:center;gap:9px}
  .hero-note b{color:var(--success);font-weight:800}
  .hero-note .on-dot{width:9px;height:9px;border-radius:50%;background:var(--success);flex:0 0 auto}
  @media (prefers-reduced-motion:no-preference){.hero-note .on-dot{animation:onlinePulse 2.2s ease-in-out infinite}}
  @keyframes onlinePulse{0%,100%{box-shadow:0 0 0 0 rgba(67,217,140,.55);opacity:1}50%{box-shadow:0 0 0 6px rgba(67,217,140,0);opacity:.62}}
  .hero-trust{display:flex;align-items:center;gap:18px;margin-top:26px;flex-wrap:wrap}
  .hero-trust .stars{color:var(--star);letter-spacing:1px;font-size:15px}
  .hero-trust .tt{font-size:13.5px;color:var(--ink-mute);font-weight:500}
  .hero-trust .tt b{color:var(--ink);font-weight:800}

  /* hero — mockup conversation */
  .hero-visual{position:relative;display:flex;justify-content:center}
  .phone{width:min(302px,100%);background:var(--surface);border:1px solid var(--line);border-radius:46px;padding:9px;box-shadow:0 48px 90px -44px rgba(20,24,56,.5)}
  .phone-in{background:#F3F4FB;border-radius:38px;overflow:hidden;display:flex;flex-direction:column;position:relative}
  .ph-status{display:flex;align-items:center;justify-content:space-between;padding:12px 22px 8px;background:var(--surface);font-size:12.5px;font-weight:700;color:var(--ink)}
  .ph-status .island{position:absolute;left:50%;top:11px;transform:translateX(-50%);width:72px;height:19px;border-radius:99px;background:var(--ink-dark)}
  .ph-status .phi{display:flex;align-items:center;gap:5px}
  .ph-home{background:var(--surface);display:flex;align-items:center;justify-content:center;padding:7px 0 9px}
  .ph-home i{width:104px;height:4px;border-radius:99px;background:#C9CCE2}
  .ch-head{display:flex;align-items:center;gap:11px;padding:13px 16px;background:var(--surface);border-bottom:1px solid var(--line-soft)}
  .ch-head .av{width:38px;height:38px;font-size:13px;background:var(--blue-fg)}
  .ch-head .nm{font-size:14px;font-weight:800;line-height:1.15}
  .ch-head .st{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--success);font-weight:700}
  .ch-head .st .dot{width:6px;height:6px;border-radius:50%;background:var(--success)}
  .ch-head .role{margin-left:auto;font-size:10.5px;font-weight:700;color:var(--accent-deep);background:var(--accent-softer);padding:4px 9px;border-radius:99px;white-space:nowrap}
  .ch-body{padding:16px 13px 12px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;height:392px;overflow:hidden}
  .ch-day{align-self:center;font-size:10.5px;font-weight:700;color:var(--ink-mute);background:var(--bg-alt);padding:3px 10px;border-radius:99px;letter-spacing:.03em}
  .msg{max-width:82%;padding:10px 13px;border-radius:15px;font-size:13px;line-height:1.5}
  .msg.me{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:5px}
  .msg.psy{align-self:flex-start;background:var(--surface);border:1px solid var(--line-soft);border-bottom-left-radius:5px;color:var(--ink)}
  .msg .tm{display:block;font-size:10px;margin-top:3px;text-align:right;font-weight:600}.msg.me .tm{color:#fff}.msg.psy .tm{color:var(--ink-mute)}
  .voice{display:flex;align-items:center;gap:9px}
  .voice .play{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
  .voice .play svg{width:11px;height:11px;fill:#fff}
  .voice .bars{display:flex;align-items:center;gap:2.5px;height:20px}
  .voice .bars i{display:block;width:2.5px;border-radius:2px;background:rgba(255,255,255,.75)}
  .voice .dur{font-size:11px;font-weight:700;color:#fff}
  .typing{align-self:flex-start;display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-mute);font-weight:600;padding:2px 4px}
  .typing .dots{display:inline-flex;gap:3px;background:var(--surface);border:1px solid var(--line-soft);border-radius:99px;padding:7px 10px}
  .typing .dots i{width:5px;height:5px;border-radius:50%;background:#AEB4D6}
  .voice .bars i{transform-origin:center}
  @media (prefers-reduced-motion: no-preference){
    .ch-anim .msg,.ch-anim .typing{opacity:0;transform:translateY(14px) scale(.97);animation:msgin .55s cubic-bezier(.22,.8,.3,1) forwards}
    @keyframes msgin{to{opacity:1;transform:none}}
    .hero-badge{animation:bfloat 5.5s ease-in-out infinite}
    .hero-badge.b2{animation-delay:1.4s}
    @keyframes bfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
    .typing .dots i{animation:tblink 1.2s infinite}
    .typing .dots i:nth-child(2){animation-delay:.18s}
    .typing .dots i:nth-child(3){animation-delay:.36s}
    @keyframes tblink{0%,60%,100%{opacity:.35}30%{opacity:1}}
    .voice.playing .bars i{animation:eq .85s ease-in-out infinite}
    .voice.playing .bars i:nth-child(2n){animation-delay:.12s}
    .voice.playing .bars i:nth-child(3n){animation-delay:.24s}
    .voice.playing .bars i:nth-child(4n){animation-delay:.36s}
    @keyframes eq{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}
  }
  .ch-input{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--surface);border-top:1px solid var(--line-soft)}
  .ch-input .field{flex:1;background:var(--bg-alt);border-radius:99px;padding:9px 15px;font-size:12.5px;color:var(--ink-mute);font-weight:500}
  .ch-input .send{width:34px;height:34px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
  .ch-input .send svg{width:15px;height:15px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .hero-badge{position:absolute;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:13px 16px;box-shadow:0 24px 50px -26px rgba(20,24,56,.4);display:flex;align-items:center;gap:11px;max-width:240px}
  .hero-badge .dot{width:10px;height:10px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px var(--success-soft);flex:0 0 auto}
  .hero-badge .ic{width:32px;height:32px;border-radius:10px;background:var(--success-soft);color:var(--success);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
  .hero-badge .ic svg{width:17px;height:17px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .hero-badge .l1{font-size:13.5px;font-weight:800;color:var(--ink);line-height:1.2}
  .hero-badge .l2{font-size:12px;color:var(--ink-mute);font-weight:500;margin-top:1px}
  .hero-badge.b1{left:-30px;bottom:-14px}
  .hero-badge.b2{right:-26px;top:170px}

  /* ============ TRUST STRIP ============ */
  .trust-strip{padding:22px 0}
  .trust-in{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
  .trust-it{display:flex;align-items:center;gap:11px;font-size:14px;color:var(--ink-soft);font-weight:600}
  .trust-it b{color:var(--ink);font-weight:800}
  .trust-it .tic{width:34px;height:34px;border-radius:10px;background:var(--accent-softer);color:var(--accent);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
  .trust-it .tic svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .trust-it .tic.gold{background:#FDF3D7;color:#B8860B}
  .trust-it .tic.green{background:var(--success-soft);color:var(--success)}

  /* ============ STEPS ============ */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .step{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px;display:flex;flex-direction:column}
  .step .n{width:40px;height:40px;border-radius:12px;background:var(--accent);color:#fff;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif)}
  .step h3{font-size:18px;font-weight:800;letter-spacing:-0.02em;margin-top:18px}
  .step p{font-size:14.5px;color:var(--ink-soft);margin-top:9px;line-height:1.55;flex:1}
  .step-mock{margin-top:18px;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px}
  .pick{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line-soft);border-radius:11px;padding:8px 10px}
  .pick .av{width:28px;height:28px;font-size:10px}
  .pick .pnm{font-size:12px;font-weight:700;line-height:1.15}
  .pick .psp{font-size:10.5px;color:var(--ink-mute);font-weight:500}
  .pick .ck{margin-left:auto;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line);flex:0 0 auto}
  .pick.sel{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-softer)}
  .pick.sel .ck{background:var(--accent);border-color:var(--accent);display:flex;align-items:center;justify-content:center}
  .pick.sel .ck svg{width:10px;height:10px;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .mini-msg{font-size:12px;line-height:1.45;padding:8px 11px;border-radius:12px;max-width:88%}
  .mini-msg.me{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}
  .mini-msg.psy{align-self:flex-start;background:var(--surface);border:1px solid var(--line-soft);border-bottom-left-radius:4px}
  .rythm-row{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line-soft);border-radius:11px;padding:9px 11px;font-size:12px;font-weight:600;color:var(--ink-soft)}
  .rythm-row .ric{width:26px;height:26px;border-radius:8px;background:var(--accent-softer);color:var(--accent);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
  .rythm-row .ric svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .rythm-row .ric.g{background:var(--success-soft);color:var(--success)}
  .rythm-row .opt{margin-left:auto;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-mute);background:var(--bg-alt);border-radius:99px;padding:2px 7px}
  .steps-foot{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:36px;flex-wrap:wrap}
  .steps-foot .hint{font-size:13.5px;color:var(--ink-mute);font-weight:600}

  /* ============ PSYS ============ */
  .psy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .psy-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:14px 14px 18px;display:flex;flex-direction:column;transition:border-color .18s}
  .psy-card:hover{border-color:#C6CBEA}
  .psy-card .ph{aspect-ratio:4/4.4;border-radius:13px;position:relative;overflow:hidden}
  .psy-card .fast{position:absolute;left:9px;bottom:9px;display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.95);border-radius:99px;padding:5px 11px;font-size:11px;font-weight:800;color:var(--success);box-shadow:0 8px 18px -8px rgba(14,17,42,.35)}
  .psy-card .fast .dot{width:6px;height:6px;border-radius:50%;background:var(--success)}
  .psy-card .nm{font-size:16.5px;font-weight:800;letter-spacing:-0.02em;margin-top:13px}
  .psy-card .role{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ink-soft);margin-top:3px}
  .psy-card .role svg{width:13px;height:13px;stroke:var(--accent);stroke-width:1.7;fill:none}
  .psy-card .chips{margin-top:11px}
  .psy-card .chip{font-size:11px;padding:4px 9px;border-radius:8px}
  .spec-cloud{margin-top:34px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
  .spec-cloud .lbl{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute)}

  /* ============ PRICING ============ */
  .price-grid{display:grid;grid-template-columns:1fr .9fr;gap:44px;align-items:start}
  .price-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 30px 60px -40px rgba(58,75,194,.35)}
  .price-main{padding:30px 30px 26px}
  .price-main .tag{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-deep)}
  .price-main .amt{display:flex;align-items:baseline;gap:6px;margin-top:10px}
  .price-main .amt b{font-family:var(--font-serif);font-size:52px;font-weight:500;letter-spacing:-0.01em}
  .price-main .amt .per{color:var(--ink-mute);font-size:15px;font-weight:600}
  .feat-list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:11px}
  .feat-list li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:var(--ink-soft)}
  .feat-list li b{color:var(--ink);font-weight:700}
  .feat-list .ck{width:20px;height:20px;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);display:flex;align-items:center;justify-content:center;flex:0 0 auto;margin-top:1px}
  .feat-list .ck svg{width:11px;height:11px;stroke:currentColor;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .price-main .btn{width:100%;margin-top:22px;border-radius:999px}
  .price-main .sub{margin-top:9px;text-align:center;font-size:12px;color:var(--ink-mute);font-weight:600}
  .price-opt{border-top:1px dashed var(--line);padding:22px 30px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface-2)}
  .price-opt .l1{font-size:14.5px;font-weight:700}
  .price-opt .l2{font-size:12.5px;color:var(--ink-mute)}
  .price-opt .l2 em{font-style:italic;font-family:var(--font-serif)}
  .price-opt .plus{font-family:var(--font-serif);font-size:26px;font-weight:500;color:var(--accent-deep);white-space:nowrap}
  .price-opt .plus span{font-size:13px;color:var(--ink-mute);font-family:var(--font-sans);font-weight:600}
  .price-side .lead{font-size:15px;color:var(--ink-soft);line-height:1.6}
  .reimb{margin-top:22px;background:var(--success-soft);border:1px solid #C8ECD8;border-radius:14px;padding:16px 18px;display:flex;gap:12px;align-items:flex-start}
  .reimb .ic{width:26px;height:26px;border-radius:50%;background:var(--success);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
  .reimb .ic svg{width:15px;height:15px;stroke:currentColor;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .reimb .rt b{font-size:14px;color:#166B4A;font-weight:800}
  .reimb .rt p{font-size:13px;color:#276A4E;margin-top:3px}
  .mutuelles{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:18px}
  .mutuelles .mname{font-size:12px;font-weight:700;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:6px 12px}
  .mutuelles .mlogo{display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:7px 14px}
  .mutuelles .mlogo img{height:20px;width:auto;display:block}
  .mutuelles .mname.more{background:transparent;border-style:dashed;color:var(--ink-mute);font-weight:600}

  /* ============ COMPARATIF ============ */
  .vs-wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px;position:relative;align-items:stretch}
  .vs-col{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px;display:flex;flex-direction:column}
  .vs-col.us{border:2px solid var(--accent);box-shadow:0 30px 60px -38px rgba(91,101,222,.55)}
  .vs-head{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}
  .vs-head .ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
  .us .vs-head .ic{background:var(--accent);color:#fff}
  .them .vs-head .ic{background:var(--bg-alt);color:var(--ink-soft)}
  .vs-head .ic svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .vs-name{font-size:16.5px;font-weight:800;letter-spacing:-0.015em}
  .vs-sub{font-size:12px;color:var(--ink-mute);font-weight:600;margin-top:1px}
  .vs-row{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px dashed var(--line-soft);font-size:13.5px}
  .vs-row:last-of-type{border-bottom:0}
  .vs-row .vk{flex:0 0 92px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-mute);padding-top:3px}
  .vs-row .vv{color:var(--ink-soft);line-height:1.5}
  .vs-row .vv b{color:var(--ink);font-weight:800}
  .them .vs-row .vv b{font-weight:700;color:var(--ink-soft)}
  .us .vs-row .vv b{color:var(--green-fg)}
  .them .vs-row.neg .vv b{color:var(--pink-fg)}
  .vs-row .vi{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto;margin-top:1px}
  .vs-row .vi svg{width:11px;height:11px;stroke:currentColor;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .vi.ok{background:var(--green-bg);color:var(--green-fg)}
  .vi.no{background:var(--pink-bg);color:var(--pink-fg)}
  .vi.mid{background:var(--bg-alt);color:var(--ink-mute)}
  .vs-col .btn{margin-top:18px;width:100%}
  .vs-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 24px -10px rgba(20,24,56,.35);display:flex;align-items:center;justify-content:center;color:var(--ink-mute);z-index:2;font-family:var(--font-serif);font-style:italic;font-size:16px}
  .microcopy-note{margin-top:16px;font-size:12px;color:var(--ink-mute);font-weight:600;text-align:center}

  /* ============ PSYS EN CABINET (dynamique) ============ */
  .psy-card .card-cta{margin-top:12px;width:100%;padding:11px 12px;font-size:13.5px}
  .btn-dark{background:var(--ink-dark);color:#fff}.btn-dark:hover{filter:brightness(1.35);color:#fff}
  .city-tabs{display:flex;gap:5px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px;flex:0 0 auto}
  .ct-tab{border-radius:99px;padding:9px 17px;font-size:13.5px;font-weight:700;color:var(--ink-soft);transition:.15s;white-space:nowrap}
  .ct-tab:hover{color:var(--ink)}
  .ct-tab.active{background:var(--ink-dark);color:#fff}
  .lp-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .lp-nav{display:flex;gap:8px}
  .lp-arrow{width:42px;height:42px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:.15s;flex:0 0 auto}
  .lp-arrow:hover{border-color:var(--accent);color:var(--accent-deep)}
  .lp-arrow svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .lp-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);gap:16px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px}
  .lp-grid::-webkit-scrollbar{display:none}
  .lp-card{scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px}
  .lp-top{display:flex;align-items:flex-start;gap:12px}
  .lp-top .av{width:46px;height:46px;font-size:14px}
  .lp-nm{font-size:15.5px;font-weight:800;letter-spacing:-0.015em;line-height:1.2}
  .lp-role{font-size:12px;font-weight:600;color:var(--ink-mute);margin-top:3px}
  .lp-rev{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:12px;padding:11px 13px;font-size:12.5px;line-height:1.55;color:var(--ink-soft)}
  .lp-rev .q{font-family:var(--font-serif);font-style:italic;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .lp-rev .w{display:block;margin-top:7px;font-size:11px;font-weight:700;color:var(--ink-mute)}
  .lp-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .lp-rating{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800}
  .lp-rating .s{color:var(--star);letter-spacing:.5px;font-size:11.5px}
  .lp-rating .n{color:var(--ink-mute);font-weight:600}
  .lp-status{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;border-radius:99px;padding:4px 10px}
  .lp-status .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
  .lp-status.open{color:var(--success);background:var(--success-soft)}
  .lp-status.closed{color:var(--ink-mute);background:var(--bg-alt)}
  .lp-actions{display:flex;gap:8px;margin-top:auto;padding-top:2px}
  .lp-actions .btn{flex:1;padding:11px 10px;font-size:13px}
  .lp-foot{display:flex;align-items:center;gap:16px;margin-top:22px;flex-wrap:wrap}
  .lp-foot .hint{font-size:13px;color:var(--ink-mute);font-weight:600}
  .edito h3{font-size:21px;font-weight:800;letter-spacing:-0.02em}
  .edito p{font-size:14.5px;color:var(--ink-soft);line-height:1.65;margin-top:12px;max-width:540px;text-wrap:pretty}
  .zone-annuaire{background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .zone-tag{display:flex;align-items:center;gap:16px;margin-bottom:36px}
  .zone-tag .ln{flex:1;height:1px;background:var(--line)}
  .zone-tag .tx{font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);white-space:nowrap;text-align:center}
