/* Inn-Sights Consulting · site V1 (maquettes) · HC Agence 360° */
:root{
  --vert:#0C3F26; --vert-fonce:#082C1B; --vert-tres-fonce:#14251C;
  --creme:#F1EADB; --creme-clair:#F8F4EB; --or:#BA964D; --gris:#4D5F54;
  --blanc:#FFFDF8; --ligne:rgba(12,63,38,.14); --ligne-sombre:rgba(241,234,219,.18);
  --titre:'Cormorant Garamond',Georgia,serif; --texte:'Inter',system-ui,-apple-system,sans-serif;
  --max:1200px; --pad:clamp(20px,5vw,64px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--texte);color:var(--vert-tres-fonce);background:var(--creme);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-family:var(--texte);font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--or)}
h1,h2,h3{font-family:var(--titre);font-weight:600;line-height:1.08;color:var(--vert)}
h1{font-size:clamp(40px,5.4vw,72px);letter-spacing:-.5px}
h2{font-size:clamp(32px,3.6vw,48px)}
h3{font-size:clamp(23px,2vw,28px);line-height:1.2}
.num{font-family:var(--texte)} /* tous les chiffres en Inter */
.lead{font-size:clamp(18px,1.6vw,21px);color:var(--gris);max-width:640px}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--texte);font-weight:600;font-size:15px;letter-spacing:.3px;text-decoration:none;padding:16px 26px;border-radius:2px;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer;border:0}
.btn-or{background:var(--or);color:var(--vert-fonce)}
.btn-or:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(186,150,77,.35)}
.btn-or .fl{transition:transform .2s}.btn-or:hover .fl{transform:translateX(4px)}
.btn-lien{color:var(--vert);padding:16px 4px;border-bottom:1px solid var(--or);border-radius:0}
.sombre .btn-lien{color:var(--creme)}

/* En-tête */
.entete{position:sticky;top:0;z-index:50;background:rgba(241,234,219,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--ligne)}
.entete .wrap{display:flex;align-items:center;justify-content:space-between;height:84px;gap:24px}
.logo img{height:46px;width:auto}
.nav{display:flex;align-items:center;gap:22px}
.nav a{white-space:nowrap}
.nav a{font-size:14px;font-weight:500;text-decoration:none;color:var(--vert-tres-fonce);position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--or);transition:right .25s}
.nav a:hover::after,.nav a[aria-current="page"]::after{right:0}
.nav a[aria-current="page"]{color:var(--vert)}
.entete .btn{padding:12px 20px;font-size:14px;white-space:nowrap}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--vert);margin:5px auto}

/* Hero accueil */
.hero{position:relative;overflow:hidden;background:var(--vert);color:var(--creme)}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:56px;min-height:calc(100vh - 84px);max-height:860px;padding-top:56px;padding-bottom:56px}
.hero h1{color:var(--blanc)}
.hero .sous{font-family:var(--titre);font-style:italic;font-weight:500;font-size:clamp(22px,2.2vw,30px);color:var(--or);margin:18px 0 22px;line-height:1.25}
.hero p.txt{color:rgba(241,234,219,.88);max-width:560px}
.hero .double{display:flex;align-items:center;gap:14px;margin-top:22px;font-weight:500;color:var(--creme)}
.hero .double::before{content:"";width:42px;height:1px;background:var(--or)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:18px;margin-top:38px}
.hero .visuel{position:relative;align-self:stretch;display:flex;align-items:flex-end;justify-content:center}
.hero .cadre{position:relative;width:min(420px,100%);aspect-ratio:4/5.4}
.hero .cadre::before{content:"";position:absolute;inset:-16px 16px 16px -16px;border:1px solid rgba(186,150,77,.7)}
.hero .cadre img{position:relative;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.trame{position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 64px);pointer-events:none}

/* Preuves */
.preuves{background:var(--vert-fonce);color:var(--creme)}
.preuves .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.preuve{padding:34px 28px;border-left:1px solid var(--ligne-sombre)}
.preuve:first-child{border-left:0;padding-left:0}
.preuve b{display:block;font-family:var(--titre);font-weight:600;font-size:30px;color:var(--blanc);line-height:1.1}
.preuve b .num{font-weight:600;font-size:28px}
.preuve span{font-size:14px;color:rgba(241,234,219,.72)}

