
:root{--blue:#0063a6;--blue2:#00a8ef;--yellow:#f4e500;--dark:#272318;--black:#060607;--cream:#f3ece2;--paper:#fffaf3;--ink:#151313;--muted:#66615a;--line:rgba(0,0,0,.10);--shadow:0 28px 90px rgba(0,0,0,.16);--radius:32px;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(100% - 40px,var(--max));margin:auto}.skip{position:absolute;left:-999px}.skip:focus{left:20px;top:20px;background:#fff;z-index:9999;padding:12px;border-radius:8px}.scroll-progress{position:fixed;left:0;top:0;height:4px;background:linear-gradient(90deg,var(--yellow),var(--blue2));width:0;z-index:9999}.topbar{background:#fff;color:var(--ink);font-size:14px;border-bottom:1px solid var(--line)}.topbar-inner{height:50px;display:flex;align-items:center;justify-content:space-between;gap:22px}.topbar a{color:var(--blue);font-weight:800}.site-header{position:sticky;top:0;z-index:100;background:rgba(6,6,7,.88);backdrop-filter:blur(18px);box-shadow:0 10px 40px rgba(0,0,0,.18)}.header-inner{height:112px;display:flex;align-items:center;gap:24px;transition:.35s}.site-header.compact .header-inner{height:82px}.brand{position:relative;min-width:282px;display:flex;align-items:center;isolation:isolate}.brand img{height:98px;width:auto;object-fit:contain;filter:drop-shadow(0 0 22px rgba(0,168,239,.34));transition:.35s}.site-header.compact .brand img{height:76px}.brand-glow{position:absolute;inset:auto auto 10px 18px;width:145px;height:18px;background:var(--blue2);filter:blur(24px);opacity:.6;z-index:-1}.desktop-nav{display:flex;align-items:center;gap:18px;flex:1}.desktop-nav>a,.nav-mega>button{color:#fff;background:none;border:0;font:inherit;font-weight:900;font-size:15px;padding:16px 0;cursor:pointer}.desktop-nav>a:hover,.nav-mega>button:hover{color:var(--yellow)}.nav-mega{position:relative}.mega-panel{position:absolute;top:calc(100% + 14px);left:-180px;width:min(760px,calc(100vw - 40px));display:grid;grid-template-columns:repeat(3,1fr);gap:18px;background:rgba(255,255,255,.96);padding:22px;border-radius:28px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s}.nav-mega:hover .mega-panel,.nav-mega:focus-within .mega-panel{opacity:1;pointer-events:auto;transform:none}.mega-col{display:grid;gap:10px}.mega-col strong{color:var(--blue);text-transform:uppercase;letter-spacing:.14em;font-size:12px}.mega-col a{padding:14px;border-radius:16px;background:#f8f6f2;color:var(--ink);font-weight:850;display:flex;justify-content:space-between}.mega-col a:hover{background:var(--dark);color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 24px;font-weight:950;border:0;cursor:pointer;transition:.25s;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 18px 40px rgba(0,99,166,.3)}.btn-primary:hover,.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--dark);color:#fff}.btn-light{background:#fff;color:var(--ink)}.btn-glass{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(14px)}.menu-toggle{display:none;background:transparent;border:0;width:48px;height:48px;gap:7px;flex-direction:column;align-items:center;justify-content:center;margin-left:auto}.menu-toggle span{width:28px;height:2px;background:#fff;transition:.25s}.mobile-drawer{position:fixed;top:0;right:0;width:min(420px,92vw);height:100vh;background:#0b0b0c;color:#fff;z-index:300;transform:translateX(110%);transition:.35s cubic-bezier(.22,1,.36,1);padding:20px;overflow:auto;display:grid;align-content:start;gap:8px}.mobile-drawer.open{transform:none}.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:250;display:none}.drawer-backdrop.open{display:block}.mobile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mobile-head img{height:78px}.drawer-close{background:#fff;border:0;width:42px;height:42px;border-radius:50%;font-size:28px}.mobile-drawer a,.mobile-drawer summary{padding:16px;border-radius:16px;background:rgba(255,255,255,.06);font-weight:850;cursor:pointer}.mobile-drawer details{display:grid;gap:8px}.mobile-drawer details a{display:block;margin:8px 0 0 14px;background:rgba(255,255,255,.1)}.hero{position:relative;min-height:calc(100vh - 162px);overflow:hidden;background:#050505;color:#fff}.hero-slider{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;opacity:0;transform:scale(1.03);transition:opacity 1s,transform 7s}.hero-slide.active{opacity:1;transform:scale(1)}.hero-slide img{width:100%;height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.08)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.91),rgba(0,0,0,.52),rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.56),transparent 55%);z-index:1}.hero-orb{position:absolute;border-radius:50%;filter:blur(35px);z-index:2;opacity:.55}.orb-one{width:260px;height:260px;background:var(--blue2);right:18%;top:18%;animation:float 7s ease-in-out infinite}.orb-two{width:190px;height:190px;background:var(--yellow);left:8%;bottom:16%;animation:float 8s ease-in-out infinite reverse}.hero-content{position:relative;z-index:3;min-height:calc(100vh - 162px);display:grid;align-items:center;padding:80px 0}.hero h1{font-size:clamp(44px,7.2vw,100px);line-height:.92;letter-spacing:-.07em;margin:18px 0 24px;max-width:980px}.hero p{font-size:clamp(18px,2vw,23px);max-width:790px;color:rgba(255,255,255,.88)}.eyebrow,.micro{color:var(--yellow);font-weight:950;text-transform:uppercase;letter-spacing:.18em;font-size:12px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.hero-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:42px}.stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.20);backdrop-filter:blur(14px);border-radius:24px;padding:18px 22px;min-width:160px}.stat strong{font-size:32px;display:block}.slider-ui{position:absolute;right:38px;bottom:34px;z-index:4;display:flex;align-items:center;gap:12px}.round{width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.16);color:#fff;font-size:24px;cursor:pointer}.slider-dots{display:flex;gap:8px}.slider-dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer}.slider-dots button.active{width:30px;border-radius:999px;background:var(--yellow)}.slide-label{position:absolute;right:34px;top:36px;z-index:3;background:rgba(0,0,0,.42);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);padding:14px 18px;border-radius:999px;color:#fff;font-weight:900}.slide-label span{color:var(--yellow);margin-right:8px}.section{padding:104px 0;position:relative}.section.white{background:#fff}.section.dark{background:var(--dark);color:#fff}.section-title{display:grid;gap:12px;margin-bottom:38px}.section-title.center{text-align:center;justify-items:center}.section-title h2,.split h2{font-size:clamp(34px,4.4vw,64px);line-height:1.02;letter-spacing:-.045em;margin:0}.section-title p{font-size:18px;max-width:760px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.lead{font-size:20px;line-height:1.75;color:#2e2b27}.pill-list{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.pill-list span{background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.05);padding:12px 16px;border-radius:999px;font-weight:850}.image-collage{position:relative;min-height:560px}.image-collage img{position:absolute;object-fit:cover;border-radius:34px;box-shadow:var(--shadow)}.image-collage .main{width:76%;height:470px;right:0;top:25px}.image-collage .floating.a{width:48%;height:280px;left:0;bottom:10px;border:9px solid var(--cream)}.image-collage .floating.b{width:36%;height:200px;right:8%;bottom:-20px;border:8px solid #fff}.badge-year{position:absolute;left:28px;top:14px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;border-radius:26px;padding:22px 26px;text-align:center;font-weight:950;box-shadow:0 20px 48px rgba(0,94,168,.32)}.badge-year strong{font-size:36px;display:block}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{background:#fff;border-radius:34px;overflow:hidden;box-shadow:0 22px 70px rgba(0,0,0,.09);border:1px solid var(--line);transition:.35s;transform-style:preserve-3d}.service-card:hover{box-shadow:var(--shadow)}.service-media{display:block;height:265px;overflow:hidden;position:relative}.service-media img{height:100%;width:100%;object-fit:cover;transition:.55s}.service-card:hover img{transform:scale(1.08)}.service-chip{position:absolute;top:16px;left:16px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--blue);font-weight:950}.service-card .content{padding:28px;display:grid;gap:12px}.service-card h3{font-size:27px;margin:0;letter-spacing:-.03em}.arrow-link{color:var(--blue);font-weight:950}.timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.timeline .line{position:absolute;top:42px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,var(--blue2),var(--yellow));opacity:.5}.timeline-step{position:relative;background:#fff;color:var(--ink);border-radius:30px;padding:30px;box-shadow:0 18px 50px rgba(0,0,0,.12)}.timeline-step b{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--dark);color:var(--yellow);font-size:22px}.portfolio-head{display:flex;gap:24px;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.filters{display:flex;flex-wrap:wrap;gap:10px}.filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 16px;font-weight:900;cursor:pointer;transition:.2s}.filter.active,.filter:hover{background:var(--dark);color:#fff}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.project{position:relative;border-radius:26px;overflow:hidden;background:#ddd;height:300px;cursor:pointer;transition:transform .35s,opacity .25s}.project.hidden{opacity:0;transform:scale(.96);pointer-events:none;display:none}.project:nth-child(8n+1),.project:nth-child(8n+6){grid-column:span 2;height:390px}.project img{width:100%;height:100%;object-fit:cover;transition:.55s}.project:hover img{transform:scale(1.08)}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 62%)}.project-caption{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;color:#fff;display:grid;gap:3px}.project-caption span{text-transform:uppercase;letter-spacing:.15em;font-size:11px;color:var(--yellow);font-weight:900}.project-caption strong{font-size:20px}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.faq{display:grid;gap:14px}.faq-item{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden}.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:24px;background:transparent;border:0;text-align:left;font:inherit;font-weight:950;cursor:pointer}.faq-q span{font-size:28px;transition:.2s}.faq-item.open .faq-q span{transform:rotate(45deg)}.faq-a{display:grid;grid-template-rows:0fr;transition:.3s}.faq-a p{overflow:hidden;margin:0;padding:0 24px;color:var(--muted)}.faq-item.open .faq-a{grid-template-rows:1fr}.faq-item.open .faq-a p{padding:0 24px 24px}.cta{background:linear-gradient(135deg,var(--blue),#003e6a);color:#fff;border-radius:42px;padding:56px;display:grid;grid-template-columns:1.3fr auto;gap:30px;align-items:center;box-shadow:0 30px 90px rgba(0,94,168,.28);overflow:hidden}.cta h2{font-size:clamp(34px,4vw,58px);line-height:1;margin:0}.cta p{color:rgba(255,255,255,.86);font-size:18px}.page-hero{position:relative;min-height:520px;color:#fff;display:grid;align-items:end;padding:120px 0 80px;overflow:hidden;background:#050505}.page-bg{position:absolute;inset:0}.page-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(1.06) contrast(1.05)}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.52),rgba(0,0,0,.20));z-index:1}.page-hero .container{position:relative;z-index:2}.page-hero h1{font-size:clamp(44px,6vw,88px);line-height:.95;letter-spacing:-.06em;margin:16px 0}.page-hero p{font-size:20px;max-width:820px;color:rgba(255,255,255,.84)}.subcat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.subcat-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px;min-height:160px;display:grid;align-content:space-between;box-shadow:0 16px 50px rgba(0,0,0,.07);transition:.3s}.subcat-card:hover{transform:translateY(-6px);background:var(--dark);color:#fff}.subcat-card span{color:var(--blue);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.16em}.subcat-card strong{font-size:24px}.subcat-card em{font-style:normal;font-size:28px}.feature-panel{background:#fff;border-radius:34px;padding:18px;box-shadow:var(--shadow);display:grid;gap:18px}.feature-panel img{height:430px;width:100%;object-fit:cover;border-radius:24px}.feature-panel div{display:grid;gap:5px;padding:0 10px 8px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px}.contact-card,.contact-box{background:#fff;border-radius:34px;padding:34px;box-shadow:var(--shadow);border:1px solid var(--line)}.contact-line{display:grid;gap:6px;padding:18px 0;border-bottom:1px solid var(--line)}.contact-line strong{color:var(--blue)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font-weight:900}.field input,.field textarea,.field select{width:100%;padding:16px;border-radius:16px;border:1px solid var(--line);background:#fbfaf8;font:inherit}.field textarea{min-height:150px;resize:vertical}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.news-card{background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.09)}.news-card img{height:250px;width:100%;object-fit:cover}.news-card div{padding:26px}.news-card span{color:var(--blue);font-weight:900}.footer{background:#070707;color:#fff;padding:74px 0 28px}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:52px}.footer-logo{height:96px;width:auto;margin-bottom:18px}.footer p{color:rgba(255,255,255,.7);line-height:1.7}.footer a{display:block;color:rgba(255,255,255,.78);margin:9px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:44px;padding-top:22px;color:rgba(255,255,255,.55)}.whatsapp{position:fixed;left:24px;bottom:24px;z-index:120;background:#25d366;color:#fff;border-radius:999px;padding:14px 19px;font-weight:950;box-shadow:0 16px 40px rgba(37,211,102,.36)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.90);z-index:500;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-height:86vh;max-width:90vw;border-radius:22px;box-shadow:0 20px 90px rgba(0,0,0,.5)}.lightbox button{position:absolute;border:0;border-radius:50%;width:48px;height:48px;font-size:24px;background:#fff;color:#111;cursor:pointer}.lightbox .close{top:20px;right:20px}.lightbox .lb-prev{left:20px}.lightbox .lb-next{right:20px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media (max-width:1080px){.topbar-inner span:nth-child(2){display:none}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex}.header-inner{height:90px}.brand{min-width:190px}.brand img{height:78px}.hero,.hero-content{min-height:720px}.split,.faq-layout,.contact-layout,.cta{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:repeat(2,1fr)}.timeline .line{display:none}.gallery{grid-template-columns:repeat(2,1fr)}.project:nth-child(8n+1),.project:nth-child(8n+6){grid-column:span 1;height:320px}.subcat-grid{grid-template-columns:repeat(2,1fr)}.news-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}}
@media (max-width:680px){.container{width:min(100% - 24px,var(--max))}.topbar{display:none}.brand img{height:70px}.site-header.compact .brand img{height:62px}.header-inner{height:82px}.hero,.hero-content{min-height:760px}.hero h1{font-size:43px}.hero p{font-size:17px}.hero-stats{display:grid;grid-template-columns:1fr 1fr}.stat{min-width:0}.section{padding:70px 0}.service-grid,.timeline,.gallery,.subcat-grid{grid-template-columns:1fr}.image-collage{min-height:auto;display:grid;gap:14px}.image-collage img{position:relative!important;width:100%!important;height:300px!important;right:auto!important;left:auto!important;top:auto!important;bottom:auto!important}.badge-year{left:16px;top:16px}.portfolio-head{display:grid;align-items:start}.form-grid{grid-template-columns:1fr}.cta{padding:34px 24px;border-radius:30px}.page-hero{min-height:480px;padding:100px 0 55px}.slider-ui{right:16px;bottom:16px}.slide-label{display:none}.whatsapp{left:12px;right:12px;text-align:center}.footer-logo{height:76px}}

/* Correctifs 26/04 : nouveau logo, CTA devis par email, meilleure lisibilité mobile */
.brand{min-width:330px}
.brand img{height:118px;max-width:320px;object-fit:contain;border-radius:0;filter:drop-shadow(0 0 26px rgba(0,168,239,.42))}
.site-header.compact .brand img{height:92px}
.header-inner{height:132px}
.site-header.compact .header-inner{height:96px}
.mobile-head img{height:92px;max-width:220px;object-fit:contain}
.footer-logo{height:118px;max-width:300px;object-fit:contain}
.hero h1,.page-hero h1{text-wrap:balance}
.hero p,.page-hero p{text-wrap:pretty}
@media (max-width:980px){
  .brand{min-width:auto}
  .brand img{height:92px;max-width:220px}
  .site-header.compact .brand img{height:78px}
  .header-inner{height:108px}
  .site-header.compact .header-inner{height:92px}
}
@media (max-width:680px){
  .brand img{height:88px;max-width:205px}
  .site-header.compact .brand img{height:78px}
  .header-inner{height:104px}
  .hero,.hero-content{min-height:880px}
  .hero-content{align-items:flex-start;padding-top:78px;padding-bottom:170px}
  .hero h1{font-size:clamp(34px,10.5vw,42px);line-height:1.03;letter-spacing:-.045em;margin:14px 0 18px;max-width:100%}
  .hero p{font-size:16.5px;line-height:1.45;max-width:100%}
  .hero-copy{max-width:100%}
  .hero-actions{margin-top:24px;gap:12px}
  .hero-actions .btn{width:100%;justify-content:center;text-align:center}
  .hero-stats{margin-top:22px;gap:10px;grid-template-columns:1fr 1fr}
  .stat{padding:18px;min-height:124px}
  .stat strong{font-size:44px}
  .hero-slide img{object-position:center center;filter:saturate(1.05) contrast(1.05)}
  .slider-ui{bottom:82px;right:50%;transform:translateX(50%)}
  .whatsapp{bottom:14px}
  .footer-logo{height:94px;max-width:230px}
}
@media (max-width:420px){
  .brand img{height:78px;max-width:182px}
  .hero h1{font-size:clamp(31px,10vw,38px)}
  .hero,.hero-content{min-height:920px}
}

/* Correctifs 26/04 soir : contact visible, logo plus à gauche, hero plus lisible */
.topbar{display:block!important;position:sticky;top:0;z-index:130;background:#070707;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.topbar-inner{height:42px;font-size:13px;justify-content:center;gap:26px;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:950}
.topbar a:hover{color:var(--yellow)}
.site-header{top:42px}
.site-header .container.header-inner{width:100%;max-width:none;margin:0;padding-left:18px;padding-right:42px}
.brand{min-width:360px;justify-content:flex-start}
.brand img{height:122px;max-width:340px}
.site-header.compact .brand img{height:94px}
.hero:before{background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 34%,rgba(0,0,0,.22) 58%,rgba(0,0,0,.02) 100%),linear-gradient(0deg,rgba(0,0,0,.44),transparent 58%)}
.hero-copy{max-width:760px;padding:28px 30px 30px;border-radius:34px;background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.18));backdrop-filter:blur(3px)}
.hero h1{font-size:clamp(42px,5.6vw,78px);line-height:.98;max-width:740px;letter-spacing:-.055em}
.hero p{max-width:700px;font-size:clamp(17px,1.45vw,21px)}
.hero-slide img{object-position:center center}
@media (min-width:1180px){.desktop-nav{justify-content:center}.header-cta{margin-left:auto}}
@media (max-width:1080px){
  .topbar{position:relative;top:auto;z-index:1}
  .topbar-inner{height:auto;min-height:42px;padding:8px 0;gap:12px 18px;text-align:center}
  .topbar-inner span:nth-child(1),.topbar-inner span:nth-child(2){display:none!important}
  .site-header{top:0}
  .site-header .container.header-inner{padding-left:14px;padding-right:14px}
  .brand{min-width:auto}
}
@media (max-width:680px){
  .topbar{display:block!important;background:#050505}
  .topbar-inner{display:flex;font-size:12px;line-height:1.25}
  .brand img{height:82px;max-width:190px}
  .site-header.compact .brand img{height:72px}
  .header-inner{height:96px}
  .hero,.hero-content{min-height:820px}
  .hero-content{align-items:start;padding-top:46px;padding-bottom:150px}
  .hero-copy{padding:22px 18px 24px;border-radius:26px;background:linear-gradient(180deg,rgba(0,0,0,.56),rgba(0,0,0,.26));max-width:94%}
  .hero h1{font-size:clamp(30px,9.2vw,38px);line-height:1.06;letter-spacing:-.04em;margin:12px 0 14px;max-width:100%}
  .hero p{font-size:15.8px;line-height:1.45;max-width:100%}
  .hero-actions .btn{width:100%}
  .hero-stats{grid-template-columns:1fr 1fr;margin-top:18px}
  .stat{padding:15px 16px;min-height:105px;border-radius:20px}
  .stat strong{font-size:34px}
  .hero-slide img{object-position:62% center}
  .whatsapp{bottom:12px}
}
@media (max-width:420px){.brand img{height:76px;max-width:178px}.hero,.hero-content{min-height:850px}.topbar-inner{font-size:11.5px}}

/* Correctif mobile 26/04 : sur téléphone, l'image d'accueil reste visible et le texte passe dessous */
@media (max-width: 680px){
  .hero{
    min-height:auto !important;
    background:#070707 !important;
    overflow:hidden;
  }
  .hero:before,
  .hero-orb,
  .slide-label{
    display:none !important;
  }
  .hero-slider{
    position:relative !important;
    inset:auto !important;
    height:360px !important;
    width:100% !important;
    overflow:hidden !important;
  }
  .hero-slide{
    position:absolute !important;
    inset:0 !important;
  }
  .hero-slide img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    filter:saturate(1.08) contrast(1.04) brightness(.92) !important;
  }
  .hero-content{
    min-height:auto !important;
    display:block !important;
    padding:28px 0 120px !important;
    background:linear-gradient(180deg,#080808 0%,#15120d 100%) !important;
  }
  .hero-copy{
    max-width:100% !important;
    padding:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    backdrop-filter:none !important;
  }
  .hero h1{
    font-size:clamp(32px,9.4vw,42px) !important;
    line-height:1.04 !important;
    letter-spacing:-.045em !important;
    margin:12px 0 16px !important;
  }
  .hero p{
    font-size:16px !important;
    line-height:1.48 !important;
  }
  .hero-actions{
    margin-top:22px !important;
  }
  .hero-stats{
    margin-top:22px !important;
  }
  .slider-ui{
    bottom:auto !important;
    top:300px !important;
    right:18px !important;
  }
}

@media (max-width:420px){
  .hero-slider{height:330px !important;}
  .slider-ui{top:276px !important;}
  .hero h1{font-size:34px !important;}
}


/* Correctif final mobile + formulaire devis global */
.devis-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(10px);
}
.devis-modal.open{display:flex}
.devis-dialog{
  width:min(760px,100%);
  max-height:92vh;
  overflow:auto;
  border-radius:30px;
  background:#fff;
  color:#101010;
  box-shadow:0 30px 120px rgba(0,0,0,.45);
  position:relative;
  padding:30px;
}
.devis-close{
  position:absolute;
  top:16px;
  right:16px;
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.devis-dialog .eyebrow{color:var(--blue);margin-bottom:10px}
.devis-dialog h2{font-size:clamp(28px,4vw,44px);line-height:1;margin:0 52px 12px 0}
.devis-dialog p{color:#555;margin:0 0 22px}
.devis-dialog .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.devis-dialog .field{display:flex;flex-direction:column;gap:7px}
.devis-dialog .field.full{grid-column:1/-1}
.devis-dialog label{font-weight:900;color:#111}
.devis-dialog input,.devis-dialog select,.devis-dialog textarea{
  width:100%;
  border:1px solid #dedede;
  background:#f8f8f8;
  border-radius:16px;
  padding:14px 15px;
  font:inherit;
  color:#111;
}
.devis-dialog textarea{min-height:130px;resize:vertical}
.devis-dialog .btn{border:0;cursor:pointer;justify-content:center}

@media (max-width:680px){
  body{overflow-x:hidden}
  .hero.hero-premium{
    display:block !important;
    min-height:auto !important;
    height:auto !important;
    padding:0 !important;
    background:#080808 !important;
    overflow:visible !important;
  }
  .hero.hero-premium .hero-slider{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:310px !important;
    min-height:310px !important;
    margin:0 !important;
    overflow:hidden !important;
    z-index:1 !important;
  }
  .hero.hero-premium .hero-slide,
  .hero.hero-premium .hero-slide.active{
    position:absolute !important;
    inset:0 !important;
  }
  .hero.hero-premium .hero-slide img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    filter:saturate(1.08) contrast(1.04) brightness(.95) !important;
  }
  .hero.hero-premium::before,
  .hero.hero-premium .hero-orb,
  .hero.hero-premium .slide-label{
    display:none !important;
  }
  .hero.hero-premium .hero-content{
    position:relative !important;
    z-index:2 !important;
    display:block !important;
    min-height:0 !important;
    height:auto !important;
    padding:26px 18px 118px !important;
    margin:0 !important;
    background:linear-gradient(180deg,#080808 0%,#17120d 100%) !important;
  }
  .hero.hero-premium .hero-copy{
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }
  .hero.hero-premium .eyebrow{
    font-size:12px !important;
    letter-spacing:.22em !important;
  }
  .hero.hero-premium h1{
    font-size:clamp(30px,9vw,38px) !important;
    line-height:1.06 !important;
    letter-spacing:-.04em !important;
    max-width:100% !important;
    margin:12px 0 14px !important;
  }
  .hero.hero-premium p{
    font-size:15.5px !important;
    line-height:1.48 !important;
    max-width:100% !important;
  }
  .hero.hero-premium .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:22px !important;
  }
  .hero.hero-premium .hero-actions .btn{
    width:100% !important;
    min-height:56px !important;
  }
  .hero.hero-premium .hero-stats{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
    margin-top:22px !important;
  }
  .hero.hero-premium .stat{
    min-height:96px !important;
    padding:16px !important;
    border-radius:20px !important;
  }
  .hero.hero-premium .stat strong{font-size:34px !important}
  .hero.hero-premium .slider-ui{
    display:none !important;
  }
  .devis-dialog{padding:24px 18px;border-radius:24px}
  .devis-dialog .form-grid{grid-template-columns:1fr}
  .devis-close{top:12px;right:12px}
  .devis-dialog h2{margin-right:48px}
}


/* --- Correction galerie : moins d'images, plus de texte utile --- */
.case-showcase{background:#fff;}
.case-list{display:grid;gap:34px;}
.case-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:34px;align-items:center;background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:34px;padding:18px;box-shadow:0 22px 70px rgba(0,0,0,.08);overflow:hidden;}
.case-row-reverse{grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);}
.case-row-reverse .case-photo{order:2;}
.case-row-reverse .case-text{order:1;}
.case-photo{height:420px;border-radius:26px;overflow:hidden;background:#eee;}
.case-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.case-row:hover .case-photo img{transform:scale(1.045);}
.case-text{padding:24px 26px;display:grid;gap:14px;align-content:center;}
.case-text span{color:var(--blue);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.16em;}
.case-text h3{font-size:clamp(28px,3.4vw,48px);line-height:1.02;letter-spacing:-.045em;margin:0;color:var(--ink);}
.case-text p{font-size:18px;line-height:1.65;color:var(--muted);margin:0;}
.case-text .check-list{margin:5px 0 10px;}
.case-text .btn{width:max-content;}

@media (max-width:760px){
  .case-row,.case-row-reverse{grid-template-columns:1fr;padding:12px;border-radius:26px;gap:0;}
  .case-row-reverse .case-photo,.case-row-reverse .case-text{order:initial;}
  .case-photo{height:255px;border-radius:20px;}
  .case-text{padding:22px 10px 12px;}
  .case-text h3{font-size:30px;}
  .case-text p{font-size:16px;}
  .case-text .btn{width:100%;}
  .case-list{gap:22px;}
}

/* Mobile accueil : l'image reste visible, le texte passe dessous sans recouvrir la photo */
@media (max-width:680px){
  .hero.hero-premium{display:flex !important;flex-direction:column !important;min-height:0 !important;height:auto !important;background:#080808 !important;overflow:visible !important;}
  .hero.hero-premium .hero-slider{position:relative !important;order:1 !important;display:block !important;height:340px !important;min-height:340px !important;width:100% !important;inset:auto !important;overflow:hidden !important;}
  .hero.hero-premium .hero-slide,.hero.hero-premium .hero-slide.active{position:absolute !important;inset:0 !important;}
  .hero.hero-premium .hero-slide img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center center !important;filter:saturate(1.05) contrast(1.02) brightness(.92) !important;}
  .hero.hero-premium::before,.hero.hero-premium .hero-orb,.hero.hero-premium .slide-label{display:none !important;}
  .hero.hero-premium .hero-content{order:2 !important;position:relative !important;display:block !important;min-height:0 !important;height:auto !important;padding:26px 18px 128px !important;margin:0 !important;background:#080808 !important;z-index:2 !important;}
  .hero.hero-premium .hero-copy{background:transparent !important;backdrop-filter:none !important;box-shadow:none !important;padding:0 !important;margin:0 !important;border-radius:0 !important;max-width:100% !important;}
  .hero.hero-premium h1{font-size:clamp(31px,9vw,40px) !important;line-height:1.06 !important;letter-spacing:-.04em !important;margin:12px 0 14px !important;}
  .hero.hero-premium p{font-size:16px !important;line-height:1.52 !important;}
  .hero.hero-premium .hero-stats{grid-template-columns:1fr 1fr !important;margin-top:22px !important;}
  .hero.hero-premium .stat{min-height:90px !important;}
}

/* Footer agences officiel */
.footer-officiel{background:#080808;color:#fff;padding-top:70px;}
.footer-agences{display:grid;grid-template-columns:1fr 1.05fr;gap:42px;align-items:center;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.12);}
.footer-agences h2{font-size:clamp(32px,4vw,58px);line-height:1;letter-spacing:-.045em;margin:0 0 20px;color:#fff;}
.footer-agences p{color:rgba(255,255,255,.72);line-height:1.7;margin:0 0 12px;}
.footer-agences-card{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.14);border-radius:34px;padding:18px;box-shadow:0 26px 80px rgba(0,0,0,.28);}
.agency-map{min-height:260px;border-radius:26px;position:relative;overflow:hidden;background:radial-gradient(circle at 44% 45%,rgba(0,160,220,.38),transparent 24%),radial-gradient(circle at 55% 30%,rgba(210,238,0,.26),transparent 22%),linear-gradient(145deg,#111923,#050607);}
.agency-map:before{content:"";position:absolute;inset:22px;background:linear-gradient(90deg,transparent 47%,rgba(255,255,255,.18) 48%,transparent 50%),linear-gradient(0deg,transparent 47%,rgba(255,255,255,.12) 48%,transparent 50%);opacity:.32;border-radius:20px;}
.map-pin{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:#fff;color:#111;font-weight:900;font-size:12px;box-shadow:0 12px 30px rgba(0,0,0,.35);}
.map-pin:before{content:"";width:10px;height:10px;border-radius:50%;background:#0aa8e8;box-shadow:0 0 0 6px rgba(10,168,232,.18);}
.pin-bordeaux{left:24%;bottom:24%;}.pin-france{right:18%;top:22%;}
.agency-list{padding:14px;display:flex;flex-direction:column;justify-content:center;gap:10px;}
.agency-list h3{color:#fff;margin:0;font-size:22px;line-height:1.1;}
.agency-list p{margin:0;color:rgba(255,255,255,.72);}
.agency-list a{color:#fff;text-decoration:none;font-weight:800;}
.footer-grid-officiel{padding-top:46px;}
.footer-grid-officiel h3{margin:14px 0 16px;color:#fff;}
.footer-grid-officiel a{display:block;color:rgba(255,255,255,.78);text-decoration:none;margin:9px 0;}
.footer-grid-officiel a:hover{color:#fff;}
@media(max-width:900px){.footer-agences,.footer-agences-card{grid-template-columns:1fr}.agency-map{min-height:220px}.footer-officiel{padding-top:48px}}
@media(max-width:560px){.footer-agences-card{padding:12px;border-radius:24px}.agency-map{min-height:190px;border-radius:18px}.map-pin{font-size:11px;padding:8px 10px}.footer-agences h2{font-size:34px}.footer-grid-officiel{gap:26px}}

/* === Correctifs mobile + lisibilité demandés === */
.section.white .eyebrow,
.signature .eyebrow,
.services-zone .eyebrow,
.case-showcase .eyebrow,
.faq-section .eyebrow,
.service-card .micro,
.case-text span,
.news-card span{color:#0063a6 !important;}
.section.dark .eyebrow,
.hero .eyebrow,
.cta .eyebrow,
.page-hero .eyebrow{color:var(--yellow) !important;}
@media (max-width:680px){
  body{padding-bottom:86px;}
  .signature{padding-top:58px !important;overflow:hidden !important;}
  .signature .split{display:flex !important;flex-direction:column !important;gap:28px !important;}
  .signature .split > .reveal:first-child{order:1 !important;position:relative !important;z-index:3 !important;background:#fff !important;}
  .signature .image-collage{order:2 !important;position:relative !important;z-index:1 !important;display:grid !important;grid-template-columns:1fr !important;gap:14px !important;min-height:0 !important;margin-top:6px !important;overflow:visible !important;}
  .signature .image-collage img{position:relative !important;inset:auto !important;width:100% !important;height:230px !important;object-fit:cover !important;border-radius:22px !important;border:0 !important;box-shadow:0 18px 50px rgba(0,0,0,.12) !important;}
  .signature .badge-year{display:none !important;}
  .signature h2{font-size:34px !important;line-height:1.05 !important;letter-spacing:-.045em !important;margin-top:10px !important;}
  .signature .lead{font-size:18px !important;line-height:1.62 !important;}
  .service-card{border-radius:28px !important;margin-bottom:10px !important;}
  .service-media{height:230px !important;}
  .service-card .content{padding:24px 22px 30px !important;}
  .service-card h3{font-size:30px !important;line-height:1.08 !important;}
  .service-card p{font-size:17px !important;line-height:1.55 !important;}
  .whatsapp{bottom:18px !important;left:20px !important;right:20px !important;width:auto !important;text-align:center !important;padding:16px 18px !important;border-radius:999px !important;font-size:18px !important;}
  .footer-officiel{padding-bottom:110px !important;}
}
.trust-section{background:#fff;padding:82px 0;border-top:1px solid rgba(0,0,0,.06);}
.trust-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center;}
.trust-copy h2{font-size:clamp(34px,4vw,58px);line-height:1.02;letter-spacing:-.045em;margin:10px 0 16px;color:var(--ink);}
.trust-copy p{font-size:18px;line-height:1.65;color:var(--muted);max-width:620px;}
.trust-logos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.trust-logo{background:#f7f4ee;border:1px solid rgba(0,0,0,.08);border-radius:22px;min-height:86px;display:grid;place-items:center;text-align:center;font-weight:950;color:#111;padding:16px;box-shadow:0 12px 36px rgba(0,0,0,.05);}
.trust-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
@media(max-width:760px){.trust-section{padding:62px 0}.trust-grid{grid-template-columns:1fr;gap:26px}.trust-logos{grid-template-columns:1fr 1fr}.trust-logo{min-height:76px;border-radius:18px;font-size:15px}.trust-actions .btn{width:100%}}

/* Carte officielle Espaces Enseignes dans le footer */
.agency-map-official{min-height:0 !important;background:#fff !important;border-radius:26px !important;display:flex !important;align-items:center !important;justify-content:center !important;padding:0 !important;overflow:hidden !important;}
.agency-map-official:before{display:none !important;}
.agency-map-official img{display:block !important;width:100% !important;height:auto !important;object-fit:contain !important;border-radius:22px !important;background:#fff !important;}
@media(max-width:560px){.agency-map-official{border-radius:18px !important}.agency-map-official img{border-radius:16px !important}}

/* Correctif lisibilité : les petits titres jaunes sur fonds clairs passent en bleu professionnel */
.section:not(.dark) .eyebrow,
.section:not(.dark) .micro,
.section.white .eyebrow,
.section.white .micro,
.services-zone .eyebrow,
.services-zone .micro,
.case-showcase .eyebrow,
.trust-section .eyebrow,
.faq-section .eyebrow,
.signature .eyebrow {
  color: var(--blue) !important;
}

/* On garde le jaune uniquement sur les zones sombres où il reste lisible */
.hero .eyebrow,
.page-hero .eyebrow,
.section.dark .eyebrow,
.project-caption span,
.slide-label span {
  color: var(--yellow) !important;
}

/* Diversification références + GMB */
.trust-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.trust-logo{min-height:54px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15}
.footer a[href*="google.com/search"], .trust-actions a[href*="google.com/search"]{white-space:nowrap}
@media (max-width: 760px){
  .trust-logos{grid-template-columns:1fr 1fr}
  .case-row,.case-row.case-row-reverse{gap:22px}
  .case-photo img{object-position:center center}
}

/* Final : vrais blocs logos clients, sans noms texte simples et sans photos */
.trust-logos-official{
  display:grid;
  grid-template-columns:repeat(2,minmax(260px,1fr));
  gap:18px;
}
.trust-logos-official .trust-logo{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:24px;
  min-height:124px;
  padding:18px 24px;
  box-shadow:0 18px 45px rgba(0,0,0,.06);
  display:flex;
  align-items:center;
  justify-content:center;
}
.trust-logos-official .trust-logo img{
  display:block;
  width:100%;
  max-width:280px;
  max-height:82px;
  object-fit:contain;
}
@media(max-width:760px){
  .trust-logos-official{grid-template-columns:1fr 1fr;gap:12px}
  .trust-logos-official .trust-logo{min-height:96px;border-radius:18px;padding:12px}
  .trust-logos-official .trust-logo img{max-height:64px;max-width:220px}
}
@media(max-width:430px){
  .trust-logos-official{grid-template-columns:1fr}
}

/* Correctif final : logos officiels fournis par le client */
.trust-logos-official{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(220px,1fr)) !important;
  gap:18px !important;
}
.trust-logos-official .trust-logo{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:24px !important;
  min-height:132px !important;
  padding:18px 22px !important;
  box-shadow:0 18px 45px rgba(0,0,0,.06) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.trust-logos-official .trust-logo img{
  display:block !important;
  width:100% !important;
  height:92px !important;
  object-fit:contain !important;
  object-position:center !important;
}
@media(max-width:980px){
  .trust-logos-official{grid-template-columns:repeat(2,minmax(180px,1fr)) !important}
}
@media(max-width:560px){
  .trust-logos-official{grid-template-columns:1fr !important;gap:12px !important}
  .trust-logos-official .trust-logo{min-height:108px !important;border-radius:18px !important;padding:14px !important}
  .trust-logos-official .trust-logo img{height:78px !important}
}

/* Correctif Banque Populaire + taille logos clients */
.trust-logos-official .trust-logo img{
  max-width:320px !important;
  max-height:104px !important;
  height:104px !important;
}
.trust-logos-official .trust-logo img[alt*="Banque Populaire"]{
  max-height:112px !important;
  height:112px !important;
}
@media(max-width:560px){
  .trust-logos-official .trust-logo img{
    height:86px !important;
    max-height:86px !important;
  }
}

/* Agrandissement ciblé : Banque Populaire + Cabinet Bedin */
.trust-logos-official .trust-logo img[alt*="Banque Populaire"]{
  width:auto !important;
  height:128px !important;
  max-height:128px !important;
  max-width:210px !important;
}
.trust-logos-official .trust-logo img[alt*="Cabinet Bedin"]{
  width:auto !important;
  height:105px !important;
  max-height:105px !important;
  max-width:250px !important;
}
@media(max-width:560px){
  .trust-logos-official .trust-logo img[alt*="Banque Populaire"]{
    height:104px !important;
    max-height:104px !important;
  }
  .trust-logos-official .trust-logo img[alt*="Cabinet Bedin"]{
    height:88px !important;
    max-height:88px !important;
  }
}

/* Section logos + avis Google automatiques */
.trust-layout-carousel{
  grid-template-columns:minmax(280px, .9fr) minmax(520px, 1.1fr);
  align-items:center;
  gap:56px;
}
.trust-carousel-area{
  display:grid;
  gap:32px;
}
.client-logo-slider{
  position:relative;
  padding:8px 44px 34px;
  overflow:hidden;
}
.client-logo-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:31%;
  gap:34px;
  overflow:hidden;
  scroll-behavior:smooth;
}
.client-logo-slide{
  height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.client-logo-slide img{
  max-width:230px;
  max-height:115px;
  object-fit:contain;
  display:block;
}
.client-logo-slide img[alt*="Banque Populaire"]{
  max-height:140px;
  max-width:170px;
}
.client-logo-slide img[alt*="Cabinet Bedin"]{
  max-height:130px;
  max-width:210px;
}
.client-slider-arrow,
.reviews-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  border:0;
  width:42px;
  height:42px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  color:#111;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  z-index:3;
}
.client-slider-prev{left:0}
.client-slider-next{right:0}
.client-slider-dots,
.reviews-dots{
  display:flex;
  justify-content:center;
  gap:9px;
  margin-top:10px;
}
.client-slider-dots span,
.reviews-dots span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#cfcfcf;
  display:block;
}
.client-slider-dots span.active,
.reviews-dots span.active{
  background:#111;
}
.google-reviews-widget{
  position:relative;
  background:#fff;
  border-radius:28px;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 25px 70px rgba(0,0,0,.08);
  padding:28px;
}
.reviews-header{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
  margin-bottom:24px;
}
.reviews-header h3{
  margin:0;
  font-size:clamp(28px,3vw,42px);
}
.reviews-rating{
  text-align:right;
  white-space:nowrap;
}
.reviews-rating-score{
  display:block;
  font-weight:900;
  font-size:34px;
  color:#111;
}
.reviews-stars,
.review-stars{
  color:#ffb400;
  letter-spacing:2px;
}
.reviews-count{
  display:block;
  color:#666;
  margin-top:4px;
}
.reviews-slider{
  position:relative;
  padding:0 48px;
}
.reviews-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 24px) / 2);
  gap:24px;
  overflow:hidden;
  scroll-behavior:smooth;
}
.review-card{
  min-height:245px;
  background:#f6f6f6;
  border-radius:22px;
  padding:34px 28px 26px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}
.review-avatar{
  width:74px;
  height:74px;
  border-radius:50%;
  background:#0b67a2;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:32px;
  margin-top:-64px;
  margin-bottom:12px;
  border:4px solid #fff;
  overflow:hidden;
}
.review-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.review-body strong{
  display:block;
  font-size:18px;
  color:#111;
  margin-bottom:5px;
}
.review-time{
  display:block;
  color:#777;
  font-size:14px;
  margin-bottom:12px;
}
.review-body p{
  margin:12px 0 0;
  color:#111;
  line-height:1.45;
}
.reviews-prev{left:0}
.reviews-next{right:0}
.review-error{
  background:#fff4f4;
  color:#8a1f1f;
}
@media(max-width:980px){
  .trust-layout-carousel{
    grid-template-columns:1fr;
  }
  .client-logo-track{
    grid-auto-columns:42%;
  }
  .reviews-track{
    grid-auto-columns:100%;
  }
}
@media(max-width:620px){
  .client-logo-slider{
    padding:4px 28px 26px;
  }
  .client-logo-track{
    grid-auto-columns:78%;
    gap:18px;
  }
  .client-logo-slide{
    height:110px;
  }
  .client-logo-slide img{
    max-height:80px;
  }
  .google-reviews-widget{
    padding:22px 16px;
    border-radius:22px;
  }
  .reviews-header{
    flex-direction:column;
  }
  .reviews-rating{
    text-align:left;
  }
  .reviews-slider{
    padding:0 24px;
  }
  .review-card{
    min-height:235px;
    padding:32px 18px 22px;
  }
  .client-slider-arrow,
  .reviews-arrow{
    width:34px;
    height:34px;
    font-size:28px;
  }
}

/* Correctif affichage avis Google : cartes non coupées */
.google-reviews-widget{
  overflow:visible !important;
  margin-top:18px !important;
}
.reviews-slider{
  overflow:visible !important;
  padding-top:46px !important;
  padding-bottom:14px !important;
}
.reviews-track{
  overflow:hidden !important;
  padding-top:34px !important;
  padding-bottom:10px !important;
}
.review-card{
  overflow:visible !important;
  min-height:270px !important;
  padding-top:58px !important;
  margin-top:0 !important;
}
.review-avatar{
  position:absolute !important;
  top:-37px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  margin:0 !important;
  z-index:5 !important;
}
.review-card{
  position:relative !important;
}
.reviews-arrow{
  top:58% !important;
}
@media(max-width:620px){
  .reviews-slider{
    padding-top:42px !important;
  }
  .reviews-track{
    padding-top:34px !important;
  }
  .review-card{
    min-height:260px !important;
    padding-top:56px !important;
  }
  .review-avatar{
    width:66px !important;
    height:66px !important;
    top:-33px !important;
  }
}

/* Correctif final mobile : logos + avis Google propres sur téléphone */
@media(max-width: 760px){
  #avis-google{
    padding-top:52px !important;
    padding-bottom:72px !important;
    overflow:hidden !important;
  }

  #avis-google .container,
  .trust-layout-carousel{
    width:100% !important;
    max-width:100% !important;
    padding-left:18px !important;
    padding-right:18px !important;
    display:block !important;
  }

  #avis-google .trust-copy{
    margin-bottom:28px !important;
  }

  #avis-google .trust-copy h2{
    font-size:clamp(34px, 10vw, 48px) !important;
    line-height:.98 !important;
    letter-spacing:-1.8px !important;
    max-width:100% !important;
  }

  #avis-google .trust-copy p{
    font-size:17px !important;
    line-height:1.55 !important;
    max-width:100% !important;
  }

  #avis-google .trust-actions{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    align-items:stretch !important;
  }

  #avis-google .trust-actions .btn{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .trust-carousel-area{
    gap:24px !important;
    width:100% !important;
  }

  .client-logo-slider{
    width:100% !important;
    padding:0 28px 30px !important;
    margin:0 auto !important;
    overflow:visible !important;
  }

  .client-logo-track{
    display:flex !important;
    gap:18px !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    padding:8px 0 10px !important;
  }

  .client-logo-track::-webkit-scrollbar{
    display:none !important;
  }

  .client-logo-slide{
    flex:0 0 76% !important;
    height:128px !important;
    scroll-snap-align:center !important;
    background:#fff !important;
    border:1px solid rgba(0,0,0,.08) !important;
    border-radius:22px !important;
    box-shadow:0 16px 40px rgba(0,0,0,.06) !important;
  }

  .client-logo-slide img{
    max-width:78% !important;
    max-height:88px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
  }

  .client-logo-slide img[alt*="Banque Populaire"]{
    max-height:106px !important;
    max-width:54% !important;
  }

  .client-logo-slide img[alt*="Cabinet Bedin"]{
    max-height:96px !important;
    max-width:74% !important;
  }

  .client-slider-arrow{
    width:34px !important;
    height:34px !important;
    font-size:28px !important;
    background:#fff !important;
    box-shadow:0 10px 28px rgba(0,0,0,.14) !important;
  }

  .client-slider-prev{left:-2px !important;}
  .client-slider-next{right:-2px !important;}

  .google-reviews-widget{
    width:100% !important;
    padding:22px 16px 24px !important;
    border-radius:24px !important;
    margin-top:10px !important;
    overflow:visible !important;
  }

  .reviews-header{
    display:block !important;
    margin-bottom:10px !important;
  }

  .reviews-header h3{
    font-size:clamp(30px, 9vw, 40px) !important;
    line-height:1.04 !important;
    margin-bottom:14px !important;
  }

  .reviews-rating{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    text-align:left !important;
    white-space:normal !important;
    flex-wrap:wrap !important;
  }

  .reviews-rating-score{
    font-size:30px !important;
    line-height:1 !important;
  }

  .reviews-stars{
    font-size:15px !important;
    letter-spacing:1px !important;
  }

  .reviews-count{
    width:100% !important;
    margin-top:0 !important;
    font-size:14px !important;
  }

  .reviews-slider{
    padding:42px 26px 12px !important;
    overflow:visible !important;
  }

  .reviews-track{
    display:flex !important;
    gap:16px !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    padding-top:34px !important;
    padding-bottom:12px !important;
  }

  .reviews-track::-webkit-scrollbar{
    display:none !important;
  }

  .review-card{
    flex:0 0 100% !important;
    min-height:250px !important;
    padding:54px 18px 22px !important;
    border-radius:22px !important;
    scroll-snap-align:center !important;
    box-sizing:border-box !important;
  }

  .review-avatar{
    width:66px !important;
    height:66px !important;
    top:-33px !important;
    font-size:28px !important;
  }

  .review-body strong{
    font-size:18px !important;
  }

  .review-body p{
    font-size:16px !important;
    line-height:1.45 !important;
  }

  .reviews-arrow{
    width:34px !important;
    height:34px !important;
    font-size:28px !important;
    top:58% !important;
  }

  .reviews-prev{left:-2px !important;}
  .reviews-next{right:-2px !important;}
}

@media(max-width: 390px){
  #avis-google .container,
  .trust-layout-carousel{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .client-logo-slide{
    flex-basis:82% !important;
  }

  .google-reviews-widget{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .reviews-slider{
    padding-left:22px !important;
    padding-right:22px !important;
  }

  .review-card{
    min-height:245px !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }
}

/* Correctif mobile définitif : suppression débordement horizontal + avis propres */
@media(max-width: 760px){
  html,
  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body *{
    max-width:100%;
    box-sizing:border-box;
  }

  #avis-google{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding:42px 0 92px !important;
    overflow:hidden !important;
    background:#fff !important;
  }

  #avis-google .container,
  #avis-google .trust-layout-carousel{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 18px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:26px !important;
    overflow:hidden !important;
  }

  #avis-google .trust-copy{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  #avis-google .trust-copy h2{
    width:100% !important;
    max-width:100% !important;
    font-size:36px !important;
    line-height:1.03 !important;
    letter-spacing:-1.4px !important;
    margin-bottom:18px !important;
  }

  #avis-google .trust-copy p{
    width:100% !important;
    max-width:100% !important;
    font-size:17px !important;
    line-height:1.55 !important;
  }

  #avis-google .trust-actions{
    width:100% !important;
    margin-top:22px !important;
  }

  #avis-google .trust-actions .btn{
    width:100% !important;
    max-width:100% !important;
    min-height:56px !important;
    border-radius:999px !important;
  }

  .trust-carousel-area{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    gap:24px !important;
    overflow:hidden !important;
  }

  .client-logo-slider{
    width:100% !important;
    max-width:100% !important;
    padding:0 0 20px !important;
    margin:0 !important;
    overflow:hidden !important;
    position:relative !important;
  }

  .client-logo-track{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    gap:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    padding:0 !important;
  }

  .client-logo-track::-webkit-scrollbar{
    display:none !important;
  }

  .client-logo-slide{
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    height:132px !important;
    min-height:132px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#fff !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
    scroll-snap-align:center !important;
  }

  .client-logo-slide img{
    width:auto !important;
    height:auto !important;
    max-width:72% !important;
    max-height:96px !important;
    object-fit:contain !important;
  }

  .client-logo-slide img[alt*="Banque Populaire"]{
    max-height:128px !important;
    max-width:50% !important;
  }

  .client-logo-slide img[alt*="Cabinet Bedin"]{
    max-height:108px !important;
    max-width:68% !important;
  }

  .client-slider-arrow{
    display:none !important;
  }

  .client-slider-dots{
    margin-top:8px !important;
  }

  .google-reviews-widget{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:24px 18px 26px !important;
    border-radius:24px !important;
    overflow:hidden !important;
    box-shadow:0 18px 55px rgba(0,0,0,.08) !important;
  }

  .reviews-header{
    display:block !important;
    width:100% !important;
    margin-bottom:12px !important;
  }

  .reviews-header h3{
    font-size:34px !important;
    line-height:1.05 !important;
    letter-spacing:-1px !important;
    margin:0 0 20px !important;
  }

  .reviews-rating{
    display:block !important;
    text-align:left !important;
  }

  .reviews-rating-score{
    font-size:38px !important;
  }

  .reviews-stars{
    display:block !important;
    font-size:17px !important;
    margin:4px 0 !important;
  }

  .reviews-count{
    display:block !important;
    font-size:15px !important;
  }

  .reviews-slider{
    width:100% !important;
    max-width:100% !important;
    padding:34px 0 0 !important;
    overflow:hidden !important;
    position:relative !important;
  }

  .reviews-track{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    gap:0 !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    padding:34px 0 12px !important;
  }

  .reviews-track::-webkit-scrollbar{
    display:none !important;
  }

  .review-card{
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    min-height:245px !important;
    margin:0 !important;
    padding:56px 18px 24px !important;
    border-radius:22px !important;
    scroll-snap-align:center !important;
    overflow:visible !important;
  }

  .review-avatar{
    width:70px !important;
    height:70px !important;
    top:-35px !important;
    font-size:30px !important;
  }

  .review-body strong{
    font-size:19px !important;
  }

  .review-time{
    font-size:14px !important;
  }

  .review-stars{
    font-size:16px !important;
    letter-spacing:1px !important;
  }

  .review-body p{
    font-size:17px !important;
    line-height:1.45 !important;
    margin-top:14px !important;
  }

  .reviews-arrow{
    display:none !important;
  }

  .reviews-dots{
    margin-top:8px !important;
  }

  /* Le bouton WhatsApp ne doit pas cacher les avis sur mobile */
  .whatsapp-float,
  .floating-whatsapp,
  .whatsapp-sticky,
  a[href*="wa.me"],
  a[href*="whatsapp"]{
    max-width:calc(100vw - 32px) !important;
  }

  body .whatsapp-float,
  body .floating-whatsapp,
  body .whatsapp-sticky{
    bottom:18px !important;
    left:16px !important;
    right:16px !important;
    width:auto !important;
  }
}

@media(max-width: 390px){
  #avis-google .container,
  #avis-google .trust-layout-carousel{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  #avis-google .trust-copy h2{
    font-size:32px !important;
  }

  .google-reviews-widget{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .client-logo-slide{
    height:118px !important;
    min-height:118px !important;
  }

  .review-card{
    min-height:238px !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }
}

/* =========================================================
   CORRECTIF MOBILE ULTRA FINAL
   Objectif : tout recentrer, supprimer les débordements,
   rendre les logos et avis parfaitement propres sur téléphone.
   ========================================================= */
@media screen and (max-width: 820px){
  html,
  body{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }

  body{
    position:relative !important;
  }

  body > *{
    max-width:100% !important;
  }

  .section,
  section,
  header,
  main,
  footer,
  .container{
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
  }

  /* Neutralise les flèches qui sortaient de l'écran */
  .client-slider-arrow,
  .reviews-arrow,
  .client-slider-prev,
  .client-slider-next,
  .reviews-prev,
  .reviews-next{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  /* Section complète avis/logos */
  #avis-google{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 auto !important;
    padding:40px 0 88px !important;
    overflow:hidden !important;
    background:#fff !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
  }

  #avis-google .container,
  #avis-google .trust-layout,
  #avis-google .trust-layout-carousel{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 auto !important;
    padding-left:18px !important;
    padding-right:18px !important;
    display:block !important;
    overflow:hidden !important;
    transform:none !important;
  }

  #avis-google .trust-copy{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto 28px !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  #avis-google .trust-copy h2{
    width:100% !important;
    max-width:100% !important;
    font-size:34px !important;
    line-height:1.04 !important;
    letter-spacing:-1.2px !important;
    margin:0 0 16px !important;
    overflow-wrap:break-word !important;
  }

  #avis-google .trust-copy p{
    width:100% !important;
    max-width:100% !important;
    font-size:17px !important;
    line-height:1.55 !important;
    margin:0 !important;
    overflow-wrap:break-word !important;
  }

  #avis-google .trust-actions{
    width:100% !important;
    display:block !important;
    margin:22px 0 0 !important;
  }

  #avis-google .trust-actions .btn{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin:0 auto !important;
    text-align:center !important;
  }

  /* Logos : 1 logo centré par écran, pas de débordement */
  .trust-carousel-area{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 auto !important;
    padding:0 !important;
    display:block !important;
    overflow:hidden !important;
  }

  .client-logo-slider{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto 30px !important;
    padding:0 0 22px !important;
    overflow:hidden !important;
    position:relative !important;
  }

  .client-logo-track{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:flex !important;
    gap:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    padding:0 !important;
    margin:0 !important;
  }

  .client-logo-track::-webkit-scrollbar{
    display:none !important;
  }

  .client-logo-slide{
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    min-width:100% !important;
    height:126px !important;
    min-height:126px !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    border:none !important;
    box-shadow:none !important;
    border-radius:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    scroll-snap-align:center !important;
    overflow:hidden !important;
  }

  .client-logo-slide img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:74% !important;
    max-height:88px !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 auto !important;
  }

  .client-logo-slide img[alt*="Banque Populaire"]{
    max-width:46% !important;
    max-height:116px !important;
  }

  .client-logo-slide img[alt*="Cabinet Bedin"]{
    max-width:68% !important;
    max-height:92px !important;
  }

  .client-slider-dots{
    width:100% !important;
    max-width:100% !important;
    justify-content:center !important;
    margin:6px auto 0 !important;
  }

  /* Avis Google : carte centrée et contenue */
  .google-reviews-widget{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 auto !important;
    padding:24px 16px 26px !important;
    border-radius:24px !important;
    background:#fff !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
  }

  .reviews-header{
    width:100% !important;
    max-width:100% !important;
    display:block !important;
    margin:0 0 16px !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .reviews-header h3{
    width:100% !important;
    max-width:100% !important;
    font-size:32px !important;
    line-height:1.08 !important;
    letter-spacing:-1px !important;
    margin:0 0 22px !important;
    overflow-wrap:break-word !important;
  }

  .reviews-rating{
    width:100% !important;
    max-width:100% !important;
    display:block !important;
    text-align:left !important;
    margin:0 !important;
    padding:0 !important;
  }

  .reviews-rating-score{
    font-size:38px !important;
    line-height:1 !important;
  }

  .reviews-stars{
    display:block !important;
    font-size:17px !important;
    letter-spacing:1px !important;
    margin:6px 0 4px !important;
  }

  .reviews-count{
    display:block !important;
    font-size:15px !important;
    color:#666 !important;
  }

  .reviews-slider{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 auto !important;
    padding:42px 0 0 !important;
    overflow:hidden !important;
    position:relative !important;
  }

  .reviews-track{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:flex !important;
    gap:0 !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    padding:34px 0 12px !important;
    margin:0 !important;
  }

  .reviews-track::-webkit-scrollbar{
    display:none !important;
  }

  .review-card{
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    min-width:100% !important;
    min-height:250px !important;
    margin:0 auto !important;
    padding:58px 16px 24px !important;
    border-radius:22px !important;
    background:#f6f6f6 !important;
    box-sizing:border-box !important;
    scroll-snap-align:center !important;
    position:relative !important;
    overflow:visible !important;
    transform:none !important;
  }

  .review-avatar{
    width:70px !important;
    height:70px !important;
    min-width:70px !important;
    min-height:70px !important;
    top:-35px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
    position:absolute !important;
    z-index:5 !important;
    font-size:30px !important;
  }

  .review-body{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    text-align:center !important;
  }

  .review-body strong{
    font-size:19px !important;
    line-height:1.25 !important;
  }

  .review-body p{
    max-width:100% !important;
    font-size:17px !important;
    line-height:1.45 !important;
    margin:14px auto 0 !important;
    overflow-wrap:break-word !important;
  }

  .reviews-dots{
    width:100% !important;
    max-width:100% !important;
    justify-content:center !important;
    margin:8px auto 0 !important;
  }

  /* WhatsApp : ne crée pas de largeur et reste propre */
  .whatsapp-float,
  .floating-whatsapp,
  .whatsapp-sticky{
    left:16px !important;
    right:16px !important;
    width:auto !important;
    max-width:calc(100% - 32px) !important;
    bottom:18px !important;
  }
}

