:root{
    --ink:#14171A;
    --paper:#FFFFFF;
    --line:#EDEDEA;
    --blue:#1D3FE0;
    --ink-soft:#55585C;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  html{overflow-x:hidden;}
  body{width:100%;}
  body{
    font-family:'Work Sans', sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.5;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}

  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

  h1,h2,h3,.display{
    font-family:'Archivo Expanded', sans-serif;
    font-weight:900;
    letter-spacing:-0.01em;
    line-height:1.02;
  }

  /* HEADER */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  .header-inner{
    display:flex;align-items:center;justify-content:space-between;
    padding:20px 32px;max-width:1180px;margin:0 auto;
  }
  .logo{
    font-family:'Archivo Expanded', sans-serif;
    font-weight:900;font-size:20px;
  }
  .logo{display:block;}
  .logo-img{height:32px;width:auto;display:block;}
  .header-subrow{
    max-width:1180px;margin:0 auto;padding:6px 32px 10px;
  }
  .logo-tagline{
    font-family:'Work Sans', sans-serif;font-size:11px;font-weight:500;
    color:var(--ink-soft);letter-spacing:0.01em;
  }
  nav{display:flex;gap:32px;font-size:15px;font-weight:500;}
  nav a{position:relative;padding-bottom:2px;}
  nav a::after{
    content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
    background:var(--blue);transition:width 0.25s ease;
  }
  nav a:hover{color:var(--blue);}
  nav a:hover::after{width:100%;}
  .nav-social{display:none;}
  .nav-toggle{
    display:none;flex-direction:column;justify-content:center;gap:4px;
    width:32px;height:32px;background:none;border:none;cursor:pointer;padding:0;
    flex-shrink:0;
  }
  .nav-toggle span{width:100%;height:1.5px;background:var(--ink);transition:transform 0.2s ease, opacity 0.2s ease;}
  #nav-check{display:none;}
  .status-pill{
    display:inline-flex;align-items:center;gap:8px;
    border:1px solid var(--ink);border-radius:100px;
    padding:6px 14px;font-size:13px;font-weight:500;
    white-space:nowrap;flex-shrink:0;
  }
  .phone-link{
    display:inline-flex;align-items:center;justify-content:center;
    width:32px;height:32px;border-radius:50%;color:var(--ink);
    transition:background 0.2s ease,color 0.2s ease;flex-shrink:0;
  }
  .phone-link svg{width:16px;height:16px;}
  .phone-link:hover{background:var(--ink);color:#fff;}
  .dot{
    width:7px;height:7px;border-radius:50%;background:#2CB25F;display:inline-block;
    position:relative;
  }
  .dot::after{
    content:"";position:absolute;inset:-4px;border-radius:50%;
    border:1px solid #2CB25F;animation:ping 2.2s ease-out infinite;
  }
  @keyframes ping{
    0%{transform:scale(0.6);opacity:0.9;}
    100%{transform:scale(1.9);opacity:0;}
  }

  /* HERO */
  .hero{
    padding:90px 0 24px;
    border-bottom:1px solid var(--line);
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr;
    grid-template-areas:
      "text avatar"
      "text meta";
    align-items:start;gap:40px 60px;
  }
  .hero-text-col{grid-area:text;align-self:end;}
  .hero-avatar-col{grid-area:avatar;}
  .avatar-flip{
    width:100%;max-width:220px;aspect-ratio:1/1;margin:0 auto;perspective:1200px;cursor:pointer;
  }
  .avatar-flip-inner{
    position:relative;width:100%;height:100%;
    transform-style:preserve-3d;transition:transform 0.7s cubic-bezier(.4,.2,.2,1);
  }
  @media(hover:hover) and (pointer:fine){
    .avatar-flip:hover .avatar-flip-inner{transform:rotateY(180deg);}
  }
  .avatar-flip.flipped .avatar-flip-inner{transform:rotateY(180deg);}
  .hero-avatar{
    position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;
    border:2px solid var(--line);background:#fff;display:block;
    backface-visibility:hidden;-webkit-backface-visibility:hidden;
  }
  .avatar-back{transform:rotateY(180deg);}
  @media(prefers-reduced-motion: reduce){.avatar-flip-inner{transition:none;}}
  .hero h1{
    font-size:clamp(42px,6vw,84px);
    margin-bottom:24px;
    opacity:0;animation:fadeUp 0.7s ease forwards;
  }
  .hero h1 .accent{color:var(--blue);}
  .hero h1 .accent.typing::after{content:"|";animation:blinkCursor 0.9s step-end infinite;}
  @keyframes blinkCursor{50%{opacity:0;}}
  @media(prefers-reduced-motion: reduce){
    .hero h1 .accent.typing::after{display:none;}
  }
  .hero-sub{
    font-size:19px;color:var(--ink-soft);max-width:52ch;margin-bottom:32px;
    opacity:0;animation:fadeUp 0.7s ease forwards;animation-delay:0.12s;
  }
  .hero-meta{
    border-left:2px solid var(--blue);padding-left:20px;
    opacity:0;animation:fadeUp 0.7s ease forwards;animation-delay:0.24s;
  }
  .hero-meta p{font-size:15px;color:var(--ink-soft);margin-bottom:6px;}
  .hero-meta strong{color:var(--ink);}
  .cta-row{
    display:flex;gap:14px;flex-wrap:wrap;
    opacity:0;animation:fadeUp 0.7s ease forwards;animation-delay:0.18s;
  }
  @keyframes fadeUp{
    from{opacity:0;transform:translateY(14px);}
    to{opacity:1;transform:translateY(0);}
  }
  .btn{
    display:inline-block;padding:14px 26px;font-weight:600;font-size:15px;
    border-radius:2px;border:1px solid var(--ink);
  }
  .btn-primary{background:var(--ink);color:#fff;}
  .btn-primary:hover{background:var(--blue);border-color:var(--blue);}
  .btn-ghost{background:transparent;color:var(--ink);}
  .btn-ghost:hover{border-color:var(--blue);color:var(--blue);}

  /* SECTION LABEL */
  .section{padding:80px 0;position:relative;}
  #portfolio{padding-top:36px;}
  .section:not(:last-of-type)::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:13px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='13' viewBox='0 0 44 13'%3E%3Cpath d='M0 6.5 Q11 0 22 6.5 T44 6.5' stroke='%23DCDCD6' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat:repeat-x;background-position:center;
  }
  .section-head{
    display:flex;justify-content:space-between;align-items:flex-start;
    margin-bottom:44px;flex-wrap:wrap;gap:12px;
  }
  .section-head h2{font-size:clamp(28px,4vw,44px);}
  .section-head p{color:var(--ink-soft);max-width:38ch;font-size:15px;}

  /* PORTFOLIO — planche contact */
  .contact-sheet{
    display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  }
  .plate{
    background:var(--c,var(--ink));
    aspect-ratio:4/3;position:relative;overflow:hidden;
    display:flex;align-items:flex-end;padding:20px;color:#fff;
    border-radius:6px;box-shadow:0 4px 14px rgba(20,23,26,0.12);
    opacity:0;transform:translateY(18px) rotate(var(--rot,0deg));
    transition:opacity 0.5s ease, transform 0.4s ease, box-shadow 0.3s ease;
  }
  .plate.revealed{opacity:1;transform:translateY(0) rotate(var(--rot,0deg));}
  .plate-img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
    transition:transform 0.5s ease;
  }
  a.plate:hover .plate-img{transform:scale(1.08);}
  .plate.has-img::after{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(180deg,rgba(0,0,0,0.15) 0%,transparent 30%,rgba(0,0,0,0.75) 100%);
  }
  .plate .cat{
    position:absolute;top:18px;left:20px;z-index:2;
    font-size:11px;text-transform:uppercase;letter-spacing:0.06em;opacity:0.75;
  }
  .plate.has-img .cat{
    opacity:1;background:rgba(20,23,26,0.55);padding:4px 10px;border-radius:100px;
    backdrop-filter:blur(4px);
  }
  .plate .name{
    font-family:'Work Sans', sans-serif;font-weight:600;font-size:17px;
    position:relative;z-index:2;
  }
  .plate.has-img .name{text-shadow:0 1px 8px rgba(0,0,0,0.5);}
  a.plate{cursor:pointer;}
  a.plate:hover{
    filter:brightness(1.05);transform:translateY(0) rotate(0deg) scale(1.03);
    box-shadow:0 10px 26px rgba(20,23,26,0.22);z-index:2;
  }
  .plate-punchy{background:var(--c,var(--ink));display:flex;align-items:center;justify-content:center;}
  .plate-punchy-card{
    width:72%;max-width:280px;height:auto;border-radius:10px;
    box-shadow:0 12px 30px rgba(0,0,0,0.28);
    transform:rotate(-4deg);transition:transform 0.4s ease;
  }
  a.plate-punchy:hover .plate-punchy-card{transform:rotate(0deg) scale(1.04);}
  .plate-icon{background-size:cover;background-position:center;}
  .plate-punchy .cat, .plate-icon .cat{
    position:absolute;top:18px;left:20px;
    background:rgba(255,255,255,0.16);backdrop-filter:blur(6px);
    padding:4px 10px;border-radius:100px;opacity:1;
  }
  .plate-punchy .name, .plate-icon .name{
    position:absolute;left:20px;bottom:20px;
    text-shadow:0 1px 6px rgba(0,0,0,0.35);
  }
  @media(prefers-reduced-motion: reduce){
    .plate{opacity:1;transform:rotate(var(--rot,0deg));transition:none;}
    a.plate:hover{transform:rotate(0deg);}
    a.plate:hover .plate-img{transform:none;}
  }
  @media(max-width:480px){
    .plate{padding:12px;}
    .plate .cat{
      top:10px;left:10px;font-size:9px;padding:3px 7px;max-width:calc(100% - 20px);
      overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    }
    .plate .name{font-size:13px;line-height:1.2;}
    .plate-punchy .cat, .plate-icon .cat{top:10px;left:10px;}
    .plate-punchy .name, .plate-icon .name{left:10px;bottom:10px;right:10px;}
    .project-nav{flex-direction:column;}
    .project-nav .btn{width:100%;text-align:center;box-sizing:border-box;}
    .btn-row{flex-direction:column;}
    .btn-row .btn{width:100%;text-align:center;box-sizing:border-box;}
    .article-nav{flex-direction:column;}
    .article-nav .btn{width:100%;text-align:center;box-sizing:border-box;}
  }

  /* CLIENTS */
  .trust{padding:40px 0;position:relative;overflow:hidden;}
  .trust::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:13px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='13' viewBox='0 0 44 13'%3E%3Cpath d='M0 6.5 Q11 0 22 6.5 T44 6.5' stroke='%23DCDCD6' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat:repeat-x;background-position:center;
  }
  .trust-label{
    font-size:12px;text-transform:uppercase;letter-spacing:0.06em;
    color:var(--ink-soft);margin-bottom:22px;
  }
  .trust-viewport{
    overflow:hidden;touch-action:pan-y;cursor:grab;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  }
  .trust-viewport.dragging{cursor:grabbing;}
  .trust-track{
    display:flex;align-items:center;gap:56px;width:max-content;
    will-change:transform;
  }
  .trust-track img{
    height:128px;width:auto;flex-shrink:0;
  }

  /* PARCOURS */
  .parcours-head{
    display:flex;gap:28px;align-items:flex-end;margin-bottom:44px;flex-wrap:wrap;
  }
  .parcours-photo{
    width:104px;height:104px;object-fit:cover;
    border-radius:50%;border:1px solid var(--line);flex-shrink:0;
  }
  .timeline{border-top:1px solid var(--line);}
  .t-row{
    display:grid;grid-template-columns:120px 1fr 1fr;gap:24px;
    padding:22px 0;border-bottom:1px solid var(--line);
    align-items:start;
  }
  .t-row .yr{font-weight:700;color:var(--blue);font-size:14px;}
  .t-row .role{font-weight:700;font-size:16px;}
  .t-row .org{color:var(--ink-soft);font-size:14px;margin-top:2px;}
  .t-row .desc{font-size:14px;color:var(--ink-soft);}

  /* SERVICES */
  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);}
  .service-card{padding:36px 30px;border-right:1px solid var(--line);}
  .service-card:last-child{border-right:none;}
  .service-card h3{font-size:22px;margin-bottom:10px;}
  .service-card .tag{
    font-size:12px;text-transform:uppercase;letter-spacing:0.06em;color:var(--blue);
    font-weight:700;margin-bottom:14px;display:block;
  }
  .service-card ul{list-style:none;margin:18px 0 24px;font-size:14px;color:var(--ink-soft);}
  .service-card li{padding:6px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;}
  .service-card .price{font-size:13px;color:var(--ink-soft);margin-bottom:16px;}
  .service-card .price strong{color:var(--ink);font-size:16px;}

  /* COURS */
  .cours{
    background:var(--ink);color:#fff;border-radius:6px;
    padding:48px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;
    position:relative;overflow:hidden;
  }
  .cours::before{
    content:"";position:absolute;inset:-20%;
    background:
      radial-gradient(circle at 85% 0%, rgba(29,63,224,0.55) 0%, transparent 42%),
      radial-gradient(circle at 30% 110%, rgba(75,29,224,0.4) 0%, transparent 40%);
    pointer-events:none;
  }
  .cours > div{position:relative;z-index:1;}
  .cours h2{color:#fff;font-size:32px;margin-bottom:14px;}
  .cours p{color:#dcdde0;font-size:15px;margin-bottom:20px;max-width:46ch;}
  .rating{
    display:inline-flex;align-items:center;gap:8px;font-size:14px;margin-bottom:20px;color:#fff;
    background:rgba(255,255,255,0.1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    border:1px solid rgba(255,255,255,0.18);border-radius:100px;padding:6px 14px;
  }
  .rating .stars{color:#F5B800;letter-spacing:2px;}
  .cours .btn-primary{background:var(--blue);border-color:var(--blue);}
  .cours-side{
    background:rgba(255,255,255,0.08);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,0.16);border-radius:6px;padding:28px 32px;
  }
  .cours-side p{font-size:13px;color:#c9cbce;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:10px;}
  .cours-side .rate{font-family:'Archivo Expanded';font-size:40px;font-weight:900;color:#fff;}

  /* TÉMOIGNAGES */
  .testimonials{margin-top:32px;overflow:hidden;}
  .testimonials-viewport{
    overflow:hidden;touch-action:pan-y;cursor:grab;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  }
  .testimonials-viewport.dragging{cursor:grabbing;}
  .testimonials-track{
    display:flex;gap:16px;width:max-content;will-change:transform;
  }
  .t-card{
    width:270px;flex-shrink:0;background:#fff;
    border-radius:14px;padding:22px;
    box-shadow:0 2px 10px rgba(20,23,26,0.06);
    border:1px solid rgba(20,23,26,0.04);
  }
  .t-card .stars{color:#E0A500;font-size:13px;letter-spacing:2px;margin-bottom:12px;display:block;}
  .t-card p{color:var(--ink-soft);font-size:14px;line-height:1.55;margin-bottom:18px;}
  .t-card .name{color:var(--ink);font-size:13px;font-weight:700;}

  /* DEVIS */
  .devis-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
  .devis-grid h2{font-size:34px;margin-bottom:16px;}
  .devis-grid > div:first-child p{color:var(--ink-soft);font-size:15px;max-width:40ch;}
  form{display:flex;flex-direction:column;gap:14px;}
  input,select,textarea{
    width:100%;
    border:1px solid var(--ink);border-radius:2px;padding:13px 14px;
    font-family:inherit;font-size:14px;background:#fff;
  }
  textarea{min-height:110px;resize:vertical;}
  label{font-size:12px;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-soft);margin-bottom:4px;display:block;}

  /* REVEAL GÉNÉRIQUE (fondu + léger décalage vers le haut) */
  .reveal{opacity:0;transform:translateY(16px);transition:opacity 0.6s ease,transform 0.6s ease;}
  .reveal.revealed{opacity:1;transform:translateY(0);}
  @media(prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none;}}

  /* CORRECTION OFFSET ANCRES (header sticky) */
  .section{scroll-margin-top:90px;}

  /* NUMÉROTATION DE SECTION */
  .secnum{
    display:block;font-family:'Archivo Expanded';font-size:14px;font-weight:700;
    color:var(--blue);letter-spacing:0.06em;margin-bottom:2px;
  }
  .head-title{display:block;}
  .bio-text{
    margin-top:32px;padding-top:28px;border-top:1px solid var(--line);
    font-size:16px;font-style:italic;line-height:1.7;color:var(--ink-soft);max-width:68ch;
  }
  .bio-text .quote-mark{
    font-family:'Archivo Expanded';font-style:normal;font-size:34px;
    color:var(--blue);line-height:0;vertical-align:-10px;margin-right:6px;
  }
  .cours .secnum{color:#fff;opacity:0.85;}

  /* REVEAL DES TITRES AU SCROLL */
  h2 .word{display:inline-block;opacity:0;transform:translateY(10px);transition:opacity 0.5s ease,transform 0.5s ease;}
  h2.revealed .word{opacity:1;transform:translateY(0);}
  @media(prefers-reduced-motion: reduce){
    h2 .word{opacity:1;transform:none;transition:none;}
  }

  /* RAIL LATÉRAL (progression + navigation rapide) */
  #progressbar{position:fixed;top:0;left:0;height:3px;background:var(--blue);width:0%;z-index:300;}
  #rail{
    position:fixed;right:20px;top:50%;transform:translateY(-50%);
    display:flex;flex-direction:column;align-items:center;gap:10px;z-index:200;
  }
  #rail button{padding:0;border:none;background:none;cursor:pointer;}
  #rail .rail-top{
    width:26px;height:26px;border-radius:50%;border:1px solid var(--ink);
    background:#fff;font-size:13px;color:var(--ink);display:flex;align-items:center;justify-content:center;
    transition:background 0.2s ease,color 0.2s ease;
  }
  #rail .rail-top:hover{background:var(--ink);color:#fff;}
  .rail-line{width:1px;height:18px;background:var(--line);}
  #rail .dot{
    width:8px;height:8px;border-radius:2px;border:1px solid #c7c7c2;background:#fff;
    transition:background 0.2s ease,border-color 0.2s ease,transform 0.2s ease;
  }
  #rail .dot.active{background:var(--blue);border-color:var(--blue);transform:scale(1.35);}
  @media(max-width:859px){#rail{display:none;}}

  #mobile-top{
    position:fixed;bottom:20px;right:20px;width:46px;height:46px;border-radius:50%;
    background:var(--ink);color:#fff;border:none;font-size:18px;cursor:pointer;z-index:200;
    display:flex;align-items:center;justify-content:center;
    opacity:0;pointer-events:none;transition:opacity 0.2s ease;
  }
  #mobile-top.show{opacity:1;pointer-events:auto;}
  @media(min-width:860px){#mobile-top{display:none;}}

  /* CURSEUR PERSONNALISÉ SUR LE PORTFOLIO (desktop uniquement) */
  .cursor-label{
    position:fixed;top:0;left:0;pointer-events:none;z-index:400;
    background:var(--ink);color:#fff;font-size:12px;font-weight:600;
    padding:7px 14px;border-radius:100px;white-space:nowrap;
    transform:translate(-50%,-50%);opacity:0;transition:opacity 0.15s ease;
  }
  .cursor-label.show{opacity:1;}

  /* FLÈCHE DE SCROLL DANS LE HERO */
  .scroll-hint{
    display:flex;align-items:center;justify-content:center;
    margin-top:20px;opacity:1;transition:opacity 0.3s ease;
  }
  .scroll-hint.hide{opacity:0;pointer-events:none;}
  .scroll-hint svg{animation:bounceDown 1.8s ease-in-out infinite;}
  @keyframes bounceDown{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(6px);}
  }
  @media(prefers-reduced-motion: reduce){.scroll-hint svg{animation:none;}}

  #cours{background:linear-gradient(180deg, #fff 0%, #F5F5F2 100%);}
  #cours::after{display:none;}

  /* COOKIE CONSENT */
  .cookie-banner{
    position:fixed;bottom:0;left:0;right:0;z-index:100;
    background:var(--ink);color:#fff;
    padding:18px 20px;display:none;
    align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  }
  .cookie-banner.show{display:flex;}
  .cookie-banner p{font-size:13px;color:#c9cbce;max-width:60ch;margin:0;}
  .cookie-banner a{text-decoration:underline;color:#fff;}
  .cookie-actions{display:flex;gap:10px;flex-shrink:0;}
  .cookie-actions button{
    font-family:inherit;font-size:13px;font-weight:600;padding:9px 18px;
    border-radius:2px;cursor:pointer;border:1px solid #fff;
  }
  .cookie-accept{background:var(--blue);color:#fff;border-color:var(--blue);}
  .cookie-decline{background:transparent;color:#fff;}

  /* FAQ */
  .faq{border-top:1px solid var(--line);}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-item summary{
    padding:20px 0;font-weight:600;font-size:16px;cursor:pointer;
    list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{
    content:"+";font-family:'Archivo Expanded';font-size:20px;color:var(--blue);flex-shrink:0;
    transition:transform 0.2s ease;
  }
  .faq-item[open] summary::after{transform:rotate(45deg);}
  .faq-item p{padding-bottom:22px;color:var(--ink-soft);font-size:15px;max-width:65ch;}

  /* JOURNAL TEASER */
  .journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
  .journal-card{
    border:1px solid var(--line);padding:24px;display:block;transition:border-color 0.2s ease;
  }
  .journal-card:hover{border-color:var(--blue);}
  .journal-card:hover h3{color:var(--blue);}
  .journal-card p{transition:color 0.2s ease;}
  .journal-card .jcat{
    font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:var(--blue);
    font-weight:700;margin-bottom:10px;display:block;
  }
  .journal-card h3{font-family:'Work Sans';font-weight:700;font-size:17px;margin-bottom:8px;line-height:1.3;}
  .journal-card p{font-size:14px;color:var(--ink-soft);}
  @media(max-width:860px){
    .journal-grid{grid-template-columns:1fr;}
  }
  footer{padding:40px 0;}
  /* MES MEILLEURS AMIS */
  .friends-board{display:flex;flex-wrap:wrap;gap:18px 22px;align-items:center;padding:10px 0 20px;}
  .friend{
    background:#EDEDEA;border:1px solid var(--line);border-radius:8px;
    padding:12px 20px;font-family:'Work Sans';font-weight:600;font-size:15px;
    color:var(--ink);transition:transform 0.2s ease;
  }
  .friend:hover{transform:scale(1.06) rotate(0deg);}
  .friend.blue{background:#E8ECFB;border-color:#c7d0f5;}
  .friend.green{background:#E4F3E6;border-color:#b9dfc0;}

  .footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
  .footer-links{display:flex;flex-wrap:wrap;gap:14px 20px;font-size:14px;align-items:center;}
  .footer-links a{display:inline-flex;align-items:center;gap:6px;position:relative;padding-bottom:2px;}
  .footer-links a::after{
    content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
    background:var(--ink);transition:width 0.25s ease;
  }
  .footer-links a:hover::after{width:100%;}
  .footer-links svg{height:15px;width:auto;flex-shrink:0;display:block;}
  .footer-note{font-size:12px;color:var(--ink-soft);}

  @media(max-width:860px){
    .hero{padding-top:24px;}
    .hero-grid{
      grid-template-columns:1fr;
      grid-template-areas:"avatar" "text" "meta";
      gap:24px;
    }
    .hero-text-col{align-self:auto;}
    .avatar-flip{max-width:90px;margin:0;}
    .trust-track img{height:80px;}
    .hero-meta{border-left:none;border-top:2px solid var(--blue);padding-left:0;padding-top:16px;}
    .contact-sheet{grid-template-columns:repeat(2,1fr);}
    .services-grid{grid-template-columns:1fr;}
    .service-card{border-right:none;border-bottom:1px solid var(--line);}
    .cours{grid-template-columns:1fr;padding:32px;}
    .cours-side{margin-top:8px;}
    .devis-grid{grid-template-columns:1fr;gap:30px;}
    .t-row{grid-template-columns:1fr;gap:4px;}
    .parcours-head{align-items:center;}
    .parcours-photo{width:76px;height:76px;}

    .header-inner{padding:16px 20px;gap:10px;}
    .status-pill{font-size:11px;padding:5px 10px;gap:6px;position:relative;z-index:3;}
    .status-pill .dot{width:6px;height:6px;}
    .nav-toggle{display:flex;width:22px;height:22px;gap:5px;position:relative;z-index:3;}
    .nav-toggle span{height:1px;}
    .header-inner{position:relative;z-index:1;}
    .header-inner > a.logo{position:relative;z-index:3;}
    .phone-link{position:relative;z-index:3;}
    nav{
      display:flex !important;flex-direction:column;justify-content:center;align-items:center;gap:6px;
      position:fixed !important;top:0;left:0;right:0;bottom:0;
      background-color:#ffffff !important;
      z-index:2;padding-top:60px;
      opacity:0;visibility:hidden;pointer-events:none;
      transition:opacity 0.3s ease;
    }
    nav a{
      padding:10px 0 !important;font-family:'Work Sans', sans-serif !important;
      font-weight:600 !important;font-size:26px !important;color:var(--ink) !important;
      background:none;
      opacity:0;transform:translateY(22px);
      transition:opacity 0.4s ease, transform 0.4s ease, color 0.2s ease;
    }
    nav a::after{display:none;}
    .nav-social{
      display:flex;align-items:center;gap:24px;margin-top:28px;
      opacity:0;transform:translateY(22px);
      transition:opacity 0.4s ease, transform 0.4s ease;
    }
    .nav-social a{padding:0 !important;display:inline-flex;align-items:center;}
    .nav-social svg{height:22px;width:auto;color:var(--ink);display:block;}
    #nav-check:checked ~ .header-inner nav{opacity:1;visibility:visible;pointer-events:auto;}
    #nav-check:checked ~ .header-inner nav a,
    #nav-check:checked ~ .header-inner nav .nav-social{opacity:1;transform:translateY(0);}
    #nav-check:checked ~ .header-inner nav a:nth-child(1){transition-delay:0.05s;}
    #nav-check:checked ~ .header-inner nav a:nth-child(2){transition-delay:0.1s;}
    #nav-check:checked ~ .header-inner nav a:nth-child(3){transition-delay:0.15s;}
    #nav-check:checked ~ .header-inner nav a:nth-child(4){transition-delay:0.2s;}
    #nav-check:checked ~ .header-inner nav a:nth-child(5){transition-delay:0.25s;}
    #nav-check:checked ~ .header-inner nav a:nth-child(6){transition-delay:0.3s;}
    #nav-check:checked ~ .header-inner nav .nav-social{transition-delay:0.35s;}
    header:has(#nav-check:checked){background:#fff !important;backdrop-filter:none !important;}
    #nav-check:checked ~ .header-inner .nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg);}
    #nav-check:checked ~ .header-inner .nav-toggle span:nth-child(2){opacity:0;}
    #nav-check:checked ~ .header-inner .nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
  }

  .logo-tagline-short{display:none;}

  @media(max-width:400px){
    .status-pill span:last-child{display:none;}
    .status-pill{padding:8px;border-radius:50%;}
  }

/* PAGE LÉGALE — mise en page simple, éditoriale, cohérente avec le reste */
.legal{padding-top:70px;padding-bottom:100px;}
.legal h1{font-size:clamp(30px,4vw,44px);margin-bottom:8px;}
.legal .updated{color:var(--ink-soft);font-size:13px;margin-bottom:48px;}
.legal h2{
  font-family:'Work Sans', sans-serif;font-weight:700;font-size:19px;
  margin:40px 0 12px;letter-spacing:0;
}
.legal p, .legal li{color:var(--ink-soft);font-size:15px;margin-bottom:12px;max-width:70ch;}
.legal ul{padding-left:20px;margin-bottom:16px;}
.legal a.inline{color:var(--blue);text-decoration:underline;}
.legal .todo{
  background:#FFF6E5;border:1px solid #F0D9A0;color:#8A6116;
  padding:12px 16px;border-radius:4px;font-size:13px;margin-bottom:32px;
}