/* Portes d'entrée */
.section{padding:clamp(72px,9vw,120px) 0}
.portes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.porte{display:flex;flex-direction:column;background:var(--blanc);border:1px solid var(--ligne);padding:34px 30px;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s;min-height:280px}
.porte:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(12,63,38,.10);border-color:rgba(186,150,77,.6)}
.porte .eyebrow{margin-bottom:16px}
.porte p{color:var(--gris);font-size:15.5px;margin-top:12px;flex:1}
.porte .suite{margin-top:24px;font-size:14px;font-weight:600;color:var(--vert);display:flex;gap:10px;align-items:center}
.porte.principale{background:var(--vert);border-color:var(--vert)}
.porte.principale h3{color:var(--blanc)}
.porte.principale p{color:rgba(241,234,219,.82)}
.porte.principale .suite{color:var(--or)}

/* Bandeau rendez-vous */
.rdv{background:var(--vert);color:var(--creme);text-align:center}
.rdv h2{color:var(--blanc);max-width:760px;margin:16px auto 18px}
.rdv p{color:rgba(241,234,219,.82);max-width:620px;margin:0 auto 34px}

/* Page intérieure */
.titre-page{background:var(--vert);color:var(--creme);padding:clamp(64px,8vw,110px) 0 clamp(56px,7vw,90px);position:relative;overflow:hidden}
.titre-page h1{color:var(--blanc);max-width:900px;margin-top:16px}
.titre-page .lead{color:rgba(241,234,219,.85);margin-top:22px;max-width:720px}
.titre-page .ctas{margin-top:34px;display:flex;gap:18px;flex-wrap:wrap}
.fil{font-size:13px;color:rgba(241,234,219,.6)}
.fil a{text-decoration:none}

/* Étapes */
.etapes{counter-reset:e;display:grid;gap:0;margin-top:56px;border-top:1px solid var(--ligne)}
.etape{display:grid;grid-template-columns:120px 1fr 1.25fr;gap:36px;padding:40px 0;border-bottom:1px solid var(--ligne);align-items:start}
.etape .n{font-family:var(--texte);font-size:15px;font-weight:600;color:var(--or);letter-spacing:2px}
.etape .n big{display:block;font-family:var(--texte);font-size:56px;font-weight:300;color:var(--vert);letter-spacing:-2px;line-height:1}
.etape p{color:var(--gris)}
.etape .note{margin-top:14px;font-size:14.5px;padding-left:16px;border-left:2px solid var(--or);color:var(--vert-tres-fonce)}
.etape .note a{color:var(--vert);font-weight:600}
.frise{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;position:relative}
.frise::before{content:"";position:absolute;left:12.5%;right:12.5%;top:21px;height:1px;background:rgba(186,150,77,.6)}
.frise div{text-align:center;position:relative;font-size:14px;font-weight:500;color:var(--creme)}
.frise i{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin:0 auto 12px;border:1px solid var(--or);border-radius:50%;background:var(--vert);font-style:normal;font-weight:600;color:var(--or);font-size:14px}

/* Référence */
.reference{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;background:var(--blanc);border:1px solid var(--ligne);margin-top:24px}
.reference .gauche{background:var(--vert-fonce);color:var(--creme);padding:44px 40px}
.reference .gauche h3{color:var(--blanc);font-size:34px;margin:14px 0 6px}
.reference .gauche .lieu{color:var(--or);font-weight:500}
.reference .gauche ul{list-style:none;margin-top:28px;display:grid;gap:10px}
.reference .gauche li{display:flex;gap:12px;font-size:15px;color:rgba(241,234,219,.85)}
.reference .gauche li b{color:var(--blanc);font-weight:600;min-width:110px}
.reference .droite{padding:44px 40px}
.reference .droite .eyebrow{color:var(--gris)}
.reference .droite p{margin-top:14px;color:var(--vert-tres-fonce)}
.complement{background:var(--creme-clair);border:1px solid var(--ligne);padding:30px 34px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;margin-top:56px}
.complement .ico{width:52px;height:52px;border:1px solid var(--or);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--or);font-family:var(--titre);font-size:26px}