@media screen and (max-width: 390px){
  #avis-google .container,
  #avis-google .trust-layout,
  #avis-google .trust-layout-carousel{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  #avis-google .trust-copy h2,
  .reviews-header h3{
    font-size:30px !important;
  }

  .google-reviews-widget{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .review-card{
    padding-left:12px !important;
    padding-right:12px !important;
  }
}

/* Bande latérale "Nos références" */
#avis-google{position:relative !important;}
.references-side-band{
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%) rotate(-90deg);
  transform-origin:left top;
  background:#0b67a2;
  color:#fff;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:13px;
  padding:12px 24px;
  border-radius:0 0 16px 16px;
  box-shadow:0 14px 34px rgba(0,0,0,.16);
  z-index:5;
  pointer-events:none;
}
@media(max-width:980px){
  .references-side-band{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    display:inline-flex !important;
    margin:0 0 18px 18px !important;
    border-radius:999px !important;
    font-size:12px !important;
    padding:10px 16px !important;
  }
}

/* Carte agences cliquable vers Google Maps */
.agencies-map-link{
  display:block;
  border-radius:24px;
  overflow:hidden;
  cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease;
}
.agencies-map-link:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.agencies-map-link img{
  display:block;
  width:100%;
  height:auto;
}

/* === Carte agences interactive corrigée === */
.footer-agences-card-map{
  grid-template-columns:1.05fr .95fr !important;
  gap:22px !important;
  align-items:stretch !important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.045)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
}
.agency-map-modern{
  min-height:330px !important;
  padding:20px !important;
  border-radius:28px !important;
  background:
    radial-gradient(circle at 28% 28%,rgba(0,168,239,.25),transparent 28%),
    radial-gradient(circle at 75% 22%,rgba(244,229,0,.16),transparent 25%),
    linear-gradient(145deg,#f8fbfa,#e7f2ee) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.85),0 22px 55px rgba(0,0,0,.22) !important;
  overflow:hidden !important;
  isolation:isolate !important;
}
.agency-map-modern:before{display:none !important;}
.agency-map-heading{
  position:absolute;
  top:18px;
  left:20px;
  z-index:4;
  display:grid;
  gap:2px;
  line-height:1;
}
.agency-map-heading span{
  color:#008ed2;
  font-weight:1000;
  letter-spacing:.08em;
  font-size:20px;
}
.agency-map-heading strong{
  color:#52605e;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
}
.agency-france-shape{
  position:absolute;
  inset:42px 18px 8px 18px;
  width:calc(100% - 36px);
  height:calc(100% - 50px);
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.12));
  z-index:1;
}
.agency-marker{
  position:absolute;
  z-index:5;
  display:inline-grid;
  grid-template-columns:auto auto;
  column-gap:7px;
  row-gap:1px;
  align-items:center;
  padding:10px 13px 10px 10px;
  border-radius:18px;
  background:rgba(255,255,255,.94);
  color:#111 !important;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 16px 34px rgba(0,0,0,.16);
  font-weight:950;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.agency-marker:hover{
  transform:translateY(-3px) scale(1.02);
  box-shadow:0 22px 44px rgba(0,0,0,.22),0 0 0 4px rgba(0,168,239,.12);
  border-color:rgba(0,168,239,.45);
}
.agency-dot{
  grid-row:1 / span 2;
  width:15px;
  height:15px;
  border-radius:50%;
  background:#009de0;
  border:3px solid #fff;
  box-shadow:0 0 0 4px rgba(0,157,224,.18),0 5px 12px rgba(0,0,0,.18);
}
.agency-dot-red{background:#e7364d;box-shadow:0 0 0 4px rgba(231,54,77,.18),0 5px 12px rgba(0,0,0,.18);}
.agency-marker b{font-size:17px;line-height:1;}
.agency-marker small{grid-column:2;color:#5a6361;font-weight:900;font-size:11px;line-height:1.05;}
.agency-marker-33{left:9%;bottom:18%;}
.agency-marker-94{right:18%;top:24%;}
.agency-marker-45{right:6%;top:48%;}
.agency-marker-69{right:15%;bottom:19%;}
.agency-list-complete{
  padding:8px !important;
  justify-content:flex-start !important;
  gap:10px !important;
}
.agency-list-complete h3{
  font-size:28px !important;
  margin:0 0 4px !important;
}
.agency-address{
  display:block !important;
  margin:0 !important;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  color:#fff !important;
  transition:background .2s ease,transform .2s ease,border-color .2s ease;
}
.agency-address:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(0,168,239,.45);
  transform:translateX(3px);
}
.agency-address strong{
  display:block;
  font-size:14px;
  line-height:1.2;
  color:#fff;
  margin-bottom:5px;
}
.agency-address span{
  display:block;
  color:rgba(255,255,255,.70);
  font-size:13px;
  line-height:1.35;
  font-weight:650;
}
.agency-address-main{
  background:linear-gradient(135deg,rgba(0,168,239,.22),rgba(255,255,255,.08)) !important;
  border-color:rgba(0,168,239,.30) !important;
}
.agency-contact-links{
  display:grid;
  gap:6px;
  margin-top:4px;
}
.agency-contact-links a{
  display:block !important;
  color:#fff !important;
  font-weight:950 !important;
  margin:0 !important;
}
@media(max-width:1050px){
  .footer-agences-card-map{grid-template-columns:1fr !important;}
  .agency-map-modern{min-height:300px !important;}
  .agency-list-complete{display:grid !important;grid-template-columns:1fr 1fr;}
  .agency-list-complete h3,.agency-contact-links{grid-column:1/-1;}
}
@media(max-width:620px){
  .agency-map-modern{min-height:270px !important;padding:14px !important;border-radius:22px !important;}
  .agency-map-heading span{font-size:17px;}
  .agency-marker{padding:8px 10px 8px 8px;border-radius:15px;}
  .agency-marker b{font-size:14px;}
  .agency-marker small{font-size:10px;}
  .agency-dot{width:12px;height:12px;border-width:2px;}
  .agency-marker-33{left:4%;bottom:17%;}
  .agency-marker-94{right:11%;top:25%;}
  .agency-marker-45{right:2%;top:49%;}
  .agency-marker-69{right:10%;bottom:18%;}
  .agency-list-complete{grid-template-columns:1fr;}
}

/* === Carte agences officielle interactive corrigée === */
.footer-agences-card-map{
  grid-template-columns:1fr !important;
  gap:0 !important;
  padding:18px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.045)) !important;
}
.footer-agences-card-map .agency-list{
  display:none !important;
}
.agency-map-official{
  width:100% !important;
  min-height:0 !important;
  aspect-ratio:1024/683 !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 20px 60px rgba(0,0,0,.32) !important;
  border:1px solid rgba(255,255,255,.28) !important;
}
.agency-map-official::before{
  display:none !important;
}
.agency-map-official-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.map-hotspot{
  position:absolute;
  z-index:5;
  display:block;
  border-radius:14px;
  text-decoration:none;
  outline:0;
  background:rgba(0,122,204,0);
  transition:background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.map-hotspot span{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}
.map-hotspot:hover,
.map-hotspot:focus-visible{
  background:rgba(0,122,204,.16);
  box-shadow:0 0 0 3px rgba(0,122,204,.28), 0 10px 30px rgba(0,0,0,.2);
  transform:translateY(-1px);
}
.map-hotspot-bordeaux-top{left:11.5%;top:39%;width:25.2%;height:20.2%;}
.map-hotspot-bordeaux-bottom{left:14%;top:70.2%;width:26%;height:19.5%;}
.map-hotspot-94{left:58%;top:25.4%;width:30%;height:20%;}
.map-hotspot-45{left:57.8%;top:53.2%;width:22.8%;height:16%;}
.map-hotspot-lyon{left:60%;top:73.5%;width:23.8%;height:16.5%;}
@media(max-width:900px){
  .footer-agences-card-map{padding:12px !important;border-radius:26px !important;}
  .agency-map-official{border-radius:22px !important;}
}
@media(max-width:560px){
  .agency-map-official{border-radius:18px !important;}
}


/* Bande Nos références sous Voir les réalisations */
.trust-actions-stacked {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
  max-width: 520px;
}
.trust-actions-stacked .btn {
  width: 100%;
  justify-content: center;
  text-align: center;
}
.references-inline-band{
  width:100%;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:linear-gradient(135deg,#0082c8 0%,#10b8ee 100%);
  color:#fff;
  font-weight:900;
  font-size:clamp(18px,3.8vw,28px);
  line-height:1;
  text-align:center;
  letter-spacing:.01em;
  box-shadow:0 16px 34px rgba(0,130,200,.22);
  pointer-events:none;
  user-select:none;
}
@media (min-width: 900px) {
  .trust-actions-stacked {
    max-width: 430px;
  }
}
@media (max-width: 560px){
  .references-inline-band{
    min-height:52px;
    font-size:24px;
  }
}

/* === Carte Leaflet agences : remplacement de la carte image officielle === */
.footer-agences-card-leaflet{
  display:block !important;
  padding:14px !important;
  border-radius:32px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04)) !important;
}
.agency-leaflet-map{
  width:100%;
  min-height:360px;
  height:clamp(320px,32vw,480px);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 22px 60px rgba(0,0,0,.22);
  background:#d7edf4;
  z-index:1;
}
.agency-leaflet-map .leaflet-control-zoom a{
  color:#111 !important;
  text-decoration:none !important;
}
.agency-popup{
  min-width:210px;
  display:grid;
  gap:8px;
  font-family:Arial, sans-serif;
}
.agency-popup strong{
  color:#111;
  font-size:16px;
  line-height:1.2;
}
.agency-popup span{
  color:#555;
  font-size:14px;
  line-height:1.35;
}
.agency-popup a{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:max-content;
  padding:8px 13px;
  border-radius:8px;
  background:#ed0017;
  color:#fff !important;
  font-weight:800;
  text-decoration:none !important;
}
@media(max-width:900px){
  .agency-leaflet-map{min-height:340px;height:420px;}
}
@media(max-width:560px){
  .footer-agences-card-leaflet{padding:10px !important;border-radius:22px !important;}
  .agency-leaflet-map{min-height:300px;height:340px;border-radius:18px;}
}


