/* Solten Ingénierie — base du site statique (mise en page, typographie, en-tête, pied de page) */
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/open-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/open-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/montserrat-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/montserrat-latin-700-normal.woff2) format('woff2')}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Open Sans','Segoe UI',Arial,sans-serif;font-size:17px;line-height:1.6;color:#2E2E2C;background:#fff}
img{max-width:100%;height:auto}
h1,h2,h3{font-family:'Montserrat','Segoe UI',Arial,sans-serif;font-weight:700;color:#0B2033;line-height:1.2;margin:1.4em 0 .6em;text-wrap:balance}
h1{font-size:40px}h2{font-size:30px}h3{font-size:22px}
@media(max-width:781px){h1{font-size:30px}h2{font-size:24px}h3{font-size:20px}}
p{margin:0 0 1em}
a{color:#414F35}a:hover{color:#6E3A24}
a:focus-visible,button:focus-visible,label:focus-visible{outline:2px solid #CCA971;outline-offset:2px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;background:#fff;padding:8px 12px;z-index:20}
.wrap,.wp-block-group.alignfull>*,main>:not(.alignfull){max-width:1140px;margin-left:auto;margin-right:auto}
main>:not(.alignfull){padding-left:20px;padding-right:20px}
.wp-block-group.alignfull{padding-left:20px;padding-right:20px}
.wp-block-columns{display:flex;gap:2rem;margin:1.5rem auto}
.wp-block-column{flex:1;min-width:0}
@media(max-width:781px){.wp-block-columns{flex-direction:column;gap:1.25rem}}
.wp-block-buttons{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.5rem auto 0}
.wp-block-button__link{display:inline-block;background:#414F35;color:#fff;padding:.8em 1.6em;border-radius:6px;text-decoration:none;font-weight:600;font-family:'Montserrat',Arial,sans-serif;font-size:.95rem;border:0;cursor:pointer}
.wp-block-button__link:hover{background:#7A826B;color:#fff}
.is-style-outline .wp-block-button__link,.wp-block-button__link.is-outline{background:transparent;color:#414F35;box-shadow:inset 0 0 0 2px #414F35}
.is-style-outline .wp-block-button__link:hover,.wp-block-button__link.is-outline:hover{background:#414F35;color:#fff}
/* en-tête */
.site-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #E3E3DC}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:10px 20px}
.logo img{display:block;height:64px;width:auto}
.nav ul{display:flex;gap:1.3rem;list-style:none;margin:0;padding:0;align-items:center}
.nav a{text-decoration:none;color:#0B2033;font-family:'Montserrat',Arial,sans-serif;font-weight:600;font-size:.92rem}
.nav a[aria-current="page"]{color:#6E3A24}
.nav .nav-cta a{background:#414F35;color:#fff;padding:.6em 1.1em;border-radius:6px}
.nav .nav-cta a:hover{background:#7A826B}
.nav-toggle,.nav-btn{display:none}
@media(max-width:960px){
  .nav-btn{display:inline-flex;align-items:center;gap:.4rem;font-family:'Montserrat',Arial,sans-serif;font-weight:600;font-size:.9rem;color:#0B2033;border:1.5px solid #AFAFA6;border-radius:6px;padding:.45em .8em;cursor:pointer}
  .nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #E3E3DC;display:none}
  .nav ul{flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 16px}
  .nav li a{display:block;padding:12px 0;border-bottom:1px solid #F1F1EC}
  .nav .nav-cta a{text-align:center;margin-top:12px;border:0}
  .nav-toggle:checked~.nav{display:block}
  .logo img{height:52px}
}
/* pied de page */
.site-footer{background:#F1F1EC;border-top:1px solid #E3E3DC;font-size:.92rem;padding:2.5rem 20px 1.5rem}
.site-footer .cols{display:flex;gap:2rem;flex-wrap:wrap;justify-content:space-between}
.site-footer .cols>div{min-width:200px;flex:1}
.site-footer strong{font-family:'Montserrat',Arial,sans-serif;color:#0B2033}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:.3rem}
.site-footer .legal{border-top:1px solid #DCDCD3;margin-top:1.5rem;padding-top:1rem;color:#5c5c55}
/* pages légales */
.page-legal{max-width:760px!important;padding-top:2rem;padding-bottom:3rem}
/* contact */
.solten-contact-actions .wp-block-button__link{min-width:min(100%,320px);text-align:center}
.solten-form{display:grid;gap:1rem;margin-top:2rem}
.solten-form label{display:grid;gap:.3rem;font-weight:600;font-size:.95rem}
.solten-form input,.solten-form select,.solten-form textarea{font:inherit;padding:.6em .75em;border:1.5px solid #AFAFA6;border-radius:6px;background:#fff}
.solten-form .solten-consent{display:flex;gap:.6rem;font-weight:400;align-items:flex-start}
.solten-form button{justify-self:start}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* =========================================================
   Solten Ingénierie — feuille de style du site
   À coller dans : Apparence > Personnaliser > CSS additionnel
   Charte : vert #7A826B · vert foncé #414F35 · bleu-gris #0B2033
            terre cuite #6E3A24 · doré #CCA971 · neutres #F1F1EC #AFAFA6 #2E2E2C
   ========================================================= */

:root {
  --s-vert: #7A826B;
  --s-vert-fonce: #414F35;
  --s-bleu: #0B2033;
  --s-terre: #6E3A24;
  --s-dore: #CCA971;
  --s-creme: #F1F1EC;
  --s-gris: #AFAFA6;
  --s-texte: #2E2E2C;
}

/* --- Bandeau d'en-tête de page --- */
.solten-hero {
  background: var(--s-creme);
  padding: clamp(3rem, 7vw, 6rem) 1.25rem;
  margin-top: 0;
}
.solten-hero h1 { margin-top: 0; }
.solten-surtitre {
  font-family: 'Montserrat', sans-serif;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--s-vert-fonce);
  margin-bottom: .75rem;
}
.solten-intro {
  font-size: 1.2rem;
  line-height: 1.55;
  max-width: 62ch;
}

/* --- Sections --- */
.solten-section { padding: clamp(2.5rem, 6vw, 4.5rem) 1.25rem; margin-top: 0; margin-bottom: 0; }
.solten-section-claire { background: var(--s-creme); }

/* Filet doré sous un titre */
.solten-filet::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: var(--s-dore);
  margin-top: .6rem;
}

/* --- Cartes --- */
.solten-carte {
  background: #fff;
  border: 1px solid #E3E3DC;
  border-top: 3px solid var(--s-vert);
  border-radius: 8px;
  padding: 1.6rem;
  height: 100%;
}
.solten-carte h3 { margin-top: 0; font-size: 1.25rem; }
.solten-carte p:last-child { margin-bottom: 0; }
.solten-etiquette {
  font-family: 'Montserrat', sans-serif;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--s-terre);
  margin: 0 0 .4rem;
}

/* --- Chiffres clés --- */
.solten-chiffre {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 2.6rem;
  line-height: 1;
  color: var(--s-terre);
  margin-bottom: .35rem;
}

/* --- Étapes numérotées --- */
.solten-etapes { counter-reset: etape; list-style: none; padding-left: 0; }
.solten-etapes > li {
  counter-increment: etape;
  position: relative;
  padding-left: 3.25rem;
  margin-bottom: 1.25rem;
  min-height: 2.2rem;
}
.solten-etapes > li::before {
  content: counter(etape);
  position: absolute;
  left: 0;
  top: -.1rem;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background: var(--s-vert-fonce);
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* --- Citation (raison d'être) --- */
.solten-citation {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.2rem, 2.4vw, 1.55rem);
  line-height: 1.45;
  color: var(--s-bleu);
  border-left: 4px solid var(--s-dore);
  padding-left: 1.25rem;
}

/* --- Encart référence --- */
.solten-reference {
  background: #fff;
  border-left: 4px solid var(--s-dore);
  border-radius: 0 8px 8px 0;
  padding: 1.5rem 1.75rem;
}
.solten-reference h3 { margin-top: 0; }

/* --- Liste d'options --- */
.solten-options li { margin-bottom: .5rem; }

/* --- Bandeau d'appel à l'action --- */
.solten-cta {
  background: var(--s-vert-fonce);
  color: #fff;
  padding: clamp(2.5rem, 6vw, 4rem) 1.25rem;
  text-align: center;
  margin-top: 0;
}
.solten-cta h2, .solten-cta p { color: #fff; }
.solten-cta .wp-block-buttons { justify-content: center; }
.solten-cta .wp-block-button__link { background: var(--s-dore); color: var(--s-texte); }
.solten-cta .wp-block-button__link:hover { background: #fff; color: var(--s-texte); }

/* --- Coordonnées --- */
.solten-coord a { font-weight: 600; }

/* --- offres packagées --- */
.solten-carte.solten-pack{position:relative;background:#414F35;border:0;border-top:5px solid #CCA971;box-shadow:0 12px 30px rgba(65,79,53,.28)}
.solten-pack h3{color:#fff;font-size:1.4rem}
.solten-pack p{color:#E4E7DD}
.solten-pack .solten-etiquette{color:#CCA971}
.solten-badge{position:absolute;top:-14px;right:18px;background:#CCA971;color:#2E2E2C;font-family:'Montserrat',Arial,sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:.45em .9em;border-radius:999px}
.solten-pack .solten-picto{box-shadow:0 0 0 3px rgba(255,255,255,.15);border-radius:50%}

/* --- prestations phares au-dessus de l'image --- */
.solten-piliers{background:#F1F1EC;padding-top:0;padding-bottom:clamp(1.5rem,3vw,2.5rem)}
.solten-piliers .wp-block-columns{margin-top:0}
/* --- feuille en filigrane derrière la raison d'être --- */
.solten-citation.has-leaf{position:relative;isolation:isolate}
.solten-citation.has-leaf::after{content:"";position:absolute;z-index:-1;right:-1rem;top:50%;transform:translateY(-50%) rotate(-18deg);width:clamp(140px,22vw,260px);aspect-ratio:1;background:url(img/feuille.svg) no-repeat center/contain;opacity:.22;pointer-events:none}

/* --- notre approche : parcours et cibles --- */
.solten-parcours{background:#F1F1EC;padding:0 20px clamp(2rem,4vw,3rem)}
.solten-parcours ol{list-style:none;margin:0 auto;padding:0;max-width:1140px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;position:relative}
.solten-parcours ol::before{content:"";position:absolute;left:10%;right:10%;top:32px;border-top:3px dotted #CCA971}
.solten-parcours li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem}
.solten-parcours img{width:64px;height:64px;background:#F1F1EC;border-radius:50%;box-shadow:0 0 0 6px #F1F1EC}
.solten-parcours span{font-family:'Montserrat',Arial,sans-serif;font-weight:600;font-size:.88rem;color:#0B2033;line-height:1.3}
.solten-cibles{display:flex;gap:2.5rem;flex-wrap:wrap;margin-top:1.75rem}
.solten-cible{display:flex;align-items:center;gap:.75rem;text-decoration:none;font-family:'Montserrat',Arial,sans-serif;font-weight:600;color:#0B2033}
.solten-cible img{width:52px;height:52px}
.solten-cible:hover span{color:#6E3A24;text-decoration:underline}
@media(max-width:600px){
  .solten-parcours ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:.3rem}
  .solten-parcours ol::before{top:22px}
  .solten-parcours img{width:44px;height:44px;box-shadow:0 0 0 4px #F1F1EC}
  .solten-parcours span{font-size:.62rem}
  .solten-cibles{gap:1.1rem}
  .solten-cible{font-size:.85rem;gap:.5rem}
  .solten-cible img{width:40px;height:40px}
}

/* --- accueil : logo en grand --- */
.solten-home-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:3.5rem;align-items:center}
.solten-brand{text-align:center}
.solten-brand img{display:block;width:100%;height:auto}
.solten-brand-baseline{margin:1.1rem 0 0;padding-top:.9rem;border-top:3px solid #CCA971;font-family:'Montserrat',Arial,sans-serif;font-weight:600;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#414F35;line-height:1.6;white-space:nowrap}
.solten-brand-baseline span{display:block;color:#6E3A24}
.solten-home-text h1{margin-top:0}
@media(max-width:860px){
  .solten-home-grid{grid-template-columns:1fr;gap:1.75rem}
  .solten-brand{width:min(270px,80vw);margin:0 auto}
  .solten-brand-baseline{font-size:.72rem}
}

/* --- visuels issus des plaquettes --- */
.solten-illu{margin:0;background:#F1F1EC;line-height:0}
.solten-illu img{display:block;width:100%;max-width:1400px;height:auto;margin:0 auto}
.solten-illu-photo img{max-width:none;height:clamp(220px,34vw,440px);object-fit:cover;object-position:center 40%}
.solten-hero{padding-bottom:clamp(1.5rem,3vw,2.5rem)}
.solten-carte.has-picto .solten-picto{display:block;width:56px;height:56px;margin-bottom:.9rem}
.solten-etapes.has-icons>li{padding-left:3.6rem;min-height:2.8rem}
.solten-etapes.has-icons>li::before{display:none}
.solten-step-ico{position:absolute;left:0;top:-.35rem;width:2.7rem;height:2.7rem}
.solten-typologies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 1.5rem}
.solten-typologies figure{margin:0;background:#F1F1EC;border-radius:8px;overflow:hidden}
.solten-typologies img{display:block;width:100%;height:auto}
.solten-typologies figcaption{font-family:'Montserrat',Arial,sans-serif;font-weight:600;font-size:.9rem;color:#0B2033;padding:.6rem .8rem}
.solten-ref-photos{display:grid;grid-template-columns:1.6fr 1fr;gap:.75rem;margin-top:1.2rem}
.solten-ref-photos img{display:block;width:100%;height:220px;object-fit:cover;border-radius:6px}
.solten-bio{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:2.5rem;align-items:center}
.solten-bio-txt{min-width:0}
.solten-portrait{width:100%;height:auto;border-radius:10px;box-shadow:0 6px 20px rgba(11,32,51,.12)}
.solten-portrait-sm{float:none;display:block;width:110px;margin:0 0 .75rem;border-radius:50%;aspect-ratio:1;object-fit:cover;object-position:center 20%;box-shadow:none}
@media(max-width:600px){
  .solten-typologies{grid-template-columns:1fr 1fr 1fr;gap:.5rem}
  .solten-typologies figcaption{font-size:.75rem;padding:.4rem .5rem}
  .solten-ref-photos{grid-template-columns:1fr}
  .solten-ref-photos img{height:180px}
  .solten-bio{grid-template-columns:1fr;gap:1rem}
  .solten-bio .solten-portrait{order:-1;width:160px}
}
