:root{
  --noir:#0B0F14; --acier:#1F3A4D; --ambre:#C17D2E; --ambre-clair:#E0A25A;
  --ivoire:#FFFDF8; --fond:#F5F1E8; --trait:#DAD2C0; --texte-doux:#55606B; --texte:#0B0F14;
  --titre-tarif:#C17D2E;
}
:root[data-theme="dark"]{
  --ivoire:#171B21; --fond:#11151A; --trait:#2B323B; --texte-doux:#A9B2BC; --texte:#F2EFE7;
  --titre-tarif:#E0A25A;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fond);color:var(--texte);font-family:Manrope,Arial,sans-serif;font-size:16.5px;line-height:1.68;-webkit-font-smoothing:antialiased}
.cadre-page{position:fixed;inset:0;border:1px solid var(--trait);pointer-events:none;z-index:90}
@media(max-width:720px){.cadre-page{display:none}}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:500;line-height:1.14;letter-spacing:-0.01em;margin:0}
p{margin:0 0 1.05em;max-width:62ch}
a{color:var(--acier);text-decoration:none}
a:hover{color:var(--ambre)}
:focus-visible{outline:2px solid var(--ambre);outline-offset:2px}
.enveloppe{max-width:1180px;margin:0 auto;padding-inline:clamp(1.25rem,4vw,3rem)}
.lien-evitement{position:absolute;left:-9999px;top:0;background:var(--noir);color:#fff;padding:0.7rem 1.1rem;z-index:100}
.lien-evitement:focus{left:1rem;top:1rem}

/* révélation au scroll */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity 720ms cubic-bezier(.19,.75,.24,1),transform 720ms cubic-bezier(.19,.75,.24,1)}
[data-reveal].visible{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1;transform:none;transition:none}}

/* progression de lecture */
.progression{position:fixed;top:0;left:0;height:2px;background:var(--ambre);z-index:60;width:0%;transition:width 80ms linear}

/* logo infini */
.logo-infini{height:26px;width:auto;display:block;flex-shrink:0}
.logo-infini-pied{height:18px;width:auto;opacity:0.7}
.motif-hero{position:absolute;right:clamp(-40px,2vw,10px);top:-10px;width:min(46vw,360px);height:auto;opacity:0.07;pointer-events:none;z-index:0}
@media(max-width:720px){.motif-hero{display:none}}