/* === Carte agences OpenStreetMap : version propre et utilisable === */
.footer-agences-card-leaflet{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:18px;
  align-items:stretch;
  width:100% !important;
  padding:18px !important;
  border-radius:34px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.06)) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.28) !important;
}
.agency-leaflet-map{
  width:100% !important;
  min-height:520px !important;
  height:min(64vh,640px) !important;
  border-radius:26px !important;
  overflow:hidden !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18), 0 18px 50px rgba(0,0,0,.20) !important;
  background:#dceef5 !important;
  z-index:1 !important;
}
.agency-leaflet-map .leaflet-control-zoom a{
  color:#111 !important;
  text-decoration:none !important;
  font-weight:900 !important;
}
.agency-leaflet-map .leaflet-popup-content-wrapper{
  border-radius:18px !important;
  box-shadow:0 18px 45px rgba(0,0,0,.22) !important;
}
.agency-leaflet-map .leaflet-popup-content{margin:16px !important;}
.espaces-enseignes-marker{
  background:transparent !important;
  border:0 !important;
}
.espaces-enseignes-marker span{
  display:block;
  width:34px;
  height:34px;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  box-shadow:0 10px 24px rgba(0,0,0,.30);
  position:relative;
}
.espaces-enseignes-marker span:after{
  content:"";
  position:absolute;
  width:13px;
  height:13px;
  border-radius:999px;
  background:#fff;
  left:10.5px;
  top:10.5px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
}
.espaces-enseignes-marker--red span{background:#d92d2d;}
.espaces-enseignes-marker--blue span{background:#0b7fc3;}
.espaces-enseignes-marker--yellow span{background:#f0b824;}
.agency-popup{
  min-width:250px;
  display:grid;
  gap:10px;
  font-family:Arial, sans-serif;
}
.agency-popup strong{
  color:#111;
  font-size:17px;
  line-height:1.18;
}
.agency-popup span{
  color:#505050;
  font-size:14px;
  line-height:1.35;
}
.agency-popup-actions{
  display:grid;
  gap:8px;
  margin-top:2px;
}
.agency-popup-btn{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:10px 12px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
  text-decoration:none !important;
  line-height:1;
}
.agency-popup-btn-primary{
  background:linear-gradient(135deg,#0077b6,#08b4e8);
  color:#fff !important;
}
.agency-popup-btn-secondary{
  background:#f2f6f8;
  color:#0d4f73 !important;
  box-shadow:inset 0 0 0 1px rgba(13,79,115,.18);
}
.agency-map-list{
  display:grid;
  gap:12px;
  align-content:start;
  padding:8px 0;
}
.agency-map-item{
  appearance:none;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  padding:16px;
  text-align:left;
  cursor:pointer;
  background:rgba(255,255,255,.08);
  color:#fff;
  box-shadow:0 14px 28px rgba(0,0,0,.13);
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.agency-map-item:hover,
.agency-map-item:focus-visible{
  transform:translateY(-2px);
  background:rgba(0,153,221,.20);
  border-color:rgba(0,180,255,.55);
  outline:none;
}
.agency-map-item strong{
  display:block;
  color:#fff;
  font-size:16px;
  line-height:1.2;
  margin-bottom:7px;
}
.agency-map-item span{
  display:block;
  color:rgba(255,255,255,.78);
  font-size:13px;
  line-height:1.35;
}
.agency-map-item em{
  display:inline-flex;
  margin-top:10px;
  color:#2dc9ff;
  font-style:normal;
  font-weight:900;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
@media(max-width:980px){
  .footer-agences-card-leaflet{grid-template-columns:1fr !important;}
  .agency-leaflet-map{min-height:430px !important;height:520px !important;}
  .agency-map-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;}
}
@media(max-width:560px){
  .footer-agences-card-leaflet{padding:10px !important;border-radius:22px !important;gap:10px;}
  .agency-leaflet-map{min-height:360px !important;height:430px !important;border-radius:18px !important;}
  .agency-map-list{grid-template-columns:1fr;}
  .agency-popup{min-width:220px;}
}

/* === Carte agences OpenStreetMap - version propre type contact === */
.footer-agences-card-leaflet{
  display:block !important;
  padding:18px !important;
  border-radius:34px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.05)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 26px 80px rgba(0,0,0,.30) !important;
  overflow:hidden !important;
}
.agency-map-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:4px 4px 14px;
  color:#fff;
}
.agency-map-top strong{
  font-size:24px;
  line-height:1;
  letter-spacing:-.03em;
}
.agency-map-top span{
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.35;
  text-align:right;
}
.agency-leaflet-map{
  width:100% !important;
  height:clamp(430px,46vw,620px) !important;
  min-height:430px !important;
  border-radius:26px !important;
  overflow:hidden !important;
  background:#b9dce8 !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 18px 50px rgba(0,0,0,.23) !important;
  z-index:1 !important;
  isolation:isolate !important;
}
.agency-leaflet-map .leaflet-tile{
  max-width:none !important;
}
.agency-leaflet-map .leaflet-control-zoom{
  border:0 !important;
  box-shadow:0 10px 25px rgba(0,0,0,.16) !important;
}
.agency-leaflet-map .leaflet-control-zoom a{
  color:#111 !important;
  text-decoration:none !important;
  font-weight:900 !important;
  background:#fff !important;
}
.espaces-enseignes-osm-pin{
  background:transparent !important;
  border:0 !important;
}
.espaces-enseignes-osm-pin span{
  display:block;
  width:36px;
  height:36px;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  position:relative;
  box-shadow:0 12px 26px rgba(0,0,0,.32);
}
.espaces-enseignes-osm-pin span i{
  position:absolute;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#fff;
  left:11px;
  top:11px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
}
.agency-leaflet-map .leaflet-popup-content-wrapper{
  border-radius:18px !important;
  box-shadow:0 18px 45px rgba(0,0,0,.26) !important;
}
.agency-leaflet-map .leaflet-popup-content{margin:16px !important;}
.agency-popup-pro{min-width:245px;font-family:Inter,Segoe UI,Arial,sans-serif;color:#161616;}
.agency-popup-title{font-weight:950;font-size:17px;line-height:1.18;margin-bottom:8px;}
.agency-popup-address{font-size:14px;line-height:1.4;color:#555;margin-bottom:12px;}
.agency-popup-actions{display:grid;grid-template-columns:1fr;gap:8px;}
.agency-popup-btn{display:flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:999px;font-weight:950;font-size:13px;line-height:1;text-decoration:none !important;}
.agency-popup-btn-primary{background:linear-gradient(135deg,#0063a6,#00a8ef);color:#fff !important;}
.agency-popup-btn-secondary{background:#eef7fb;color:#075985 !important;box-shadow:inset 0 0 0 1px rgba(7,89,133,.18);}
.agency-map-list{display:none !important;}
@media(max-width:900px){
  .agency-map-top{display:grid;align-items:start;}
  .agency-map-top span{text-align:left;}
  .agency-leaflet-map{height:460px !important;min-height:460px !important;}
}
@media(max-width:560px){
  .footer-agences-card-leaflet{padding:10px !important;border-radius:24px !important;}
  .agency-map-top{padding:4px 4px 10px;}
  .agency-map-top strong{font-size:20px;}
  .agency-map-top span{font-size:13px;}
  .agency-leaflet-map{height:390px !important;min-height:390px !important;border-radius:18px !important;}
  .agency-popup-pro{min-width:220px;}
}

/* === Correctif mobile : bande Nos références plus fine et espacée === */
@media (max-width: 760px){
  #avis-google .trust-copy h2{
    font-size: clamp(30px, 8.2vw, 38px) !important;
    line-height: 1.06 !important;
    letter-spacing: -1px !important;
    margin-bottom: 18px !important;
  }
  #avis-google .trust-copy p{
    font-size: 16px !important;
    line-height: 1.58 !important;
  }
  #avis-google .trust-actions,
  #avis-google .trust-actions-stacked{
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin-top: 24px !important;
    max-width: 100% !important;
  }
  #avis-google .trust-actions .btn,
  #avis-google .trust-actions-stacked .btn{
    min-height: 52px !important;
    padding: 13px 18px !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
    border-radius: 999px !important;
  }
  #avis-google .references-inline-band{
    min-height: 46px !important;
    padding: 11px 18px !important;
    font-size: 20px !important;
    line-height: 1.12 !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(0,130,200,.18) !important;
  }
}

@media (max-width: 390px){
  #avis-google .trust-copy h2{
    font-size: 28px !important;
    line-height: 1.08 !important;
  }
  #avis-google .trust-actions,
  #avis-google .trust-actions-stacked{
    gap: 14px !important;
  }
  #avis-google .trust-actions .btn,
  #avis-google .trust-actions-stacked .btn{
    min-height: 50px !important;
    font-size: 15.5px !important;
  }
  #avis-google .references-inline-band{
    min-height: 44px !important;
    font-size: 19px !important;
  }
}