/* Texte long (légal, honoraires) */
.texte{max-width:860px}
.texte h2{font-size:30px;margin:48px 0 14px}
.texte p,.texte li{color:var(--vert-tres-fonce);font-size:16px}
.texte ul{padding-left:20px;margin:10px 0}
.texte dl{display:grid;grid-template-columns:240px 1fr;gap:10px 24px;margin-top:10px}
.texte dt{font-weight:600;color:var(--vert)}
.texte .a-completer{background:#fff3cd;padding:0 6px}
table.bareme{width:100%;border-collapse:collapse;margin:28px 0;background:var(--blanc)}
.bareme th,.bareme td{padding:18px 20px;border-bottom:1px solid var(--ligne);text-align:left;font-size:16px;vertical-align:top}
.bareme th{background:var(--vert);color:var(--creme);font-weight:600;font-size:13px;letter-spacing:1.5px;text-transform:uppercase}
.bareme td.v{font-family:var(--texte);font-weight:600;color:var(--vert);white-space:nowrap;width:130px}
.telecharger{display:inline-flex;gap:12px;align-items:center;margin-top:8px}

/* Pied de page */
.pied{background:var(--vert-tres-fonce);color:rgba(241,234,219,.75);font-size:14px;padding:64px 0 28px}
.pied .grille{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:48px}
.pied img{height:46px;width:auto;margin-bottom:18px}
.pied h4{font-family:var(--texte);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--or);margin-bottom:14px;font-weight:600}
.pied a{text-decoration:none;display:block;padding:4px 0}
.pied a:hover{color:var(--creme)}
.pied .legal{margin-top:48px;padding-top:22px;border-top:1px solid var(--ligne-sombre);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:12.5px;color:rgba(241,234,219,.55)}
.pied .legal nav{display:flex;flex-wrap:wrap;gap:22px}
.pied .legal nav a{display:inline;color:rgba(241,234,219,.8)}
.pied .legal nav a.honoraires{color:var(--or)}

/* Barre mobile collante */
.barre-rdv{display:none}