/* nav */
.barre-cta{background:var(--noir);color:#C7CDD3;font-size:0.8rem;padding:0.55rem 0;text-align:center;letter-spacing:0.01em}
.barre-cta a{color:var(--ambre-clair);font-weight:500}
.entete{background:rgba(255,253,248,0.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--trait);position:sticky;top:0;z-index:40;transition:box-shadow 220ms ease}
.entete.scrolle{box-shadow:0 1px 0 var(--trait)}
.entete-int{display:flex;align-items:center;justify-content:space-between;min-height:74px;gap:1.5rem;position:relative}
.marque{display:flex;align-items:center;gap:0.65rem;color:var(--texte)}
.marque-nom{font-family:Fraunces;font-weight:500;font-size:1.14rem}
.nav-liens{display:flex;gap:1.4rem;align-items:center;list-style:none;margin:0;padding:0;font-size:0.9rem;flex-wrap:wrap;justify-content:flex-end}
.nav-liens a{color:var(--texte);font-weight:500}
.nav-devis{background:var(--ambre);color:#fff!important;padding:0.6rem 1.25rem;border-radius:2px}
.nav-devis:hover{background:var(--noir);color:#fff!important}
.bascule{display:none;background:none;border:1px solid var(--trait);padding:0.5rem 0.9rem;font:inherit;color:var(--texte);border-radius:2px}

/* hero */
.hero{padding:4.4rem 0 3.6rem;position:relative;overflow:hidden}
.hero-texte{max-width:760px;margin:0 auto;text-align:center;position:relative;z-index:1}
.hero h1{font-size:clamp(2.1rem,4.8vw,3.3rem)}
.hero .accroche{margin:1.2rem auto 0;color:var(--texte-doux);font-size:1.14rem;max-width:74ch}
.hero .actions{margin-top:1.7rem;display:flex;justify-content:center;flex-wrap:wrap;gap:0.7rem}
.bouton{display:inline-block;font:inherit;font-weight:500;font-size:0.98rem;padding:0.88rem 1.8rem;border:1.5px solid var(--noir);border-radius:2px}
.bouton-plein{background:var(--ambre);border-color:var(--ambre);color:#fff;transition:filter 0.15s}
.bouton-plein:hover{filter:brightness(0.88)}
.bouton-discret{border-color:var(--trait);color:var(--texte)}
.bouton-discret:hover{border-color:var(--ambre);color:var(--ambre)}
.enjeux{margin:1.3rem auto 0;font-size:0.86rem;color:var(--texte-doux);letter-spacing:0.01em}

.bandeau{background:var(--acier);color:#fff;padding:2.8rem 0;text-align:center}
.bandeau h2{color:#fff;font-size:1.5rem;margin-bottom:0.7rem}
.bandeau p{color:#D3DEE5;margin:0 auto 1.35rem;max-width:60ch}

.section{padding:4rem 0;border-top:1px solid var(--trait)}
.section-teinte{background:var(--ivoire)}
.titre-centre{text-align:center;max-width:52ch;margin:0 auto 2.5rem}
.actions-centre{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem}
.merci .titre-centre{max-width:none}
.merci .titre-centre h2{white-space:nowrap}
.merci .titre-centre p{max-width:66ch;margin-left:auto;margin-right:auto}
@media(max-width:600px){.merci .titre-centre h2{white-space:normal}}
.titre-centre h2{font-size:clamp(1.7rem,3vw,2.15rem)}
.titre-centre p{margin:0.7rem auto 0;color:var(--texte-doux)}

.section-alt{background:var(--acier);color:#fff;border-top:1px solid var(--trait);border-bottom:1px solid var(--trait)}
.cabinet-mise-en-page{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(2.5rem,5vw,5rem);align-items:start}
.cabinet-intro{position:sticky;top:100px;text-align:center}
.cabinet-intro h2{font-size:clamp(1.7rem,3vw,2.15rem);color:#fff;margin-top:1.6rem}
.cabinet-intro p{margin:0.9rem auto 0;color:#D3DEE5;max-width:34ch}
.portrait-fondateur{width:104px;height:104px;border-radius:50%;object-fit:cover;display:block;margin:0 auto;border:3px solid var(--ambre-clair)}
.fondateur-nom{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1.05rem;color:#fff;margin:0.95rem 0 0.15rem!important;max-width:none}
.fondateur-role{font-size:0.85rem;color:#D3DEE5;margin:0 0 0.75rem!important;max-width:none}
.lien-linkedin{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.85rem;font-weight:500;color:var(--ambre-clair)}
.lien-linkedin:hover{color:#fff}
.lien-linkedin svg{width:15px;height:15px;flex-shrink:0}
.cabinet-liste{display:flex;flex-direction:column}
.diff{display:grid;grid-template-columns:52px 1fr;gap:1.5rem;padding:1.7rem 0;border-top:1px solid rgba(255,255,255,0.14)}
.cabinet-liste .diff:last-child{border-bottom:1px solid rgba(255,255,255,0.14)}
.diff .num{font-family:Fraunces;font-style:normal;font-weight:500;font-size:1.65rem;line-height:1;color:var(--ambre-clair)}
.diff h3{font-family:Fraunces;font-weight:500;font-size:1.1rem;margin-bottom:0.5rem;color:#fff}
.diff p{font-size:0.93rem;line-height:1.6;color:#D3DEE5;margin:0;max-width:48ch}
@media(max-width:980px){
  .cabinet-mise-en-page{grid-template-columns:1fr}
  .cabinet-intro{position:static;margin-bottom:0.5rem}
}

/* notre méthode */
.grille-methode{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--trait);border:1px solid var(--trait)}
.etape{background:var(--ivoire);padding:1.8rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:0.5rem;text-align:center}
.etape .num{font-family:Fraunces;font-weight:500;font-size:1.5rem;color:var(--ambre);line-height:1}
.etape h3{font-family:Fraunces;font-weight:500;font-size:1.04rem}
.etape p{font-size:0.89rem;color:var(--texte-doux);margin:0}

/* valeurs & vision (section cabinet) */
.valeurs{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:1.5rem;justify-content:center}
.valeurs span{border:1px solid rgba(255,255,255,0.3);color:#fff;font-size:0.82rem;padding:0.5rem 1rem;border-radius:999px}
.vision{margin-top:1.6rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,0.2);color:#D3DEE5;font-style:normal;font-size:0.98rem;max-width:36ch;margin-left:auto;margin-right:auto}

/* réservation directe — Google Calendar */
.reservation-directe{background:var(--ivoire);color:var(--texte);border-radius:3px;padding:2rem;max-width:640px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}
.reservation-texte{display:flex;flex-direction:column;align-items:center}
.reservation-texte h3{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1.15rem;margin:0 0 0.3rem;color:var(--texte)}
.reservation-texte p{margin:0;font-size:0.9rem;color:var(--texte-doux);max-width:36ch;text-align:center}
.reservation-directe .bouton{flex-shrink:0}
.separateur-ou{display:flex;align-items:center;gap:1rem;color:#C7CDD3;font-size:0.85rem;max-width:640px;margin:1.6rem auto}
.separateur-ou::before,.separateur-ou::after{content:"";flex:1;height:1px;background:rgba(255,255,255,0.2)}

/* besoins — prise de rendez-vous */
.besoins{display:flex;flex-wrap:wrap;gap:0.6rem;justify-content:center;margin:1.7rem 0 2rem}
.besoins span{border:1px solid rgba(255,255,255,0.35);color:#fff;font-size:0.85rem;padding:0.55rem 1.15rem;border-radius:999px}
.contact-details{margin-top:2.4rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,0.2);font-size:0.92rem;color:#D3DEE5}
.contact-details strong{color:#fff}

.grille-poles{display:grid;grid-template-columns:repeat(4,1fr);gap:2.2rem}
.pole{display:flex;flex-direction:column}
.pole h3{font-family:Fraunces;font-weight:500;font-size:1.1rem;line-height:1.35;text-align:center;margin-bottom:0.4rem;padding-bottom:0.65rem;border-bottom:2px solid var(--ambre);flex-shrink:0;min-height:5.4em;display:flex;flex-direction:column;justify-content:center}
.pole .pole-souligne{display:block;font-family:Manrope;font-weight:400;font-size:0.85rem;color:var(--texte-doux);margin-top:0.85rem;margin-bottom:0}
.pole ul{margin:0.9rem 0 0;padding:0;list-style:none;font-size:0.92rem;flex:1}
.pole li{padding:0.55rem 0;border-bottom:1px solid var(--trait);color:var(--texte-doux)}

/* offres — onglets par pôle */
.offres-tabs{display:flex;gap:0.55rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.6rem}
.tab{font-family:Fraunces,Georgia,serif;font-size:0.92rem;font-weight:500;letter-spacing:-0.005em;padding:0.65rem 1.35rem;border:1.5px solid var(--trait);background:var(--ivoire);border-radius:999px;cursor:pointer;color:var(--texte-doux);transition:background 160ms ease,color 160ms ease,border-color 160ms ease}
.tab:hover{border-color:var(--ambre);color:var(--ambre)}
.tab[aria-selected="true"]{background:var(--ambre);color:#fff;border-color:var(--ambre)}
.pole-offre{display:none}
.pole-offre.actif{display:block;animation:apparition-pole 380ms ease}
@keyframes apparition-pole{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.grille-offres{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.3rem}
.carte-offre{background:var(--ivoire);border:1px solid var(--trait);padding:1.7rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.3rem;transition:border-color 180ms ease}
.carte-offre:hover{border-color:var(--ambre)}
.carte-offre .duree{font-size:0.76rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--texte-doux)}
.carte-offre h3{font-family:Fraunces;font-weight:500;font-size:1.08rem;line-height:1.35;margin:0.3rem 0 0.35rem;color:var(--titre-tarif);min-height:2.7em;display:flex;align-items:center;justify-content:center}
.carte-offre p{font-size:0.92rem;color:var(--texte-doux);margin:0 0 1rem;flex:1}
.carte-offre .prix{font-family:Fraunces;font-weight:500;font-size:1.3rem;color:var(--texte);margin-top:auto}
.carte-offre .prix span{font-family:Manrope;font-size:0.72rem;font-weight:500;color:var(--texte-doux);margin-left:0.35rem;letter-spacing:0;text-transform:none}
.note-tarifs{max-width:640px;margin:2.6rem auto 0;text-align:center;font-size:0.9rem;color:var(--texte-doux);border-top:1px solid var(--trait);padding-top:1.5rem}

/* livrables */
.grille-livrables{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem}
.livrable{background:var(--ivoire);border:1px solid var(--trait);padding:1.9rem}
.livrable h3{font-family:Fraunces;font-weight:500;font-size:1.08rem;margin-bottom:0.3rem}
.livrable .re-cu{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--texte-doux);margin-bottom:1.1rem;display:block}
.livrable ul{margin:0;padding:0;list-style:none;font-size:0.92rem}
.livrable li{padding:0.5rem 0;border-top:1px solid var(--trait);color:var(--texte-doux)}
.livrable li:first-child{border-top:none}

/* équipes */
.grille-equipes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--trait);border:1px solid var(--trait)}
.role{background:var(--ivoire);padding:1.8rem 1.5rem}
.role .fleche{color:var(--ambre);font-family:Fraunces;font-size:1.2rem;line-height:1;display:block;margin-bottom:0.5rem}
.role h3{font-family:Fraunces;font-weight:500;font-size:1.02rem;margin-bottom:0.35rem}
.role p{font-size:0.89rem;color:var(--texte-doux);margin:0}

/* engagements */
.grille-engagements{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem}
.engagement-item{display:flex;flex-direction:column;align-items:center;text-align:center}
.engagement-item h3{font-family:Fraunces;font-weight:500;font-size:1.06rem;margin-bottom:0.6rem;padding-bottom:0.6rem;border-bottom:2px solid var(--ambre)}
.engagement-item p{font-size:0.92rem;color:var(--texte-doux);margin:0}

/* notre propre démarche QSE/RSE */
.grille-demarche{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem 1.8rem}
.demarche-item{display:flex;flex-direction:column}
.demarche-item h3{font-family:Fraunces;font-weight:500;font-size:0.98rem;margin-bottom:0.55rem;padding-bottom:0.55rem;border-bottom:2px solid var(--ambre)}
.demarche-item p{font-size:0.87rem;color:var(--texte-doux);margin:0}
.bilan-note{max-width:640px;margin:2.8rem auto 0;text-align:center;font-size:0.9rem;color:var(--texte-doux);border-top:1px solid var(--trait);padding-top:1.5rem}

/* nos valeurs — 3 piliers */
.grille-piliers{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--trait)}
.pilier{padding:2.4rem 2.2rem;text-align:center;border-right:1px solid var(--trait)}
.pilier:last-child{border-right:none}
.pilier-num{display:block;font-family:Fraunces,Georgia,serif;font-weight:500;font-size:2rem;color:var(--ambre);line-height:1;margin-bottom:0.9rem}
.pilier h3{font-size:1.1rem;margin-bottom:0.75rem}
.pilier p{font-size:0.92rem;color:var(--texte-doux);margin:0 auto;max-width:32ch}
.vision-note{max-width:640px;margin:2.8rem auto 0;text-align:center;font-size:0.9rem;color:var(--texte-doux);border-top:1px solid var(--trait);padding-top:1.5rem;font-style:italic}
@media(max-width:720px){
  .grille-piliers{grid-template-columns:1fr}
  .pilier{border-right:none;border-bottom:1px solid var(--trait);padding:2rem 0.5rem}
  .pilier:last-child{border-bottom:none}
}

/* documents & politiques / FAQ (même composant accordéon) */
.grille-documents,.grille-faq{display:flex;flex-direction:column;max-width:820px;margin:0 auto}
.doc-legende{font-size:0.82rem;color:var(--texte-doux);margin-top:0.5rem}
.doc-item{border-bottom:1px solid var(--trait)}
.doc-item:first-child{border-top:1px solid var(--trait)}
.doc-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 0;cursor:pointer;font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1.05rem;list-style:none;color:var(--texte)}
.doc-item summary::-webkit-details-marker{display:none}
.doc-item summary::after{content:"+";font-family:Manrope,Arial,sans-serif;font-size:1.4rem;font-weight:400;color:var(--ambre);transition:transform 200ms ease;flex-shrink:0}
.doc-item[open] summary::after{transform:rotate(45deg)}
.doc-titre-ligne{display:flex;align-items:center;gap:0.7rem;flex-wrap:wrap}
.doc-code{font-family:Manrope,Arial,sans-serif;font-size:0.68rem;font-weight:600;letter-spacing:0.04em;color:var(--texte-doux);border:1px solid var(--trait);border-radius:999px;padding:0.18rem 0.55rem}
.doc-code-clair{color:#D3DEE5;border-color:rgba(255,255,255,0.3);margin-left:0.7rem;vertical-align:middle}
.doc-corps{padding:0 0 1.7rem;color:var(--texte-doux);font-size:0.92rem;line-height:1.72}
.doc-corps h4{font-family:Fraunces,Georgia,serif;font-weight:500;color:var(--texte);font-size:0.96rem;margin:1.15rem 0 0.4rem}
.doc-corps h4:first-child{margin-top:0}
.doc-corps p{margin:0 0 0.8rem;max-width:68ch}
.doc-corps ul{margin:0 0 0.8rem;padding-left:1.1rem}
.doc-corps li{margin-bottom:0.35rem}
.doc-note{font-size:0.82rem;color:var(--texte-doux);background:var(--fond);border:1px dashed var(--trait);padding:0.75rem 0.95rem;margin:0 0 1.1rem;max-width:68ch}
.doc-signature{margin-top:1rem;padding-top:0.9rem;border-top:1px solid var(--trait);font-size:0.88rem}

/* référentiels & normes */
.grille-normes{display:grid;grid-template-columns:repeat(4,1fr);gap:2.2rem}
.norme{display:flex;flex-direction:column}
.norme h3{font-family:Fraunces;font-weight:500;font-size:1.02rem;line-height:1.35;text-align:center;margin-bottom:0.95rem;padding-bottom:0.65rem;border-bottom:2px solid var(--ambre);flex-shrink:0}
.norme ul{margin:0;padding:0;list-style:none;font-size:0.92rem;flex:1}
.norme li{padding:0.55rem 0;border-bottom:1px solid var(--trait);color:var(--texte-doux)}

/* formations */
.grille-formations{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--trait);border:1px solid var(--trait)}
.formation{background:var(--ivoire);padding:2rem 1.5rem;transition:background 200ms ease;display:flex;flex-direction:column;align-items:center;text-align:center}
.formation:hover{background:color-mix(in srgb, var(--ivoire) 85%, var(--ambre))}
.formation .icone{width:38px;height:38px;margin-bottom:0.7rem;flex-shrink:0}
.formation .duree{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--texte-doux);margin-bottom:0.5rem}
.formation h3{font-family:Fraunces;font-weight:500;font-size:1.02rem;line-height:1.35;margin-bottom:0.6rem;min-height:2.7em;display:flex;align-items:center;justify-content:center;color:var(--titre-tarif)}
.formation p{font-size:0.89rem;color:var(--texte-doux);margin:0 0 1rem;flex:1}
.formation .prix{font-family:Fraunces;font-weight:500;font-size:1.05rem;color:var(--texte);margin-top:auto}
.formation .prix span{font-family:Manrope;font-size:0.68rem;font-weight:500;color:var(--texte-doux);margin-left:0.3rem;letter-spacing:0;text-transform:none}

.pourquoi-mise-en-page{grid-template-columns:0.6fr 1.4fr;align-items:center}
.pourquoi-teaser .cabinet-intro{position:static;text-align:center}
.pourquoi-teaser .lien-linkedin{justify-content:center;margin-top:0.4rem}
.pourquoi-texte{text-align:left}
.pourquoi-texte h2{color:#fff;font-size:clamp(1.7rem,3vw,2.15rem);margin-top:0}
.pourquoi-texte p{color:#D3DEE5;margin:0.9rem 0 0;max-width:58ch}
.valeurs-gauche{justify-content:flex-start}
.pourquoi-teaser .pourquoi-lien{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,0.22);max-width:100%}
@media(max-width:980px){
  .pourquoi-mise-en-page{grid-template-columns:1fr;text-align:center}
  .pourquoi-texte{text-align:center}
  .pourquoi-texte p{margin-left:auto;margin-right:auto}
  .valeurs-gauche{justify-content:center}
}
.pole-lien-detail-clair{color:var(--ambre-clair)}
.pole-lien-detail-clair:hover{color:#fff}
.pole-lien-detail-centre{text-align:center;margin-top:2.2rem}

.bandeau-ressource{background:var(--acier);color:#fff}
.bandeau-ressource .ressource-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.bandeau-ressource h2{color:#fff;font-size:1.3rem;margin-bottom:0.4rem}
.bandeau-ressource p{color:#D3DEE5;margin:0;max-width:44ch}
.bandeau-ressource .bouton-plein{flex-shrink:0}
@media(max-width:720px){ .bandeau-ressource .ressource-inner{flex-direction:column;align-items:flex-start} }

.engagement{text-align:center;padding:2.6rem 0;border-top:1px solid var(--trait)}
.engagement strong{display:block;font-family:Fraunces;font-weight:500;font-size:clamp(1.5rem,2.8vw,2.1rem);margin-bottom:0.4rem}
.engagement span{color:var(--texte-doux);font-size:0.96rem}

.contact{background:var(--acier);color:#fff;padding:3.8rem 0;text-align:center}
.contact h2{color:#fff}
.contact p{color:#D3DEE5;margin:0.85rem auto 1.7rem;max-width:52ch}
.delai-reponse{margin-top:0.9rem!important;font-size:0.82rem;color:#D3DEE5;opacity:0.85}

.form-contact{max-width:640px;margin:0 auto;text-align:left}
.champ-cache{position:absolute;left:-9999px}
.form-grille{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-bottom:1.1rem}
.form-champ{display:flex;flex-direction:column;gap:0.4rem}
.form-champ-pleine{margin-bottom:1.3rem}
.form-champ label{font-size:0.85rem;color:#D3DEE5}
.form-champ input,.form-champ select,.form-champ textarea{background:#fff;border:1px solid transparent;border-radius:2px;color:var(--texte);font:inherit;font-size:0.95rem;padding:0.65rem 0.8rem}
.form-champ input::placeholder,.form-champ textarea::placeholder{color:#8A94A0}
.form-champ input:focus,.form-champ select:focus,.form-champ textarea:focus{outline:none;border-color:var(--ambre)}
.form-champ select{appearance:auto}
.form-champ textarea{resize:vertical}
.form-envoi{text-align:center;margin-top:0.2rem}
.form-envoi .bouton{display:inline-block}
.form-envoi .delai-reponse{text-align:center}
@media(max-width:620px){.form-grille{grid-template-columns:1fr}}

.pied{background:var(--ivoire);color:var(--texte-doux);margin-top:0;border-top:1px solid var(--trait)}
.pied-haut{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2.6rem;padding:3.4rem 0 2.6rem}
.pied-marque{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
.pied .marque-pied{display:flex;align-items:center;gap:0.55rem;color:var(--texte);font-family:Fraunces,Georgia,serif;font-size:1.08rem;font-weight:500}
.logo-infini-pied{height:20px;width:auto;opacity:0.95}
.pied-tagline{font-size:0.88rem;line-height:1.65;color:var(--texte-doux);margin:0;max-width:30ch}
.pied-social{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.85rem;color:var(--texte);border:1px solid var(--trait);border-radius:2px;padding:0.4rem 0.85rem;margin-top:0.2rem}
.pied-social:hover{color:var(--ambre);border-color:var(--ambre)}
.pied-social svg{width:14px;height:14px}
.pied-titre{font-family:Manrope,Arial,sans-serif;font-weight:600;font-size:0.76rem;letter-spacing:0.07em;text-transform:uppercase;color:var(--texte);margin:0 0 1.15rem;padding-bottom:0.6rem;border-bottom:2px solid var(--ambre)}
.pied-colonne{display:flex;flex-direction:column}
.pied-colonne a,.pied-colonne .pied-info{font-size:0.88rem;color:var(--texte-doux);padding:0.32rem 0;line-height:1.5}
.pied-colonne a{display:block}
.pied-colonne a:hover{color:var(--ambre)}
.pied-cta{color:var(--ambre)!important;font-weight:600;margin-top:0.4rem}
.pied-bas{border-top:1px solid var(--trait)}
.pied-bas-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.6rem;padding:1.15rem 0;font-size:0.78rem;color:var(--texte-doux)}

@media(max-width:980px){
  .grille-poles,.grille-normes,.grille-formations,.grille-methode,.grille-livrables,.grille-equipes,.grille-engagements,.grille-demarche{grid-template-columns:repeat(2,1fr)}
  .grille-formations{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .nav-liens{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0.9rem;background:var(--ivoire);border-bottom:1px solid var(--trait);padding:1.1rem 1.25rem}
  .nav-liens.ouvert{display:flex}
  .bascule{display:block}
  .grille-poles,.grille-normes,.grille-formations,.grille-methode,.grille-livrables,.grille-equipes,.grille-engagements,.grille-demarche{grid-template-columns:1fr}
  .pied-haut{grid-template-columns:1fr 1fr;gap:2.2rem}
  .pied-bas-inner{flex-direction:column;text-align:center}
  .hero .actions{flex-direction:column}
}
@media(max-width:520px){
  .pied-haut{grid-template-columns:1fr}
}

/* teaser page d'accueil */
.pole-lien-detail{display:inline-block;margin-top:1rem;font-size:0.85rem;font-weight:600;color:var(--ambre);text-align:center;align-self:center}
.pole-lien-detail:hover{color:var(--acier)}
.nav-liens a.actif{color:var(--ambre)}
.nav-liens a.nav-devis.actif{color:#fff}