/* Correctif final : carte officielle cliquable + boutons mobile propres */
.footer-agences-card-map:not(.footer-agences-card-leaflet){
  display:block !important;
  padding:18px !important;
}
.agency-map-official{
  position:relative !important;
  width:100% !important;
  min-height:0 !important;
  background:#fff !important;
  border-radius:26px !important;
  overflow:hidden !important;
  padding:0 !important;
}
.agency-map-official::before{display:none !important;}
.agency-map-official-img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  border-radius:22px !important;
  background:#fff !important;
}
.map-hotspot{position:absolute !important;z-index:4 !important;display:block !important;background:rgba(0,157,220,.01) !important;border:0 !important;border-radius:10px !important;text-indent:-9999px !important;overflow:hidden !important;}
.map-hotspot:hover,.map-hotspot:focus-visible{outline:3px solid rgba(0,157,220,.55) !important;background:rgba(0,157,220,.12) !important;}
.map-hotspot-bordeaux-top{left:11.5% !important;top:39% !important;width:25.2% !important;height:20.2% !important;}
.map-hotspot-bordeaux-bottom{left:14% !important;top:70.2% !important;width:26% !important;height:19.5% !important;}
.map-hotspot-94{left:58% !important;top:25.4% !important;width:30% !important;height:20% !important;}
.map-hotspot-45{left:57.8% !important;top:53.2% !important;width:22.8% !important;height:16% !important;}
.map-hotspot-lyon{left:60% !important;top:73.5% !important;width:23.8% !important;height:16.5% !important;}
.references-inline-band{pointer-events:none !important;cursor:default !important;}
@media(max-width:560px){
  .trust-actions-stacked{gap:14px !important;}
  .references-inline-band{font-size:clamp(22px,7vw,30px) !important;min-height:58px !important;padding:14px 18px !important;}
  .footer-agences-card-map:not(.footer-agences-card-leaflet){padding:10px !important;border-radius:22px !important;}
  .agency-map-official{border-radius:18px !important;}
  .agency-map-official-img{border-radius:16px !important;}
}

