/* =========================================================
   SIDEMIMCO — Shared stylesheet (all pages)
   ========================================================= */
:root{
  --ink:#1B2434;
  --steel:#5B6472;
  --red:#C41217;
  --red-dark:#9E0E12;
  --gold:#E0A73A;
  --green:#2C8C58;
  --sand:#FBF9F4;
  --sand-deep:#F3EEE3;
  --white:#FFFFFF;
  --line: rgba(27,36,52,.10);
  --shadow: 0 14px 34px rgba(27,36,52,0.09);
  --shadow-sm: 0 6px 16px rgba(27,36,52,0.07);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--sand);
  -webkit-font-smoothing:antialiased;
}
.display{font-family:'Archivo',sans-serif; font-weight:800; letter-spacing:-0.02em;}
.mono{font-family:'IBM Plex Mono',monospace; letter-spacing:0.04em;}
a{text-decoration:none; color:inherit;}
::selection{background:var(--gold); color:#fff;}

.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:.76rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--red); display:flex; align-items:center; gap:.55rem; font-weight:500;
}
.eyebrow::before{content:""; width:20px; height:2px; background:var(--red); display:inline-block; border-radius:2px;}
.eyebrow.gold{color:var(--gold);} .eyebrow.gold::before{background:var(--gold);}
.eyebrow.green{color:var(--green);} .eyebrow.green::before{background:var(--green);}
.eyebrow.light{color:rgba(255,255,255,.85);} .eyebrow.light::before{background:#fff;}

.btn{border-radius:50px; font-weight:600; font-size:.92rem; padding:.85rem 1.7rem; transition:all .25s ease; border-width:1.5px;}
.btn-red{background:var(--red); color:#fff; border-color:var(--red); box-shadow:0 8px 20px rgba(196,18,23,0.25);}
.btn-red:hover{background:var(--red-dark); color:#fff; transform:translateY(-2px); box-shadow:0 12px 26px rgba(196,18,23,0.32);}
.btn-outline-ink{border-color:var(--line); color:var(--ink); background:#fff;}
.btn-outline-ink:hover{background:var(--ink); color:#fff; border-color:var(--ink); transform:translateY(-2px);}
.btn-outline-light{border-color:rgba(255,255,255,.55); color:#fff; background:transparent;}
.btn-outline-light:hover{background:#fff; color:var(--ink); transform:translateY(-2px);}
.btn-white{background:#fff; color:var(--red); border-color:#fff;}
.btn-white:hover{background:var(--ink); color:#fff; border-color:var(--ink); transform:translateY(-2px);}
.btn-sm-pill{padding:.55rem 1.1rem; font-size:.82rem;}

.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* NAV */
.navbar{
  padding:.9rem 0; background:rgba(255,255,255,.94); backdrop-filter:blur(8px);
  border-bottom:1px solid transparent; transition:box-shadow .25s ease, border-color .25s ease;
}
.navbar.scrolled{box-shadow:0 4px 20px rgba(27,36,52,0.08); border-bottom-color:var(--line);}
.brand-word{font-family:'Archivo',sans-serif; font-weight:800; font-size:1.3rem; color:var(--ink);}
.brand-word span{color:var(--red);}
.nav-link-custom{color:var(--steel); font-size:.92rem; font-weight:600; margin:0 .8rem; position:relative; padding:.3rem 0;}
.nav-link-custom::after{content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--red); transition:width .25s ease;}
.nav-link-custom:hover{color:var(--ink);}
.nav-link-custom:hover::after{width:100%;}
.nav-link-custom.active{color:var(--ink);}
.nav-link-custom.active::after{width:100%;}
.lang-toggle{font-family:'IBM Plex Mono',monospace; font-size:.75rem; color:var(--steel); border:1.5px solid var(--line); padding:.35rem .7rem; border-radius:50px; font-weight:500;}

/* PAGE HERO (inner pages) */
.page-hero{position:relative; padding:8.5rem 0 4.5rem; overflow:hidden;}
.page-hero .hero-bg-shape{position:absolute; top:-120px; right:-160px; width:560px; height:560px; background:radial-gradient(circle, rgba(224,167,58,0.16) 0%, rgba(224,167,58,0) 70%); border-radius:50%; z-index:0;}
.page-hero .content{position:relative; z-index:2;}
.breadcrumb-mono{font-family:'IBM Plex Mono',monospace; font-size:.75rem; color:var(--steel); letter-spacing:.06em; text-transform:uppercase;}
.breadcrumb-mono a{color:var(--steel);}
.breadcrumb-mono a:hover{color:var(--red);}
.page-hero h1{font-size:clamp(2.1rem, 4vw, 3.2rem); line-height:1.1; margin:1rem 0 1rem; color:var(--ink);}
.page-hero p.lead-text{color:var(--steel); font-size:1.05rem; max-width:620px; line-height:1.65;}

/* HOME HERO */
.hero{position:relative; padding:8.5rem 0 5rem; overflow:hidden;}
.hero-bg-shape{position:absolute; top:-120px; right:-160px; width:640px; height:640px; background:radial-gradient(circle, rgba(224,167,58,0.16) 0%, rgba(224,167,58,0) 70%); border-radius:50%; z-index:0;}
.hero-content{position:relative; z-index:2;}
.hero-tag{font-family:'IBM Plex Mono',monospace; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--steel); background:#fff; border:1px solid var(--line); display:inline-flex; align-items:center; gap:.4rem; padding:.4rem .9rem; border-radius:50px; box-shadow:var(--shadow-sm);}
.hero h1{font-size:clamp(2.3rem, 4.4vw, 3.6rem); line-height:1.08; margin:1.2rem 0 1.2rem; color:var(--ink);}
.hero h1 em{font-style:normal; color:var(--red);}
.hero p.lead-text{color:var(--steel); font-size:1.08rem; max-width:520px; font-weight:400; line-height:1.65;}

.hero-media{position:relative;}
.hero-media img{width:100%; height:520px; object-fit:cover; border-radius:28px; box-shadow:var(--shadow);}
.float-card{position:absolute; background:#fff; border-radius:18px; box-shadow:var(--shadow); padding:1rem 1.2rem; display:flex; align-items:center; gap:.8rem;}
.float-card .ic{width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:#fff; flex-shrink:0;}
.float-card .num{font-family:'Archivo',sans-serif; font-weight:800; font-size:1.25rem; line-height:1;}
.float-card .lbl{font-size:.72rem; color:var(--steel); font-weight:500;}
.card-1{top:-24px; left:-24px;}
.card-1 .ic{background:var(--red);}
.card-2{bottom:-22px; right:-18px;}
.card-2 .ic{background:var(--green);}

/* TRUST STRIP */
.trust-strip{background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:1.8rem 0;}
.trust-item{text-align:center;}
.trust-item .num{font-family:'Archivo',sans-serif; font-weight:800; font-size:1.9rem; color:var(--ink);}
.trust-item .lbl{font-size:.78rem; color:var(--steel); font-weight:500; text-transform:uppercase; letter-spacing:.05em;}

/* SECTION generic */
.section{padding:6rem 0;}
.section-tight{padding:4.2rem 0;}
h2.section-title{font-size:clamp(1.8rem, 3vw, 2.5rem); line-height:1.15; margin-top:.6rem; color:var(--ink);}
.text-steel{color:var(--steel);}
.body-text{font-size:1.02rem; color:var(--steel); line-height:1.75; max-width:560px;}
.body-text + .body-text{margin-top:1rem;}

/* stat cards */
.stat-card{background:#fff; border-radius:18px; padding:1.5rem 1.4rem; box-shadow:var(--shadow-sm); border:1px solid var(--line); height:100%; transition:transform .25s ease, box-shadow .25s ease;}
.stat-card:hover{transform:translateY(-4px); box-shadow:var(--shadow);}
.stat-card .num{font-family:'Archivo',sans-serif; font-weight:800; font-size:1.9rem; color:var(--red);}
.stat-card .label{font-size:.82rem; color:var(--steel); font-weight:500; margin-top:.2rem;}

/* SERVICES */
.services-wrap{background:var(--sand-deep);}
.service-card{background:#fff; border-radius:20px; padding:1.9rem 1.7rem; height:100%; box-shadow:var(--shadow-sm); border:1px solid var(--line); transition:transform .28s ease, box-shadow .28s ease; position:relative; overflow:hidden;}
.service-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.service-card .num{font-family:'IBM Plex Mono',monospace; font-size:.75rem; color:var(--steel); font-weight:500;}
.service-card .ic{width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:#fff; margin:1rem 0 1.1rem;}
.service-card h3{font-family:'Archivo',sans-serif; font-weight:700; font-size:1.12rem; margin-bottom:.5rem; color:var(--ink);}
.service-card p{font-size:.87rem; color:var(--steel); margin-bottom:0; line-height:1.55;}
.service-card .arrow{position:absolute; top:1.7rem; right:1.5rem; color:var(--line); font-size:1.1rem; transition:transform .25s ease, color .25s ease;}
.service-card:hover .arrow{color:var(--red); transform:translate(3px,-3px);}
.bg-red{background:var(--red);} .bg-gold{background:var(--gold);} .bg-green{background:var(--green);} .bg-ink{background:var(--ink);}

/* SERVICE DETAIL BLOCK (services.html) */
.service-detail{border-bottom:1px solid var(--line); padding:3.2rem 0;}
.service-detail:first-of-type{padding-top:0;}
.service-detail:last-of-type{border-bottom:none;}
.service-detail .ic-lg{width:64px; height:64px; border-radius:18px; display:flex; align-items:center; justify-content:center; font-size:1.8rem; color:#fff;}
.service-detail h3{font-family:'Archivo',sans-serif; font-weight:700; font-size:1.5rem; margin:1.1rem 0 .8rem;}
.feature-list{list-style:none; padding:0; margin:1rem 0 0;}
.feature-list li{display:flex; gap:.7rem; padding:.4rem 0; font-size:.94rem; color:var(--steel);}
.feature-list li i{color:var(--green); margin-top:.2rem;}

/* TERRAIN */
.terrain{position:relative; border-radius:28px; overflow:hidden; box-shadow:var(--shadow);}
.terrain img{width:100%; height:420px; object-fit:cover;}
.terrain-overlay{position:absolute; inset:0; background:linear-gradient(90deg, rgba(27,36,52,0.86) 25%, rgba(27,36,52,0.15) 100%); display:flex; align-items:center;}
.terrain-content{position:relative; z-index:2; color:#fff; padding:2.5rem 3rem; max-width:560px;}
.terrain blockquote{font-family:'Archivo',sans-serif; font-weight:700; font-size:clamp(1.35rem, 2.4vw, 1.9rem); line-height:1.3;}

/* WHY / CONVICTIONS */
.conviction-card{background:#fff; border-radius:20px; padding:2rem 1.7rem; height:100%; box-shadow:var(--shadow-sm); border:1px solid var(--line); transition:transform .25s ease, box-shadow .25s ease;}
.conviction-card:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.conviction-card .ic{width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.3rem; color:#fff; margin-bottom:1.1rem;}
.conviction-card h3{font-family:'Archivo',sans-serif; font-weight:700; font-size:1.12rem; margin-bottom:.6rem;}
.conviction-card p{color:var(--steel); font-size:.9rem; line-height:1.6; margin-bottom:0;}

/* TIMELINE (a-propos.html) */
.timeline{position:relative; padding-left:2.4rem;}
.timeline::before{content:""; position:absolute; left:7px; top:6px; bottom:6px; width:2px; background:var(--line);}
.timeline-item{position:relative; padding-bottom:2.4rem;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{content:""; position:absolute; left:-2.4rem; top:4px; width:16px; height:16px; border-radius:50%; background:var(--red); border:3px solid #fff; box-shadow:0 0 0 2px var(--line);}
.timeline-item .year{font-family:'IBM Plex Mono',monospace; font-size:.78rem; color:var(--red); font-weight:600;}
.timeline-item h4{font-family:'Archivo',sans-serif; font-weight:700; font-size:1.1rem; margin:.3rem 0 .5rem;}
.timeline-item p{color:var(--steel); font-size:.92rem; margin-bottom:0; max-width:520px;}

/* INDUSTRIES */
.industry-tag{
  border:1.5px solid var(--line); background:#fff;
  font-size:.86rem; font-weight:600; padding:.6rem 1.15rem; border-radius:50px; display:inline-block; margin:0 .5rem .5rem 0; color:var(--ink);
  transition:all .22s ease;
}
.industry-tag:hover{background:var(--red); color:#fff; border-color:var(--red); transform:translateY(-2px);}
.industry-img{overflow:hidden; border-radius:20px; box-shadow:var(--shadow-sm);}
.industry-img img{width:100%; height:250px; object-fit:cover; transition:transform .5s ease;}
.industry-img:hover img{transform:scale(1.07);}

.sector-card{background:#fff; border-radius:20px; overflow:hidden; box-shadow:var(--shadow-sm); border:1px solid var(--line); height:100%; transition:transform .25s ease, box-shadow .25s ease;}
.sector-card:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.sector-card img{width:100%; height:170px; object-fit:cover;}
.sector-card .body{padding:1.3rem 1.4rem;}
.sector-card h4{font-family:'Archivo',sans-serif; font-weight:700; font-size:1.05rem; margin-bottom:.4rem;}
.sector-card p{font-size:.86rem; color:var(--steel); margin-bottom:0;}

/* CTA BAND */
.cta-band{background:linear-gradient(120deg, var(--red) 0%, #D9631C 100%); border-radius:32px; color:#fff; position:relative; overflow:hidden;}
.cta-band::before{content:""; position:absolute; width:340px; height:340px; background:rgba(255,255,255,0.08); border-radius:50%; top:-140px; right:-80px;}
.cta-band h2{font-size:clamp(1.6rem, 2.8vw, 2.3rem); max-width:640px; position:relative; z-index:2;}
.cta-band .inner{position:relative; z-index:2;}

/* CONTACT PAGE */
.contact-card{background:#fff; border-radius:20px; padding:1.8rem; box-shadow:var(--shadow-sm); border:1px solid var(--line); height:100%;}
.contact-card .ic{width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:#fff; margin-bottom:1rem;}
.contact-card h4{font-family:'Archivo',sans-serif; font-weight:700; font-size:1.02rem; margin-bottom:.4rem;}
.contact-card p{font-size:.88rem; color:var(--steel); margin-bottom:0;}
.form-control, .form-select{
  border-radius:12px; border:1.5px solid var(--line); padding:.75rem 1rem; font-size:.94rem; background:#fff;
}
.form-control:focus, .form-select:focus{border-color:var(--red); box-shadow:0 0 0 3px rgba(196,18,23,0.12);}
.form-label{font-size:.85rem; font-weight:600; color:var(--ink); margin-bottom:.4rem;}
.contact-form-wrap{background:#fff; border-radius:24px; padding:2.4rem; box-shadow:var(--shadow); border:1px solid var(--line);}
.map-frame{border-radius:20px; overflow:hidden; box-shadow:var(--shadow-sm); border:1px solid var(--line);}

/* FOOTER */
footer{background:var(--ink); color:rgba(255,255,255,0.65); padding-top:4.5rem; margin-top:2rem;}
footer h6{font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:#fff; margin-bottom:1.1rem;}
footer a.flink{display:block; color:rgba(255,255,255,0.55); font-size:.9rem; margin-bottom:.6rem; transition:color .2s;}
footer a.flink:hover{color:var(--gold);}
.footer-brand{font-family:'Archivo',sans-serif; font-weight:800; font-size:1.4rem; color:#fff;}
.footer-brand span{color:var(--red);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.12); margin-top:3rem; padding:1.6rem 0; font-size:.8rem;}
.coord{font-family:'IBM Plex Mono',monospace; font-size:.72rem; color:rgba(255,255,255,0.42); letter-spacing:.05em;}
.social-ic{width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,0.08); display:inline-flex; align-items:center; justify-content:center; color:#fff; transition:background .2s;}
.social-ic:hover{background:var(--red);}

/* FLOATING CONTACT */
.float-contact{position:fixed; bottom:26px; right:26px; z-index:999; width:58px; height:58px; border-radius:50%; background:var(--red); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.5rem; box-shadow:0 10px 26px rgba(196,18,23,0.4); transition:transform .25s ease;}
.float-contact:hover{transform:scale(1.08); color:#fff;}

@media (max-width:991px){
  .hero-media img{height:380px;}
  .float-card{position:static; margin-top:1rem;}
  .terrain-content{padding:2rem 1.6rem; max-width:100%;}
}
@media (max-width:767px){
  .section{padding:4rem 0;}
  .hero{padding:7rem 0 3rem;}
  .page-hero{padding:7rem 0 3rem;}
  .contact-form-wrap{padding:1.6rem;}
}

/* =========================================================
   NAV — dropdown "Ressources" + icône recherche
   ========================================================= */
.nav-link-custom.dropdown-toggle::after{vertical-align:.15em; border-top-color:var(--steel);}
.dropdown-menu-custom{
  border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); padding:.6rem; margin-top:.6rem;
}
.dropdown-menu-custom .dropdown-item{
  border-radius:10px; padding:.6rem .9rem; font-size:.9rem; font-weight:500; color:var(--ink);
}
.dropdown-menu-custom .dropdown-item:hover{background:var(--sand-deep); color:var(--red);}
.search-trigger{
  width:38px; height:38px; border-radius:50%; border:1.5px solid var(--line); background:#fff; display:inline-flex; align-items:center; justify-content:center; color:var(--steel); transition:all .2s ease;
}
.search-trigger:hover{border-color:var(--red); color:var(--red);}
.search-box .form-control{border-radius:14px; padding:.9rem 1.2rem; font-size:1rem;}
.search-results{max-height:340px; overflow-y:auto; margin-top:1rem;}
.search-result-item{display:block; padding:.85rem 1rem; border-radius:12px; transition:background .2s ease;}
.search-result-item:hover{background:var(--sand-deep);}
.search-result-item .title{font-family:'Archivo',sans-serif; font-weight:700; font-size:.95rem; color:var(--ink);}
.search-result-item .desc{font-size:.82rem; color:var(--steel);}
.search-empty{font-size:.88rem; color:var(--steel); padding:.6rem 1rem;}

/* =========================================================
   COOKIE BANNER
   ========================================================= */
.cookie-banner{
  position:fixed; left:20px; right:20px; bottom:20px; z-index:1050;
  max-width:620px; margin:0 auto; background:#fff; border-radius:20px; box-shadow:var(--shadow);
  border:1px solid var(--line); padding:1.3rem 1.5rem; display:none; align-items:center; gap:1.2rem; flex-wrap:wrap;
}
.cookie-banner.show-banner{display:flex;}
.cookie-banner p{font-size:.86rem; color:var(--steel); margin-bottom:0; flex:1; min-width:220px;}
.cookie-banner .ic{width:38px; height:38px; border-radius:10px; background:var(--sand-deep); color:var(--red); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0;}

/* =========================================================
   NEWSLETTER (footer)
   ========================================================= */
.newsletter-block{
  background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:22px;
  padding:2rem 2.2rem; display:flex; justify-content:space-between; align-items:center; gap:1.5rem; flex-wrap:wrap;
}
.newsletter-block h4{font-family:'Archivo',sans-serif; font-weight:700; font-size:1.2rem; color:#fff; margin-bottom:.3rem;}
.newsletter-block p{font-size:.86rem; color:rgba(255,255,255,0.55); margin-bottom:0;}
.newsletter-form{display:flex; gap:.6rem; flex-wrap:wrap;}
.newsletter-form input{
  border-radius:50px; border:1.5px solid rgba(255,255,255,0.18); background:rgba(255,255,255,0.06); color:#fff;
  padding:.75rem 1.2rem; font-size:.9rem; min-width:240px;
}
.newsletter-form input::placeholder{color:rgba(255,255,255,0.45);}
.newsletter-form input:focus{outline:none; border-color:var(--gold); background:rgba(255,255,255,0.1);}
.newsletter-feedback{font-size:.82rem; color:var(--gold); margin-top:.6rem;}

/* =========================================================
   BACK TO TOP
   ========================================================= */
.back-to-top{
  position:fixed; bottom:26px; right:96px; z-index:999; width:48px; height:48px; border-radius:50%;
  background:#fff; color:var(--ink); border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; box-shadow:var(--shadow-sm); opacity:0; visibility:hidden; transform:translateY(10px);
  transition:all .25s ease;
}
.back-to-top.visible{opacity:1; visibility:visible; transform:translateY(0);}
.back-to-top:hover{background:var(--ink); color:#fff;}
@media (max-width:575px){ .back-to-top{right:20px; bottom:92px;} }

/* =========================================================
   FAQ ACCORDION
   ========================================================= */
.faq-accordion .accordion-item{
  border:1px solid var(--line); border-radius:16px !important; overflow:hidden; margin-bottom:1rem; background:#fff;
}
.faq-accordion .accordion-button{
  font-family:'Archivo',sans-serif; font-weight:700; font-size:1rem; color:var(--ink); padding:1.2rem 1.4rem; box-shadow:none;
}
.faq-accordion .accordion-button:not(.collapsed){background:var(--sand-deep); color:var(--red);}
.faq-accordion .accordion-button:focus{box-shadow:none; border-color:var(--line);}
.faq-accordion .accordion-body{padding:0 1.4rem 1.3rem; color:var(--steel); font-size:.92rem; line-height:1.7;}
.faq-cat-pill{
  border:1.5px solid var(--line); background:#fff; font-size:.82rem; font-weight:600; padding:.5rem 1.1rem;
  border-radius:50px; color:var(--ink); transition:all .2s ease; cursor:pointer;
}
.faq-cat-pill.active, .faq-cat-pill:hover{background:var(--ink); color:#fff; border-color:var(--ink);}

/* =========================================================
   TESTIMONIALS
   ========================================================= */
.testimonial-card{background:#fff; border-radius:22px; padding:2.4rem; box-shadow:var(--shadow-sm); border:1px solid var(--line); max-width:720px; margin:0 auto; text-align:center;}
.testimonial-card .quote-ic{font-size:2rem; color:var(--gold); margin-bottom:1rem;}
.testimonial-card p.quote{font-family:'Archivo',sans-serif; font-weight:600; font-size:1.15rem; color:var(--ink); line-height:1.5;}
.testimonial-card .author{margin-top:1.4rem; font-size:.86rem; color:var(--steel);}
.testimonial-card .author strong{color:var(--ink); font-family:'Archivo',sans-serif;}
#testimonialCarousel .carousel-indicators{position:static; margin-top:1.6rem;}
#testimonialCarousel .carousel-indicators [data-bs-target]{width:8px; height:8px; border-radius:50%; background:var(--line); opacity:1;}
#testimonialCarousel .carousel-indicators .active{background:var(--red);}
#testimonialCarousel .carousel-control-prev, #testimonialCarousel .carousel-control-next{
  width:44px; height:44px; top:50%; transform:translateY(-50%); background:#fff; border-radius:50%; box-shadow:var(--shadow-sm); opacity:1;
}
#testimonialCarousel .carousel-control-prev{left:-10px;} #testimonialCarousel .carousel-control-next{right:-10px;}
@media (max-width:767px){
  #testimonialCarousel .carousel-control-prev, #testimonialCarousel .carousel-control-next{display:none;}
}

/* =========================================================
   TEAM (equipe.html)
   ========================================================= */
.team-card{background:#fff; border-radius:20px; padding:1.8rem; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--line); height:100%; transition:transform .25s ease, box-shadow .25s ease;}
.team-card:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.team-avatar{width:84px; height:84px; border-radius:50%; margin:0 auto 1rem; display:flex; align-items:center; justify-content:center; font-size:1.9rem; color:#fff; font-family:'Archivo',sans-serif; font-weight:800;}
.team-card h4{font-family:'Archivo',sans-serif; font-weight:700; font-size:1.05rem; margin-bottom:.15rem;}
.team-card .role{font-size:.8rem; color:var(--red); font-weight:600; text-transform:uppercase; letter-spacing:.04em;}
.team-card p.bio{font-size:.85rem; color:var(--steel); margin-top:.7rem; margin-bottom:0;}
.team-social{display:flex; justify-content:center; gap:.5rem; margin-top:1rem;}
.team-social a{width:32px; height:32px; border-radius:50%; background:var(--sand-deep); display:flex; align-items:center; justify-content:center; color:var(--steel); font-size:.85rem; transition:all .2s ease;}
.team-social a:hover{background:var(--red); color:#fff;}

/* =========================================================
   CASE STUDIES / RÉALISATIONS
   ========================================================= */
.filter-pill{
  border:1.5px solid var(--line); background:#fff; font-size:.85rem; font-weight:600; padding:.55rem 1.2rem;
  border-radius:50px; color:var(--ink); transition:all .2s ease; cursor:pointer;
}
.filter-pill.active, .filter-pill:hover{background:var(--red); color:#fff; border-color:var(--red);}
.case-card{background:#fff; border-radius:22px; overflow:hidden; box-shadow:var(--shadow-sm); border:1px solid var(--line); height:100%; transition:transform .28s ease, box-shadow .28s ease;}
.case-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.case-card .img-wrap{position:relative; overflow:hidden;}
.case-card .img-wrap img{width:100%; height:220px; object-fit:cover; transition:transform .5s ease;}
.case-card:hover .img-wrap img{transform:scale(1.07);}
.case-card .tag{position:absolute; top:1rem; left:1rem; background:rgba(255,255,255,0.92); color:var(--ink); font-size:.72rem; font-weight:600; padding:.35rem .8rem; border-radius:50px; text-transform:uppercase; letter-spacing:.04em;}
.case-card .body{padding:1.5rem 1.6rem;}
.case-card h3{font-family:'Archivo',sans-serif; font-weight:700; font-size:1.1rem; margin-bottom:.5rem;}
.case-card p{font-size:.88rem; color:var(--steel); margin-bottom:1rem;}
.case-card .meta{display:flex; justify-content:space-between; font-size:.78rem; color:var(--steel); border-top:1px solid var(--line); padding-top:.9rem; font-family:'IBM Plex Mono',monospace;}
.case-card.hidden-item{display:none;}

/* =========================================================
   BLOG / ACTUALITÉS
   ========================================================= */
.article-card{background:#fff; border-radius:20px; overflow:hidden; box-shadow:var(--shadow-sm); border:1px solid var(--line); height:100%; transition:transform .25s ease, box-shadow .25s ease;}
.article-card:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.article-card img{width:100%; height:190px; object-fit:cover;}
.article-card .body{padding:1.4rem 1.5rem;}
.article-card .cat{font-family:'IBM Plex Mono',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--red); font-weight:600;}
.article-card h3{font-family:'Archivo',sans-serif; font-weight:700; font-size:1.05rem; margin:.5rem 0 .6rem; line-height:1.35;}
.article-card p{font-size:.86rem; color:var(--steel); margin-bottom:0;}
.article-card .date{font-size:.76rem; color:var(--steel); margin-top:1rem; font-family:'IBM Plex Mono',monospace;}
.article-hero-img{width:100%; height:360px; object-fit:cover; border-radius:24px; box-shadow:var(--shadow); margin-bottom:2.5rem;}
.article-body{max-width:760px; margin:0 auto; font-size:1.02rem; color:var(--steel); line-height:1.85;}
.article-body h2{font-family:'Archivo',sans-serif; font-weight:700; font-size:1.4rem; color:var(--ink); margin:2.2rem 0 1rem;}
.article-body p{margin-bottom:1.2rem;}
.article-body ul{padding-left:1.3rem; margin-bottom:1.2rem;}
.article-share{display:flex; gap:.6rem; align-items:center;}

/* =========================================================
   CERTIFICATIONS
   ========================================================= */
.cert-card{background:#fff; border-radius:20px; padding:2rem 1.6rem; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--line); height:100%;}
.cert-card .ic{width:60px; height:60px; border-radius:16px; margin:0 auto 1.1rem; display:flex; align-items:center; justify-content:center; font-size:1.6rem; color:#fff;}
.cert-card h4{font-family:'Archivo',sans-serif; font-weight:700; font-size:1rem; margin-bottom:.5rem;}
.cert-card p{font-size:.85rem; color:var(--steel); margin-bottom:0;}
.partner-logo{
  height:64px; display:flex; align-items:center; justify-content:center; font-family:'Archivo',sans-serif; font-weight:800;
  color:var(--steel); border:1px solid var(--line); border-radius:14px; background:#fff; font-size:.95rem; letter-spacing:.02em;
}

/* =========================================================
   404
   ========================================================= */
.error-code{font-family:'Archivo',sans-serif; font-weight:900; font-size:clamp(5rem,14vw,9rem); color:var(--red); line-height:1; letter-spacing:-.03em;}

/* =========================================================
   SITEMAP
   ========================================================= */
.sitemap-col h5{font-family:'Archivo',sans-serif; font-weight:700; font-size:1rem; margin-bottom:1rem; padding-bottom:.7rem; border-bottom:2px solid var(--ink);}
.sitemap-col a{display:flex; align-items:center; gap:.5rem; padding:.5rem 0; font-size:.92rem; color:var(--steel); transition:color .2s ease;}
.sitemap-col a:hover{color:var(--red);}
.sitemap-col a i{color:var(--red); font-size:.8rem;}
