
  :root{
    --ink:#1C2025;
    --gold:#C6A06A;
    --cream:#F5F1E8;
    --paper:#FBF8F1;
    --ink-70:rgba(28,32,37,.70);
    --ink-50:rgba(28,32,37,.50);
    --ink-12:rgba(28,32,37,.12);
    --gold-line:rgba(198,160,106,.45);
    --gold-faint:rgba(198,160,106,.14);
    --r:18px;
    --maxw:1180px;
    --ease:cubic-bezier(.22,.61,.36,1);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Jost','Century Gothic',sans-serif;
    background:var(--cream);
    color:var(--ink);
    font-weight:300;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  ::selection{background:var(--gold);color:var(--cream)}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
  .eyebrow{
    font-size:.72rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;
    color:var(--gold);display:inline-flex;align-items:center;gap:.7em;
  }
  .eyebrow::before{content:"";width:26px;height:1px;background:var(--gold);display:inline-block}
  h1,h2,h3{font-weight:300;line-height:1.12;letter-spacing:-.01em}
  .display{font-size:clamp(2.4rem,6.4vw,4.6rem)}
  .h2{font-size:clamp(1.9rem,4.4vw,3.1rem)}
  .lede{font-size:clamp(1.05rem,2vw,1.28rem);color:var(--ink-70);font-weight:300;max-width:46ch}
  .emblem{width:1em;height:1.25em;display:inline-block;fill:currentColor;vertical-align:middle}

  /* ---- NAV ---- */
  header.nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    transition:background .4s var(--ease),box-shadow .4s var(--ease),padding .4s var(--ease);
    padding:22px 0;
  }
  header.nav.scrolled{
    background:rgba(245,241,232,.86);backdrop-filter:blur(12px);
    box-shadow:0 1px 0 var(--gold-faint);padding:13px 0;
  }
  .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
  .brand{display:flex;align-items:center;gap:12px;letter-spacing:.26em;font-weight:500;font-size:1.05rem}
  .brand .emblem{width:22px;height:30px;color:var(--ink)}
  .nav-links{display:flex;align-items:center;gap:34px}
  .nav-links a{font-size:.85rem;letter-spacing:.06em;color:var(--ink-70);transition:color .25s}
  .nav-links a:hover{color:var(--ink)}
  .btn{
    display:inline-flex;align-items:center;gap:.6em;cursor:pointer;border:none;
    font-family:inherit;font-size:.86rem;letter-spacing:.08em;font-weight:500;
    padding:.85em 1.5em;border-radius:999px;transition:transform .3s var(--ease),background .3s,color .3s,box-shadow .3s;
  }
  .btn-primary{background:var(--ink);color:var(--cream)}
  .btn-primary:hover{background:var(--gold);color:var(--ink);transform:translateY(-2px);box-shadow:0 10px 26px rgba(198,160,106,.35)}
  .btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--ink-12)}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
  .btn .arr{transition:transform .3s var(--ease)}
  .btn:hover .arr{transform:translateX(4px)}
  .nav-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px}
  .nav-toggle span{width:24px;height:1.6px;background:var(--ink);transition:.3s}
  .mobile-menu{display:none}

  /* ---- HERO ---- */
  .hero{position:relative;padding:170px 0 110px;text-align:center;overflow:hidden}
  .rings{position:absolute;top:-220px;left:50%;transform:translateX(-50%);width:1100px;max-width:160vw;z-index:0;pointer-events:none}
  .hero .wrap{position:relative;z-index:2}
  .hero .emblem.big{width:46px;height:60px;color:var(--ink);margin-bottom:26px}
  .hero h1{margin:22px auto 0;max-width:16ch}
  .hero h1 em{font-style:italic;color:var(--gold)}
  .hero .lede{margin:26px auto 0;text-align:center}
  .hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:38px}
  .trust{margin-top:54px;display:flex;gap:14px 30px;justify-content:center;flex-wrap:wrap;
    font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-50)}
  .trust span{display:inline-flex;align-items:center;gap:.7em}
  .trust span::before{content:"";width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}

  /* ---- DIVIDER ---- */
  .divider{display:flex;align-items:center;justify-content:center;gap:18px;padding:8px 0}
  .divider .ln{height:1px;width:min(300px,30vw);background:var(--gold-line)}
  .divider .dot{width:11px;height:11px;background:var(--gold);transform:rotate(45deg)}

  /* ---- SECTIONS ---- */
  section{position:relative}
  .pad{padding:96px 0}
  .sec-head{max-width:60ch}
  .sec-head h2{margin-top:18px}

  /* conviction */
  .conviction{text-align:center}
  .conviction .big-quote{
    font-size:clamp(1.7rem,4vw,2.7rem);font-weight:300;line-height:1.25;max-width:20ch;margin:26px auto 0;
  }
  .conviction .big-quote b{font-weight:400;color:var(--gold)}
  .conviction p{max-width:54ch;margin:26px auto 0;color:var(--ink-70)}

  /* services */
  .grid{display:grid;gap:1px;background:var(--ink-12);border:1px solid var(--ink-12);border-radius:var(--r);overflow:hidden;margin-top:54px}
  .grid.cols-2{grid-template-columns:1fr 1fr}
  .card{background:var(--paper);padding:38px 34px;transition:background .35s var(--ease),transform .35s var(--ease)}
  .card:hover{background:var(--cream)}
  .card .idx{font-size:.78rem;letter-spacing:.2em;color:var(--gold);font-weight:500}
  .card h3{font-size:1.5rem;margin:20px 0 12px;font-weight:400}
  .card p{color:var(--ink-70);font-size:1rem}
  .card .more{margin-top:20px;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-50);display:inline-flex;gap:.5em;transition:color .25s,gap .25s}
  .card:hover .more{color:var(--gold);gap:.9em}

  /* method */
  .method{background:var(--paper)}
  .steps{margin-top:54px;display:grid;gap:0}
  .step{display:grid;grid-template-columns:120px 1fr;gap:34px;align-items:start;padding:34px 0;border-top:1px solid var(--ink-12)}
  .step:last-child{border-bottom:1px solid var(--ink-12)}
  .step .num{font-size:clamp(2.4rem,5vw,3.4rem);font-weight:300;color:var(--gold);line-height:1;letter-spacing:0}
  .step h3{font-size:1.5rem;font-weight:400;margin-bottom:10px}
  .step p{color:var(--ink-70);max-width:60ch}
  .step .tag{display:inline-block;margin-top:14px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-50);border:1px solid var(--ink-12);padding:.4em .9em;border-radius:999px}

  /* results */
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:54px}
  .stat{text-align:center;padding:10px}
  .stat .n{font-size:clamp(2.6rem,5.5vw,3.8rem);font-weight:300;letter-spacing:-.02em}
  .stat .n b{color:var(--gold);font-weight:300}
  .stat .l{margin-top:8px;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-50)}

  .cases-eyebrow{text-align:center;margin:48px auto 0;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
  .cases{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink-12);border:1px solid var(--ink-12);border-radius:var(--r);overflow:hidden;margin:22px auto 0;max-width:1000px}
  .case{background:var(--paper);padding:30px 26px;text-align:left}
  .case-metric{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:300;color:var(--gold);letter-spacing:-.01em}
  .case-name{margin-top:10px;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-50)}
  .case-desc{margin-top:12px;color:var(--ink-70);font-size:.97rem;line-height:1.55}
  @media(max-width:760px){.cases{grid-template-columns:1fr}}
  /* logos clients */
  .logos-sec{padding:64px 0 40px;text-align:center}
  .logos-sec h2{margin-top:16px}
  .logos{margin:40px auto 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 38px;max-width:1000px}
  .logo-item{font-size:1.16rem;font-weight:500;letter-spacing:.01em;color:var(--ink);opacity:.42;white-space:nowrap;transition:opacity .3s,color .3s,transform .3s var(--ease)}
  a.logo-item:hover{opacity:1;color:var(--gold);transform:translateY(-2px)}
  .logo-item.static{cursor:default}
  .logo-item.has-img{opacity:1}
  .logo-item img{height:30px;width:auto;max-width:170px;object-fit:contain;display:block;filter:brightness(0);opacity:.5;transition:filter .35s,opacity .35s}
  a.logo-item.has-img:hover img{filter:none;opacity:1}
  a.logo-item.has-img:hover{transform:translateY(-2px)}
  .logo-marquee{margin-top:46px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
  .logo-track{display:flex;align-items:center;gap:70px;width:max-content;animation:scrollx 34s linear infinite}
  .logo-marquee:hover .logo-track{animation-play-state:paused}
  .logo-track .logo-item{flex:none}
  .logo-track .logo-item img{height:34px;max-width:200px}
  .logo-track .logo-item:not(.has-img){font-size:1.5rem;font-weight:500;letter-spacing:.01em;opacity:.5}
  .logo-track a.logo-item:not(.has-img):hover{opacity:1;color:var(--gold)}
  @keyframes scrollx{to{transform:translateX(-50%)}}
  @media(prefers-reduced-motion:reduce){.logo-track{animation:none}.logo-marquee{overflow-x:auto}}
  .logos-note{margin-top:34px;font-size:.8rem;color:var(--ink-50)}

  /* agency */
  .agency-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-top:48px}
  .agency-emblem{display:flex;justify-content:center}
  .agency-emblem .badge{
    width:min(340px,70vw);aspect-ratio:1;border-radius:50%;border:1px solid var(--gold-line);
    display:flex;align-items:center;justify-content:center;position:relative;
  }
  .agency-emblem .badge::after{content:"";position:absolute;inset:26px;border-radius:50%;border:1px solid var(--gold-faint)}
  .agency-emblem .emblem{width:120px;height:156px;color:var(--ink)}
  .agency-copy p{color:var(--ink-70);margin-top:18px;max-width:52ch}
  .agency-copy .pull{font-size:1.45rem;font-weight:300;color:var(--ink);line-height:1.3;margin-top:8px}
  .agency-copy .pull b{font-style:italic;font-weight:300;color:var(--gold)}

  /* CTA / form */
  .cta-shell{padding:30px 0 110px}
  .cta{background:var(--ink);color:var(--cream);border-radius:26px;padding:clamp(36px,6vw,72px);position:relative;overflow:hidden}
  .cta .rings2{position:absolute;right:-160px;top:-160px;width:560px;opacity:.5;pointer-events:none}
  .cta-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
  .cta .eyebrow{color:var(--gold)}
  .cta h2{color:var(--cream);margin-top:18px;font-size:clamp(1.8rem,3.6vw,2.6rem)}
  .cta .lede{color:rgba(245,241,232,.72);margin-top:18px}
  .cta ul{list-style:none;margin-top:26px;display:flex;flex-direction:column;gap:12px}
  .cta ul li{display:flex;gap:12px;align-items:flex-start;color:rgba(245,241,232,.85);font-size:.98rem}
  .cta ul li::before{content:"";width:8px;height:8px;margin-top:8px;background:var(--gold);transform:rotate(45deg);flex:none}
  form{display:flex;flex-direction:column;gap:16px}
  .field label{display:block;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,241,232,.6);margin-bottom:8px}
  .field input,.field select,.field textarea{
    width:100%;font-family:inherit;font-size:1rem;font-weight:300;color:var(--cream);
    background:rgba(245,241,232,.06);border:1px solid rgba(245,241,232,.16);border-radius:12px;
    padding:.85em 1em;transition:border-color .25s,background .25s;
  }
  .field input::placeholder,.field textarea::placeholder{color:rgba(245,241,232,.4)}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:rgba(245,241,232,.1)}
  .field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23C6A06A' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1em center}
  .field select option{color:#1C2025}
  form .btn-primary{background:var(--gold);color:var(--ink);justify-content:center;margin-top:6px}
  form .btn-primary:hover{background:var(--cream);box-shadow:none}
  .form-note{font-size:.78rem;color:rgba(245,241,232,.5);text-align:center}
  .cta-or{margin-top:26px;padding-top:22px;border-top:1px solid rgba(245,241,232,.14)}
  .cta-or p{color:rgba(245,241,232,.72);font-size:.95rem;margin-bottom:12px}
  .btn-call{display:inline-flex;align-items:center;gap:.5em;cursor:pointer;font-size:.9rem;letter-spacing:.06em;color:var(--gold);border:1px solid var(--gold);border-radius:999px;padding:.7em 1.3em;transition:background .3s,color .3s,transform .3s var(--ease)}
  .btn-call:hover{background:var(--gold);color:var(--ink);transform:translateY(-2px)}
  .form-success{display:none;text-align:center;padding:30px 10px}
  .form-success .emblem{width:40px;height:52px;color:var(--gold);margin-bottom:16px}
  .form-success h3{color:var(--cream);font-size:1.5rem;font-weight:400}
  .form-success p{color:rgba(245,241,232,.72);margin-top:10px}

  /* footer */
  footer{padding:60px 0 50px;border-top:1px solid var(--gold-faint)}
  .foot-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
  .foot-brand .brand{font-size:1.3rem}
  .foot-brand .base{margin-top:12px;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-50)}
  .foot-links{display:flex;gap:28px;flex-wrap:wrap;font-size:.86rem;color:var(--ink-70)}
  .foot-links a:hover{color:var(--gold)}
  .foot-bottom{margin-top:40px;padding-top:24px;border-top:1px solid var(--ink-12);
    display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.78rem;color:var(--ink-50);letter-spacing:.04em}

  /* reveal */
  .js .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
  .js .reveal.in{opacity:1;transform:none}
  .js .reveal.d1{transition-delay:.08s}.js .reveal.d2{transition-delay:.16s}
  .js .reveal.d3{transition-delay:.24s}.js .reveal.d4{transition-delay:.32s}

  /* responsive */
  @media(max-width:900px){
    .nav-links,.nav-inner > .btn{display:none}
    .nav-toggle{display:flex}
    .mobile-menu{display:block;position:fixed;inset:0 0 auto 0;top:0;background:var(--cream);
      padding:90px 26px 40px;transform:translateY(-100%);transition:transform .45s var(--ease);z-index:40;box-shadow:0 20px 40px rgba(28,32,37,.08)}
    .mobile-menu.open{transform:translateY(0)}
    .mobile-menu a{display:block;font-size:1.4rem;padding:14px 0;border-bottom:1px solid var(--ink-12);letter-spacing:.02em}
    .mobile-menu .btn{margin-top:24px;width:100%;justify-content:center}
    body.menu-open{overflow:hidden}
    .agency-grid{grid-template-columns:1fr;gap:40px}
    .cta-inner{grid-template-columns:1fr;gap:36px}
    .stats{grid-template-columns:1fr 1fr;gap:34px 20px}
  }
  @media(max-width:620px){
    .grid.cols-2{grid-template-columns:1fr}
    .step{grid-template-columns:1fr;gap:6px}
    .step .num{font-size:2.4rem}
    .pad{padding:72px 0}
    .hero{padding:140px 0 84px}
  }

  /* ===== pages internes ===== */
  .crumb{font-size:.8rem;letter-spacing:.05em;color:var(--ink-50);margin-bottom:20px}
  .crumb a:hover{color:var(--gold)}
  .subhero{padding:150px 0 66px;position:relative;overflow:hidden}
  .subhero h1{font-size:clamp(2.2rem,5.2vw,3.8rem);max-width:17ch}
  .subhero h1 em{font-style:italic;color:var(--gold)}
  .subhero .lede{margin-top:22px}
  .subhero .hero-cta{margin-top:34px;display:flex;gap:16px;flex-wrap:wrap}
  .feature-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ink-12);border:1px solid var(--ink-12);border-radius:var(--r);overflow:hidden;margin-top:16px}
  .feature{background:var(--paper);padding:30px 30px}
  .feature .fi{color:var(--gold);font-size:.74rem;letter-spacing:.2em}
  .feature h3{font-size:1.2rem;font-weight:400;margin:12px 0 10px}
  .feature p{color:var(--ink-70);font-size:.98rem}
  .prose p{color:var(--ink-70);max-width:64ch;margin-top:16px}
  .usecases{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:16px}
  .usecase{background:var(--paper);border:1px solid var(--ink-12);border-radius:var(--r);padding:34px}
  .usecase .tag{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
  .usecase h3{font-size:1.4rem;font-weight:400;margin:12px 0 6px}
  .usecase .sector{font-size:.85rem;color:var(--ink-50);margin-bottom:18px}
  .usecase ul{list-style:none;display:flex;flex-direction:column;gap:11px}
  .usecase ul li{display:flex;gap:11px;color:var(--ink-70);font-size:.97rem;line-height:1.5}
  .usecase ul li::before{content:"";width:7px;height:7px;margin-top:8px;background:var(--gold);transform:rotate(45deg);flex:none}
  .related{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
  .related a{font-size:.84rem;letter-spacing:.03em;color:var(--ink-70);border:1px solid var(--ink-12);border-radius:999px;padding:.55em 1.1em;transition:.25s}
  .related a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
  .cta-band{background:var(--ink);color:var(--cream);border-radius:26px;padding:clamp(36px,6vw,64px);text-align:center;margin:26px 0 90px;position:relative;overflow:hidden}
  .cta-band .eyebrow{color:var(--gold);justify-content:center;display:inline-flex}
  .cta-band h2{color:var(--cream);font-size:clamp(1.8rem,3.6vw,2.6rem);margin-top:14px}
  .cta-band p{color:rgba(245,241,232,.72);margin:16px auto 0;max-width:50ch}
  .cta-band .hero-cta{justify-content:center;margin-top:28px;display:flex;gap:14px;flex-wrap:wrap}
  .pole{margin-top:1px;background:var(--ink);color:var(--cream);border-radius:var(--r);padding:clamp(30px,5vw,52px);display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden;text-decoration:none;transition:transform .4s var(--ease)}
  .pole:hover{transform:translateY(-3px)}
  .pole .eyebrow{color:var(--gold)}
  .pole h3{color:var(--cream);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:300;margin-top:14px}
  .pole p{color:rgba(245,241,232,.75);margin-top:14px;max-width:52ch}
  .pole .go{margin-top:20px;display:inline-flex;gap:.5em;color:var(--gold);font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;transition:gap .3s}
  .pole:hover .go{gap:.9em}
  .pole .pole-badge{justify-self:center;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:.55em 1.1em;border-radius:999px}
  a.card{text-decoration:none;display:block}
  .lp-hero{padding:120px 0 50px;text-align:center}
  .lp-hero h1{margin:20px auto 0;max-width:19ch}
  .lp-badges{display:flex;gap:12px 26px;justify-content:center;flex-wrap:wrap;margin-top:38px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-50)}
  .lp-badges span{display:inline-flex;align-items:center;gap:.6em}
  .lp-badges span::before{content:"";width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
  @media(max-width:820px){.feature-list,.usecases{grid-template-columns:1fr}.pole{grid-template-columns:1fr;gap:24px}}

  .embed{border:1px solid var(--ink-12);border-radius:var(--r);overflow:hidden;background:var(--paper);box-shadow:0 20px 50px rgba(28,32,37,.06)}
  .embed iframe{display:block;width:100%;border:0}
  .embed-open{margin-top:14px;font-size:.85rem;letter-spacing:.03em;color:var(--ink-50);text-align:center}
  .embed-open a{color:var(--gold)}

  /* menu déroulant Services */
  .nav-drop{position:relative}
  .nav-drop-trigger{cursor:pointer;display:inline-flex;align-items:center;gap:.4em}
  .nav-drop .caret{font-size:.62em;transition:transform .3s}
  .nav-drop:hover .caret{transform:rotate(180deg)}
  .nav-drop-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);min-width:262px;background:var(--cream);border:1px solid var(--gold-line);border-radius:14px;box-shadow:0 24px 54px rgba(28,32,37,.14);padding:10px;opacity:0;visibility:hidden;transition:opacity .24s var(--ease),transform .24s var(--ease);z-index:60;display:flex;flex-direction:column;gap:1px}
  .nav-drop-menu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
  .nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(6px)}
  .nav-drop-menu a{padding:11px 15px;border-radius:9px;font-size:.9rem;color:var(--ink-70);letter-spacing:.01em;white-space:nowrap;transition:background .2s,color .2s}
  .nav-drop-menu a:hover{background:var(--paper);color:var(--gold)}
  .mobile-menu .mm-head{display:block;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);padding:16px 0 4px}
  .mobile-menu .mm-sub{font-size:1.05rem;padding:11px 0 11px 16px;color:var(--ink-70)}

  /* questionnaire analyse express */
  .quiz{max-width:720px;margin:38px auto 0;background:var(--paper);border:1px solid var(--ink-12);border-radius:var(--r);padding:clamp(26px,5vw,46px);box-shadow:0 24px 54px rgba(28,32,37,.08)}
  .quiz-top{display:flex;align-items:center;gap:20px;margin-bottom:26px}
  .quiz-count{font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-50);font-weight:500;white-space:nowrap}
  .quiz-count b{color:var(--gold);font-weight:600}
  .quiz-bar{flex:1;height:3px;background:var(--ink-12);border-radius:3px;overflow:hidden}
  .quiz-bar span{display:block;height:100%;background:var(--gold);width:12.5%;transition:width .4s var(--ease)}
  .quiz-step{display:none}
  .quiz-step.active{display:block;animation:qin .35s var(--ease)}
  @keyframes qin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  .quiz-q{font-size:clamp(1.3rem,3vw,1.7rem);font-weight:300;color:var(--ink);line-height:1.25}
  .quiz-hint{color:var(--ink-50);font-size:.9rem;margin-top:8px}
  .quiz-opts{margin-top:22px;display:flex;flex-direction:column;gap:10px}
  .quiz-opt{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--ink-12);border-radius:12px;cursor:pointer;transition:border-color .2s,background .2s;font-size:1rem;color:var(--ink)}
  .quiz-opt:hover{border-color:var(--gold-line)}
  .quiz-opt input{accent-color:var(--gold);width:18px;height:18px;flex:none}
  .quiz-opt.sel{border-color:var(--gold);background:rgba(198,160,106,.08)}
  .quiz-field input{width:100%;font-family:inherit;font-size:1.05rem;font-weight:300;color:var(--ink);background:var(--cream);border:1px solid var(--ink-12);border-radius:12px;padding:.9em 1em;margin-top:14px}
  .quiz-field input:focus{outline:none;border-color:var(--gold)}
  .quiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:30px;gap:12px}
  .quiz-back{background:none;border:none;cursor:pointer;color:var(--ink-50);font-family:inherit;font-size:.9rem;letter-spacing:.03em;padding:.5em}
  .quiz-back:hover{color:var(--ink)}
  .quiz-back[hidden]{visibility:hidden;display:block}
  .quiz-success{display:none;text-align:center;max-width:520px;margin:38px auto 0;background:var(--paper);border:1px solid var(--ink-12);border-radius:var(--r);padding:46px 34px}
  .quiz-success .emblem{width:44px;height:57px;color:var(--gold);margin-bottom:16px}
  .quiz-success h3{font-size:1.6rem;font-weight:400}
  .quiz-success p{color:var(--ink-70);margin:10px auto 0;max-width:44ch}
  .quiz-success .btn{margin-top:24px}

  .prose h3{font-size:1.16rem;font-weight:500;color:var(--ink);margin-top:28px;letter-spacing:-.01em}
  .prose h3:first-child{margin-top:0}
  .faq{border-top:1px solid var(--ink-12)}
  .faq-item{border-bottom:1px solid var(--ink-12);padding:24px 0}
  .faq-item h3{font-size:1.1rem;font-weight:500;color:var(--ink);margin:0}
  .faq-item p{color:var(--ink-70);margin-top:10px;max-width:74ch}

  .quiz-precise{display:none;margin-top:4px}
  .quiz-precise.show{display:block}
  .quiz-precise input{width:100%;font-family:inherit;font-size:1rem;font-weight:300;color:var(--ink);background:var(--cream);border:1px solid var(--gold-line);border-radius:12px;padding:.8em 1em}
  .quiz-precise input:focus{outline:none;border-color:var(--gold)}

  .deep{display:grid;grid-template-columns:300px 1fr;gap:60px;align-items:start}
  .deep>.sec-head{margin:0}
  .deep>.prose{margin-top:0;max-width:none}
  .deep>.prose>p:first-child{margin-top:0}
  .deep>.prose>p,.deep>.prose>h3{max-width:70ch}
  @media(max-width:920px){.deep{grid-template-columns:1fr;gap:22px}}

  details.faq-item{border-bottom:1px solid var(--ink-12);padding:0}
  details.faq-item summary{list-style:none;cursor:pointer;padding:24px 0;font-size:1.1rem;font-weight:500;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px;transition:color .2s}
  details.faq-item summary:hover{color:var(--gold)}
  details.faq-item summary::-webkit-details-marker{display:none}
  details.faq-item summary::after{content:"+";color:var(--gold);font-size:1.5rem;font-weight:300;line-height:1;transition:transform .3s;flex:none}
  details.faq-item[open] summary::after{transform:rotate(45deg)}
  details.faq-item p{color:var(--ink-70);margin:0 0 24px;max-width:74ch}

  .finance-band{background:var(--ink);color:var(--cream);border-radius:26px;padding:clamp(38px,6vw,64px);text-align:center;margin:30px 0 0;position:relative;overflow:hidden}
  .finance-badge{display:inline-block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:.5em 1.1em;border-radius:999px}
  .finance-band h2{color:var(--cream);font-size:clamp(2.2rem,5vw,3.4rem);font-weight:300;margin-top:22px}
  .finance-band h2 b{color:var(--gold);font-weight:400;font-size:1.15em}
  .finance-band .fin-sub{color:rgba(245,241,232,.82);margin:16px auto 0;max-width:58ch;font-size:1.08rem;line-height:1.55}
  .finance-band .fin-sub strong{color:var(--cream);font-weight:500}
  .finance-band .fin-elig{color:var(--gold);font-size:.82rem;letter-spacing:.03em;margin-top:16px}
  .finance-cta{margin-top:26px}
  .finance-cta a{display:inline-flex;align-items:center;gap:.55em;background:var(--gold);color:var(--ink);padding:.9em 1.6em;border-radius:999px;font-size:.92rem;letter-spacing:.02em;transition:transform .25s}
  .finance-cta a:hover{transform:translateY(-2px)}
  .finance-note{color:rgba(245,241,232,.5);font-size:.78rem;margin:26px auto 0;max-width:66ch;line-height:1.5}