/* Thème Espaces Enseignes — couleurs inspirées du logo fourni */
:root{
  --blue:#00538b;
  --blue2:#009fe3;
  --yellow:#5dbb35;
  --dark:#071b2f;
  --black:#050505;
  --cream:#f1f6ee;
  --paper:#fbfff8;
}
.scroll-progress{background:linear-gradient(90deg,#009fe3,#5dbb35,#ee2a70,#ff8a00)}
.btn-primary,.badge-year{background:linear-gradient(135deg,#00538b 0%,#009fe3 45%,#5dbb35 100%);box-shadow:0 18px 40px rgba(0,159,227,.28)}
.cta{background:linear-gradient(135deg,#00538b 0%,#071b2f 55%,#5dbb35 120%);box-shadow:0 30px 90px rgba(0,83,139,.26)}
.brand img,.footer-logo,.mobile-head img{filter:drop-shadow(0 0 24px rgba(0,159,227,.28)) drop-shadow(0 0 18px rgba(93,187,53,.18))}
.brand-glow{background:linear-gradient(90deg,#009fe3,#5dbb35,#ee2a70,#ff8a00);opacity:.55}
.desktop-nav>a:hover,.nav-mega>button:hover,.topbar a:hover,.eyebrow,.micro{color:#5dbb35}
.slider-dots button.active{background:#5dbb35}
.orb-one{background:#009fe3}.orb-two{background:#5dbb35}
.whatsapp{background:#5dbb35;box-shadow:0 16px 40px rgba(93,187,53,.36)}
