:root{
      --paper:#F8F9F6;
      --card:#FFFFFF;
      --ink:#1F2927;
      --muted:#5F7580;
      --slate:#113D35;
      --blue:#24564C;
      --orange:#A86F45;
      --orange-deep:#8F5A36;
      --line:#D9E1DC;
      --line-strong:#C7D2CC;
      --radius:14px;
      --wrap:1120px;
    }
    *{box-sizing:border-box;margin:0;padding:0}
    img{max-width:100%;height:auto}
    html{scroll-behavior:smooth}
    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto}
      *,*::before,*::after{animation:none!important;transition:none!important}
    }
    body{
      font-family:"Public Sans",system-ui,sans-serif;
      font-size:16.5px;line-height:1.65;
      color:var(--ink);background:var(--paper);
      -webkit-font-smoothing:antialiased;
    }
    a{color:inherit}
    :focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
    .wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
    .kicker{
      font-size:12.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
      color:var(--orange-deep);margin-bottom:14px;
    }
    h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.15;letter-spacing:-.01em}
    h2{font-size:clamp(28px,3.6vw,40px);color:var(--slate);max-width:22ch}
    h3{font-size:21px;color:var(--slate)}
    .lede{color:var(--muted);max-width:58ch;margin-top:16px;font-size:17.5px;text-align:justify;text-justify:inter-word}
    section{padding:88px 0}
    .btn{
      display:inline-flex;align-items:center;gap:10px;
      font-weight:600;font-size:15.5px;text-decoration:none;
      padding:14px 24px;border-radius:999px;border:1.5px solid transparent;
      transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
      cursor:pointer;
    }
    .btn.primary{background:var(--slate);color:#fff}
    .btn.primary:hover{background:#24564C;transform:translateY(-1px)}
    .btn.accent{background:var(--orange);color:#fff}
    .btn.accent:hover{background:var(--orange-deep);transform:translateY(-1px)}
    .btn.ghost{border-color:var(--line-strong);color:var(--slate);background:transparent}
    .btn.ghost:hover{border-color:var(--slate)}
    .btn[disabled]{opacity:.55;cursor:wait;transform:none}

    /* ---------- Header ---------- */
    header.site{
      position:sticky;top:0;z-index:50;
      background:rgba(251,250,246,.92);backdrop-filter:blur(8px);
      border-bottom:1px solid transparent;transition:border-color .2s;
    }
    header.site.elevated{border-bottom-color:var(--line)}
    .site-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px;max-width:var(--wrap);margin:0 auto}
    .brand{display:flex;align-items:center;gap:12px;text-decoration:none}
    .brand svg{flex:none}
    .brand strong{font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:600;color:var(--slate);display:block;line-height:1.1}
    .brand small{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange-deep);font-weight:700}
    nav.main{display:flex;gap:26px}
    nav.main a{text-decoration:none;font-size:15px;font-weight:500;color:var(--muted)}
    nav.main a:hover{color:var(--slate)}
    .header-cta{white-space:nowrap}
    @media (max-width:920px){nav.main{display:none}}
    .menu-toggle{
      display:none;align-items:center;justify-content:center;
      background:none;border:none;padding:8px;margin:0;cursor:pointer;color:var(--slate);line-height:0;
    }
    @media (max-width:920px){
      .header-cta{display:none}
      .menu-toggle{display:inline-flex}
    }
    .mobile-menu{
      display:none;flex-direction:column;gap:0;
      padding:6px 24px 22px;background:var(--paper);border-top:1px solid var(--line);
    }
    .mobile-menu.open{display:flex}
    .mobile-menu a{
      padding:13px 4px;color:var(--slate);text-decoration:none;font-size:15.5px;font-weight:500;
      border-bottom:1px solid var(--line);
    }
    .mobile-menu a.active{color:var(--orange-deep);font-weight:700}
    .mobile-menu a.btn{
      border-bottom:none;text-align:center;justify-content:center;margin-top:14px;padding:13px 15px;
    }

    /* ---------- Hero ---------- */
    .hero{position:relative;overflow:hidden;padding:110px 0 96px;background:linear-gradient(180deg,#EEF3F0 0%,var(--paper) 100%)}
    .hero .wrap{position:relative;z-index:2;max-width:var(--wrap)}
    .hero h1{font-size:clamp(38px,5.4vw,62px);color:var(--slate);max-width:17ch}
    .hero h1 em{font-style:normal;color:var(--orange)}
    .hero .lede{font-size:19px;max-width:52ch;text-align:justify;text-justify:inter-word}
    .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
    .rosace{position:absolute;right:-90px;top:50%;transform:translateY(-50%);opacity:.13;pointer-events:none;z-index:1}
    @media (max-width:760px){.rosace{display:none}}
    .proof{
      display:grid;grid-template-columns:repeat(3,1fr);gap:0;
      border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
      margin-top:64px;background:var(--card);
    }
    .proof div{padding:22px 24px;border-left:1px solid var(--line)}
    .proof div:first-child{border-left:none}
    .proof span{display:block;font-size:12px;font-weight:700;letter-spacing:.15em;color:var(--orange-deep);margin-bottom:6px}
    .proof strong{font-size:15.5px;color:var(--slate);font-weight:600}
    @media (max-width:760px){.proof{grid-template-columns:1fr}.proof div{border-left:none;border-top:1px solid var(--line)}.proof div:first-child{border-top:none}}

    /* ---------- Bande positionnement ---------- */
    .band{background:var(--slate);color:#F4EFE6;padding:72px 0}
    .band .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
    .band h2{color:#fff}
    .band p{color:#CFDCD6;max-width:52ch}
    .band .kicker{color:#E5BA91}
    .band-stats{display:grid;gap:18px}
    .band-stats div{border-left:3px solid var(--orange);padding-left:18px}
    .band-stats strong{font-family:Georgia,"Times New Roman",serif;font-size:26px;color:#fff;display:block}
    .band-stats span{font-size:14.5px;color:#AFC4BC}
    @media (max-width:860px){.band .wrap{grid-template-columns:1fr}}

    /* ---------- Cartes ---------- */
    .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
    .cards.cases-two{grid-template-columns:repeat(2,1fr)}
    @media (max-width:760px){.cards.cases-two{grid-template-columns:1fr}}
    .card{
      background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
      padding:30px 28px;position:relative;
    }
    .card .idx{
      font-family:Georgia,"Times New Roman",serif;font-size:15px;font-weight:600;color:var(--orange);
      display:inline-block;margin-bottom:14px;border-bottom:2px solid var(--orange);padding-bottom:2px;
    }
    .card h3{margin-bottom:10px;font-size:19.5px}
    .card p{font-size:15.5px;color:var(--muted);text-align:justify;text-justify:inter-word}
    @media (max-width:860px){.cards{grid-template-columns:1fr}}
    .cards.four{grid-template-columns:repeat(2,1fr)}
    @media (max-width:720px){.cards.four{grid-template-columns:1fr}}

    /* ---------- Méthode ---------- */
    .method{background:#EEF3F0}
    .method-note{
      margin-top:36px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--blue);
      border-radius:10px;padding:20px 24px;font-size:15.5px;color:var(--muted);max-width:820px;
      text-align:justify;text-justify:inter-word;
    }
    .method-note strong{color:var(--slate)}

    /* ---------- Indice ---------- */
    .indice .wrap{display:grid;grid-template-columns:.92fr 1.08fr;gap:60px;align-items:start}
    @media (max-width:760px){
      .indice .wrap{grid-template-columns:1fr}
      .indice .wrap > div:first-child{order:2}
      .indice .wrap > div:last-child{order:1}
    }
    .score-card{
      background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
      padding:28px;display:flex;gap:24px;align-items:center;margin-top:30px;
    }
    .dial{flex:none}
    .dial text{font-family:Georgia,"Times New Roman",serif}
    #score-label{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-deep)}
    #score-comment{font-size:15px;color:var(--muted);margin-top:6px}
    .gate{
      margin-top:22px;background:var(--slate);color:#EDF3F0;border-radius:var(--radius);padding:28px;
    }
    .gate h3{color:#fff;font-size:20px;margin-bottom:8px}
    .gate p{font-size:14.5px;color:#C2D2CB}
    .gate-form{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
    .gate-form input{
      flex:1 1 220px;min-width:0;padding:13px 16px;border-radius:999px;border:1px solid #2E6156;
      background:#1A4A41;color:#fff;font-size:15px;font-family:inherit;
    }
    .gate-form input::placeholder{color:#9FB5AC}
    .gate .consent{font-size:12px;color:#9FB5AC;margin-top:12px}
    .gate .consent a{color:#DFB68F}
    .form-note{font-size:14px;margin-top:10px;color:#E5BA91;min-height:1em}
    .sliders-notice{
      font-size:14px;color:var(--muted);background:var(--card);border:1px dashed var(--line-strong);
      border-radius:10px;padding:14px 18px;margin-bottom:4px;
    }
    .sliders{display:grid;gap:14px}
    .slider-item{
      background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;
    }
    .slider-item > span{font-weight:600;font-size:15.5px;color:var(--slate)}
    .slider-item p{font-size:14px;color:var(--muted);margin:4px 0 12px}
    .slider-item input[type=range]{width:100%;accent-color:var(--orange)}
    .scale{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:4px}

    /* ---------- Mandat acquéreur ---------- */
    .buyside{background:linear-gradient(180deg,var(--paper),#EEF3F0)}
    .buyside-cta{
      margin-top:44px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
      background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 30px;
    }
    .buyside-cta p{max-width:48ch;color:var(--muted);font-size:15.5px}
    .buyer-types{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
    .buyer-types span{
      border:1px solid var(--line-strong);border-radius:999px;padding:8px 16px;
      font-size:14px;font-weight:500;color:var(--slate);background:var(--card);
    }

    /* ---------- Cas types ---------- */
    .case-tag{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:12px}

    /* ---------- Équipe ---------- */
    .team{background:var(--slate);color:#EDF3F0}
    .team h2{color:#fff}
    .team .kicker{color:#E5BA91}
    .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
    @media (max-width:980px){.team-grid{grid-template-columns:1fr 1fr}}
    @media (max-width:640px){.team-grid{grid-template-columns:1fr}}
    .associate{background:#1A4A41;border:1px solid #2E6156;border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
    .associate .portrait{margin-bottom:2px}
    .portrait{
      flex:none;width:96px;height:96px;border-radius:50%;background:#24564C;
      display:flex;align-items:center;justify-content:center;
      font-family:Georgia,"Times New Roman",serif;font-size:28px;color:#fff;
    }
    .associate h3{color:#fff;font-size:20px}
    .associate .role{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#DFB68F;font-weight:700;margin:4px 0 10px}
    .associate p{font-size:14.5px;color:#C2D2CB;text-align:justify;text-justify:inter-word}
    .team-line{margin-top:34px;color:#C2D2CB;max-width:66ch;font-size:15.5px;text-align:justify;text-justify:inter-word}

    /* ---------- Partenaire ---------- */
    .partner .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
    @media (max-width:860px){.partner .wrap{grid-template-columns:1fr}}
    .partner-card{
      background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:32px;
      border-top:4px solid var(--blue);
    }
    .partner-card h3{margin-bottom:10px}
    .partner-card p{font-size:15px;color:var(--muted);text-align:justify;text-justify:inter-word}
    .partner-card .disclosure{font-size:12.5px;color:var(--muted);margin-top:16px;border-top:1px solid var(--line);padding-top:12px}

    /* ---------- Ancrage ---------- */
    .region{background:#EEF3F0}
    .region p{max-width:66ch}

    /* ---------- Contact ---------- */
    .contact .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
    .contact .wrap > *{min-width:0}
    @media (max-width:900px){.contact .wrap{grid-template-columns:1fr}}
    .coords{margin-top:26px;display:grid;gap:10px;font-size:15.5px;color:var(--muted)}
    .coords strong{color:var(--slate)}
    form.contact-form{
      background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:32px;display:grid;gap:18px;
    }
    form.contact-form label{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--slate);min-width:0}
    form.contact-form input,form.contact-form select,form.contact-form textarea{
      width:100%;min-width:0;max-width:100%;
      padding:13px 15px;border:1px solid var(--line-strong);border-radius:10px;
      font-family:inherit;font-size:15.5px;color:var(--ink);background:var(--paper);
    }
    form.contact-form textarea{resize:vertical}
    .contact .form-note{color:var(--orange-deep)}
    .contact .consent{font-size:12.5px;color:var(--muted)}
    .contact .consent a{color:var(--blue)}

    /* ---------- Footer ---------- */
    footer.site{border-top:1px solid var(--line);padding:44px 0;font-size:14px;color:var(--muted)}
    footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
    footer nav{display:flex;gap:20px;flex-wrap:wrap}
    footer a{color:var(--muted)}
  
/* ---------- Navigation active ---------- */
nav.main a.active{color:var(--slate);font-weight:700}

/* ---------- Sous-navigation page (mini-hero interne) ---------- */
.page-head{background:linear-gradient(180deg,#EEF3F0 0%,var(--paper) 100%);padding:64px 0 48px}
.page-head h1{font-size:clamp(32px,4.4vw,48px);color:var(--slate);max-width:20ch}
.page-head .lede{max-width:60ch}
.crumb{font-size:13px;color:var(--muted);margin-bottom:14px}
.crumb a{color:var(--blue);text-decoration:none}
.crumb a:hover{text-decoration:underline}

/* ---------- Explorer (accueil) ---------- */
.explore-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:44px}
@media (max-width:980px){.explore-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.explore-grid{grid-template-columns:1fr}}
.explore-card{
  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px 20px;
  text-decoration:none;display:block;transition:border-color .15s ease,transform .15s ease;
}
.explore-card:hover{border-color:var(--blue);transform:translateY(-2px)}
.explore-card span{display:block;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-deep);margin-bottom:8px}
.explore-card strong{display:block;font-size:15.5px;color:var(--slate);font-family:Georgia,"Times New Roman",serif;font-weight:600;margin-bottom:6px}
.explore-card p{font-size:13.5px;color:var(--muted);margin:0}
