/* FIT — Styles externalisés depuis about.html */

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
    :root {
      --black:#0d0d0d; --black-2:#151515; --white:#f8f6f1; --cream:#ede9e0;
      --gold:#c8a96e; --gold-dark:#a88a50; --grey:#6b6b6b; --light-grey:#e2dfd8; --section-bg:#f2efe8;
    }
    html { scroll-behavior:smooth; }
    body { font-family:'Outfit',sans-serif; background:var(--white); color:var(--black); overflow-x:hidden; }
    img { max-width:100%; display:block; }
    a { color:inherit; }

    #scroll-progress { position:fixed; top:0; left:0; height:3px; width:0%; background:linear-gradient(90deg,var(--gold),var(--gold-dark)); z-index:9999; box-shadow:0 0 18px rgba(200,169,110,.45); transform-origin:left center; }

    nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:1.1rem 4rem; background:rgba(13,13,13,.96); backdrop-filter:blur(12px); border-bottom:1px solid rgba(200,169,110,.15); transition:padding .28s ease, background .28s ease, box-shadow .28s ease; }
    nav.nav-scrolled { padding-top:.75rem; padding-bottom:.75rem; background:rgba(13,13,13,.985); box-shadow:0 14px 40px rgba(0,0,0,.28); }
    .nav-logo { display:flex; align-items:center; text-decoration:none; }
    .nav-logo img { height:65px; width:auto; display:block; filter:brightness(1.1); transition:transform .3s ease; }
    .nav-logo:hover img { transform:scale(1.05); }
    .nav-links { display:flex; gap:1.45rem; list-style:none; align-items:center; }
    .nav-links a { font-size:.74rem; font-weight:600; color:rgba(248,246,241,.65); text-decoration:none; letter-spacing:.11em; text-transform:uppercase; transition:.2s; }
    .nav-links a:hover, .nav-links a.active { color:var(--gold); }
    .nav-cta { color:var(--black)!important; background:var(--gold); padding:.62rem 1.2rem; border-radius:2px; }
    .nav-cta:hover { background:var(--gold-dark); color:var(--white)!important; }

    .btn-gold, .btn-dark, .cta-btn, .nav-cta { display:inline-block; position:relative; overflow:hidden; will-change:transform; border-radius:2px; text-decoration:none; transition:.2s; }
    .btn-gold::before, .btn-dark::before, .cta-btn::before, .nav-cta::before { content:''; position:absolute; top:0; left:-120%; width:80%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent); transform:skewX(-18deg); transition:left .65s ease; pointer-events:none; }
    .btn-gold:hover::before, .btn-dark:hover::before, .cta-btn:hover::before, .nav-cta:hover::before { left:125%; }
    .btn-gold, .cta-btn { background:var(--gold); color:var(--black); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; padding:1.05rem 2.15rem; }
    .btn-gold:hover, .cta-btn:hover { background:var(--gold-dark); color:var(--white); transform:translateY(-1px); }
    .btn-dark { background:var(--black); color:var(--white); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; padding:1.05rem 2.15rem; }
    .btn-dark:hover { background:#1d1d1d; transform:translateY(-1px); }
    .btn-ghost { display:inline-flex; align-items:center; gap:.5rem; color:rgba(248,246,241,.58); font-size:.82rem; text-decoration:none; transition:.2s; }
    .btn-ghost:hover { color:var(--gold); }
    .btn-ghost::after { content:'→'; transition:.2s; }
    .btn-ghost:hover::after { transform:translateX(5px); }

    .hero { min-height:88vh; display:grid; grid-template-columns:52% 48%; background:var(--black); position:relative; overflow:hidden; }
    .hero-left { display:flex; flex-direction:column; justify-content:center; padding:9rem 5rem 5rem 6rem; position:relative; z-index:2; }
    .hero-eyebrow { display:flex; align-items:center; gap:.8rem; font-size:.68rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:1.7rem; opacity:0; animation:fadeUp .7s .1s forwards; }
    .hero-eyebrow::before { content:''; width:28px; height:1.5px; background:var(--gold); }
    .hero-title { font-family:'Cormorant Garamond',serif; font-size:clamp(3rem,5.2vw,5.8rem); font-weight:300; line-height:1.03; color:var(--white); margin-bottom:1.8rem; opacity:0; animation:fadeUp .7s .25s forwards; text-wrap:balance; }
    .hero-title em { color:var(--gold); font-style:italic; display:block; }
    .hero-sub { font-size:1rem; font-weight:300; line-height:1.75; color:rgba(248,246,241,.64); max-width:470px; margin-bottom:2.4rem; opacity:0; animation:fadeUp .7s .4s forwards; }
    .hero-actions { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; opacity:0; animation:fadeUp .7s .55s forwards; }
    .hero-right { position:relative; overflow:hidden; min-height:88vh; }
    .hero-photo { position:absolute; inset:0; opacity:0; animation:fadeIn 1s .3s forwards; }
    .hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center top; filter:contrast(1.04) brightness(.78) saturate(.82); transform:scale(1.035); transition:transform 1.1s cubic-bezier(.2,.8,.2,1), filter .6s ease; will-change:transform; }
    .hero:hover .hero-photo img { filter:contrast(1.07) brightness(.82) saturate(.86); }
    .hero-photo::before { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(to right,var(--black) 0%,rgba(13,13,13,.74) 18%,transparent 52%); }
    .hero-photo::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(to top,var(--black) 0%,transparent 36%); }
    .hero-proof { display:flex; gap:2.2rem; margin-top:4rem; padding-top:2.2rem; border-top:1px solid rgba(248,246,241,.08); opacity:0; animation:fadeUp .7s .7s forwards; }
    .proof-n { font-family:'Cormorant Garamond',serif; font-size:2.4rem; font-weight:300; color:var(--gold); line-height:1; transition:transform .35s ease, text-shadow .35s ease; }
    .proof-l { font-size:.66rem; color:rgba(248,246,241,.42); letter-spacing:.1em; text-transform:uppercase; margin-top:.35rem; line-height:1.4; }
    .hero-proof > div:hover .proof-n { transform:translateY(-3px); text-shadow:0 0 22px rgba(200,169,110,.35); }

    .band { position:relative; isolation:isolate; background:var(--gold); padding:1rem 4rem; display:flex; align-items:center; justify-content:center; gap:2.3rem; overflow:hidden; }
    .band::after { content:''; position:absolute; inset:0; background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.22) 45%,transparent 70%); transform:translateX(-120%); animation:bandShine 5.5s ease-in-out infinite; pointer-events:none; }
    .band-item { font-size:.68rem; font-weight:800; letter-spacing:.17em; text-transform:uppercase; color:var(--black); white-space:nowrap; }
    .band-sep { color:rgba(13,13,13,.35); }

    section { padding:7rem 6rem; }
    .s-label { font-size:.65rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:.9rem; }
    .s-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.25rem,3.55vw,3.75rem); font-weight:300; line-height:1.12; color:var(--black); text-wrap:balance; }
    .s-title em { font-style:italic; color:var(--gold); }
    .s-title-white { color:var(--white); }
    .lead { font-size:1rem; line-height:1.85; color:var(--grey); max-width:640px; }

    .intro-sec { background:var(--white); display:grid; grid-template-columns:.95fr 1.05fr; gap:6rem; align-items:center; }
    .intro-card { background:var(--black); color:var(--white); padding:3.2rem; position:relative; overflow:hidden; }
    .intro-card::before { content:'FIT'; position:absolute; right:-.6rem; bottom:-2.7rem; font-family:'Cormorant Garamond',serif; font-size:10rem; color:rgba(200,169,110,.06); line-height:1; }
    .intro-quote { font-family:'Cormorant Garamond',serif; font-size:clamp(1.65rem,2.6vw,2.35rem); font-style:italic; font-weight:300; line-height:1.35; position:relative; z-index:1; }
    .intro-author { margin-top:1.3rem; color:var(--gold); font-size:.68rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; position:relative; z-index:1; }
    .intro-copy p { font-size:.98rem; line-height:1.9; color:var(--grey); margin-top:1.2rem; }

    .approach-sec { background:var(--black); color:var(--white); display:grid; grid-template-columns:.82fr 1.18fr; gap:5rem; align-items:start; }
    .approach-text { color:rgba(248,246,241,.58); line-height:1.85; margin-top:1.5rem; max-width:470px; }
    .principles { display:grid; grid-template-columns:1fr 1fr; gap:1.5px; background:rgba(255,255,255,.07); border:1.5px solid rgba(255,255,255,.07); }
    .principle { background:#111; padding:2.45rem; transition:transform .35s ease, background .35s ease, box-shadow .35s ease; }
    .principle:hover { background:#161616; transform:translateY(-6px); box-shadow:0 20px 70px rgba(0,0,0,.2); }
    .principle-n { font-family:'Cormorant Garamond',serif; color:rgba(200,169,110,.28); font-size:3.1rem; line-height:1; margin-bottom:1rem; }
    .principle h3 { color:var(--white); font-size:.98rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:.85rem; }
    .principle p { color:rgba(248,246,241,.48); font-size:.88rem; line-height:1.72; }

    .story-sec { background:var(--section-bg); display:grid; grid-template-columns:1fr 1fr; gap:0; padding:0; }
    .story-photo { position:relative; overflow:hidden; min-height:560px; }
    .story-photo img { width:100%; height:100%; object-fit:cover; object-position:center 35%; filter:brightness(.82) contrast(1.05) saturate(.82); transition:transform .85s cubic-bezier(.2,.8,.2,1), filter .45s ease; will-change:transform; }
    .story-photo:hover img { transform:scale(1.04); filter:brightness(.9) contrast(1.07) saturate(.9); }
    .story-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(13,13,13,.82) 0%,transparent 60%); }
    .story-caption { position:absolute; left:2.6rem; bottom:2.6rem; z-index:2; color:var(--white); max-width:350px; }
    .story-caption span { display:block; font-size:.65rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:.4rem; }
    .story-caption p { font-family:'Cormorant Garamond',serif; font-size:1.7rem; line-height:1.15; font-weight:300; }
    .story-content { padding:6rem; display:flex; flex-direction:column; justify-content:center; }
    .story-list { list-style:none; margin-top:2rem; display:grid; gap:1rem; }
    .story-list li { display:grid; grid-template-columns:auto 1fr; gap:.9rem; color:var(--grey); line-height:1.65; font-size:.94rem; }
    .story-list li::before { content:''; width:6px; height:6px; background:var(--gold); border-radius:50%; margin-top:.63rem; }



    /* ── PARCOURS PERSONNEL ── */
    .journey-sec { background:var(--section-bg); display:grid; grid-template-columns:.78fr 1.22fr; gap:5.5rem; align-items:start; }
    .journey-intro { position:sticky; top:7.5rem; }
    .journey-intro .lead { margin-top:1.4rem; }
    .journey-note { margin-top:2rem; padding:1.4rem 1.5rem; background:var(--black); color:rgba(248,246,241,.72); border-left:3px solid var(--gold); font-size:.9rem; line-height:1.75; }
    .journey-timeline { position:relative; padding-left:2.2rem; display:grid; gap:2rem; }
    .journey-timeline::before { content:''; position:absolute; top:.3rem; bottom:.3rem; left:.35rem; width:1.5px; background:linear-gradient(to bottom,var(--gold),rgba(200,169,110,.08)); }
    .journey-item { position:relative; background:var(--white); border:1px solid var(--light-grey); padding:1.65rem 1.75rem; transition:background .25s ease, transform .35s ease, box-shadow .35s ease; }
    .journey-item:hover { background:var(--cream); transform:translateX(6px); box-shadow:0 18px 52px rgba(0,0,0,.06); }
    .journey-item::before { content:''; position:absolute; left:-2.18rem; top:1.9rem; width:10px; height:10px; background:var(--gold); border:2px solid var(--section-bg); border-radius:50%; }
    .journey-kicker { font-size:.64rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:.45rem; }
    .journey-item h3 { font-family:'Cormorant Garamond',serif; font-size:1.48rem; font-weight:400; color:var(--black); line-height:1.2; margin-bottom:.55rem; }
    .journey-item p { font-size:.91rem; line-height:1.72; color:var(--grey); }

    .credentials-sec { background:var(--white); display:grid; grid-template-columns:.9fr 1.1fr; gap:6rem; align-items:center; }
    .cred-grid { display:grid; gap:1px; background:var(--light-grey); border:1px solid var(--light-grey); }
    .cred-row { background:var(--white); padding:1.45rem 1.8rem; display:flex; gap:1.15rem; align-items:flex-start; transition:background .25s ease, transform .35s ease; }
    .cred-row:hover { background:var(--cream); transform:translateX(6px); }
    .cred-dot { width:34px; height:34px; background:var(--black); color:var(--gold); display:grid; place-items:center; font-size:.75rem; font-weight:800; flex-shrink:0; }
    .cred-row strong { display:block; font-size:.92rem; color:var(--black); margin-bottom:.18rem; }
    .cred-row span { display:block; font-size:.77rem; color:var(--grey); line-height:1.45; }

    .difference-sec { background:var(--black); padding:0; display:grid; grid-template-columns:1fr 1fr; }
    .difference-copy { padding:6rem; display:flex; flex-direction:column; justify-content:center; }
    .difference-copy p { color:rgba(248,246,241,.58); line-height:1.85; margin-top:1.4rem; max-width:560px; }
    .difference-panel { background:var(--gold); padding:5rem; display:flex; flex-direction:column; justify-content:center; }
    .difference-panel h3 { font-family:'Cormorant Garamond',serif; font-size:2.35rem; font-weight:400; line-height:1.15; color:var(--black); }
    .difference-panel ul { list-style:none; display:grid; gap:1rem; margin-top:2rem; }
    .difference-panel li { display:grid; grid-template-columns:auto 1fr; gap:.9rem; color:rgba(13,13,13,.76); line-height:1.6; font-size:.95rem; }
    .difference-panel li::before { content:'✓'; font-weight:900; color:var(--black); }

    .cta-sec { background:var(--black); text-align:center; padding:8.8rem 4rem; position:relative; overflow:hidden; }
    .cta-bg { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-family:'Cormorant Garamond',serif; font-size:20vw; font-weight:300; color:rgba(200,169,110,.035); white-space:nowrap; pointer-events:none; }
    .cta-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.8rem,5vw,5.2rem); font-weight:300; color:var(--white); line-height:1.1; max-width:760px; margin:.8rem auto 1.5rem; position:relative; text-wrap:balance; }
    .cta-title em { font-style:italic; color:var(--gold); }
    .cta-sub { font-size:.96rem; color:rgba(248,246,241,.48); max-width:500px; margin:0 auto 2.8rem; line-height:1.75; position:relative; }
    .cta-note { font-size:.74rem; color:rgba(248,246,241,.3); margin-top:1.4rem; position:relative; }

    footer { background:#080808; padding:2.8rem 6rem; display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(255,255,255,.05); }
    .footer-logo { font-family:'Cormorant Garamond',serif; font-size:1rem; font-weight:600; color:rgba(248,246,241,.45); text-decoration:none; }
    .footer-logo span { color:var(--gold); }
    .footer-copy { font-size:.7rem; color:rgba(248,246,241,.22); }
    .footer-links { display:flex; gap:1.5rem; }
    .footer-links a { font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(248,246,241,.35); text-decoration:none; }
    .footer-links a:hover { color:var(--gold); }
    .whatsapp { position:fixed; right:1.2rem; bottom:1.2rem; z-index:99; background:#25D366; color:#fff; padding:.85rem 1.05rem; border-radius:999px; text-decoration:none; font-size:.78rem; font-weight:800; box-shadow:0 12px 40px rgba(0,0,0,.22); }

    @keyframes fadeUp { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
    @keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
    @keyframes bandShine { 0%,55% { transform:translateX(-120%); } 80%,100% { transform:translateX(120%); } }
    .reveal { opacity:0; transform:translateY(42px); filter:blur(7px); transition:opacity .85s ease, transform .85s cubic-bezier(.2,.8,.2,1), filter .85s ease; }
    .reveal.visible { opacity:1; transform:none; filter:blur(0); }

    @media (max-width:1024px) {
      nav { padding:1rem 2rem; }
      .nav-links { display:none; }
      section { padding:5rem 2.2rem; }
      .hero { grid-template-columns:1fr; min-height:auto; }
      .hero-left { padding:7.5rem 2.3rem 3rem; }
      .hero-right { min-height:64vw; }
      .hero-proof { gap:1.4rem; flex-wrap:wrap; }
      .band { flex-wrap:wrap; padding:1rem 2rem; gap:1.3rem; }
      .journey-sec, .intro-sec, .approach-sec, .story-sec, .credentials-sec, .difference-sec { grid-template-columns:1fr; gap:0; }
      .approach-sec { gap:3rem; }
      .journey-sec { gap:3rem; }
      .journey-intro { position:relative; top:auto; }
      .journey-timeline { padding-left:1.7rem; }
      .principles { grid-template-columns:1fr; }
      .story-content, .difference-copy, .difference-panel { padding:4rem 2.2rem; }
      .story-photo { min-height:430px; }
      footer { flex-direction:column; gap:1.1rem; text-align:center; padding:2.5rem; }
    }
    @media (max-width:620px) {
      .nav-logo img { height:65px; width:auto; }
      .hero-title { font-size:3.08rem; }
      .hero-actions { align-items:stretch; }
      .btn-gold, .btn-ghost, .btn-dark, .cta-btn { width:100%; justify-content:center; text-align:center; }
      .intro-card { padding:2.35rem; }
      .whatsapp { font-size:0; width:52px; height:52px; display:grid; place-items:center; padding:0; }
      .whatsapp::before { content:'WA'; font-size:.78rem; }
    }
    @media (prefers-reduced-motion:reduce) {
      *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
      #scroll-progress { display:none; }
    }
  

    /* NAV FIX — menu unifié, suppression du rectangle gris animé */
    .nav-links { gap: 1.25rem !important; }
    .nav-links a,
    .nav-links a:hover,
    .nav-links a.active,
    .main-nav a,
    .main-nav a:hover,
    .main-nav a.active,
    .menu a,
    .menu a:hover,
    .menu a.active {
      background: transparent !important;
      box-shadow: none !important;
    }
    nav a::before,
    nav a::after,
    .nav a::before,
    .nav a::after,
    .main-nav a::before,
    .main-nav a::after,
    .menu a::before,
    .menu a::after {
      display: none !important;
      content: none !important;
      background: transparent !important;
      box-shadow: none !important;
    }
    .nav-cta,
    .nav-cta:hover,
    .nav-cta.active {
      background: var(--gold, var(--accent, #c8a96e)) !important;
      color: var(--black, #0d0d0d) !important;
      border-radius: 2px !important;
      border: 0 !important;
      box-shadow: none !important;
    }
    .nav-cta:hover {
      background: var(--gold-dark, var(--accent-dark, #a88a50)) !important;
      color: var(--white, #f8f6f1) !important;
    }
    @media (max-width: 1200px) {
      .nav-links { gap: .95rem !important; }
      .nav-links a { font-size: .68rem !important; }
    }


    /* NAV CTA FIX — garde le bouton Bilan offert visible hors survol */
    .nav-links a.nav-cta,
    .nav-links a.nav-cta:visited,
    .nav-links a.nav-cta.active,
    nav .nav-links a.nav-cta,
    .main-nav a.nav-cta,
    .menu a.nav-cta {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      background: #c8a96e !important;
      color: #0d0d0d !important;
      padding: .62rem 1.2rem !important;
      border-radius: 2px !important;
      border: 0 !important;
      box-shadow: none !important;
      opacity: 1 !important;
      visibility: visible !important;
    }
    .nav-links a.nav-cta:hover,
    nav .nav-links a.nav-cta:hover,
    .main-nav a.nav-cta:hover,
    .menu a.nav-cta:hover {
      background: #a88a50 !important;
      color: #f8f6f1 !important;
    }


    /* Footer légal harmonisé */
    .footer-links { display:flex; gap:1.15rem; flex-wrap:wrap; align-items:center; justify-content:flex-end; }
    .footer-links a { font-size:.7rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:rgba(248,246,241,.34); text-decoration:none; transition:color .2s; }
    .footer-links a:hover { color:var(--gold); }

  

    /* Correctif menu FIT : logo, alignement, hover propre */
    .nav-links a,
    .nav-links a:hover,
    .nav-links a.active,
    .menu a,
    .menu a:hover,
    .menu a.active {
      background: transparent !important;
      box-shadow: none !important;
    }
    .nav-links a::before,
    .nav-links a::after,
    .nav-links::before,
    .nav-links::after,
    .menu a::before,
    .menu a::after,
    .menu::before,
    .menu::after {
      display: none !important;
      background: transparent !important;
    }
    .nav-cta,
    .nav-cta:hover,
    .nav-links .nav-cta,
    .nav-links .nav-cta:hover,
    .menu .nav-cta,
    .menu .nav-cta:hover {
      display: inline-block !important;
      background: var(--gold, #c8a96e) !important;
      color: var(--black, #0d0d0d) !important;
      border: 0 !important;
      border-radius: 2px !important;
      box-shadow: none !important;
      opacity: 1 !important;
      visibility: visible !important;
    }
    .nav-cta:hover,
    .nav-links .nav-cta:hover,
    .menu .nav-cta:hover {
      background: var(--gold-dark, #a88a50) !important;
      color: var(--white, #f8f6f1) !important;
    }