@font-face{font-family:Poppins;font-weight:400;font-display:swap;src:url(/assets/polices/poppins-400.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:600;font-display:swap;src:url(/assets/polices/poppins-600.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:700;font-display:swap;src:url(/assets/polices/poppins-700.woff2) format("woff2")}

:root{
  --orange:#f4791f;--orange-survol:#d9660f;--orange-clair:#ffb37a;--orange-fond:#fdece0;
  --marine:#16233f;--marine-fonce:#101a30;--cta-fond:#0c1526;
  --hero-haut:#0f1830;--hero-bas:#3a5a94;
  --fond:#faf9f7;--blanc:#fff;
  --texte:#1c1c1a;--texte-2:#5a5a53;--texte-3:#666;
  --vert:#4ade80;--jaune:#f5b400;
  --carte-sombre:#1e2f52;--carte-sombre-bord:#324066;
  --rayon:14px;--rayon-bouton:9px;--rayon-petit:10px;
  --ombre:0 16px 32px rgba(20,20,18,.12);
  --marge:20px;--section:56px;--largeur:1180px
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:Poppins,system-ui,sans-serif;font-size:16px;line-height:1.6;color:var(--texte);background:var(--fond)}
img,svg{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
h1,h2,h3{line-height:1.2;margin:0;color:var(--marine)}
h1{font-size:2.5rem;font-weight:700;line-height:1.08;letter-spacing:-1px}
h2{font-size:1.75rem;font-weight:700;letter-spacing:-.5px}
h3{font-size:1.0625rem;font-weight:600}
p{margin:0 0 1em}
a{color:var(--orange);text-decoration:none}
a:hover{color:var(--orange-survol)}
.icone{flex:none}
.icone--pleine{fill:currentColor}
.evitement{position:absolute;left:-999px;top:0;background:var(--marine);color:#fff;padding:.5rem 1rem}
.evitement:focus{left:0;z-index:100}
.section{padding:var(--section) var(--marge)}
.section--blanche{background:var(--blanc);border-top:1px solid #eee}
.section--bordure{border-top:1px solid #eee}
.section--sombre{background:var(--marine);color:#fff}
.section--sombre h2,.section--sombre h3{color:#fff}
.section--sombre .etiquette{color:var(--orange-clair)}
.section--etroite{max-width:820px;margin:0 auto}
.section__int{max-width:var(--largeur);margin:0 auto}
.section__intro{max-width:640px;margin:0 auto 40px;text-align:center}
.section__intro p:last-child{color:var(--texte-2);font-size:1rem;margin:14px 0 0}
.section--sombre .section__intro p:last-child{color:#fff}
.section__intro h2{margin-top:14px}
.etiquette{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--orange);margin:0 0 .5rem}
.texte-secondaire{color:var(--texte-2)}
.centre{text-align:center}
.insecable{white-space:nowrap}
.bouton{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:14px 26px;border-radius:var(--rayon-bouton);background:var(--orange);color:#fff;font-weight:700;font-size:.9375rem;font-family:inherit;border:0;cursor:pointer;transition:background .15s;min-height:44px;line-height:1.2}
.bouton:hover{background:var(--orange-survol);color:#fff}
.bouton--grand{padding:16px 30px;font-size:1rem}
.bouton--contour{background:transparent;border:1.5px solid rgba(255,255,255,.3)}
.bouton--contour:hover{background:rgba(255,255,255,.1)}
.bouton--lumineux{background:linear-gradient(135deg,#f4791f,#c9560f);padding:18px 26px;box-shadow:0 12px 28px -8px rgba(244,121,31,.65);transition:transform .15s}
.bouton--lumineux:hover{transform:translateY(-2px);background:linear-gradient(135deg,#f4791f,#c9560f)}
.lien-fleche{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.9063rem}
.etoiles{color:var(--jaune);display:inline-flex;gap:1px}
.google-logo{display:flex}

.entete{position:sticky;top:0;z-index:50;background:var(--marine);color:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;min-height:64px}
.entete__logo{display:flex;align-items:center;margin-right:auto;min-height:44px}
.entete__logo img{height:42px;width:auto}
.entete__actions{display:flex;align-items:center;gap:8px}
.entete .bouton{padding:11px 20px;font-size:.875rem}
.entete__tel{display:inline-flex;align-items:center;gap:.4rem;color:#fff;font-weight:700;font-size:.9063rem;min-height:44px}
.entete__tel span:first-of-type{display:none}
.statut{width:9px;height:9px;border-radius:50%;background:#8f8e86}
.statut--ouvert{background:var(--vert)}
.menu__bouton{order:3;background:none;border:0;color:#fff;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--rayon-petit)}
.entete--ouverte .menu__bouton{background:rgba(255,255,255,.1)}
.menu__liste{display:none;order:4;flex-basis:100%;flex-direction:column;padding:8px 0 8px;border-top:1px solid var(--carte-sombre-bord)}
.entete--ouverte .menu__liste{display:flex}
.menu__liste a{color:#fff;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.08);font-weight:600;font-size:.9063rem;min-height:44px;transition:opacity .15s}
.menu__liste a:hover{opacity:.7;color:#fff}

.hero{position:relative;background:linear-gradient(180deg,var(--hero-haut) 0%,var(--hero-bas) 100%);color:#fff;padding:64px var(--marge) 56px;overflow:hidden;text-align:center}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 900px 500px at 50% 0%,rgba(45,69,115,.35),transparent 70%)}
.hero__int{position:relative;max-width:820px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:28px}
.hero h1{color:#fff;font-size:2.5rem}
.hero__badge{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:8px 16px;border-radius:100px;font-size:.8438rem;font-weight:600;color:#fff;margin:0}
.hero__texte{color:#fff;font-size:1.125rem;line-height:1.6;max-width:600px;margin:0}
.hero__actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:8px}
.hero__chiffres{display:flex;flex-wrap:wrap;gap:24px 36px;justify-content:center;margin-top:24px}
.hero__chiffres>*{display:flex;flex-direction:column;align-items:center;color:#fff}
.hero__chiffres strong{font-size:1.625rem;font-weight:700;line-height:1.2}
.hero__chiffres span{font-size:.8125rem}
.hero__chiffres a:hover strong{color:var(--orange-clair)}

.apropos{max-width:var(--largeur);margin:0 auto;padding:56px var(--marge);display:flex;flex-wrap:wrap;gap:40px;align-items:center}
.apropos__image{flex:1;min-width:280px;aspect-ratio:4/3;border-radius:var(--rayon);display:flex;align-items:center;justify-content:center;overflow:hidden}
.apropos__image img{width:100%;height:100%;object-fit:contain}
.apropos__texte{flex:1;min-width:280px;display:flex;flex-direction:column;gap:20px}
.apropos__texte p{margin:0;font-size:1.0313rem;line-height:1.7;color:#4a4a44}
.apropos__texte h2{font-size:1.75rem}
.arguments{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:14px}
.arguments li{display:flex;gap:12px;align-items:flex-start;font-size:1rem;color:#2a2a26}
.arguments .icone{color:var(--orange);margin-top:4px;stroke-width:2.6}
.arguments strong{color:#2a2a26;font-weight:700}

.services{display:grid;gap:24px}
.carte-service{background:var(--fond);border:1px solid #eee;border-radius:var(--rayon);padding:14px 16px;display:flex;flex-direction:row;align-items:center;gap:14px;color:var(--texte);transition:transform .2s ease,box-shadow .2s ease}
.carte-service:hover{color:var(--texte)}
.carte-service p,.carte-service__lien{display:none}
.carte-service:hover{transform:translateY(-4px);box-shadow:var(--ombre)}
.carte-service__icone{flex:none;width:44px;height:44px;border-radius:var(--rayon-petit);background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center}
.carte-service h3,.carte-service h2{font-size:1rem;font-weight:600;letter-spacing:0;color:var(--marine)}
.carte-service p{color:var(--texte-3);font-size:.9063rem;line-height:1.6;margin:0}
.carte-service__lien{font-size:.875rem;font-weight:700;margin-top:4px;color:var(--orange)}
.carte-service:hover .carte-service__lien{color:var(--orange-survol)}

.formations{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.formation{display:block;background:var(--carte-sombre);border:1px solid var(--carte-sombre-bord);border-radius:var(--rayon);padding:26px;transition:box-shadow .2s ease}
.formation:hover{box-shadow:0 12px 28px rgba(244,121,31,.35)}
.formation h3{color:#fff;font-size:1.0625rem;margin-bottom:8px}
.formation p{color:#fff;font-size:.875rem;line-height:1.6;margin:0}

.zone{background:var(--blanc);border-top:1px solid #eee;padding:56px var(--marge) 32px}
.zone__int{max-width:var(--largeur);margin:0 auto}
.zone__texte{display:flex;flex-direction:column;gap:20px}
.zone__texte h2{font-size:1.75rem}
.zone__texte p{margin:0}
.zone__communes{font-size:1.0625rem;color:var(--texte-2);font-weight:700}
.departements{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:20px;grid-template-columns:1fr 1fr}
.departements strong{display:block;font-size:.9375rem;margin-bottom:4px;color:var(--texte)}
.departements strong a{color:var(--texte)}
.departements strong a:hover{color:var(--orange)}
.departements span{color:var(--texte-3);font-size:.875rem;line-height:1.6}
.zone__carte{position:relative;margin:40px 0 0}
.zone__appel{display:flex;flex-direction:column;align-items:center;color:var(--orange);font-weight:700;font-size:1.375rem;margin:0 0 4px;transform:rotate(-3deg);pointer-events:none}
.zone__appel svg{margin-top:-4px}
.carte-cadre{padding:20px;display:flex;flex-direction:column;align-items:center;gap:6px}
.carte{width:100%;max-width:520px;aspect-ratio:520/480;height:auto;overflow:visible}
.carte path{fill:#dce4f2;stroke:var(--marine);stroke-width:1.5;transition:fill .15s ease}
.carte text{font-size:13px;font-weight:700;fill:var(--marine);text-anchor:middle;pointer-events:none}
.carte__dept:hover path{fill:#2d4573}
.carte__dept a{cursor:pointer}
.carte__legende{font-weight:700;font-size:.9375rem;color:var(--marine);text-align:center;min-height:22px;margin:0}
.carte__legende span{display:none}
.carte__legende span:last-child{display:block}
.carte-cadre:has([data-dept="35"]:hover) [data-legende="35"],.carte-cadre:has([data-dept="44"]:hover) [data-legende="44"],.carte-cadre:has([data-dept="22"]:hover) [data-legende="22"],.carte-cadre:has([data-dept="56"]:hover) [data-legende="56"],.carte-cadre:has([data-dept="53"]:hover) [data-legende="53"],.carte-cadre:has([data-dept="29"]:hover) [data-legende="29"]{display:block}
.carte-cadre:has(.carte__dept:hover) [data-legende=""]{display:none}

.bandeau{padding:40px var(--marge);background:var(--fond)}
.bandeau__int{max-width:var(--largeur);margin:0 auto;border-radius:28px;padding:36px 28px;background:radial-gradient(circle at 88% 30%,rgba(244,121,31,.28),transparent 55%),radial-gradient(circle at 100% 100%,rgba(179,18,31,.4),transparent 60%),var(--cta-fond);box-shadow:0 24px 60px -20px rgba(16,26,48,.55);display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;position:relative;overflow:hidden}
.bandeau__texte{display:flex;flex-direction:column;gap:16px;max-width:540px}
.bandeau__etiquette{display:flex;align-items:center;gap:10px;color:var(--orange);font-weight:700;font-size:.8125rem;letter-spacing:.8px;text-transform:uppercase;margin:0}
.bandeau__etiquette::before{content:"";width:26px;height:3px;background:var(--orange);border-radius:2px}
.bandeau h2{color:#fff;font-size:1.75rem;letter-spacing:-.8px;line-height:1.2}
.bandeau__texte p{color:#fff;font-size:.9688rem;line-height:1.6;margin:0}
.bandeau__actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;position:relative;z-index:1;width:100%}
.bandeau__tel{max-width:100%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:var(--rayon);padding:16px 22px;display:flex;align-items:center;gap:12px;width:240px;color:#fff;font-weight:700;font-size:.9688rem}
.bandeau__tel .icone{color:var(--orange)}
.bandeau__tel span{display:flex;flex-direction:column;gap:2px}
.bandeau__tel small{color:#fff;font-size:.75rem;font-weight:400}
.bandeau .bouton--lumineux{width:240px;max-width:100%;font-size:.9375rem}

.avis__entete{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:12px;flex-wrap:wrap}
.avis__entete h2{font-size:1.5rem;letter-spacing:-.4px}
.avis__sous-titre{text-align:center;color:var(--texte-3);font-size:.9375rem;margin:0 0 40px}
.avis{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 12px;margin:0 -4px;max-width:952px;margin-left:auto;margin-right:auto;scrollbar-width:none}
.avis::-webkit-scrollbar{display:none}
.avis blockquote{flex:0 0 300px;scroll-snap-align:start;margin:0;background:var(--blanc);border:1px solid #eee;border-radius:var(--rayon);padding:26px;display:flex;flex-direction:column;gap:12px;transition:transform .2s ease,box-shadow .2s ease}
.avis blockquote:hover{transform:translateY(-4px);box-shadow:var(--ombre)}
.avis blockquote p{font-size:.9063rem;line-height:1.65;color:#3a3a35;margin:0}
.avis cite{font-style:normal;font-weight:700;font-size:.8438rem;color:#111}
.avis__lien{margin:36px 0 0}

.faq__int{max-width:820px;margin:0 auto}
.faq__int h2{font-size:2rem;margin-bottom:44px}
.faq{display:flex;flex-direction:column;gap:14px}
.faq details{background:var(--blanc);border:1px solid #eee;border-radius:var(--rayon);box-shadow:0 4px 16px rgba(20,20,18,.04);overflow:hidden}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;cursor:pointer;list-style:none;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-size:1.0625rem;margin:0;color:var(--marine)}
.faq__chevron{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--orange-fond);color:var(--orange);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:transform .2s ease}
.faq__chevron::before{content:"›"}
.faq details[open] .faq__chevron{transform:rotate(90deg)}
.faq details p{padding:0 24px 22px;color:var(--texte-2);font-size:.9375rem;line-height:1.65;margin:0}
.sources{font-size:.8125rem;color:var(--texte-2);margin-top:28px}
.sources a{font-weight:500;text-decoration:underline}

.contact{background:linear-gradient(135deg,#16233f,#1f3a63);padding:var(--section) var(--marge)}
.contact__int{max-width:var(--largeur);margin:0 auto;display:flex;gap:40px;flex-wrap:wrap}
.contact__infos{flex:1;min-width:280px;display:flex;flex-direction:column;gap:18px}
.contact__infos .etiquette{color:var(--orange-clair);margin:0}
.contact__infos h2{color:#fff;font-size:1.75rem}
.contact__infos>p{color:#fff;font-size:1rem;margin:0}
.coordonnees{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:16px}
.coordonnees li{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--rayon);padding:20px 24px;display:flex;flex-direction:column;gap:6px;font-size:.9063rem;line-height:1.5;color:#fff}
.coordonnees__titre{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.9375rem;color:#fff}
.coordonnees a{color:#fff;font-size:.9375rem;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.coordonnees li:nth-child(3) a{font-size:.9063rem}
.coordonnees a:hover{color:var(--orange-clair)}
.carte-google{position:relative;border-radius:var(--rayon);overflow:hidden;height:220px;margin-top:8px;background:#e8e6e1}
.carte-google img,.carte-google iframe{width:100%;height:100%;object-fit:cover;border:0}
.carte-google__voile{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(22,35,63,.25);text-align:center;padding:16px}
.carte-google__voile p{font-size:.8125rem;color:#fff;margin:0;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.formulaire{flex:1;min-width:280px;background:rgba(255,255,255,.08);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);border-radius:var(--rayon);padding:24px;display:flex;flex-direction:column;gap:16px}
.formulaire label{display:block;font-size:.8125rem;font-weight:700;color:#fff}
.formulaire__ligne{display:flex;gap:16px}
.formulaire__ligne label{flex:1}
.formulaire input,.formulaire select,.formulaire textarea{display:block;width:100%;margin-top:6px;padding:12px;border-radius:var(--rayon-bouton);border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;font-size:.9063rem;font-family:inherit;font-weight:400;min-height:44px}
.formulaire select option{color:var(--texte)}
.formulaire textarea{resize:vertical}
.formulaire input::placeholder,.formulaire textarea::placeholder{color:rgba(255,255,255,.7)}
.formulaire .bouton{width:100%}
.formulaire__google{display:flex;align-items:center;justify-content:center;gap:16px;padding-top:6px;margin:0;color:#fff;font-size:.875rem}
.formulaire__google>span{display:flex;flex-direction:column;gap:4px}
.formulaire__google .etoiles{color:#f4b400;gap:2px}

.pied{background:var(--marine-fonce);color:#fff;padding:48px var(--marge) 24px;font-size:.9375rem}
.pied a{color:#fff;display:block;padding:4px 0}
.pied a:hover{color:var(--orange)}
.pied__colonnes{display:grid;gap:28px;max-width:var(--largeur);margin:0 auto}
.pied__marque{color:#fff;font-weight:700;font-size:1.125rem}
.pied__titre{color:#fff;font-weight:600;text-transform:uppercase;font-size:.8125rem;letter-spacing:.4px;margin-bottom:8px}
.pied__tricolore{display:inline-flex;height:4px;width:48px;margin:4px 0 8px}
.pied__tricolore span{flex:1}
.pied__tricolore span:nth-child(1){background:#0055a4}
.pied__tricolore span:nth-child(2){background:#fff}
.pied__tricolore span:nth-child(3){background:#ef4135}
.pied__reseaux{display:flex;flex-wrap:wrap;gap:4px 14px}
.pied__reseaux a{display:inline}
.pied__legal{max-width:var(--largeur);margin:32px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);font-size:.8125rem}
.pied__legal a{display:inline;text-decoration:underline}

@media (min-width:768px){
  :root{--marge:48px;--section:96px}
  h1{font-size:3.5rem}
  h2{font-size:2.25rem}
  .hero{padding:96px var(--marge) 80px}
  .hero h1{font-size:3.5rem}
  .hero__texte{font-size:1.1875rem}
  .apropos{padding:88px var(--marge);gap:64px}
  .apropos__texte h2,.zone__texte h2,.bandeau h2,.contact__infos h2{font-size:2.125rem}
  .apropos__texte h2{font-size:2.25rem}
  .services{grid-template-columns:repeat(2,1fr)}
  .carte-service{padding:28px;flex-direction:column;align-items:stretch;gap:12px}
  .carte-service p,.carte-service__lien{display:block}
  .carte-service h3,.carte-service h2{font-size:1.1875rem}
  .coordonnees{grid-template-columns:1fr 1fr}
  .zone{padding:var(--section) var(--marge) 32px}
  .zone__int{display:flex}
  .bandeau{padding:56px var(--marge)}
  .bandeau__int{padding:56px}
  .bandeau__actions{width:auto}
  .avis__entete h2{font-size:1.75rem}
  .contact__int{gap:64px}
  .formulaire{padding:32px}
  .pied__colonnes{grid-template-columns:repeat(4,1fr)}
  .entete{gap:12px;padding:16px var(--marge)}
  .entete__actions{gap:18px}
  .entete__tel span:first-of-type{display:inline}
}
@media (min-width:1024px){
  .menu__bouton{display:none}
  .menu__liste{display:flex;order:0;flex-basis:auto;flex-direction:row;gap:22px;border:0;padding:0;margin:0 auto}
  .entete{flex-wrap:nowrap;padding:16px 32px}
  .entete__tel,.entete .bouton{white-space:nowrap}
  .entete__tel span:first-of-type{display:none}
  .menu__liste a{border:0;padding:8px 0;min-height:auto}
  .entete__logo{margin-right:24px}
  .entete__logo img{height:44px}
  .services{grid-template-columns:repeat(4,1fr)}
  .carte-service:last-child{grid-column:1/-1;flex-direction:row;align-items:center;gap:24px}
  .carte-service:last-child h3,.carte-service:last-child h2{flex:none}
  .carte-service:last-child p{flex:1}
  .zone__int{display:flex;gap:64px;align-items:center;flex-wrap:wrap}
  .zone__texte{flex:1;min-width:320px}
  .zone__carte{flex:1;min-width:320px;margin:0}
  .zone__appel{position:absolute;top:-38px;right:36px;z-index:2;font-size:1.75rem}
}
@media (min-width:1280px){
  .entete{display:grid;grid-template-columns:1fr auto 1fr;padding:16px 32px}
  .entete__logo{justify-self:start;margin:0}
  .entete__logo img{height:50px}
  .entete__actions{justify-self:end}
  .menu__liste{justify-self:center;margin:0}
  .entete__tel span:first-of-type{display:inline}
}
.hero.hero--page{padding:56px var(--marge) 64px}
.hero--page::before{background:radial-gradient(ellipse 900px 500px at 50% 0%,rgba(45,69,115,.4),transparent 70%)}
.hero--page .hero__int{max-width:760px;gap:18px}
.hero.hero--page h1{font-size:2.25rem;line-height:1.15}
.hero--page .etiquette{color:var(--orange-clair);margin:0}
.hero--page .hero__texte{font-size:1.0625rem;max-width:680px;margin:1em 0}
.hero.hero--court{padding:48px var(--marge)}
.fil{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:.8125rem;color:#fff}
.fil a{color:#fff}
.fil a:hover{color:var(--orange-clair)}
.fil [aria-current]{font-weight:700}
.cartes{display:grid;gap:16px}
.carte-numero{display:grid;grid-template-columns:36px 1fr;column-gap:12px;row-gap:6px;align-items:start}
.carte-numero__chiffre{grid-row:span 2;font-weight:700;font-size:1.625rem;line-height:1.1;color:var(--orange)}
.carte-claire{background:var(--fond);border:1px solid #eee;border-radius:var(--rayon);padding:18px 20px;transition:transform .2s ease,box-shadow .2s ease}
.carte-claire:hover{transform:translateY(-4px);box-shadow:var(--ombre)}
.carte-claire h3,.carte-claire h2{font-size:1.0625rem;font-weight:600;letter-spacing:0}
.carte-claire p{color:var(--texte-3);font-size:.9063rem;line-height:1.6;margin:0}
.carte-sombre{background:var(--carte-sombre);border:1px solid var(--carte-sombre-bord);border-radius:var(--rayon);padding:18px 20px}
.carte-sombre h3{color:#fff;font-size:1.0625rem}
.carte-sombre p{color:#fff;font-size:.875rem;line-height:1.6;margin:0}
.bandeau__tel--simple{justify-content:center;width:220px;border-radius:var(--rayon-bouton);padding:16px 24px;font-size:.9063rem}
.bandeau--page .bouton--lumineux{width:220px;padding:16px 24px;font-size:.9063rem}
.bandeau--page .bandeau__int{gap:40px}
.bandeau--page .bandeau__texte{gap:14px;max-width:560px}
.bandeau--page .bandeau__texte p{font-size:.9375rem}
.bandeau .bandeau__texte .bandeau__etiquette{color:var(--orange);font-size:.8125rem}
@media (min-width:768px){
  .hero.hero--page{padding:80px var(--marge) 88px}
  .section--page{padding-block:88px}
  .bandeau--page h2{font-size:1.875rem;letter-spacing:-.6px}
  .hero.hero--page h1{font-size:2.625rem}
  .hero.hero--court{padding:64px var(--marge)}
  .hero.hero--court h1{font-size:2.375rem}
  .cartes--3{grid-template-columns:repeat(2,1fr);gap:24px}
  .cartes--auto{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
  .carte-numero{display:flex;flex-direction:column;gap:10px}
  .carte-claire,.carte-sombre{padding:28px}
  .carte-claire h3,.carte-claire h2{font-size:1.125rem}
}
@media (min-width:1024px){
  .cartes--3{grid-template-columns:repeat(3,1fr)}
}
.apropos__fort{font-weight:700}
.apropos--page .apropos__texte p{font-size:1rem}
.apropos__texte p.etiquette{color:var(--orange);font-size:.875rem;line-height:1.6}
.carte-sombre h3{margin-bottom:8px}
.engagements{position:relative;max-width:820px;margin:0 auto;background:var(--fond);border:1px solid #eee;border-radius:var(--rayon);padding:24px 24px 24px 32px;overflow:hidden}
.engagements::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(#0055a4 0 33.3%,#fff 33.3% 66.6%,#ef4135 66.6%)}
.engagements h2{font-size:1.5rem;margin-bottom:8px}
.equipe__titre{text-align:center;margin:48px 0 20px}
.galerie{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.galerie img{width:100%;border-radius:var(--rayon-petit);border:1px solid #eee}
.galerie span{display:block;font-size:.8125rem;color:var(--texte-2);margin-top:6px}
.galerie--photos{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.gerant{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start;max-width:960px}
.gerant>div{flex:1;min-width:260px}
.gerant__photo{width:200px;height:200px;border-radius:50%;object-fit:cover}
.gerant__role{color:var(--texte-2);font-weight:600}
.gerant__conviction{margin:20px 0;padding:2px 0 2px 18px;border-left:4px solid var(--orange);font-size:1.125rem;font-weight:600;line-height:1.5;color:var(--marine)}
.gerant__conviction p{margin:0}
.gerant__titre{margin:24px 0 12px}
.lien-souligne{display:inline-block;padding:10px 0;font-weight:600}
.bouton--linkedin{background:#0a66c2;margin-top:20px}
.bouton--linkedin:hover{background:#004182}
.presse__media{display:flex;align-items:center;gap:10px;min-height:36px;margin-bottom:10px}
.presse__media img{height:28px;width:auto}
.lien-souligne,.identite a,.references a{text-decoration:underline;text-underline-offset:3px}
.carte-claire .etiquette{color:var(--orange);font-size:.8125rem}
.carte-claire .etiquette+h3{margin-bottom:6px}
.carte-claire p+p{margin-top:8px}
.presse__titre{font-style:italic}
.chiffres{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.chiffres li{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center;background:var(--fond);border:1px solid #eee;border-radius:var(--rayon);padding:12px 18px;color:var(--texte-2)}
.chiffres li span:first-child{font-size:.8125rem}
.chiffres li span:last-child{grid-column:2;grid-row:1/3}
.chiffres strong{grid-column:1;font-size:1.75rem;line-height:1.2;color:var(--orange)}
.identite{display:grid;gap:40px}
.identite h2{font-size:1.5rem;margin-bottom:16px}
.identite__fiche{margin:0}
.identite__fiche div{padding:10px 0;border-bottom:1px solid #eee}
.identite__fiche dt{font-size:.8125rem;font-weight:600;text-transform:uppercase;color:var(--texte-2)}
.identite__fiche dd{margin:0;overflow-wrap:anywhere}
.identite__fiche a{display:inline-block;padding:10px 0;margin:-10px 0}
.liens-liste{list-style:none;margin:0;padding:0}
.liens-liste a{display:inline-block;padding:10px 0}
.references{display:grid;gap:32px}
.section--maj{padding-top:0;border-top:0}
.section--maj .texte-page__date{margin:0}
@media (min-width:768px){
  .chiffres{grid-template-columns:repeat(3,1fr);gap:16px}
  .chiffres li{display:flex;flex-direction:column;text-align:center;padding:22px 16px}
  .chiffres strong{font-size:2.5rem}
  .identite{grid-template-columns:3fr 2fr;gap:64px}
  .identite__fiche div{display:grid;grid-template-columns:150px 1fr;gap:16px}
  .references{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:768px){
  .apropos--page .apropos__texte h2{font-size:2rem}
  .section--page .section__intro{max-width:680px;margin-bottom:48px}
  .section--page .section__intro .etiquette{margin:0}
  .section--page .section__intro h2{font-size:2.125rem}
  .carte-sombre{padding:26px 22px}
}
.texte-page{max-width:760px;margin:0 auto;font-size:1rem;line-height:1.7;color:var(--texte)}
.texte-page h2{font-size:1.375rem;margin:40px 0 12px}
.texte-page h2:first-child{margin-top:0}
.texte-page h3{font-size:1.0625rem;margin:28px 0 8px}
.texte-page ul,.texte-page ol{padding-left:1.25em;margin:0 0 1em}
.texte-page li{margin-bottom:.35em}
.texte-page a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.texte-page a[href^="tel:"]{white-space:nowrap}
.texte-page .bouton{text-decoration:none;margin-top:8px}
.texte-page__date{margin-top:40px;padding-top:16px;border-top:1px solid #eee;font-size:.875rem;color:var(--texte-2)}
@media (min-width:768px){
  .texte-page h2{font-size:1.5rem}
}
.formulaire{position:relative}
.formulaire__piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formulaire__facultatif{font-weight:400}
.formulaire__verification:empty{display:none}
.formulaire__message{margin:0;padding:10px 12px;border:1px solid var(--orange);border-radius:var(--rayon-bouton);background:rgba(244,121,31,.15);color:#fff;font-size:.875rem}
.formulaire__mention{margin:0;font-size:.75rem;line-height:1.5;color:#fff}
.formulaire__mention a{color:#fff;text-decoration:underline}
.formulaire .bouton:disabled{opacity:.7;cursor:wait}
.contact--page{padding:56px var(--marge)}
.coordonnees__titre .statut{margin-left:2px}
.coordonnees a{position:relative}
.coordonnees a::before{content:"";position:absolute;inset:-11px 0}
@media (min-width:768px){
  .contact--page{padding:72px var(--marge)}
}
.section__intro--large{max-width:820px;margin-bottom:0}
.section__intro--large p:last-child{font-size:1.0313rem;line-height:1.7;color:#4a4a44}
.carte-claire--blanche{background:#fff}
.carte-claire--blanche h3{font-size:.9688rem;margin-bottom:6px}
.carte-claire--blanche p{font-size:.8438rem}
.section__intro--large h2,.section__intro--large p:last-child{margin-top:16px}
.contact--centre .section__intro{margin-bottom:32px}
.contact--centre .section__intro h2,.contact--centre .section__intro p:last-child{margin-top:18px}
.contact--centre h2{color:#fff}
.contact--centre .etiquette{color:var(--orange-clair)}
.contact--centre .section__intro p:last-child{color:#fff}
.formulaire--centre{max-width:640px;margin:0 auto}
.formulaire--centre .formulaire__ligne{flex-direction:column}
@media (min-width:768px){
  .carte-claire--blanche{padding:22px}
  .formulaire--centre .formulaire__ligne{flex-direction:row}
  .section--page .section__intro--large{max-width:820px;margin-bottom:0}
  .section--page .section__intro--compact{max-width:760px;margin-bottom:40px}
  .section--page .section__intro--large h2,.section--page .section__intro--compact h2,.contact--centre h2{font-size:2rem}
  .contact--centre{padding-block:88px}
  .contact--centre .section__intro{max-width:820px}
}