.res-list{display:grid;gap:10px;margin-top:22px}
.res-list a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 20px;background:#FBF8F1;border:1px solid #e7e2d6;border-radius:12px;color:#1C2025;text-decoration:none;transition:border-color .2s,transform .2s}
.res-list a:hover{border-color:#C6A06A;transform:translateY(-1px)}
.res-list a .t{font-weight:500;line-height:1.35}
.res-list a .arr{color:#a07d40;flex:none}

/* Article : hero, meta, sommaire, a retenir */
.art-hero{width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;border-radius:16px;margin:0 0 20px;display:block;border:1px solid var(--ink-12,#e7e2d6)}
.art-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 24px;font-size:.9rem;color:#4a4f57}
.art-meta .who{display:flex;align-items:center;gap:9px}
.art-meta .avatar{width:32px;height:32px;border-radius:50%;background:var(--ink,#1C2025);color:var(--gold,#C6A06A);display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:600;flex:none}
.art-meta .who b{font-weight:600;color:var(--ink,#1C2025)}
.art-meta .dot{color:var(--gold,#C6A06A)}
.takeaways{background:var(--cream,#F5F1E8);border:1px solid var(--ink-12,#e7e2d6);border-left:3px solid var(--gold,#C6A06A);border-radius:12px;padding:18px 24px;margin:0 0 24px}
.takeaways .th{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:#a07d40;font-weight:600;margin:0 0 10px}
.takeaways ul{margin:0;padding-left:1.15em}
.takeaways li{margin:.4em 0;line-height:1.55}
.toc{background:var(--paper,#FBF8F1);border:1px solid var(--ink-12,#e7e2d6);border-radius:12px;padding:16px 24px;margin:0 0 30px}
.toc .th{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:#a07d40;font-weight:600;margin:0 0 8px}
.toc ol{margin:0;padding-left:1.25em}
.toc li{margin:.32em 0;line-height:1.4}
.toc a{color:var(--ink,#1C2025);text-decoration:none}
.toc a:hover{color:#a07d40;text-decoration:underline}
.article h2[id]{scroll-margin-top:96px}
.blog-cta{background:var(--ink,#1C2025);border-radius:16px;padding:32px 34px;text-align:center;color:var(--cream,#F5F1E8)}
.blog-cta .th{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--gold,#C6A06A);font-weight:600;margin:0 0 8px}
.blog-cta h2{color:#fff;font-weight:400;font-size:1.5rem;line-height:1.2;margin:0 0 10px}
.blog-cta p{color:rgba(245,241,232,.72);margin:0 auto 20px;max-width:52ch;font-size:.98rem}
.blog-cta a{display:inline-block;background:var(--gold,#C6A06A);color:var(--ink,#1C2025);padding:13px 26px;border-radius:999px;text-decoration:none;font-weight:600;transition:transform .2s}
.blog-cta a:hover{transform:translateY(-2px)}
