:root{
  --navy:#071b32;
  --brand-navy:#091b33;
  --navy-2:#0b2748;
  --blue:#0397e8;
  --blue-2:#0071bc;
  --gold:#f4c62d;
  --steel:#c9d0d8;
  --ink:#101820;
  --muted:#6e7a86;
  --off:#f3f5f7;
  --white:#fff;
  --radius:3px;
}

html{scroll-behavior:smooth;scroll-padding-top:100px}
body{font-family:"Inter",sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
a{text-decoration:none}
img{max-width:100%;display:block}

/* Header */
.site-header{transition:box-shadow .3s ease;background:var(--brand-navy);z-index:1030}
.site-header.scrolled{background:var(--brand-navy);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.navbar-brand{padding:0;margin-right:1.2rem}
.brand-logo{width:172px;height:70px;object-fit:cover;object-position:center 51%;border-radius:2px}
.navbar .nav-link{font-family:"Barlow Condensed",sans-serif;font-size:1.3em;font-weight:600;letter-spacing:.035em;text-transform:uppercase;color:rgba(255,255,255,.88)!important;padding:.6rem .58rem!important}
.navbar .nav-link:hover,.navbar .nav-link:focus{color:var(--gold)!important}
.dropdown-menu{background:var(--navy);border:1px solid rgba(255,255,255,.12);border-radius:0;padding:.55rem}
.dropdown-item{font-size:.9rem;padding:.65rem .8rem;border-radius:2px}
.dropdown-item:hover{background:rgba(255,255,255,.08);color:var(--gold)}
.btn{border-radius:2px;font-weight:700;text-transform:uppercase;letter-spacing:.035em;font-family:"Barlow Condensed",sans-serif}
.btn-accent{background:var(--gold);border-color:var(--gold);color:#081628}
.btn-accent:hover{background:#ffd958;border-color:#ffd958;color:#081628;transform:translateY(-1px)}
.btn-lg{padding:.85rem 1.25rem;font-size:1.02rem}
.btn-sm{padding:.55rem .85rem}
.header-actions .btn{font-size:1rem}

/* Hero */
.hero{min-height:770px;padding:160px 0 92px;position:relative;background:var(--navy);color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(3,17,33,.94) 0%,rgba(3,17,33,.77) 45%,rgba(3,17,33,.36) 76%,rgba(3,17,33,.42) 100%),url("https://images.unsplash.com/photo-1722695694560-f452b0919d3a?auto=format&fit=crop&fm=webp&q=62&w=1920");background-size:cover;background-position:center;transform:scale(1.045);animation:heroBgIn 6s cubic-bezier(.2,.7,.2,1) both;will-change:transform;backface-visibility:hidden}
.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(3,17,33,.82),transparent 45%)}
.hero-grid{position:absolute;inset:0;opacity:.16;animation:heroGridIn 1.2s .35s ease both;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to right,#000,transparent 70%)}
.hero-content{z-index:2}
.eyebrow,.section-kicker{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--blue);font-size:.84rem;margin-bottom:1rem}
.display-hero,.section-title,.local-section h2,.contact-cta h2{font-family:"Barlow Condensed",sans-serif;font-weight:800;text-transform:uppercase;line-height:.9;letter-spacing:-.025em}
.display-hero{font-size:clamp(3.45rem,7.5vw,7.35rem);max-width:1050px;margin:0 0 1.45rem}
.display-hero span{color:var(--gold)}
.hero-lead{max-width:760px;font-size:1.12rem;color:rgba(255,255,255,.8);line-height:1.7;margin-bottom:2rem}
.hero-sidecard{border-left:3px solid var(--gold);padding:1.4rem 0 1.4rem 1.5rem;background:linear-gradient(90deg,rgba(255,255,255,.06),transparent)}
.hero-sidecard-label{text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;color:rgba(255,255,255,.55)}
.hero-sidecard-big{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:3rem;letter-spacing:.05em;margin:.25rem 0}
.hero-sidecard p{margin:0;color:rgba(255,255,255,.65)}

/* Hero entrance animations */
.hero .eyebrow.reveal{transform:translateY(16px);transition-delay:.08s}
.hero .display-hero.reveal{transform:translateY(30px);transition-delay:.20s}
.hero .hero-lead.reveal{transform:translateY(24px);transition-delay:.36s}
.hero .d-flex.reveal{transform:translateY(20px);transition-delay:.50s}
.hero .hero-sidecard.reveal{transform:translateX(34px);transition-delay:.62s}
.hero .reveal.is-visible{transform:none}
@keyframes heroBgIn{from{opacity:0;transform:scale(1.10)}to{opacity:1;transform:scale(1.045)}}
@keyframes heroGridIn{from{opacity:0;transform:translateX(-20px)}to{opacity:.16;transform:none}}
.hero.is-offscreen .hero-bg{animation-play-state:paused}

/* Trust */
.trust-strip{background:#fff;position:relative;z-index:3;box-shadow:0 15px 40px rgba(7,27,50,.08)}
.trust-item{min-height:116px;display:flex;align-items:center;justify-content:center;gap:.7rem;padding:1rem;border-right:1px solid #e4e8ec;text-align:center;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:.05em}
.trust-item:last-child{border-right:0}
.trust-item strong{font-size:2.1rem;color:var(--navy);line-height:1}
.trust-item i{font-size:1.55rem;color:var(--blue)}
.trust-item span{font-size:.96rem}
.trust-item strong.trust-year{
    font-size:1.45rem;
    color:var(--navy);
    line-height:1;
    margin-left:.15rem;
}

/* Sections */
.section{padding:110px 0}
.section-title{font-size:clamp(2.8rem,5vw,5rem);color:var(--navy);margin:0}
.section-title span{color:var(--blue)}
.section-intro,.lead-copy{color:var(--muted);line-height:1.8}
.lead-copy{font-size:1.1rem;color:#44515c}
.section-title + .lead-copy{margin-top:1.6rem}

/* Services */
.services-section{background:var(--off)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:310px;gap:12px}
.service-card{position:relative;overflow:hidden;color:#fff;background:var(--navy);min-height:310px}
.service-card-main{grid-column:span 2;grid-row:span 2}
.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.service-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(1,15,30,.95) 4%,rgba(1,15,30,.18) 74%);transition:background .35s ease}
.service-content{position:absolute;inset:auto 0 0 0;padding:1.55rem;z-index:2}
.service-number{font-family:"Barlow Condensed",sans-serif;color:var(--gold);font-weight:700;letter-spacing:.13em;font-size:.82rem}
.service-card h3{font-family:"Barlow Condensed",sans-serif;font-weight:700;text-transform:uppercase;font-size:1.75rem;line-height:1;margin:.5rem 0 .6rem}
.service-card-main h3{font-size:clamp(2rem,3.6vw,4rem)}
.service-card p{max-width:580px;color:rgba(255,255,255,.7);margin-bottom:.9rem}
.service-link{text-transform:uppercase;font-family:"Barlow Condensed",sans-serif;font-size:.86rem;letter-spacing:.1em;color:#fff}
.service-card:hover img{transform:scale(1.06)}
.service-card:hover .service-overlay{background:linear-gradient(to top,rgba(1,15,30,.97) 8%,rgba(0,91,155,.30) 100%)}
.service-card:hover .service-link{color:var(--gold)}

/* History */
.history-section{background:#fff}
.history-visual{position:relative;min-height:600px;background:var(--navy);overflow:hidden}
.history-visual img{width:100%;height:600px;object-fit:cover;filter:saturate(.7) contrast(1.05);transition:transform .85s cubic-bezier(.2,.7,.2,1),filter .85s ease}
.history-visual:hover img{transform:scale(1.055);filter:saturate(.95) contrast(1.08)}
.history-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,27,50,.72),transparent 60%)}
.history-year{position:absolute;bottom:40px;left:38px;color:#fff;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:clamp(5rem,10vw,9rem);line-height:.7;z-index:2}
.history-year:after{content:"";display:block;width:90px;height:5px;background:var(--gold);margin-top:1.1rem}
.history-caption{position:absolute;bottom:38px;right:32px;z-index:2;color:#fff;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.74rem;text-transform:uppercase;letter-spacing:.18em}
.values-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dfe4e8;border-left:1px solid #dfe4e8}
.values-grid div{padding:1.15rem;border-right:1px solid #dfe4e8;border-bottom:1px solid #dfe4e8;display:flex;align-items:center;gap:1rem}
.values-grid span{color:var(--blue);font-family:"Barlow Condensed",sans-serif;font-weight:700}
.values-grid strong{text-transform:uppercase;font-family:"Barlow Condensed",sans-serif;font-size:1.1rem;letter-spacing:.04em}

/* Process */
.process-section{background:var(--navy);position:relative;overflow:hidden}
.process-section:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.11) 1px,transparent 1px);background-size:25px 25px;opacity:.25}
.process-section .container-xxl{position:relative}
.process-section .section-title span{color:var(--gold)}
.process-line{height:1px;background:linear-gradient(to right,var(--blue),rgba(255,255,255,.2));position:relative;top:42px}
.process-step{color:#fff;position:relative;padding-top:2rem}
.process-step>span{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);font-family:"Barlow Condensed",sans-serif;font-weight:800;border-radius:50%;position:relative;z-index:2}
.process-step i{display:block;color:var(--blue);font-size:2.2rem;margin:2rem 0 1rem}
.process-step h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.45rem;margin:0;line-height:1.08}

/* Commitments */
.commitments-section{background:#f5f7f9;border-top:1px solid #edf0f3}
.commitment-img{position:relative;min-height:580px;overflow:hidden;background:var(--navy)}
.commitment-img img{width:100%;height:580px;object-fit:cover;filter:saturate(.8);transition:transform .85s cubic-bezier(.2,.7,.2,1),filter .85s ease}
.commitment-img:hover img{transform:scale(1.055);filter:saturate(1) contrast(1.05)}
.commitment-img:after{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.45);pointer-events:none}
.partner-box{border-left:4px solid var(--gold);padding:1.2rem 1.35rem;background:var(--off)}
.partner-box>span{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:.08em;color:var(--navy)}
.partner-pill{background:#fff;border:1px solid #d9dfe5;padding:.8rem 1rem;font-weight:700;color:#33414d}

/* Local */
.local-section{padding:100px 0;background:linear-gradient(110deg,#06172a 0%,#0b2c52 100%);color:#fff;position:relative;overflow:hidden}
.local-section:after{content:"28  78  27";position:absolute;right:-2vw;bottom:-4vw;font-family:"Barlow Condensed",sans-serif;font-size:18vw;font-weight:800;color:rgba(255,255,255,.025);letter-spacing:.02em;white-space:nowrap}
.local-section .container-xxl{position:relative;z-index:2}
.local-section h2{font-size:clamp(3.8rem,7vw,7rem);margin:0 0 1rem}
.local-section h2 span{color:var(--gold)}
.local-section p{color:rgba(255,255,255,.68);font-size:1.08rem;max-width:700px;line-height:1.7}
.dept-list{display:flex;gap:.7rem;margin-top:2rem}
.dept-list span{font-family:"Barlow Condensed",sans-serif;font-size:2.5rem;font-weight:800;border:1px solid rgba(255,255,255,.22);padding:.4rem 1rem;color:#fff}
.local-card{background:#fff;color:var(--ink);padding:2rem;border-top:5px solid var(--gold);box-shadow:0 25px 50px rgba(0,0,0,.22)}
.local-card i{font-size:2.2rem;color:var(--blue)}
.local-card h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;font-size:2rem;line-height:1.05;margin:1.1rem 0}
.local-card p{color:var(--muted);font-size:.98rem}

/* Contact CTA */
.contact-cta{padding:130px 0;position:relative;background:var(--navy);color:#fff;overflow:hidden}
.contact-bg{position:absolute;inset:0;background:linear-gradient(rgba(3,17,33,.58),rgba(3,17,33,.83));transition:opacity .2s ease}
.contact-cta.bg-ready .contact-bg{background:linear-gradient(rgba(3,17,33,.58),rgba(3,17,33,.83)),url("https://unsplash.com/photos/5Kj8sQxfiFk/download?force=true") center/cover}
.contact-cta h2{font-size:clamp(3.5rem,7vw,7rem);margin:0}
.contact-cta h2 span{color:var(--gold)}
.contact-cta p{max-width:740px;margin:1.5rem auto 0;color:rgba(255,255,255,.68);font-size:1.06rem}

/* Footer */
.footer{background:var(--brand-navy);color:#fff;padding:55px 0 24px}
.footer-logo{width:225px;height:86px;object-fit:cover;object-position:center 50%}
.footer a{color:rgba(255,255,255,.68);font-size:.88rem}
.footer a:hover{color:var(--gold)}
.footer-title{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:.09em;color:#fff;margin-bottom:1rem}
.footer-nav li+li{margin-top:.48rem}
.footer-phone{font-family:"Barlow Condensed",sans-serif;font-size:1.55rem!important;font-weight:700;color:#fff!important}
.footer-phone:hover{color:var(--gold)!important}
.section-page-link{font-size:.92rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.09);margin-top:2rem;padding-top:1.2rem;color:rgba(255,255,255,.35);font-size:.75rem}

/* Mobile call */
.mobile-call{position:fixed;left:12px;right:12px;bottom:12px;z-index:1050;background:var(--gold);color:var(--navy);height:52px;display:flex;align-items:center;justify-content:center;gap:.6rem;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:800;letter-spacing:.06em;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.mobile-call:hover{color:var(--navy)}

/* Reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.reveal.is-visible{opacity:1;transform:none}

@media (max-width:1199.98px){
  .site-header{background:var(--brand-navy)}
  .navbar-collapse{max-height:calc(100vh - 90px);overflow:auto;padding:1rem 0 1.3rem}
  .navbar .nav-link{font-size:1.3em;padding:.55rem 0!important}
  .brand-logo{width:155px;height:64px}
  .hero{min-height:720px}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .service-card-main{grid-row:span 1}
  .service-card-main h3{font-size:2.1rem}
}

@media (max-width:991.98px){
  .section{padding:85px 0}
  .hero{min-height:690px;padding-top:135px}
  .hero-bg{background-position:60% center}
  .display-hero{font-size:clamp(3.2rem,12vw,6rem)}
  .history-visual,.history-visual img{min-height:500px;height:500px}
  .process-line{display:none}
  .footer{text-align:center;padding-bottom:90px}
  .footer-logo{margin:0 auto}
}

@media (max-width:767.98px){
  .hero{min-height:660px;padding-bottom:72px}
  .hero-bg{background-image:linear-gradient(90deg,rgba(3,17,33,.94),rgba(3,17,33,.65)),url("https://images.unsplash.com/photo-1722695694560-f452b0919d3a?auto=format&fit=crop&fm=webp&q=60&w=1280");background-position:65% center}
  .hero-lead{font-size:1rem}
  .trust-item{min-height:95px;border-bottom:1px solid #e4e8ec;flex-direction:column;gap:.25rem}
  .trust-item strong{font-size:1.75rem}
  .trust-item span{font-size:.8rem}
  .section-title{font-size:clamp(2.6rem,12vw,4rem)}
  .service-grid{display:block}
  .service-card{display:block;min-height:380px;margin-bottom:12px}
  .service-card-main{min-height:470px}
  .values-grid{grid-template-columns:1fr}
  .history-caption{display:none}
  .local-section{padding:80px 0}
  .dept-list span{font-size:2rem;padding:.3rem .75rem}
  .contact-cta{padding:90px 0 120px}
}

@media (max-width:575.98px){
  .brand-logo{width:135px;height:58px}
  .navbar-toggler{padding-right:0}
  .display-hero{font-size:3.3rem}
  .hero .btn{width:100%}
  .hero{padding-top:120px}
  .service-card{min-height:330px}
  .service-card-main{min-height:410px}
  .history-visual,.history-visual img{height:420px;min-height:420px}
  .history-year{left:22px;bottom:26px}
  .local-card{padding:1.5rem}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}


/* ===== V4 client adjustments ===== */
/* Larger horizontal logo supplied by the client */
.brand-logo{
  width:282px;
  height:auto;
  object-fit:contain;
  object-position:center;
  border-radius:0;
}
.footer-logo{
  width:310px;
  height:auto;
  object-fit:contain;
  object-position:center;
}
.hero{padding-top:185px}
.hero .eyebrow{
  font-size:1.18rem;
  letter-spacing:.14em;
  margin-bottom:1.2rem;
}
.section-kicker-lg{
  font-size:1.18rem;
  letter-spacing:.14em;
  margin-bottom:1.15rem;
}

/* Tighter rhythm between company and circular-economy sections */
.history-section{padding-bottom:65px}
.commitments-section{padding-top:55px}



/* Expertise highlight */
.expertise-highlight{
  display:flex;
  align-items:center;
  gap:.9rem;
  margin:1.7rem 0 1.7rem;
  padding:1rem 1.2rem;
  border-left:4px solid var(--gold);
  background:var(--off);
  color:var(--navy);
  font-family:"Barlow Condensed",sans-serif;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.06em;
  font-size:1.35rem;
}
.expertise-highlight i{color:var(--blue);font-size:1.15rem}

/* Professional / industrial / collectivités hover offer */
.audience-offer{
  position:relative;
  z-index:4;
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
}
.audience-offer-trigger{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  padding:1.35rem 1.5rem;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.055);
  color:#fff;
  cursor:pointer;
  transition:background .3s ease,border-color .3s ease,transform .3s ease;
}
.audience-offer-trigger:hover,
.audience-offer-trigger:focus{
  outline:none;
  background:rgba(255,255,255,.095);
  border-color:rgba(244,198,45,.85);
}
.audience-offer-label{
  display:block;
  color:var(--gold);
  font-family:"Barlow Condensed",sans-serif;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:1.05rem;
}
.audience-offer-trigger strong{
  display:block;
  margin-top:.25rem;
  font-family:"Barlow Condensed",sans-serif;
  text-transform:uppercase;
  font-size:1.65rem;
  line-height:1;
}
.audience-offer-arrow{
  flex:0 0 auto;
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--gold);
  color:var(--navy);
  font-size:1.25rem;
  transition:transform .35s ease;
}
.audience-offer-panel{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(-8px);
  transition:max-height .55s cubic-bezier(.2,.7,.2,1),opacity .35s ease,transform .35s ease,padding .35s ease;
  background:#fff;
  color:var(--ink);
  padding:0 1.6rem;
  box-shadow:0 25px 60px rgba(0,0,0,.24);
}
.audience-offer:hover .audience-offer-panel,
.audience-offer:focus-within .audience-offer-panel,
.audience-offer.is-open .audience-offer-panel{
  max-height:520px;
  opacity:1;
  transform:none;
  padding:1.75rem 1.6rem;
}
.audience-offer:hover .audience-offer-arrow,
.audience-offer:focus-within .audience-offer-arrow,
.audience-offer.is-open .audience-offer-arrow{transform:rotate(45deg)}
.audience-signature{
  color:var(--blue);
  text-transform:uppercase;
  font-family:"Barlow Condensed",sans-serif;
  font-weight:800;
  letter-spacing:.12em;
}
.audience-offer-panel h3{
  margin:.35rem 0 .85rem;
  color:var(--navy);
  font-family:"Barlow Condensed",sans-serif;
  font-size:2.2rem;
  text-transform:uppercase;
  line-height:1;
}
.audience-offer-panel p{color:#4c5964;line-height:1.65;margin-bottom:.55rem}

/* Location map */
.location-map-card{
  background:#fff;
  color:var(--ink);
  box-shadow:0 28px 65px rgba(0,0,0,.25);
  border-top:5px solid var(--gold);
}
.location-map-heading{padding:1.35rem 1.5rem}
.location-map-heading span{
  display:block;
  font-family:"Barlow Condensed",sans-serif;
  font-size:1.35rem;
  font-weight:800;
  text-transform:uppercase;
  color:var(--navy);
  letter-spacing:.04em;
}
.location-map-heading strong{
  display:block;
  margin-top:.35rem;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.45;
}
.location-map{position:relative;height:320px;background:#dfe5ea;overflow:hidden}
.location-map iframe{width:100%;height:100%;border:0;pointer-events:none;filter:saturate(.78) contrast(1.03)}
.location-map-hit{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:linear-gradient(to top,rgba(3,17,33,.62),transparent 44%)}
.location-map-hit span{
  background:var(--gold);
  color:var(--navy);
  padding:.72rem 1rem;
  font-family:"Barlow Condensed",sans-serif;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.06em;
  box-shadow:0 8px 25px rgba(0,0,0,.25);
  transition:transform .25s ease,background .25s ease;
}
.location-map-hit:hover span{transform:translateY(-4px);background:#ffd958}

/* Contact need links */
.need-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:left}
.need-link{
  position:relative;
  min-height:165px;
  padding:1.5rem;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(3,17,33,.55);
  color:#fff;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  transition:transform .35s ease,border-color .35s ease,background .35s ease;
}
.need-link:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(3,151,232,.18),transparent 58%);
  opacity:0;
  transition:opacity .35s ease;
}
.need-link-icon{position:absolute;top:1.25rem;left:1.4rem;color:var(--gold);font-size:1.55rem;z-index:1}
.need-link strong{
  position:relative;
  z-index:1;
  max-width:80%;
  font-family:"Barlow Condensed",sans-serif;
  text-transform:uppercase;
  font-weight:800;
  font-size:1.7rem;
  line-height:1;
}
.need-link-arrow{
  position:absolute;
  right:1.3rem;
  bottom:1.3rem;
  z-index:1;
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.4);
  transition:background .3s ease,color .3s ease,transform .3s ease;
}
.need-link:hover{color:#fff;transform:translateY(-6px);border-color:var(--gold);background:rgba(3,17,33,.82)}
.need-link:hover:before{opacity:1}
.need-link:hover .need-link-arrow{background:var(--gold);color:var(--navy);transform:translate(3px,-3px)}

@media (max-width:1399.98px){
  .brand-logo{width:258px}
  .header-actions .btn{font-size:.96rem}
}
@media (max-width:1199.98px){
  .brand-logo{width:246px;height:auto}
  .hero{padding-top:160px}
  .footer-logo{width:280px}
}
@media (max-width:991.98px){
  .history-section{padding-bottom:50px}
  .commitments-section{padding-top:40px}
  .need-links{grid-template-columns:1fr}
  .need-link{min-height:135px}
  .audience-offer-panel .btn{width:100%}
}
@media (max-width:575.98px){
  .brand-logo{width:210px;height:auto}
  .hero{padding-top:135px}
  .hero .eyebrow{font-size:.98rem;letter-spacing:.1em}
  .section-kicker-lg{font-size:1rem}
  .footer-logo{width:260px;max-width:100%;margin:0 auto}
  .audience-offer-trigger{padding:1.1rem;gap:1rem}
  .audience-offer-trigger strong{font-size:1.35rem}
  .audience-offer-arrow{width:42px;height:42px}
  .audience-offer-panel h3{font-size:1.8rem}
  .location-map{height:275px}
}


/* ===== V8 PHP structure + services hover menu ===== */
.navbar .nav-link.active{color:var(--gold)!important}
.services-dropdown{position:relative}
.services-nav-row{position:relative}
.services-dropdown-toggle{
  width:38px;height:38px;border:0;background:transparent;color:#fff;
  display:inline-flex;align-items:center;justify-content:center;padding:0;
}
.services-dropdown-toggle:hover,.services-dropdown-toggle:focus{color:var(--gold);outline:none}
.services-menu{
  min-width:330px;background:var(--brand-navy);border:1px solid rgba(255,255,255,.13);
  border-top:3px solid var(--gold);padding:.45rem;box-shadow:0 22px 45px rgba(0,0,0,.28);
}
.services-menu .dropdown-item{
  color:rgba(255,255,255,.88);font-family:"Barlow Condensed",sans-serif;
  text-transform:uppercase;font-size:1rem;font-weight:600;letter-spacing:.035em;
  padding:.72rem .85rem;display:flex;align-items:center;gap:.8rem;
}
.services-menu .dropdown-item span{color:var(--gold);font-size:.78rem;letter-spacing:.12em;min-width:20px}
.services-menu .dropdown-item:hover,.services-menu .dropdown-item:focus{background:rgba(255,255,255,.075);color:#fff}

@media (min-width:1200px){
  .services-dropdown>.services-nav-row>.nav-link{padding-right:1.25rem!important;position:relative}
  .services-dropdown>.services-nav-row>.nav-link:after{
    content:"";position:absolute;right:.42rem;top:50%;width:6px;height:6px;
    border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
    transform:translateY(-65%) rotate(45deg);transition:transform .2s ease;
  }
  .services-dropdown:hover>.services-nav-row>.nav-link:after,
  .services-dropdown:focus-within>.services-nav-row>.nav-link:after{transform:translateY(-25%) rotate(225deg)}
  .services-dropdown>.dropdown-menu{display:block;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s;top:100%;left:0;margin-top:-2px}
  .services-dropdown:hover>.dropdown-menu,
  .services-dropdown:focus-within>.dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
}

@media (max-width:1199.98px){
  .services-nav-row{justify-content:space-between}
  .services-nav-row>.nav-link{flex:1}
  .services-menu{position:static!important;transform:none!important;width:100%;min-width:0;margin:.15rem 0 .65rem;background:rgba(255,255,255,.04);box-shadow:none;border-top-width:1px}
}

/* ===== L'ENTREPRISE page ===== */
.page-hero{min-height:610px;padding:190px 0 90px;position:relative;background:var(--navy);color:#fff;overflow:hidden}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.035)}
.page-hero-company .page-hero-bg{background-image:linear-gradient(90deg,rgba(3,17,33,.95) 0%,rgba(3,17,33,.8) 48%,rgba(3,17,33,.38) 100%),url("https://images.unsplash.com/photo-1767385894916-b751898159d1?auto=format&fit=crop&fm=webp&w=1920&q=68")}
.page-hero-content{z-index:2}
.page-breadcrumb{display:flex;align-items:center;gap:.55rem;margin-bottom:1.65rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.6)}
.page-breadcrumb a{color:rgba(255,255,255,.72)}
.page-breadcrumb a:hover{color:var(--gold)}
.page-breadcrumb i{font-size:.65rem}
.page-title{font-family:"Barlow Condensed",sans-serif;font-weight:800;text-transform:uppercase;line-height:.9;letter-spacing:-.025em;font-size:clamp(4rem,7vw,7rem);margin:0 0 1.5rem;max-width:1050px}
.page-title span{color:var(--gold)}
.page-hero-lead{max-width:780px;font-size:1.13rem;line-height:1.75;color:rgba(255,255,255,.78);margin:0}
.page-hero-stamp{border-left:3px solid var(--gold);padding:1.2rem 0 1.2rem 1.5rem}
.page-hero-stamp span{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:rgba(255,255,255,.55)}
.page-hero-stamp strong{display:block;font-family:"Barlow Condensed",sans-serif;font-size:5.2rem;line-height:.9;color:#fff;margin-top:.35rem}

.company-facts{background:#fff;box-shadow:0 15px 40px rgba(7,27,50,.08);position:relative;z-index:4}
.company-fact{min-height:118px;padding:1rem 1.2rem;border-right:1px solid #e4e8ec;display:flex;align-items:center;justify-content:center;gap:.8rem;text-align:center;text-transform:uppercase;font-family:"Barlow Condensed",sans-serif;font-weight:700;letter-spacing:.045em}
.company-fact:last-child{border-right:0}
.company-fact strong{font-size:2.1rem;color:var(--navy);line-height:1}
.company-fact i{font-size:1.7rem;color:var(--blue)}
.company-fact span{font-size:.94rem}

.company-story-section{background:#f5f7f9;position:relative;overflow:hidden}
.company-story-section:before{content:"";position:absolute;left:0;top:0;width:34%;height:5px;background:var(--gold)}
.company-story-copy{max-width:610px}
.company-story-copy p:not(.lead-copy){color:var(--muted);line-height:1.8}
.company-story-signature{position:relative;margin-top:2.2rem;padding:1.45rem 4.2rem 1.45rem 1.5rem;background:#fff;border-left:4px solid var(--gold);box-shadow:0 16px 36px rgba(7,27,50,.07)}
.company-story-signature span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin-bottom:.25rem}
.company-story-signature strong{display:block;color:var(--navy);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.65rem;line-height:1.05;letter-spacing:.02em}
.company-story-signature i{position:absolute;right:1.45rem;top:50%;transform:translateY(-50%);font-size:1.65rem;color:var(--blue)}
.company-story-composition{min-height:560px;position:relative;display:grid;grid-template-columns:145px minmax(0,1fr);background:var(--navy);box-shadow:0 28px 65px rgba(7,27,50,.16);overflow:visible}
.company-story-rail{position:relative;z-index:3;background:var(--navy);color:#fff;padding:2rem 1.4rem;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.company-story-rail:before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:var(--gold)}
.company-story-rail span,.company-story-rail small{text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.55);font-size:.66rem;font-weight:700}
.company-story-rail strong{font-family:"Barlow Condensed",sans-serif;font-size:4.8rem;line-height:.82;margin:.45rem 0 .8rem;color:#fff}
.company-story-photo{min-height:560px;overflow:hidden;position:relative}
.company-story-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,27,51,.16),transparent 45%)}
.company-story-photo img{width:100%;height:100%;min-height:560px;object-fit:cover;filter:saturate(.76) contrast(1.06);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .9s ease}
.company-story-composition:hover .company-story-photo img{transform:scale(1.045);filter:saturate(.95) contrast(1.08)}
.company-story-caption{position:absolute;right:-22px;bottom:28px;z-index:4;min-width:310px;background:#fff;padding:1.2rem 1.5rem;border-bottom:4px solid var(--blue);box-shadow:0 18px 38px rgba(7,27,50,.16)}
.company-story-caption span{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:.2rem}
.company-story-caption strong{display:block;color:var(--navy);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.45rem;line-height:1.05}

.company-timeline-section{padding:110px 0;background:var(--navy);position:relative;overflow:hidden}
.company-timeline-section:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1px);background-size:26px 26px;opacity:.18}
.company-timeline-section .container-xxl{position:relative;z-index:2}
.company-timeline-section .section-title span{color:var(--gold)}
.company-timeline{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18)}
.company-timeline-item{position:relative;padding:3rem 2.2rem 1rem 0;color:#fff;border-right:1px solid rgba(255,255,255,.12)}
.company-timeline-item:not(:first-child){padding-left:2.2rem}
.company-timeline-item:last-child{border-right:0}
.timeline-marker{position:absolute;top:-21px;left:0;width:42px;height:42px;border-radius:50%;background:var(--gold);color:var(--navy);display:flex;align-items:center;justify-content:center;font-family:"Barlow Condensed",sans-serif;font-weight:800}
.company-timeline-item:not(:first-child) .timeline-marker{left:2.2rem}
.timeline-date{display:block;color:var(--blue);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:800;letter-spacing:.08em;font-size:1rem;margin-bottom:.7rem}
.company-timeline-item h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:2rem;line-height:1;margin-bottom:1rem}
.company-timeline-item p{color:rgba(255,255,255,.63);line-height:1.7;margin:0}

.company-values-section{background:#f5f7f9}
.company-value-card{height:100%;min-height:330px;background:#fff;padding:2rem;border-top:4px solid var(--navy);position:relative;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.company-value-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(7,27,50,.10);border-color:var(--gold)}
.company-value-card>span{position:absolute;right:1.5rem;top:1.3rem;color:#cbd3da;font-family:"Barlow Condensed",sans-serif;font-size:1.2rem;font-weight:800}
.company-value-card i{font-size:2.2rem;color:var(--blue);display:block;margin:1rem 0 2.2rem}
.company-value-card h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:800;color:var(--navy);font-size:2rem;margin-bottom:.8rem}
.company-value-card p{color:var(--muted);line-height:1.7;margin:0}

.company-custom-section{background:#fff}
.company-custom-visual{height:590px;position:relative;overflow:hidden;background:var(--navy)}
.company-custom-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);transition:transform .85s cubic-bezier(.2,.7,.2,1),filter .85s ease}
.company-custom-visual:hover img{transform:scale(1.05);filter:saturate(1)}
.company-custom-badge{position:absolute;left:22px;right:22px;bottom:22px;display:flex;flex-wrap:wrap;gap:8px}
.company-custom-badge span{background:rgba(9,27,51,.92);color:#fff;padding:.72rem .9rem;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:.05em;border-left:3px solid var(--gold)}
.spectro-box{display:flex;align-items:flex-start;gap:1rem;background:var(--navy);color:#fff;padding:1.25rem 1.35rem;margin-top:1.7rem}
.spectro-box i{color:var(--gold);font-size:1.5rem}
.spectro-box span{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-size:.72rem;font-weight:700;margin-bottom:.25rem}
.spectro-box strong{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.28rem;letter-spacing:.02em}

.company-local-section{padding:100px 0;background:linear-gradient(110deg,#06172a 0%,#0b2c52 100%);color:#fff;position:relative;overflow:hidden}
.company-local-section:after{content:"28  78  27";position:absolute;right:-2vw;bottom:-4vw;font-family:"Barlow Condensed",sans-serif;font-size:18vw;font-weight:800;color:rgba(255,255,255,.025);letter-spacing:.02em;white-space:nowrap}
.company-local-section h2{font-family:"Barlow Condensed",sans-serif;font-size:clamp(3.8rem,7vw,7rem);font-weight:800;text-transform:uppercase;line-height:.9;letter-spacing:-.025em;margin:0 0 1.2rem}
.company-local-section h2 span{color:var(--gold)}
.company-local-section p{color:rgba(255,255,255,.67);font-size:1.08rem;line-height:1.7;max-width:700px}
.company-local-card{background:#fff;color:var(--ink);padding:2.2rem;border-top:5px solid var(--gold);box-shadow:0 25px 50px rgba(0,0,0,.22)}
.company-local-card>i{font-size:2rem;color:var(--blue);display:block;margin-bottom:1rem}
.company-local-card>span{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.72rem;font-weight:700;margin-bottom:.4rem}
.company-local-card>strong{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:2rem;line-height:1.1;color:var(--navy)}
.text-link{color:var(--blue);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:.05em}
.text-link:hover{color:var(--navy)}

@media (max-width:991.98px){
  .page-hero{min-height:540px;padding:155px 0 72px}
  .company-story-composition{min-height:500px;grid-template-columns:125px minmax(0,1fr)}
  .company-story-photo,.company-story-photo img{min-height:500px}
  .company-custom-visual{height:500px}
  .company-timeline{grid-template-columns:1fr;border-top:0}
  .company-timeline-item,.company-timeline-item:not(:first-child){padding:2rem 0 2rem 3.5rem;border-right:0;border-top:1px solid rgba(255,255,255,.15)}
  .timeline-marker,.company-timeline-item:not(:first-child) .timeline-marker{left:0;top:1.8rem}
}
@media (max-width:767.98px){
  .page-hero{min-height:520px;padding-top:140px}
  .page-title{font-size:clamp(3.3rem,14vw,5rem)}
  .company-fact{min-height:100px;flex-direction:column;gap:.3rem;border-bottom:1px solid #e4e8ec}
  .company-fact strong{font-size:1.65rem}
  .company-fact span{font-size:.78rem}
  .company-story-composition{min-height:430px;grid-template-columns:100px minmax(0,1fr)}
  .company-story-photo,.company-story-photo img{min-height:430px}
  .company-story-rail{padding:1.4rem .9rem}
  .company-story-rail strong{font-size:3.35rem}
  .company-story-rail small{display:none}
  .company-story-caption{right:14px;bottom:14px;min-width:0;max-width:calc(100% - 128px);padding:1rem 1.1rem}
  .company-custom-visual{height:430px}
  .company-timeline-section{padding:80px 0}
  .company-local-section{padding:80px 0}
}

/* ===== V10 company story + services pages ===== */
.page-hero-services .page-hero-bg{background-image:linear-gradient(90deg,rgba(3,17,33,.94) 0%,rgba(3,17,33,.78) 48%,rgba(3,17,33,.34) 100%),url("https://images.unsplash.com/photo-1517048676732-d65bc937f952?auto=format&fit=crop&fm=webp&w=1920&q=68")}
.page-hero-fer .page-hero-bg{background-image:linear-gradient(90deg,rgba(3,17,33,.95) 0%,rgba(3,17,33,.78) 48%,rgba(3,17,33,.32) 100%),url("https://unsplash.com/photos/lp6CBQSr1Ek/download?force=true");background-position:center 58%}

.company-story-composition{display:block;min-height:560px;background:var(--navy);position:relative;box-shadow:0 28px 65px rgba(7,27,50,.16);overflow:visible}
.company-story-composition:before{content:"";position:absolute;left:0;top:0;width:6px;height:100%;background:var(--gold);z-index:4}
.company-story-photo,.company-story-photo img{min-height:560px;width:100%;height:100%}
.company-story-photo img{display:block;object-fit:cover;filter:saturate(.76) contrast(1.06);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .9s ease}
.company-story-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,27,51,.08),rgba(9,27,51,.24))}
.company-story-composition:hover .company-story-photo img{transform:scale(1.045);filter:saturate(.95) contrast(1.08)}
.company-story-caption{right:24px;bottom:24px}

.services-intro-section{background:#fff}
.service-summary-band{background:var(--navy);position:relative;overflow:hidden}
.service-summary-band:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1px);background-size:26px 26px;opacity:.16}
.service-summary-band .container-xxl{position:relative;z-index:2}
.service-summary-band .section-title span{color:var(--gold)}
.service-band-copy{line-height:1.8}
.service-band-card{background:#fff;padding:1.7rem;border-left:4px solid var(--gold);display:flex;flex-direction:column;gap:1rem;box-shadow:0 20px 45px rgba(0,0,0,.18)}
.service-band-card span{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.72rem;font-weight:700;margin-bottom:.3rem}
.service-band-card strong{display:block;color:var(--navy);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:2.15rem;line-height:1}
.services-cta{padding:100px 0}

.fer-intro-section{background:#fff}
.fer-highlight{display:flex;gap:1rem;align-items:flex-start;margin-top:1.8rem;padding:1.2rem 1.3rem;background:#f5f7f9;border-left:4px solid var(--gold)}
.fer-highlight i{font-size:1.55rem;color:var(--blue)}
.fer-highlight span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--muted);font-weight:700;margin-bottom:.15rem}
.fer-highlight strong{display:block;color:var(--navy);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.35rem;line-height:1.08}
.fer-intro-visual{position:relative;min-height:540px;background:var(--navy);overflow:hidden}
.fer-intro-visual img{width:100%;height:540px;object-fit:cover;filter:saturate(.82) contrast(1.04)}
.fer-intro-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,27,50,.76),transparent 55%)}
.fer-intro-card{position:absolute;left:26px;right:26px;bottom:26px;z-index:2;background:rgba(9,27,51,.92);color:#fff;padding:1.15rem 1.25rem;border-left:4px solid var(--gold)}
.fer-intro-card span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--blue);font-weight:700;margin-bottom:.3rem}
.fer-intro-card strong{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.6rem;line-height:1.06}

.fer-materials-section{background:#f5f7f9}
.fer-material-card{height:100%;min-height:220px;background:#fff;padding:1.55rem;border-top:4px solid var(--navy);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.fer-material-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px rgba(7,27,50,.10);border-color:var(--gold)}
.fer-material-card i{font-size:1.9rem;color:var(--blue);display:block;margin-bottom:1rem}
.fer-material-card h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.85rem;color:var(--navy);margin-bottom:.65rem}
.fer-material-card p{margin:0;color:var(--muted);line-height:1.65}

.fer-process-section{background:var(--navy);position:relative;overflow:hidden}
.fer-process-section:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:24px 24px;opacity:.16}
.fer-process-section .section-title span{color:var(--gold)}
.fer-step-card{height:100%;min-height:250px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);padding:1.6rem;color:#fff;position:relative}
.fer-step-card>span{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);font-family:"Barlow Condensed",sans-serif;font-weight:800;border-radius:50%;margin-bottom:1.2rem}
.fer-step-card h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.62rem;line-height:1.03;margin-bottom:.9rem}
.fer-step-card p{color:rgba(255,255,255,.65);line-height:1.7;margin:0}

.fer-benefits-section{background:#fff}
.fer-benefits-visual{min-height:560px;background:var(--navy);overflow:hidden}
.fer-benefits-visual img{width:100%;height:560px;object-fit:cover;filter:saturate(.8);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .9s ease}
.fer-benefits-visual:hover img{transform:scale(1.045);filter:saturate(1)}
.fer-benefits-list{display:flex;flex-direction:column;gap:.9rem;margin-top:1.5rem}
.fer-benefit-item{display:flex;gap:.95rem;align-items:flex-start;padding:1rem 0;border-bottom:1px solid #e1e6eb}
.fer-benefit-item:last-child{border-bottom:0}
.fer-benefit-item i{font-size:1.3rem;color:var(--gold);margin-top:.15rem}
.fer-benefit-item strong{display:block;color:var(--navy);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.35rem;line-height:1.05;margin-bottom:.15rem}
.fer-benefit-item span{display:block;color:var(--muted);line-height:1.7}
.fer-cta{padding:100px 0}

@media (max-width:991.98px){
  .service-band-card{padding:1.4rem}
  .fer-intro-visual,.fer-intro-visual img,.fer-benefits-visual,.fer-benefits-visual img{min-height:460px;height:460px}
}
@media (max-width:767.98px){
  .company-story-composition,.company-story-photo,.company-story-photo img{min-height:420px}
  .company-story-caption{left:18px;right:18px;bottom:18px;max-width:none}
  .services-cta,.fer-cta{padding:80px 0}
  .fer-intro-visual,.fer-intro-visual img,.fer-benefits-visual,.fer-benefits-visual img{min-height:380px;height:380px}
  .fer-material-card{min-height:200px}
  .fer-step-card{min-height:220px}
}

/* ===== V14 local SEO + zones d'intervention ===== */
.company-menu{min-width:255px}
.footer-address{font-style:normal;color:rgba(255,255,255,.62);font-size:.86rem;line-height:1.65}
.footer-address strong{color:#fff;font-weight:600}
.footer-map-link{font-size:.82rem!important}

.service-local-seo-section{background:#f5f7f9}
.service-local-cities{background:var(--navy);color:#fff;padding:1.5rem;display:grid;grid-template-columns:54px 1fr;gap:0;border-top:4px solid var(--gold);box-shadow:0 18px 42px rgba(7,27,50,.12)}
.service-local-cities span,.service-local-cities strong{padding:.9rem .55rem;border-bottom:1px solid rgba(255,255,255,.1)}
.service-local-cities span:nth-last-child(-n+2),.service-local-cities strong:nth-last-child(-n+2){border-bottom:0}
.service-local-cities span{font-family:"Barlow Condensed",sans-serif;font-size:1.55rem;font-weight:800;color:var(--gold)}
.service-local-cities strong{font-size:.9rem;line-height:1.55;font-weight:600;color:rgba(255,255,255,.86)}

.page-hero-zones .page-hero-bg{background-image:linear-gradient(90deg,rgba(3,17,33,.95) 0%,rgba(3,17,33,.78) 48%,rgba(3,17,33,.34) 100%),url("https://images.unsplash.com/photo-1531834685032-c34bf0d84c77?auto=format&fit=crop&fm=webp&w=1920&q=68")}
.zones-anchor-section{background:#fff}
.zones-map-card{background:var(--navy);box-shadow:0 24px 55px rgba(7,27,50,.16);overflow:hidden}
.zones-map-heading{padding:1.35rem 1.5rem;color:#fff;border-left:4px solid var(--gold)}
.zones-map-heading span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--blue);font-weight:700;margin-bottom:.35rem}
.zones-map-heading strong{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.75rem;line-height:1.05}
.zones-map-frame{height:390px;position:relative;background:#dde4e9}
.zones-map-frame iframe{width:100%;height:100%;border:0;pointer-events:none;filter:saturate(.8) contrast(1.03)}
.zones-map-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:linear-gradient(to top,rgba(3,17,33,.62),transparent 44%)}
.zones-map-overlay span{display:inline-flex;align-items:center;gap:.55rem;background:var(--gold);color:var(--navy);padding:.75rem 1rem;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:800;letter-spacing:.04em;transition:transform .25s ease,background .25s ease}
.zones-map-overlay:hover span{transform:translateY(-4px);background:#ffd958}

.zones-departments-section{background:#f5f7f9}
.zone-department-card{height:100%;min-height:470px;background:#fff;padding:2rem;border-top:5px solid var(--navy);position:relative;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.zone-department-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(7,27,50,.10);border-color:var(--gold)}
.zone-department-number{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:4rem;line-height:.9;color:var(--gold);margin-bottom:.55rem}
.zone-department-name{display:block;color:var(--blue);font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;margin-bottom:1rem}
.zone-department-card h2{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;color:var(--navy);font-size:2rem;line-height:1.02;margin-bottom:1rem}
.zone-department-card p{color:var(--muted);line-height:1.72}
.zone-city-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.zone-city-list span{display:inline-flex;padding:.48rem .62rem;background:#f1f4f6;color:var(--navy);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;font-size:.86rem;letter-spacing:.035em;border-left:2px solid var(--blue)}

.zones-services-section{background:#fff}
.zones-service-links{border-top:1px solid #dfe5ea}
.zones-service-links a{display:grid;grid-template-columns:44px 1fr 30px;align-items:center;gap:.8rem;padding:1rem 0;border-bottom:1px solid #dfe5ea;color:var(--navy);transition:padding .2s ease,color .2s ease}
.zones-service-links a:hover{padding-left:.5rem;color:var(--blue)}
.zones-service-links span{font-family:"Barlow Condensed",sans-serif;color:var(--gold);font-weight:800}
.zones-service-links strong{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.35rem;letter-spacing:.02em}
.zones-service-links i{text-align:right}
.zones-cta{padding:100px 0}

@media (max-width:991.98px){
  .zones-map-frame{height:340px}
  .zone-department-card{min-height:0}
}
@media (max-width:767.98px){
  .zones-map-frame{height:300px}
  .zones-cta{padding:80px 0}
  .service-local-cities{grid-template-columns:48px 1fr;padding:1.1rem}
}



/* ===== V17 — Page service VHU ===== */
.page-hero-vhu .page-hero-bg{
  background-image:linear-gradient(90deg,rgba(3,17,33,.96) 0%,rgba(3,17,33,.80) 48%,rgba(3,17,33,.34) 100%),url("https://unsplash.com/photos/A0UcY_adDuA/download?force=true");
  background-position:center 50%;
}

.vhu-intro-section{background:#fff}
.vhu-highlight{display:flex;gap:1rem;align-items:flex-start;margin-top:1.8rem;padding:1.25rem 1.35rem;background:#f5f7f9;border-left:4px solid var(--gold)}
.vhu-highlight i{font-size:1.6rem;color:var(--blue)}
.vhu-highlight span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--muted);font-weight:700;margin-bottom:.18rem}
.vhu-highlight strong{display:block;color:var(--navy);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.35rem;line-height:1.08}
.vhu-intro-visual{position:relative;min-height:540px;background:var(--navy);overflow:hidden}
.vhu-intro-visual img{width:100%;height:540px;object-fit:cover;filter:saturate(.8) contrast(1.04);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .9s ease}
.vhu-intro-visual:hover img{transform:scale(1.045);filter:saturate(.95) contrast(1.07)}
.vhu-intro-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,27,50,.82),transparent 56%)}
.vhu-intro-card{position:absolute;left:26px;right:26px;bottom:26px;z-index:2;background:rgba(9,27,51,.93);color:#fff;padding:1.15rem 1.25rem;border-left:4px solid var(--gold)}
.vhu-intro-card span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--blue);font-weight:700;margin-bottom:.3rem}
.vhu-intro-card strong{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.5rem;line-height:1.08}

.vhu-benefits-section{background:#f5f7f9}
.vhu-benefit-card{height:100%;min-height:300px;background:#fff;padding:1.8rem;border-top:4px solid var(--navy);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.vhu-benefit-card:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(7,27,50,.10);border-color:var(--gold)}
.vhu-benefit-card i{display:block;font-size:2.05rem;color:var(--blue);margin:.4rem 0 2.2rem}
.vhu-benefit-card h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:2rem;color:var(--navy);line-height:1;margin-bottom:.8rem}
.vhu-benefit-card p{color:var(--muted);line-height:1.7;margin:0}

.vhu-process-section{background:var(--navy);position:relative;overflow:hidden}
.vhu-process-section:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1px);background-size:24px 24px;opacity:.17}
.vhu-process-section .container-xxl{position:relative;z-index:2}
.vhu-process-section .section-title span{color:var(--gold)}
.vhu-step-card{height:100%;min-height:300px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.10);padding:1.6rem;color:#fff;position:relative}
.vhu-step-card>span{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);font-family:"Barlow Condensed",sans-serif;font-weight:800;border-radius:50%;margin-bottom:1.4rem}
.vhu-step-card i{display:block;font-size:1.9rem;color:var(--blue);margin-bottom:1rem}
.vhu-step-card h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.55rem;line-height:1.05;margin-bottom:.85rem}
.vhu-step-card p{color:rgba(255,255,255,.66);line-height:1.68;margin:0}

.vhu-docs-section{background:#fff}
.vhu-docs-list{display:flex;flex-direction:column;margin-top:1.3rem;border-top:1px solid #dde3e8}
.vhu-doc-item{display:flex;gap:1rem;align-items:flex-start;padding:1.15rem 0;border-bottom:1px solid #dde3e8}
.vhu-doc-item i{font-size:1.45rem;color:var(--blue);margin-top:.15rem}
.vhu-doc-item strong{display:block;color:var(--navy);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.35rem;line-height:1.05;margin-bottom:.15rem}
.vhu-doc-item span{display:block;color:var(--muted);line-height:1.65}
.vhu-doc-note{display:flex;gap:.9rem;margin-top:1.4rem;padding:1rem 1.1rem;background:#f5f7f9;border-left:4px solid var(--gold)}
.vhu-doc-note i{font-size:1.25rem;color:var(--blue)}
.vhu-doc-note p{margin:0;color:#44515c;line-height:1.7}
.vhu-docs-visual{position:relative;min-height:590px;background:var(--navy);overflow:hidden}
.vhu-docs-visual img{width:100%;height:590px;object-fit:cover;filter:saturate(.78) contrast(1.04)}
.vhu-docs-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,27,50,.72),transparent 58%)}
.vhu-certificate-box{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;display:flex;gap:1rem;align-items:flex-start;background:#fff;padding:1.2rem 1.3rem;border-left:4px solid var(--gold);box-shadow:0 20px 45px rgba(0,0,0,.16)}
.vhu-certificate-box i{font-size:1.7rem;color:var(--blue)}
.vhu-certificate-box span{display:block;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-size:.7rem;font-weight:700;margin-bottom:.2rem}
.vhu-certificate-box strong{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;color:var(--navy);font-size:1.42rem;line-height:1.05}

.vhu-circular-section{background:#f5f7f9}
.vhu-circular-intro{max-width:1180px}
.vhu-circular-intro .lead-copy{max-width:1050px}
.vhu-circular-intro p:not(.lead-copy){max-width:1180px;color:#44515c;line-height:1.75}
.vhu-circular-content{display:flex;flex-direction:column;justify-content:center}
.vhu-circular-visual{min-height:500px;background:var(--navy);overflow:hidden}
.vhu-circular-visual img{width:100%;height:100%;min-height:500px;object-fit:cover;filter:saturate(.78);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .9s ease}
.vhu-circular-visual:hover img{transform:scale(1.045);filter:saturate(.96)}
.vhu-circular-points{display:flex;flex-direction:column;gap:.8rem;margin-top:1.7rem}
.vhu-circular-points div{display:flex;gap:.75rem;align-items:flex-start;color:#44515c}
.vhu-circular-points i{color:var(--gold);font-size:1.3rem;line-height:1.2}
.vhu-circular-points span{line-height:1.6}
.vhu-cta{padding:100px 0}

@media (max-width:991.98px){
  .vhu-intro-visual,.vhu-intro-visual img{min-height:460px;height:460px}
  .vhu-circular-visual,.vhu-circular-visual img{min-height:440px;height:440px}
  .vhu-docs-visual,.vhu-docs-visual img{min-height:500px;height:500px}
}
@media (max-width:767.98px){
  .vhu-intro-visual,.vhu-intro-visual img{min-height:380px;height:380px}
  .vhu-circular-visual,.vhu-circular-visual img{min-height:360px;height:360px}
  .vhu-docs-visual,.vhu-docs-visual img{min-height:430px;height:430px}
  .vhu-benefit-card{min-height:250px}
  .vhu-step-card{min-height:250px}
  .vhu-cta{padding:80px 0}
}




/* ===== V18 — Page Éco-organismes ===== */
.page-hero-eco .page-hero-bg{
  background-image:linear-gradient(90deg,rgba(3,17,33,.96) 0%,rgba(3,17,33,.80) 48%,rgba(3,17,33,.38) 100%),url("https://unsplash.com/photos/qcbIqgSY6Io/download?force=true");
  background-position:center 52%;
}
.page-hero-eco .page-hero-stamp strong{font-size:4.8rem;color:var(--gold);line-height:1;margin:.65rem 0}
.page-hero-eco .page-hero-stamp strong i{display:block}

.eco-intro-section{background:#fff}
.eco-highlight{display:flex;gap:1rem;align-items:flex-start;margin-top:1.8rem;padding:1.25rem 1.35rem;background:#f5f7f9;border-left:4px solid var(--gold)}
.eco-highlight i{font-size:1.6rem;color:var(--blue)}
.eco-highlight span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--muted);font-weight:700;margin-bottom:.18rem}
.eco-highlight strong{display:block;color:var(--navy);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.32rem;line-height:1.08}
.eco-intro-visual{position:relative;min-height:550px;background:var(--navy);overflow:hidden}
.eco-intro-visual img{width:100%;height:550px;object-fit:cover;filter:saturate(.78) contrast(1.04);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .9s ease}
.eco-intro-visual:hover img{transform:scale(1.045);filter:saturate(.96) contrast(1.06)}
.eco-intro-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,27,50,.82),transparent 58%)}
.eco-intro-card{position:absolute;left:26px;right:26px;bottom:26px;z-index:2;background:rgba(9,27,51,.94);color:#fff;padding:1.2rem 1.3rem;border-left:4px solid var(--gold)}
.eco-intro-card span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--blue);font-weight:700;margin-bottom:.28rem}
.eco-intro-card strong{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.55rem;line-height:1.07}

.eco-partners-section{background:#f5f7f9}
.eco-partner-card{height:100%;background:#fff;padding:2rem;border-top:5px solid var(--navy);box-shadow:0 18px 40px rgba(7,27,50,.06);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.eco-partner-card:hover{transform:translateY(-6px);box-shadow:0 24px 55px rgba(7,27,50,.11);border-color:var(--gold)}
.eco-partner-head{display:flex;align-items:center;gap:1rem;padding-bottom:1.35rem;margin-bottom:1.35rem;border-bottom:1px solid #e0e5e9}
.eco-partner-icon{width:58px;height:58px;flex:0 0 58px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--gold);font-size:1.65rem}
.eco-partner-type{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-size:.69rem;font-weight:800;margin-bottom:.25rem}
.eco-partner-card h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;color:var(--navy);font-size:2.35rem;line-height:.95;margin:0}
.eco-partner-card>p{color:var(--muted);line-height:1.75}
.eco-partner-list{list-style:none;padding:0;margin:1.5rem 0 1.8rem;border-top:1px solid #e2e7eb}
.eco-partner-list li{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem 0;border-bottom:1px solid #e2e7eb;color:#44515c;line-height:1.5}
.eco-partner-list i{color:var(--gold);font-size:1.15rem;line-height:1.35}
.eco-partner-actions{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
.eco-external-link{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:.045em;color:var(--blue)}
.eco-external-link:hover{color:var(--navy)}
.eco-external-link i{margin-left:.35rem}

.eco-benefits-section{background:var(--navy);position:relative;overflow:hidden}
.eco-benefits-section:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1px);background-size:25px 25px;opacity:.17}
.eco-benefits-section .container-xxl{position:relative;z-index:2}
.eco-benefits-section .section-title span{color:var(--gold)}
.eco-benefit-card{height:100%;min-height:300px;padding:1.7rem;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.10);color:#fff;position:relative;transition:transform .3s ease,border-color .3s ease,background .3s ease}
.eco-benefit-card:hover{transform:translateY(-5px);border-color:rgba(244,198,45,.65);background:rgba(255,255,255,.055)}
.eco-benefit-card>span{position:absolute;right:1.35rem;top:1.15rem;font-family:"Barlow Condensed",sans-serif;font-weight:800;color:rgba(255,255,255,.28);font-size:1.2rem}
.eco-benefit-card i{display:block;color:var(--blue);font-size:2rem;margin:1rem 0 2.1rem}
.eco-benefit-card h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.9rem;line-height:1;margin-bottom:.75rem}
.eco-benefit-card p{color:rgba(255,255,255,.65);line-height:1.7;margin:0}

.eco-circular-section{background:#fff}
.eco-circular-visual{min-height:570px;background:var(--navy);overflow:hidden}
.eco-circular-visual img{width:100%;height:570px;object-fit:cover;filter:saturate(.78) contrast(1.04);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .9s ease}
.eco-circular-visual:hover img{transform:scale(1.045);filter:saturate(.96) contrast(1.06)}
.eco-circular-links{border-top:1px solid #dfe5e9}
.eco-circular-links a{display:flex;align-items:center;gap:.75rem;padding:.9rem 0;border-bottom:1px solid #dfe5e9;color:var(--navy);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;font-size:1.08rem;letter-spacing:.025em;transition:padding .2s ease,color .2s ease}
.eco-circular-links a:hover{padding-left:.4rem;color:var(--blue)}
.eco-circular-links i{color:var(--gold)}

.eco-local-section{padding:100px 0;background:linear-gradient(110deg,#06172a 0%,#0b2c52 100%);color:#fff;position:relative;overflow:hidden}
.eco-local-section:after{content:"28  ·  78  ·  27";position:absolute;right:-2vw;bottom:-5vw;font-family:"Barlow Condensed",sans-serif;font-size:13vw;font-weight:800;color:rgba(255,255,255,.025);white-space:nowrap}
.eco-local-section h2{font-family:"Barlow Condensed",sans-serif;font-size:clamp(3.4rem,6vw,6.4rem);font-weight:800;text-transform:uppercase;line-height:.9;letter-spacing:-.025em;margin:0 0 1.3rem}
.eco-local-section h2>span:not(.text-nowrap){color:var(--gold)}
.eco-local-section p{color:rgba(255,255,255,.68);font-size:1.05rem;line-height:1.75;max-width:720px}
.eco-local-card{background:#fff;color:var(--ink);padding:2rem;border-top:5px solid var(--gold);box-shadow:0 25px 50px rgba(0,0,0,.22)}
.eco-local-card>i{font-size:2rem;color:var(--blue);display:block;margin-bottom:1rem}
.eco-local-card>span{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.72rem;font-weight:700;margin-bottom:.4rem}
.eco-local-card>strong{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.9rem;line-height:1.08;color:var(--navy)}
.eco-local-card p{color:var(--muted);font-size:.95rem;line-height:1.65}
.eco-cta{padding:100px 0}

@media (max-width:991.98px){
  .eco-intro-visual,.eco-intro-visual img,.eco-circular-visual,.eco-circular-visual img{min-height:470px;height:470px}
  .eco-local-section{padding:85px 0}
}
@media (max-width:767.98px){
  .eco-intro-visual,.eco-intro-visual img,.eco-circular-visual,.eco-circular-visual img{min-height:390px;height:390px}
  .eco-benefit-card{min-height:245px}
  .eco-partner-card{padding:1.5rem}
  .eco-local-section{padding:75px 0}
  .eco-cta{padding:80px 0}
}



/* ===== V19 — Contact & Devis ===== */
.page-hero-contact .page-hero-bg{
  background-image:linear-gradient(90deg,rgba(3,17,33,.96) 0%,rgba(3,17,33,.80) 48%,rgba(3,17,33,.38) 100%),url("https://images.unsplash.com/photo-1581092160607-ee22621dd758?auto=format&fit=crop&fm=webp&w=1920&q=68");
  background-position:center 50%;
}
.page-hero-devis .page-hero-bg{
  background-image:linear-gradient(90deg,rgba(3,17,33,.96) 0%,rgba(3,17,33,.82) 48%,rgba(3,17,33,.36) 100%),url("https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&fm=webp&w=1920&q=68");
  background-position:center 48%;
}

.contact-intro-section{background:#fff}
.contact-info-card{height:100%;min-height:215px;background:#f5f7f9;padding:1.55rem;display:flex;flex-direction:column;align-items:flex-start;border-top:4px solid var(--navy);color:var(--ink);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.contact-info-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(7,27,50,.09);border-color:var(--gold);color:var(--ink)}
.contact-info-card i{font-size:1.8rem;color:var(--blue);margin-bottom:1.2rem}
.contact-info-card>span{text-transform:uppercase;letter-spacing:.11em;font-size:.7rem;color:var(--muted);font-weight:800;margin-bottom:.35rem}
.contact-info-card strong{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.75rem;line-height:1.02;color:var(--navy);margin-bottom:.45rem}
.contact-info-card small{color:var(--muted);line-height:1.5}
.contact-info-card-accent{background:var(--navy);border-top-color:var(--gold);color:#fff}
.contact-info-card-accent:hover{color:#fff}
.contact-info-card-accent i{color:var(--gold)}
.contact-info-card-accent>span{color:rgba(255,255,255,.55)}
.contact-info-card-accent strong{color:#fff}
.contact-info-card-accent small{color:rgba(255,255,255,.65)}

.contact-main-section{background:#f5f7f9}
.contact-form-wrap,.devis-form-wrap{background:#fff;padding:2.2rem;box-shadow:0 18px 45px rgba(7,27,50,.07)}
.contact-form-title{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:clamp(2.7rem,5vw,4.6rem);line-height:.9;color:var(--navy);margin:0 0 1.1rem}
.contact-form-intro{color:var(--muted);line-height:1.75;max-width:760px;margin-bottom:1.8rem}
.rem-form .form-label{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.045em;font-weight:700;color:var(--navy);font-size:.98rem;margin-bottom:.45rem}
.rem-form .form-control,.rem-form .form-select{border-radius:0;border:1px solid #d6dde3;padding:.84rem .9rem;box-shadow:none;color:var(--ink);background-color:#fff}
.rem-form .form-control:focus,.rem-form .form-select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(3,151,232,.10)}
.rem-form textarea.form-control{resize:vertical;min-height:150px}
.rem-form-check{font-size:.9rem;color:var(--muted)}
.rem-form-check .form-check-input{border-radius:2px;margin-top:.2rem}
.rem-form-check .form-check-input:checked{background-color:var(--blue);border-color:var(--blue)}
.form-required-note{font-size:.82rem;color:var(--muted)}

.contact-side-card{background:var(--navy);color:#fff;padding:2rem;border-top:5px solid var(--gold)}
.contact-side-card .section-kicker{color:var(--blue)}
.contact-side-card h2{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:2.8rem;line-height:.93;margin:0 0 1.1rem}
.contact-side-card p{color:rgba(255,255,255,.66);line-height:1.75}
.contact-side-address{display:flex;gap:.9rem;align-items:flex-start;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12);margin-top:1.25rem}
.contact-side-address i{font-size:1.45rem;color:var(--gold)}
.contact-side-address strong{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.3rem;margin-bottom:.25rem}
.contact-side-address span{display:block;color:rgba(255,255,255,.65);line-height:1.55}
.contact-map{height:350px;background:#dfe5ea;overflow:hidden}
.contact-map iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.8) contrast(1.02)}

.contact-services-section{background:#fff}
.contact-service-links{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #dfe5ea;border-left:1px solid #dfe5ea}
.contact-service-links a{min-height:180px;padding:1.2rem;display:flex;flex-direction:column;justify-content:flex-end;position:relative;border-right:1px solid #dfe5ea;border-bottom:1px solid #dfe5ea;color:var(--ink);transition:background .3s ease,color .3s ease}
.contact-service-links a:hover{background:var(--navy);color:#fff}
.contact-service-links span{display:block;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-size:.67rem;font-weight:800;margin-bottom:.35rem}
.contact-service-links strong{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.5rem;line-height:1.02}
.contact-service-links i{position:absolute;top:1rem;right:1rem;color:var(--gold);font-size:1.1rem;transition:transform .3s ease}
.contact-service-links a:hover i{transform:translate(3px,-3px)}

.devis-intro-section{background:#fff}
.devis-tips{display:flex;flex-direction:column;gap:.8rem;margin-top:1.5rem}
.devis-tips div{display:flex;gap:.7rem;align-items:flex-start;color:#44515c}
.devis-tips i{color:var(--gold);font-size:1.2rem;margin-top:.1rem}
.devis-reassurance{background:var(--navy);color:#fff;padding:2.1rem;border-left:5px solid var(--gold);position:relative;overflow:hidden}
.devis-reassurance:after{content:"REM";position:absolute;right:-.4rem;bottom:-1.3rem;font-family:"Barlow Condensed",sans-serif;font-size:8rem;font-weight:800;color:rgba(255,255,255,.035)}
.devis-reassurance>span{display:block;text-transform:uppercase;letter-spacing:.11em;color:var(--blue);font-size:.72rem;font-weight:800;margin-bottom:.45rem;position:relative;z-index:1}
.devis-reassurance>strong{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:2.4rem;line-height:.98;margin-bottom:1rem;position:relative;z-index:1}
.devis-reassurance p{color:rgba(255,255,255,.66);line-height:1.75;margin:0;position:relative;z-index:1}

.devis-form-section{background:#f5f7f9}
.devis-fieldset{border:0;padding:0;margin:0 0 2.2rem}
.devis-fieldset legend{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;color:var(--navy);font-weight:800;font-size:1.55rem;border-bottom:1px solid #dfe5ea;padding-bottom:.55rem;margin-bottom:1rem}
.devis-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.devis-choice{cursor:pointer;margin:0}
.devis-choice input{position:absolute;opacity:0;pointer-events:none}
.devis-choice span{display:flex;min-height:84px;align-items:center;justify-content:center;gap:.55rem;text-align:center;border:1px solid #d7dee4;background:#fff;padding:.7rem;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;color:var(--navy);transition:all .2s ease}
.devis-choice i{color:var(--blue);font-size:1.15rem}
.devis-choice input:checked+span{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:inset 0 -4px 0 var(--gold)}
.devis-choice input:checked+span i{color:var(--gold)}
.devis-choice input:focus-visible+span{outline:3px solid rgba(3,151,232,.28);outline-offset:2px}
.devis-side{display:flex;flex-direction:column;gap:12px;position:sticky;top:110px}
.devis-side-block{background:#fff;padding:1.5rem;border-top:4px solid var(--navy);box-shadow:0 14px 34px rgba(7,27,50,.06)}
.devis-side-block>i{display:block;font-size:1.6rem;color:var(--blue);margin-bottom:1rem}
.devis-side-block>span{display:block;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.69rem;font-weight:800;margin-bottom:.3rem}
.devis-side-block>strong{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;color:var(--navy);font-size:1.75rem;line-height:1.04;margin-bottom:.35rem}
.devis-side-block>small{color:var(--muted);line-height:1.6}
.devis-side-block>a{display:inline-flex;align-items:center;gap:.4rem;margin-top:.7rem;color:var(--blue);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:.05em}
.devis-side-block>a:hover{color:var(--navy)}
.devis-side-services{background:var(--navy);border-top-color:var(--gold);color:#fff}
.devis-side-services>i{color:var(--gold)}
.devis-side-services>span{color:rgba(255,255,255,.55)}
.devis-side-services ul{list-style:none;padding:0;margin:.8rem 0 0}
.devis-side-services li{padding:.55rem 0;border-top:1px solid rgba(255,255,255,.10);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1rem;color:rgba(255,255,255,.8)}
.devis-bottom-band{padding:75px 0;background:linear-gradient(110deg,#06172a 0%,#0b2c52 100%);color:#fff}
.devis-bottom-band h2{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:clamp(2.6rem,5vw,4.6rem);line-height:.92;margin:0 0 .8rem}
.devis-bottom-band p{color:rgba(255,255,255,.65);margin:0;line-height:1.7}

@media (max-width:1199.98px){
  .contact-service-links{grid-template-columns:repeat(3,1fr)}
  .devis-side{position:static}
}
@media (max-width:991.98px){
  .contact-form-wrap,.devis-form-wrap{padding:1.7rem}
  .contact-map{height:300px}
  .devis-choice-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:767.98px){
  .contact-info-card{min-height:180px}
  .contact-form-wrap,.devis-form-wrap{padding:1.25rem}
  .contact-side-card{padding:1.5rem}
  .contact-side-card h2{font-size:2.3rem}
  .contact-service-links{grid-template-columns:1fr}
  .contact-service-links a{min-height:130px}
  .devis-choice-grid{grid-template-columns:1fr 1fr}
  .devis-choice span{min-height:72px}
  .devis-bottom-band{padding:60px 0}
}



/* Bas de page alimenté par les réglages généraux (horaires, e-mail, réseaux sociaux) : affiché seulement si renseigné */
.footer-hours{color:rgba(255,255,255,.62);font-size:.86rem;line-height:1.6}
.footer-hours .footer-title{margin-bottom:.5rem}
.footer-hours li{display:flex;justify-content:space-between;gap:1rem;max-width:22rem}
.footer-hours li span:first-child{color:#fff;font-weight:500}
.footer-mail{color:rgba(255,255,255,.75)!important;font-size:.92rem;overflow-wrap:anywhere}
.footer-mail:hover{color:var(--gold)!important}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;font-size:1rem;transition:color .2s,border-color .2s}
.footer-social a:hover{color:var(--gold);border-color:var(--gold)}

/* Captcha IconCaptcha (formulaire de contact) : le titre français est plus long que l'anglais d'origine ; sur mobile, le widget (330 px) sort dans les marges de la carte */
.contact-captcha .iconcaptcha-widget.iconcaptcha-init .iconcaptcha-modal__body-title,.contact-captcha .iconcaptcha-widget.iconcaptcha-success .iconcaptcha-modal__body-title{font-size:13px;padding-right:10px}
@media(max-width:575px){.contact-captcha-zone{margin-left:-1.25rem;margin-right:-1.25rem;padding:0 .25rem;overflow-x:auto}.contact-captcha-zone .iconcaptcha-widget{margin-left:auto;margin-right:auto}}

/* Devis : liste des pièces jointes retenues (assets/js/devis-fichiers.js) */
.devis-fichiers{margin-top:.5rem;font-size:.9rem}
.devis-fichiers-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.devis-fichiers-liste li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .7rem;border:1px solid #d6dde3;background:#f7f9fb;overflow-wrap:anywhere}
.devis-fichier-retirer{border:0;background:transparent;font-size:1.35rem;line-height:1;color:#b42318;cursor:pointer;padding:0 .3rem}
.devis-fichier-retirer:hover{color:#7a1710}
.devis-fichiers-erreurs{list-style:none;margin:0 0 .5rem;padding:0;color:#b42318}

/* ===== Économie circulaire — réemploi / éco-organismes ===== */
.commitment-partners{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.commitment-partner-card{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:1.15rem 1.2rem;
  background:#fff;
  border:1px solid #dde3e8;
  border-left:4px solid var(--gold);
  color:var(--ink);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.commitment-partner-card:hover{
  color:var(--ink);
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(7,27,50,.09);
  border-left-color:var(--blue);
}
.commitment-partner-card>i{
  flex:0 0 auto;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--navy);
  color:var(--gold);
  font-size:1.25rem;
}
.commitment-partner-card span{
  display:block;
  color:var(--blue);
  font-family:"Barlow Condensed",sans-serif;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.86rem;
  margin-bottom:.12rem;
}
.commitment-partner-card strong{
  display:block;
  color:var(--navy);
  font-family:"Barlow Condensed",sans-serif;
  text-transform:uppercase;
  font-size:1.2rem;
  line-height:1.05;
  margin-bottom:.4rem;
}
.commitment-partner-card p{
  margin:0;
  color:var(--muted);
  font-size:.91rem;
  line-height:1.55;
}

.eco-partner-card[id]{
  scroll-margin-top:130px;
}
.eco-partner-callout{
  display:flex;
  gap:.9rem;
  align-items:flex-start;
  margin:1.25rem 0 1.4rem;
  padding:1rem 1.05rem;
  background:#f5f7f9;
  border-left:4px solid var(--gold);
}
.eco-partner-callout>i{
  color:var(--blue);
  font-size:1.35rem;
  line-height:1.1;
  margin-top:.1rem;
}
.eco-partner-callout span{
  display:block;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.68rem;
  font-weight:800;
  margin-bottom:.2rem;
}
.eco-partner-callout strong{
  display:block;
  color:var(--navy);
  font-family:"Barlow Condensed",sans-serif;
  text-transform:uppercase;
  font-size:1.16rem;
  line-height:1.12;
}
.eco-partner-callout-ess{
  background:#f1f8f4;
  border-left-color:#24a66a;
}

.vhu-rep-note{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  margin:1.6rem 0 .3rem;
  padding:1.15rem 1.25rem;
  background:#fff;
  border-left:4px solid var(--gold);
  box-shadow:0 12px 30px rgba(7,27,50,.06);
}
.vhu-rep-note>i{
  color:var(--blue);
  font-size:1.5rem;
  line-height:1.1;
  margin-top:.1rem;
}
.vhu-rep-note span{
  display:block;
  color:var(--blue);
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.7rem;
  font-weight:800;
  margin-bottom:.25rem;
}
.vhu-rep-note strong{
  display:block;
  color:var(--navy);
  font-family:"Barlow Condensed",sans-serif;
  text-transform:uppercase;
  font-size:1.28rem;
  line-height:1.08;
}
.vhu-rep-note p{
  color:var(--muted);
  line-height:1.6;
  margin:.55rem 0 0;
  font-size:.93rem;
}

@media (max-width:575.98px){
  .commitment-partner-card{padding:1rem;gap:.8rem}
  .commitment-partner-card>i{width:40px;height:40px}
  .commitment-partner-card strong{font-size:1.08rem}
  .vhu-rep-note{padding:1rem}
}


/* ===== V20 — Entreprise : transmission familiale, équipe & spectrométrie ===== */
.company-family-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.company-family-card{
  position:relative;
  height:100%;
  padding:1.7rem 1.7rem 1.8rem;
  background:#fff;
  border-top:4px solid var(--navy);
  box-shadow:0 16px 38px rgba(7,27,50,.07);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.company-family-card:hover{
  transform:translateY(-5px);
  box-shadow:0 24px 50px rgba(7,27,50,.11);
  border-color:var(--gold);
}
.company-family-card>i{
  display:block;
  color:var(--blue);
  font-size:1.9rem;
  margin-bottom:1.25rem;
}
.company-family-card>span{
  display:block;
  margin-bottom:.4rem;
  color:var(--blue);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.company-family-card h3{
  margin:0 0 .85rem;
  color:var(--navy);
  font-family:"Barlow Condensed",sans-serif;
  font-size:1.7rem;
  font-weight:800;
  line-height:1.05;
  text-transform:uppercase;
}
.company-family-card p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}

.spectro-box-detailed{
  padding:1.45rem 1.5rem;
}
.spectro-box-detailed>i{
  flex:0 0 auto;
  margin-top:.15rem;
  font-size:1.7rem;
}
.spectro-box-detailed strong{
  font-size:1.5rem;
  line-height:1.05;
}
.spectro-box-detailed p{
  margin:.8rem 0 .75rem;
  color:rgba(255,255,255,.72);
  line-height:1.65;
}
.spectro-box-detailed ul{
  margin:0;
  padding:0;
  list-style:none;
}
.spectro-box-detailed li{
  position:relative;
  padding:.28rem 0 .28rem 1.35rem;
  color:rgba(255,255,255,.82);
  line-height:1.5;
}
.spectro-box-detailed li:before{
  content:"\F26E";
  position:absolute;
  left:0;
  top:.3rem;
  color:var(--gold);
  font-family:"bootstrap-icons";
  font-size:.85rem;
}
.spectro-box-detailed small{
  display:block;
  margin-top:.9rem;
  padding-top:.8rem;
  border-top:1px solid rgba(255,255,255,.13);
  color:rgba(255,255,255,.58);
  line-height:1.55;
}

@media (max-width:991.98px){
  .company-family-points{grid-template-columns:1fr}
}
@media (max-width:575.98px){
  .company-family-card{padding:1.4rem}
  .spectro-box-detailed{padding:1.25rem;gap:.85rem}
  .spectro-box-detailed strong{font-size:1.3rem}
}


/* ===== V21 — Entreprise : titres pleine largeur & lien itinéraire ===== */
.company-section-heading{
  width:100%;
  max-width:none;
}
.company-story-section .company-section-heading,
.company-custom-section .company-section-heading{
  position:relative;
  z-index:2;
}
.company-local-section .container-xxl{
  position:relative;
  z-index:2;
}
.company-local-section:after{
  pointer-events:none;
}
.company-section-heading-light h2{
  margin-bottom:0;
}
.company-local-card a{
  position:relative;
  z-index:3;
  pointer-events:auto;
}
@media (max-width:991.98px){
  .company-section-heading{margin-bottom:2rem!important}
}


/* ===== V22 — Ajustements page entreprise ===== */
.company-story-section .company-family-points{
  margin-top:4.5rem!important;
}

@media (min-width:768px){
  .company-custom-section .company-section-heading .section-title{white-space:nowrap}
}

/* ===== V23 — Fer & métaux : tri, règlement et équipements ===== */

/* V24 — Fer & métaux : titres et listes pleine largeur */
.fer-section-heading{width:100%}
.fer-sort-section .fer-sort-list{width:100%}
.fer-equipment-intro{max-width:none;line-height:1.8}

.fer-sort-section{background:#fff}
.fer-sort-list{display:flex;flex-direction:column;gap:.8rem}
.fer-sort-item{display:flex;gap:1rem;align-items:flex-start;padding:1rem 0;border-bottom:1px solid #e1e6eb}
.fer-sort-item:last-child{border-bottom:0}
.fer-sort-item>i{flex:0 0 auto;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--gold);font-size:1.15rem}
.fer-sort-item strong{display:block;color:var(--navy);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.35rem;line-height:1.05;margin-bottom:.25rem}
.fer-sort-item span{display:block;color:var(--muted);line-height:1.65}
.fer-price-card{background:var(--navy);color:#fff;padding:2rem;border-top:5px solid var(--gold);box-shadow:0 24px 55px rgba(7,27,50,.16);position:sticky;top:135px}
.fer-price-card>i{display:block;color:var(--gold);font-size:2.3rem;margin-bottom:2.3rem}
.fer-price-card>span{display:block;color:var(--blue);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:800;letter-spacing:.12em;font-size:.78rem;margin-bottom:.55rem}
.fer-price-card h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:800;font-size:2.15rem;line-height:1.02;margin:0 0 1rem}
.fer-price-card p{color:rgba(255,255,255,.68);line-height:1.75;margin:0}

.fer-payment-info{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative;z-index:2}
.fer-payment-item{display:flex;gap:1rem;align-items:flex-start;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);padding:1.4rem 1.5rem;color:#fff}
.fer-payment-item>i{flex:0 0 auto;color:var(--gold);font-size:1.65rem;margin-top:.15rem}
.fer-payment-item span{display:block;color:var(--blue);font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:800;letter-spacing:.1em;font-size:.76rem;margin-bottom:.25rem}
.fer-payment-item strong{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.5rem;line-height:1.05;margin-bottom:.45rem}
.fer-payment-item p{color:rgba(255,255,255,.64);line-height:1.65;margin:0}

.fer-equipment-section{background:#f5f7f9}
.fer-equipment-card{height:100%;min-height:300px;background:#fff;padding:1.8rem;border-top:4px solid var(--navy);position:relative;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.fer-equipment-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(7,27,50,.10);border-color:var(--gold)}
.fer-equipment-card>i{display:flex;width:52px;height:52px;align-items:center;justify-content:center;background:var(--navy);color:var(--gold);font-size:1.45rem;margin-bottom:2.2rem}
.fer-equipment-card h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;color:var(--navy);font-size:2rem;line-height:1;margin-bottom:.85rem}
.fer-equipment-card p{color:var(--muted);line-height:1.72;margin:0}

@media (max-width:991.98px){
  .fer-price-card{position:static}
  .fer-payment-info{grid-template-columns:1fr}
}
@media (max-width:767.98px){
  .fer-equipment-card{min-height:0}
  .fer-payment-item{padding:1.2rem}
}


/* ===== Contact — horaires d'ouverture ===== */
.contact-hours-card{margin-top:18px}
.contact-hours-card h2{margin-bottom:1.4rem}
.contact-hours-list{border-top:1px solid rgba(255,255,255,.14)}
.contact-hours-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.12)}
.contact-hours-row>span{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:.045em;color:#fff;font-size:1.08rem}
.contact-hours-row>strong{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;color:var(--gold);font-family:"Barlow Condensed",sans-serif;font-size:1.08rem;line-height:1.2;white-space:nowrap}
.contact-hours-row>strong em{font-style:normal}
.contact-hours-closed>strong{color:rgba(255,255,255,.5)}
.contact-hours-note{display:flex;gap:.7rem;align-items:flex-start;padding-top:1.1rem;color:rgba(255,255,255,.62)!important;font-size:.9rem;line-height:1.6!important}
.contact-hours-note i{flex:0 0 auto;color:var(--blue);margin-top:.12rem}

@media (max-width:575.98px){
  .contact-hours-row{grid-template-columns:1fr;gap:.35rem}
  .contact-hours-row>strong{align-items:flex-start}
}
