  :root{
    --noir:#16140f;
    --noir-doux:#3a362e;
    --blanc:#ffffff;
    --creme:#faf8f3;
    --creme-2:#f3eee3;
    --or:#bf9b56;
    --or-clair:#d8bd86;
    --serif:'Cormorant Garamond',Georgia,serif;
    --sans:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:var(--sans);color:var(--noir);background:var(--blanc);line-height:1.7;font-weight:300;-webkit-font-smoothing:antialiased}
  h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;letter-spacing:.01em}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1120px;margin:0 auto;padding:0 28px}
  .gold{color:var(--or)}
  .eyebrow{font-family:var(--sans);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--or);font-weight:500;margin-bottom:18px}

  /* Buttons */
  .btn{display:inline-block;font-family:var(--sans);font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:16px 34px;border:1px solid var(--or);color:var(--noir);background:transparent;transition:.3s;cursor:pointer}
  .btn:hover{background:var(--or);color:#fff}
  .btn-fill{background:var(--or);color:#fff;border-color:var(--or)}
  .btn-fill:hover{background:var(--noir);border-color:var(--noir)}

  /* Header */
  header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(191,155,86,.18);transition:.3s}
  .nav{display:flex;align-items:center;justify-content:space-between;height:78px}
  .brand{display:flex;align-items:center;gap:12px}
  .brand svg{width:30px;height:30px}
  .brand .name{font-family:var(--serif);font-size:1.35rem;font-weight:600;letter-spacing:.02em}
  .brand .name small{display:block;font-family:var(--sans);font-size:.58rem;letter-spacing:.34em;text-transform:uppercase;color:var(--or);font-weight:500;margin-top:-2px}
  .nav-links{display:flex;align-items:center;gap:26px}
  .nav-links a{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:400;color:var(--noir-doux);transition:.25s}
  .nav-links a:hover{color:var(--or)}
  .nav-links a{white-space:nowrap}
  .brand{flex-shrink:0;margin-right:24px}
  .nav-links .btn{padding:12px 24px;color:var(--noir)}
  .nav-links .btn:hover{color:#fff}
  .burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px}
  .burger span{width:24px;height:2px;background:var(--noir);transition:.3s}

  /* Hero */
  .hero{padding:158px 0 90px;background:linear-gradient(160deg,var(--creme) 0%,#fff 60%)}
  .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
  .hero h1{font-size:clamp(2.6rem,5vw,4.1rem);margin:6px 0 22px}
  .hero p.lead{font-size:1.18rem;color:var(--noir-doux);max-width:34ch;margin-bottom:18px}
  .hero .offer{display:inline-flex;align-items:center;gap:10px;font-size:.9rem;letter-spacing:.04em;color:var(--noir);background:var(--creme-2);border:1px solid rgba(191,155,86,.4);padding:10px 18px;border-radius:40px;margin-bottom:32px}
  .hero .offer b{color:var(--or);font-weight:600}
  .hero-cta{display:flex;gap:16px;flex-wrap:wrap}
  .hero-photo{position:relative}
  .hero-photo .frame{position:relative;border-radius:6px;overflow:hidden;box-shadow:0 30px 70px -30px rgba(22,20,15,.45)}
  .hero-photo img{width:100%;display:block;height:600px;object-fit:cover;object-position:center 20%}
  .hero-photo .frame::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.25)}
  .hero-photo .deco{position:absolute;width:100%;height:100%;border:1px solid var(--or);top:18px;left:18px;border-radius:6px;z-index:-1}

  /* Sections */
  section{padding:96px 0}
  .section-head{text-align:center;max-width:680px;margin:0 auto 58px}
  .section-head h2{font-size:clamp(2rem,3.6vw,2.9rem);margin-bottom:18px}
  .section-head p{color:var(--noir-doux);font-size:1.05rem}
  .divider{width:54px;height:1px;background:var(--or);margin:22px auto 0}

  /* Parcours */
  .parcours{background:var(--creme)}
  .parcours-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
  .parcours-grid p{margin-bottom:18px;color:var(--noir-doux)}
  .domains{list-style:none;display:flex;flex-direction:column;gap:20px;margin-top:8px}
  .domains li{padding-left:22px;position:relative}
  .domains li::before{content:"";position:absolute;left:0;top:11px;width:8px;height:8px;background:var(--or);transform:rotate(45deg)}
  .domains b{display:block;font-family:var(--sans);font-weight:500;color:var(--noir);font-size:1rem;letter-spacing:.01em;margin-bottom:2px}
  .cursus{background:#fff;border:1px solid var(--creme-2);padding:34px 34px;margin-top:0}
  .cursus h3{font-size:1.5rem;margin-bottom:20px}
  .cursus ul{list-style:none}
  .cursus li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--creme-2);font-size:.96rem}
  .cursus li:last-child{border-bottom:none}
  .cursus li span{color:var(--noir-doux)}
  .cursus li .yr{color:var(--or);font-weight:500;white-space:nowrap;font-size:.85rem;letter-spacing:.06em}

  /* Quote */
  .quote{background:var(--noir);color:#fff;text-align:center}
  .quote .wrap{max-width:860px}
  .quote .mark{font-family:var(--serif);font-size:5rem;color:var(--or);line-height:.4;height:40px;display:block}
  .quote blockquote{font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,1.85rem);font-style:italic;font-weight:400;line-height:1.5;color:#f4efe6}
  .quote blockquote p{margin-bottom:20px}
  .quote cite{display:block;margin-top:26px;font-family:var(--sans);font-style:normal;font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:var(--or)}

  /* Accompagnement */
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .card{background:#fff;border:1px solid var(--creme-2);padding:38px 30px;transition:.3s}
  .card:hover{box-shadow:0 24px 50px -28px rgba(22,20,15,.35);transform:translateY(-4px);border-color:rgba(191,155,86,.4)}
  .card .ico{width:46px;height:46px;color:var(--or);margin-bottom:20px}
  .card h3{font-size:1.45rem;margin-bottom:12px}
  .card p{color:var(--noir-doux);font-size:.97rem}
  .pillars{margin-top:60px;background:var(--creme);border-left:3px solid var(--or);padding:40px 44px}
  .pillars h3{font-size:1.7rem;margin-bottom:14px}
  .pillars p{color:var(--noir-doux);max-width:70ch}
  .pillars .two{display:flex;gap:40px;margin-top:22px;flex-wrap:wrap}
  .pillars .two div{flex:1;min-width:220px}
  .pillars .two b{color:var(--or);font-family:var(--serif);font-size:1.2rem}

  .open{ text-align:center;margin-top:46px;font-size:1.05rem}
  .open span{display:inline-block;background:var(--creme-2);border:1px solid rgba(191,155,86,.4);padding:12px 26px;border-radius:40px;color:var(--noir-doux)}

  /* Articles */
  .articles{background:linear-gradient(180deg,#fff 0%,var(--creme) 100%)}
  .articles-grid{max-width:780px;margin:0 auto}
  .article-card{display:grid;grid-template-columns:170px 1fr;gap:36px;align-items:stretch;background:#fff;border:1px solid var(--creme-2);padding:12px;transition:.3s}
  .article-card:hover{border-color:rgba(191,155,86,.55);box-shadow:0 24px 50px -30px rgba(22,20,15,.4);transform:translateY(-3px)}
  .article-number{display:flex;flex-direction:column;justify-content:space-between;min-height:230px;padding:24px;background:var(--noir);color:#fff}
  .article-number span{font-family:var(--serif);font-size:3.8rem;line-height:.8;color:var(--or-clair)}
  .article-number small{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#d7cfbf}
  .article-copy{padding:24px 20px 20px 0}
  .article-copy .eyebrow{margin-bottom:10px}
  .article-copy h3{font-size:1.9rem;margin-bottom:12px;max-width:24ch}
  .article-copy p{color:var(--noir-doux);margin-bottom:20px;max-width:58ch}
  .read-more{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--or);display:inline-flex;align-items:center;gap:10px}
  .read-more::after{content:'→';font-size:1.15rem;transition:transform .25s}
  .article-card:hover .read-more::after{transform:translateX(5px)}

  /* Tarifs */
  .tarifs{background:var(--creme)}
  .price-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:820px;margin:0 auto}
  .price{background:#fff;border:1px solid var(--creme-2);padding:46px 40px;text-align:center;position:relative}
  .price.feature{border:1.5px solid var(--or);background:#fff}
  .price .tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--or);color:#fff;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;padding:6px 16px;font-weight:500}
  .price h3{font-size:1.5rem;margin-bottom:8px}
  .price .amt{font-family:var(--serif);font-size:3.4rem;color:var(--noir);line-height:1;margin:14px 0 6px}
  .price .amt small{font-size:1.1rem;color:var(--noir-doux)}
  .price .free{color:var(--or)}
  .price p{color:var(--noir-doux);font-size:.95rem;min-height:46px}

  /* Contact */
  .contact .wrap{max-width:920px}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
  .contact-list{list-style:none;display:flex;flex-direction:column;gap:6px}
  .contact-list a,.contact-list div{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--creme-2);transition:.25s}
  .contact-list a:hover{color:var(--or)}
  .contact-list .ic{width:22px;height:22px;color:var(--or);flex-shrink:0}
  .contact-cta{background:var(--noir);color:#fff;padding:48px 42px;text-align:center}
  .contact-cta h3{font-size:1.9rem;color:#fff;margin-bottom:12px}
  .contact-cta p{color:#cfc8bb;margin-bottom:26px}

  /* Footer */
  footer{background:var(--noir);color:#9a9384;padding:40px 0;border-top:1px solid rgba(191,155,86,.2)}
  .foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:.84rem}
  .foot .brand .name{color:#fff;font-size:1.1rem}
  .foot a:hover{color:var(--or)}

  /* WhatsApp FAB */
  .fab{position:fixed;right:24px;bottom:24px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px -6px rgba(37,211,102,.6);transition:transform .25s,box-shadow .25s}
  .fab:hover{transform:scale(1.07);box-shadow:0 14px 32px -6px rgba(37,211,102,.7);color:#fff}
  .fab svg{width:32px;height:32px}
  .fab::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:fabpulse 2.4s ease-out infinite}
  @keyframes fabpulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.5);opacity:0}100%{opacity:0}}

  @media(max-width:860px){
    .fab{right:18px;bottom:18px;width:54px;height:54px}
    .fab svg{width:30px;height:30px}
    .hero-grid,.parcours-grid,.cards,.price-grid,.contact-grid,.article-card{grid-template-columns:1fr}
    .hero{padding:128px 0 64px}
    .hero-photo{max-width:none;margin:10px auto 0}
    .hero-photo img{height:auto;aspect-ratio:4/5;object-position:center 20%}
    .hero-photo .deco{top:10px;left:10px}
    .cards{gap:18px}
    .article-card{gap:0;padding:10px}
    .article-number{min-height:130px}
    .article-copy{padding:28px 18px 18px}
    section{padding:70px 0}
  }

  @media(max-width:1200px){
    .nav-links{position:fixed;inset:78px 0 auto 0;background:#fff;flex-direction:column;gap:0;padding:0;max-height:0;overflow:hidden;border-bottom:1px solid var(--creme-2);transition:max-height .35s}
    .nav-links.show{max-height:560px}
    .nav-links a{padding:18px 28px;width:100%;border-bottom:1px solid var(--creme)}
    .nav-links .btn{margin:18px 28px}
    .burger{display:flex}
  }

  /* Pages intérieures */
  .nav-links a.active{color:var(--or)}
  .nav-links .btn.active{color:var(--noir)}
  .hero h1.accroche{font-size:clamp(2rem,3.9vw,3.1rem)}
  .hero p.lead{max-width:46ch}
  .page-hero{padding:158px 0 72px;background:linear-gradient(160deg,var(--creme) 0%,#fff 70%);border-bottom:1px solid var(--creme-2)}
  .page-hero .inner{max-width:820px}
  .page-hero h1{font-size:clamp(2.3rem,4.6vw,3.7rem);margin:6px 0 20px}
  .page-hero p.lead{font-size:1.15rem;color:var(--noir-doux);max-width:60ch}
  .page-hero .hero-cta{margin-top:30px}
  .section-alt{background:var(--creme)}
  .prose-block{max-width:760px;margin:0 auto}
  .prose-block h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:18px}
  .prose-block p{margin-bottom:18px;color:var(--noir-doux)}
  .prose-block p b{color:var(--noir);font-weight:500}
  .center{text-align:center}
  .mt{margin-top:46px}

  /* Frises : 4 étapes / phases */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .step{background:#fff;border:1px solid var(--creme-2);padding:30px 24px;position:relative}
  .step .n{font-family:var(--serif);font-size:2.4rem;color:var(--or);line-height:1;display:block;margin-bottom:10px}
  .step h3{font-size:1.3rem;margin-bottom:8px}
  .step p{font-size:.95rem;color:var(--noir-doux)}
  .steps.flow .step:not(:last-child)::after{content:'→';position:absolute;right:-21px;top:50%;transform:translateY(-50%);color:var(--or);font-size:1.3rem;z-index:1;background:var(--blanc);width:20px;text-align:center}
  .section-alt .steps.flow .step:not(:last-child)::after{background:var(--creme)}

  /* Listes */
  .asp{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:20px 48px;max-width:900px;margin:0 auto}
  .asp li{padding-left:24px;position:relative;color:var(--noir-doux)}
  .asp li::before{content:"";position:absolute;left:0;top:11px;width:8px;height:8px;background:var(--or);transform:rotate(45deg)}
  .cards.two{grid-template-columns:repeat(2,1fr)}
  .card .more{display:inline-block;margin-top:14px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--or)}
  .card h3 small{display:block;font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or);font-weight:500;margin-bottom:6px}

  /* Tarifs (4 offres) */
  .price-grid.wide{max-width:1120px;grid-template-columns:repeat(4,1fr);gap:22px}
  .price-grid.wide .price{padding:42px 26px 36px;display:flex;flex-direction:column}
  .price-grid.wide .price h3{font-size:1.35rem}
  .price-grid.wide .price .amt{font-size:2.9rem}
  .price-grid.wide .price p{min-height:0;flex:1}
  .price .was{display:block;color:#8a8576;font-size:.9rem;margin-bottom:12px}
  .price .was s{text-decoration:line-through}
  .price .unit{display:block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--noir-doux);margin-bottom:12px}
  .price .btn{margin-top:14px;align-self:center}
  .price-grid.wide .price .btn{padding:16px 18px;min-height:56px;display:flex;align-items:center;justify-content:center;text-align:center;align-self:stretch}
  .price-grid.wide .price .tag{white-space:nowrap;letter-spacing:.12em;padding:6px 12px}
  .price-note{max-width:760px;margin:36px auto 0;text-align:center;color:var(--noir-doux);font-size:.95rem}

  /* Bandeau d'appel */
  .cta-band{max-width:820px;margin:0 auto}

  /* Footer enrichi */
  .foot nav{display:flex;gap:22px;flex-wrap:wrap}
  .foot-copy{width:100%;text-align:center;font-size:.8rem;border-top:1px solid rgba(191,155,86,.15);padding-top:20px;margin-top:6px}

  @media(max-width:1000px){
    .price-grid.wide{grid-template-columns:1fr 1fr}
    .steps{grid-template-columns:1fr 1fr}
    .steps.flow .step:not(:last-child)::after{display:none}
  }
  @media(max-width:860px){
    .page-hero{padding:128px 0 56px}
    .steps,.price-grid.wide,.asp,.cards.two{grid-template-columns:1fr}
    .foot{flex-direction:column;align-items:flex-start}
  }