/* Animations d'apparition */
.apparait{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.apparait.vu{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.apparait{opacity:1;transform:none;transition:none}}

/* Tablette et mobile */
@media (max-width:1180px){
  .nav{display:none}
  .burger{display:block}
  .entete .btn{display:none}
}
@media (max-width:860px){
  body{font-size:16px}
  .entete .wrap{height:68px}
  .logo img{height:38px}
  .hero .wrap{grid-template-columns:1fr;min-height:auto;max-height:none;gap:36px;padding-top:40px;padding-bottom:48px}
  .hero .visuel{order:0;justify-content:flex-start}
  .hero .cadre{width:62%;max-width:260px;margin-left:16px}
  .hero .cadre::before{inset:-12px 12px 12px -12px}
  .hero .ctas .btn-lien{display:none}
  .preuves .wrap{grid-template-columns:1fr}
  .preuve,.preuve:first-child{border-left:0;border-top:1px solid var(--ligne-sombre);padding:22px 0}
  .preuve:first-child{border-top:0}
  .portes{grid-template-columns:1fr}
  .porte{min-height:0}
  .etape{grid-template-columns:auto 1fr;gap:10px 18px;padding:30px 0}
  .etape .n{grid-row:span 1}
  .etape .n big{font-size:40px}
  .etape h3{align-self:center;font-size:24px}
  .etape > div{grid-column:1 / -1}
  .etape p{font-size:16px;line-height:1.6}
  .frise div{font-size:13px}
  .frise{grid-template-columns:repeat(2,1fr);row-gap:22px}
  .frise::before{display:none}
  .reference{grid-template-columns:1fr}
  .reference .gauche,.reference .droite{padding:32px 26px}
  .complement{grid-template-columns:1fr}
  .texte dl{grid-template-columns:1fr;gap:2px}
  .texte dd{margin-bottom:12px}
  .pied .grille{grid-template-columns:1fr;gap:32px}
  .pied{padding-bottom:110px}
  .barre-rdv{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(8,44,27,.96);backdrop-filter:blur(8px)}
  .barre-rdv .btn{width:100%;justify-content:center}
}

/* ===== V4 : rubriques Expertises, Prescripteurs, Autres missions, Contact ===== */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pilier{background:var(--blanc);border:1px solid var(--ligne);padding:32px 30px}
.pilier .pn{font-family:var(--texte);font-weight:300;font-size:44px;color:var(--or);letter-spacing:-1px;line-height:1}
.pilier h3{margin:16px 0 10px}
.pilier p{color:var(--gris);font-size:15.5px}
.bio{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.cadre-bio{position:relative;max-width:400px}
.cadre-bio::before{content:"";position:absolute;inset:-16px 16px 16px -16px;border:1px solid rgba(186,150,77,.7)}
.cadre-bio img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.bio-texte p{color:var(--vert-tres-fonce);margin-top:14px}
.bio-sous{font-family:var(--titre);font-style:italic;font-size:24px;color:var(--or)!important;margin-top:6px!important}
.engagements{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:72px;border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne)}
.engagements div{padding:26px 22px;border-left:1px solid var(--ligne)}
.engagements div:first-child{border-left:0;padding-left:0}
.engagements b{display:block;font-family:var(--titre);font-weight:600;font-size:21px;color:var(--vert);line-height:1.2}
.engagements span{display:block;font-size:14px;color:var(--gris);margin-top:8px}
.encadre{margin-top:48px;background:var(--creme-clair);border:1px solid var(--ligne);padding:30px 34px;max-width:860px}
.encadre p:last-child{margin-top:10px;font-size:17px}
.ref-photo{grid-template-columns:.8fr 1.2fr;margin-top:40px}
.ref-photo .droite img{width:100%;height:auto;border:1px solid var(--ligne)}
.ref-txt{margin-top:22px;color:rgba(241,234,219,.85);font-size:15px}
.contact-grille{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:start}
.agenda iframe{width:100%;height:720px;border:1px solid var(--ligne);background:var(--blanc)}
.coordonnees{background:var(--blanc);border:1px solid var(--ligne);padding:34px 32px}
.coord{padding:16px 0;border-bottom:1px solid var(--ligne)}
.coord > span{display:block;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--or)}
.coord a{display:block;margin-top:6px;font-size:17px;color:var(--vert);text-decoration:none;font-weight:500;word-break:break-word}

/* barre de rendez-vous mobile : n'apparaît qu'une fois le premier bouton sorti de l'écran,
   et le bas de page est réservé pour qu'elle ne masque aucun contenu */
@media (max-width:860px){
  .barre-rdv{transform:translateY(110%);transition:transform .3s ease}
  .barre-rdv.visible{transform:none}
  main{padding-bottom:0}
  .trio{grid-template-columns:1fr}
  .bio{grid-template-columns:1fr;gap:40px}
  .cadre-bio{max-width:260px;margin-left:16px}
  .engagements{grid-template-columns:1fr}
  .engagements div,.engagements div:first-child{border-left:0;border-top:1px solid var(--ligne);padding:18px 0}
  .engagements div:first-child{border-top:0}
  .ref-photo{grid-template-columns:1fr}
  .contact-grille{grid-template-columns:1fr;gap:32px}
  .agenda iframe{height:640px}
}
@media (max-width:560px){
  .bareme th,.bareme td{padding:14px 10px;font-size:14px}
  .bareme th{font-size:11px;letter-spacing:.8px}
  .bareme td.v{width:auto}
}
.opposition{margin:18px 0 8px;padding:22px 26px;background:var(--blanc);border:1px solid var(--ligne);font-size:15px}
.opposition p{margin:0 0 10px}
.opposition input[type=checkbox]{accent-color:var(--vert);width:16px;height:16px;margin-right:8px;vertical-align:-2px}
