/* Watt Power Engineering — feuille de style principale */
:root{
  --g950:#0c0d0e; --g900:#141618; --g800:#1c1f21; --g700:#5e7314; --g600:#b3cb42; --g500:#c2d75a; --g100:#f1f6dc; --mint:#f6f7f2;
  --yellow:#b3cb42; --yellow-d:#a1b935; --blue:#141618;
  --ink:#111111; --text:#2b2d2f; --muted:#62666a; --line:#e6e8e3; --white:#fff;
  --r-sm:10px; --r:16px; --r-lg:22px; --r-xl:28px;
  --shadow:0 18px 50px -20px rgba(12,13,14,.28);
  --shadow-sm:0 6px 20px -10px rgba(12,13,14,.25);
  --font:'Inter','Helvetica Neue',Arial,system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-d:'Inter Tight','Inter','Helvetica Neue',Arial,system-ui,sans-serif;
  --container:1172px; --header-h:82px;
}
html[lang="ar"]{ --font:'IBM Plex Sans Arabic','Inter',system-ui,sans-serif; --font-d:'IBM Plex Sans Arabic','Inter Tight',sans-serif; }
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--text);background:var(--white);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
ul{list-style:none}
.container{max-width:calc(var(--container) + 48px);margin:0 auto;padding:0 24px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ic{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ic-sm{width:16px;height:16px}
[dir="rtl"] .flip{transform:scaleX(-1)}

/* ---------- Typo ---------- */
h1,h2,h3,h4{font-family:var(--font-d);color:var(--ink);font-weight:700;letter-spacing:-.028em;line-height:1.06}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] h4{letter-spacing:0;line-height:1.3}
.eyebrow{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--g700);margin-bottom:14px}
html[lang="ar"] .eyebrow{letter-spacing:0;font-size:14px}
.h-xl{font-size:clamp(40px,5.6vw,76px)}
.h-lg{font-size:clamp(32px,3.9vw,52px)}
.h-md{font-size:clamp(26px,2.8vw,38px)}
.lead{font-size:18px;color:var(--muted);line-height:1.6}
.accent{color:var(--yellow)}
.section{padding:110px 0}
.section-sm{padding:72px 0}
.bg-mint{background:var(--mint)}
.bg-dark{background:var(--g900);color:#dadcdd}
.bg-dark h1,.bg-dark h2,.bg-dark h3{color:#fff}
.center{text-align:center}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:48px;flex-wrap:wrap}
.sec-head .lead{max-width:500px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:16px;border-radius:999px;padding:14px 26px;transition:.2s ease;white-space:nowrap;line-height:1.2}
.btn .ic{width:18px;height:18px}
.btn-primary{background:var(--g600);color:var(--ink)}
.btn-primary:hover{background:var(--yellow-d);transform:translateY(-1px)}
.btn-yellow{background:var(--yellow);color:var(--ink)}
.btn-yellow:hover{background:var(--yellow-d)}
.btn-outline{border:1.5px solid var(--ink);color:var(--ink);background:transparent}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn-ghost-light{border:1.5px solid rgba(255,255,255,.8);color:#fff}
.btn-ghost-light:hover{background:#fff;color:var(--g900)}
.btn-block{width:100%}
.link-arrow{display:inline-flex;align-items:center;gap:6px;color:var(--g700);font-weight:700;font-size:15px}
.link-arrow:hover{gap:10px}
.link-arrow .ic{width:16px;height:16px;transition:.2s}

/* ---------- Topbar & header ---------- */
.topbar{background:var(--g950);color:#ebeced;font-size:14px;text-align:center;padding:9px 16px}
.topbar b{color:#fff}
.topbar a{color:var(--g600);font-weight:600;margin-inline-start:10px;white-space:nowrap}
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.header-in{height:var(--header-h);display:flex;align-items:center;gap:16px}
.logo{flex:none}
.logo img{height:40px;width:auto}
.nav{display:flex;align-items:stretch;gap:2px;margin-inline-start:auto;height:100%}
.nav-item{display:flex;align-items:center}
.nav-btn{display:flex;align-items:center;gap:3px;padding:8px 9px;font-weight:600;font-size:15px;white-space:nowrap;color:var(--ink);height:100%;position:relative}
.nav-btn .ic{width:14px;height:14px;transition:transform .2s}
.nav-btn::after{content:"";position:absolute;inset-inline:12px;bottom:-1px;height:3px;border-radius:3px;background:var(--g600);transform:scaleX(0);transition:.2s}
.nav-item.open .nav-btn::after,.nav-btn.active::after{transform:scaleX(1)}
.nav-item.open .nav-btn .ic{transform:rotate(180deg)}
.header-tools{display:flex;align-items:center;gap:10px}
.header-tools .btn{padding:13px 19px;font-size:15px}
.call-link{display:flex;align-items:center;gap:6px;color:var(--g700);font-weight:600;white-space:nowrap;font-size:15px;margin-inline-start:8px}
@media (max-width:1340px){.call-link .cl-t{display:none}.call-link{width:40px;height:40px;border-radius:50%;background:var(--g100);justify-content:center}}
.lang{position:relative}
.lang-btn{display:flex;align-items:center;gap:4px;font-weight:600;color:var(--muted);padding:8px 6px;font-size:15px}
.lang-btn .ic{width:14px;height:14px}
.lang-menu{position:absolute;top:calc(100% + 10px);inset-inline-end:-10px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:6px;min-width:190px;display:none;z-index:70}
.lang.open .lang-menu{display:block}
.lang-menu a{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;border-radius:10px;font-weight:600;text-align:start;gap:12px}
.lang-menu a:hover{background:var(--mint)}
.lang-menu a small{color:var(--muted);font-weight:500;font-size:12px;letter-spacing:.06em}
.lang-menu a[aria-current="true"]{background:var(--g100);color:var(--g700)}
.burger{display:none;padding:8px;margin-inline-start:auto}
.burger .ic{width:26px;height:26px}

/* ---------- Mega menu (style Sunrun) ---------- */
:root{--cream:#ffffff}
.site-header{transition:background-color .25s ease}
.site-header.menu-open{background:var(--cream)}
.nav-btn::after{inset-inline:10px;height:3px;bottom:18px;background:var(--g900);transform-origin:center}
.nav-item.open .nav-btn{color:var(--g900)}
.mega{position:absolute;inset-inline:0;top:100%;background:var(--cream);border-top:1px solid var(--line);box-shadow:0 40px 60px -40px rgba(12,13,14,.35);opacity:0;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .38s cubic-bezier(.2,.7,.2,1),opacity .25s ease,visibility 0s .38s;z-index:60}
.mega.show{opacity:1;visibility:visible;clip-path:inset(0 0 -60px 0);transition:clip-path .42s cubic-bezier(.2,.7,.2,1),opacity .2s ease,visibility 0s}
.mega-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(32px,6vw,110px);padding:44px 24px 52px}
.mega-label{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
html[lang="ar"] .mega-label{letter-spacing:0}
.mega-links{list-style:none;margin:0;padding:0;max-width:520px}
.mega-links.two .mega-link{padding:11px 0}
.mega-links li{opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease}
.mega.show .mega-links li{opacity:1;transform:none;transition-delay:calc(var(--d) + 90ms)}
.mega-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid #d3d5d6;color:var(--g900);font-size:19px;line-height:1.3;transition:color .2s}
.mega-link span{background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 1.5px;transition:background-size .3s ease;padding-bottom:2px}
[dir="rtl"] .mega-link span{background-position:100% 100%}
.mega-link .ic{opacity:0;transform:translateX(-8px);transition:.25s ease;color:var(--g700);flex:none}
[dir="rtl"] .mega-link .ic{transform:translateX(8px) scaleX(-1)}
.mega-link:hover,.mega-link:focus-visible{color:var(--g700)}
.mega-link:hover span,.mega-link:focus-visible span{background-size:100% 1.5px}
.mega-link:hover .ic,.mega-link:focus-visible .ic{opacity:1;transform:none}
[dir="rtl"] .mega-link:hover .ic,[dir="rtl"] .mega-link:focus-visible .ic{transform:scaleX(-1)}
.mega-col:last-child{opacity:0;transform:translateY(12px);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1)}
.mega.show .mega-col:last-child{opacity:1;transform:none;transition-delay:.12s}
.mega-feat{position:relative;display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:2/1;min-height:300px;max-height:470px;width:100%;padding:40px;color:#fff;isolation:isolate}
.mega-feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.mega-feat .mf-next{opacity:0;transition:opacity .32s ease,transform .8s cubic-bezier(.2,.7,.2,1);z-index:-1}
.mega-feat .mf-next.on{opacity:1}
.mega-feat:hover img{transform:scale(1.035)}
.mega-feat::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(12,13,14,.62) 0%,rgba(12,13,14,.12) 45%,rgba(12,13,14,.45) 100%);pointer-events:none}
.mega-feat-body{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;height:100%;gap:24px}
.mega-feat h4{color:#fff;font-size:clamp(24px,2.3vw,34px);font-weight:600;line-height:1.15;max-width:15em;transition:opacity .14s ease,transform .14s ease}
.mega-feat .mf-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;border:1.5px solid #fff;border-radius:999px;padding:12px 18px 12px 22px;font-weight:600;font-size:17px;transition:background-color .25s,color .25s,opacity .14s}
[dir="rtl"] .mega-feat .mf-btn{padding:12px 22px 12px 18px}
.mega-feat .mf-chev{width:22px;height:22px;transform:rotate(-90deg);transition:transform .25s}
[dir="rtl"] .mega-feat .mf-chev{transform:rotate(90deg)}
.mega-feat:hover .mf-btn{background:#fff;color:var(--g900)}
.mega-feat:hover .mf-chev{transform:rotate(-90deg) translateY(3px)}
[dir="rtl"] .mega-feat:hover .mf-chev{transform:rotate(90deg) translateY(3px)}
.mega-feat.swap h4,.mega-feat.swap .mf-btn{opacity:0}
.mega-feat.swap h4{transform:translateY(4px)}
.mega-overlay{position:fixed;inset:0;top:0;background:rgba(12,13,14,.28);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s;z-index:40}
.mega-overlay.show{opacity:1;visibility:visible;transition:opacity .3s}
@media (prefers-reduced-motion:reduce){.mega,.mega.show,.mega-links li,.mega-col:last-child{transition:none!important;clip-path:none}}

/* ---------- Mobile drawer ---------- */
.drawer{position:fixed;inset:0;background:#fff;z-index:100;transform:translateX(100%);transition:.3s ease;display:flex;flex-direction:column;overflow-y:auto}
[dir="rtl"] .drawer{transform:translateX(-100%)}
.drawer{visibility:hidden}
.drawer.open{transform:none;visibility:visible}
.drawer-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}
.drawer-top img{height:36px}
.drawer-body{padding:8px 20px 24px;flex:1}
.drawer-body{position:relative;overflow-x:hidden}
.d-main,.d-sub{transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .25s}
.d-top{display:flex;justify-content:space-between;align-items:center;width:100%;padding:20px 0;border-bottom:1px solid var(--line);font-weight:600;font-size:22px;color:var(--ink);font-family:var(--font-d);text-align:start}
.d-chev{width:22px;height:22px;transform:rotate(-90deg);color:var(--muted)}
[dir="rtl"] .d-chev{transform:rotate(90deg)}
.d-chev-back{transform:rotate(90deg)}
[dir="rtl"] .d-chev-back{transform:rotate(-90deg)}
.d-sub{position:absolute;inset:0 20px auto;padding-top:8px;transform:translateX(105%);opacity:0;visibility:hidden}
[dir="rtl"] .d-sub{transform:translateX(-105%)}
.drawer-body.sub .d-main{transform:translateX(-30%);opacity:0;visibility:hidden;height:0;overflow:hidden}
[dir="rtl"] .drawer-body.sub .d-main{transform:translateX(30%)}
.drawer-body.sub .d-sub.on{position:relative;inset:auto;transform:none;opacity:1;visibility:visible}
.d-back{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--muted);padding:10px 0;font-size:15px}
.d-sub h3{font-size:28px;margin:6px 0 10px}
.d-sub .mega-label{margin-top:24px}
.d-sub a.dl{display:block;padding:14px 0;border-bottom:1px solid var(--line);color:var(--g900);font-size:18px;font-weight:500}
.d-feat{display:block;position:relative;border-radius:20px;overflow:hidden;height:190px;margin-bottom:10px}
.d-feat img{width:100%;height:100%;object-fit:cover}
.d-feat span{position:absolute;inset-inline:0;bottom:0;padding:14px;color:#fff;font-weight:700;background:linear-gradient(transparent,rgba(12,13,14,.85))}
.drawer-foot{padding:20px;border-top:1px solid var(--line);display:grid;gap:12px}
.lang-pills{display:flex;gap:8px;flex-wrap:wrap}
.lang-pills a{border:1.5px solid var(--line);border-radius:999px;padding:8px 16px;font-weight:600;font-size:14px}
.lang-pills a[aria-current="true"]{border-color:var(--g600);background:var(--g100);color:var(--g700)}

/* ---------- Hero (accueil) ---------- */
.hero{position:relative;color:#fff;min-height:0;display:flex;align-items:center;overflow:hidden;background:#111}
.hero-bg{position:absolute;inset:0;background:url(../img/hero-accueil.webp) center right/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(12,13,14,.92) 0%,rgba(12,13,14,.78) 38%,rgba(12,13,14,.2) 70%,rgba(12,13,14,0) 100%),linear-gradient(0deg,rgba(12,13,14,.55),transparent 40%)}
[dir="rtl"] .hero::before{background:linear-gradient(-90deg,rgba(12,13,14,.92) 0%,rgba(12,13,14,.78) 38%,rgba(12,13,14,.2) 70%,rgba(12,13,14,0) 100%),linear-gradient(0deg,rgba(12,13,14,.55),transparent 40%)}
[dir="rtl"] .hero-bg{transform:scaleX(-1)}
.hero .container{position:relative;z-index:2;width:100%;padding-top:76px;padding-bottom:84px}
.hero .eyebrow{color:var(--g600)}
.hero-head{border-inline-start:4px solid var(--g600);padding-inline-start:21px;margin-bottom:22px}
.hero h1{color:#fff;font-size:clamp(38px,4vw,56px);max-width:720px;margin-bottom:14px;letter-spacing:-.035em}
.hero-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;font-size:15.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#e8e9ea}
.hero-tags span{display:inline-flex;align-items:center}
.hero-tags span+span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--g600);margin:0 16px}
html[lang="ar"] .hero-tags{letter-spacing:0;font-size:17px}
.hero-sub{font-size:18.5px;color:#e8e9ea;max-width:600px;margin-bottom:24px;line-height:1.5}
.quick-form{display:flex;align-items:center;background:#fff;border-radius:16px;padding:9px;max-width:694px;box-shadow:var(--shadow);color:var(--ink)}
.qf-field{flex:1;padding:6px 18px;display:flex;flex-direction:column;min-width:0}
.qf-field+.qf-field{border-inline-start:1px solid var(--line)}
.qf-field label{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.qf-field select,.qf-field input{border:0;outline:0;background:transparent;font-weight:600;font-size:17px;padding:2px 0;width:100%;appearance:none;-webkit-appearance:none}
.qf-select{position:relative}
.qf-select .ic{position:absolute;inset-inline-end:0;bottom:6px;width:16px;height:16px;pointer-events:none;color:var(--muted)}
.quick-form .btn{border-radius:10px;padding:17px 28px}
.hero-stats{display:flex;gap:30px;margin-top:22px;flex-wrap:wrap;font-size:16px;color:#e8e9ea}
.hero-stats li{display:block}
.hero-stats li::before{content:"";display:inline-block;vertical-align:middle;width:6px;height:6px;border-radius:50%;background:var(--g500);margin-inline-end:10px}
.hero-stats b{color:#fff}

/* ---------- Partenaires & chiffres ---------- */
.partners{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
.partner{border:1px solid var(--line);border-radius:var(--r);height:144px;display:grid;place-items:center;padding:20px;background:#fff;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.partner img{max-height:104px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.72;transition:filter .35s,opacity .35s,transform .35s}
.partner:hover{transform:translateY(-6px);border-color:var(--g600);box-shadow:0 18px 40px rgba(17,17,17,.12)}
.partner:hover img{filter:none;opacity:1;transform:scale(1.07)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:54px}
.stat{background:var(--mint);border-radius:var(--r);padding:28px 26px;min-height:182px}
.stat strong{display:block;font-family:var(--font-d);font-size:48px;letter-spacing:-.04em;color:var(--g800);line-height:1;margin-bottom:34px;font-weight:700}
.stat span{color:var(--muted);font-size:15px;line-height:1.5;display:block;max-width:230px}
.stat-cert{background:var(--g800);display:flex;align-items:center;gap:18px;color:#fff;padding:26px 22px}
.stat-cert img{width:64px;height:74px;border-radius:12px;flex:none}
.stat-cert h3{color:#fff;font-size:20px;line-height:1.15;margin-bottom:8px}
.stat-cert p{font-size:13px;color:#d2d4d6;line-height:1.45}
.stat-cert p .ic{width:13px;height:13px;vertical-align:-2px}

/* ---------- Projets ---------- */
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.proj{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:395/460;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;color:#fff;isolation:isolate}
.proj img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s}
.proj:hover img{transform:scale(1.05)}
.proj::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.45))}
.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-size:13.5px;font-weight:700;padding:6px 14px;line-height:1.2}
.chip .ic{width:14px;height:14px}
.chip-green{background:var(--g600);color:var(--ink);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.chip-white{background:#fff;color:var(--ink);font-family:var(--font-d);font-size:19px;padding:10px 18px;letter-spacing:-.02em}
.chip-blue{background:var(--blue);color:#fff}
.chip-yellow{background:var(--yellow);color:var(--ink)}
.proj .chips{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}
.proj .chip-green{margin-bottom:10px;align-self:flex-start}
.proj .chip-white{position:absolute;top:18px;inset-inline-end:18px;max-width:calc(100% - 36px);margin:0;font-size:17px;padding:9px 16px;box-shadow:0 6px 18px rgba(0,0,0,.18)}

/* ---------- Étapes ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:70px;position:relative}
.step{background:var(--mint);border-radius:var(--r-lg);padding:0 26px 30px;position:relative;margin-top:43px}
.step-ic{position:relative;width:86px;height:86px;border-radius:50%;background:var(--g800);color:#fff;display:grid;place-items:center;margin-top:-43px;border:6px solid #fff;margin-bottom:22px;margin-inline-start:-4px}
.step:last-child .step-ic{background:var(--g600);color:var(--ink)}
.step-ic .ic{width:28px;height:28px}
.step-ic em{position:absolute;top:-6px;inset-inline-end:-10px;width:32px;height:32px;border-radius:50%;background:var(--yellow);color:var(--ink);font-style:normal;font-weight:700;font-size:13px;display:grid;place-items:center;border:3px solid #fff}
.step small{display:block;font-size:12.5px;font-weight:700;letter-spacing:.14em;color:var(--g700);text-transform:uppercase;margin-bottom:6px}
.step h3{font-size:22px;margin-bottom:12px;letter-spacing:-.03em}
.step p{font-size:15.5px;color:var(--muted)}
.checks{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:38px}
.checks li{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:999px;padding:11px 20px;font-weight:600;color:var(--ink);font-size:15px}
.checks .ic{color:var(--g700);width:16px;height:16px}

/* ---------- Cartes solutions ---------- */
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.scard{background:var(--mint);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:.25s}
.scard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.scard-img{aspect-ratio:293/182;overflow:hidden}
.scard-img img{width:100%;height:100%;object-fit:cover}
.scard-body{padding:24px 23px 28px;display:flex;flex-direction:column;flex:1}
.scard h3{font-size:22px;margin-bottom:10px}
.scard p{font-size:15px;color:var(--muted);margin-bottom:18px;flex:1}

/* ---------- Simulateur ---------- */
.simu-sec{background:var(--g900);position:relative;overflow:hidden}
.simu-grid{display:grid;grid-template-columns:1fr 1fr;min-height:780px}
.simu-left{padding:104px 0 96px;padding-inline-end:60px}
.simu-left h2{color:#fff;margin-bottom:18px}
.simu-left .eyebrow{color:var(--g600)}
.simu-left>p{color:#d2d4d6;font-size:18px;margin-bottom:40px;max-width:480px}
.simu-right{position:relative;margin-inline-end:calc(-1 * max(24px, (100vw - var(--container)) / 2))}
.simu-right>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.simu-right::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--g900),transparent 22%)}
[dir="rtl"] .simu-right::before{background:linear-gradient(-90deg,var(--g900),transparent 22%)}
.example{position:absolute;z-index:2;inset-inline-start:15%;inset-inline-end:7%;bottom:64px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--r-lg);padding:28px;color:var(--ink)}
.example small{font-size:12.5px;font-weight:700;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.example-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px;margin-top:12px}
.example-row strong{display:block;font-family:var(--font-d);font-size:24px;color:var(--g700);letter-spacing:-.03em;line-height:1.2}
.example-row span{font-size:13px;color:var(--muted);line-height:1.35;display:block}
.wizard{background:#fff;border-radius:var(--r-lg);padding:38px;color:var(--ink);max-width:540px;box-shadow:var(--shadow)}
.wiz-step{font-size:12.5px;font-weight:700;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.wiz-bar{height:6px;background:var(--line);border-radius:6px;margin:12px 0 30px;overflow:hidden}
.wiz-bar i{display:block;height:100%;background:var(--g600);border-radius:6px;transition:width .35s}
.wizard h3{font-size:24px;margin-bottom:22px;letter-spacing:-.03em}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.opt{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:12px;padding:15px 18px;font-weight:600;cursor:pointer;transition:.15s}
.opt:hover{border-color:#d6e3a3}
.opt input{appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;border:2px solid #cbcdce;flex:none;display:grid;place-items:center;margin:0}
.opt input:checked{border-color:var(--g600);background:radial-gradient(circle,var(--g600) 45%,transparent 50%)}
.opt:has(input:checked){border-color:var(--g600);background:var(--g100)}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.field label{font-weight:600;font-size:14.5px;color:var(--ink)}
.field input,.field select,.field textarea{border:1.5px solid var(--line);border-radius:12px;padding:13px 15px;font-size:16px;outline:0;background:#fff;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--g600)}
.range-val{font-family:var(--font-d);font-size:28px;font-weight:700;color:var(--g700)}
input[type=range]{accent-color:var(--g700);padding:0;border:0}
.wiz-nav{display:flex;gap:12px}
.wiz-nav .btn{border-radius:12px;padding:15px 20px}
.wiz-back{border:1.5px solid var(--line);color:var(--ink)}
.result{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:22px}
.result div{background:var(--mint);border-radius:12px;padding:16px}
.result strong{display:block;font-family:var(--font-d);font-size:24px;color:var(--g700);line-height:1.2}
.result span{font-size:13px;color:var(--muted)}
.note{font-size:12.5px;color:var(--muted);margin-bottom:18px}

/* ---------- Pourquoi ---------- */
.why{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:46px}
.why-item{padding:38px 32px 10px 0;padding-inline:0 32px}
.why-item+.why-item{border-inline-start:1px solid var(--line);padding-inline-start:32px}
.why-ic{width:56px;height:56px;border-radius:14px;background:var(--g100);color:var(--g700);display:grid;place-items:center;margin-bottom:26px}
.why-ic .ic{width:24px;height:24px}
.why-item h3{font-size:22px;margin-bottom:12px;letter-spacing:-.03em}
.why-item p{color:var(--muted);font-size:15.5px}

/* ---------- Secteurs ---------- */
.sectors{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.sector{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:auto;height:404px;display:flex;align-items:flex-end;padding:24px;color:#fff;isolation:isolate}
.sector img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s}
.sector:hover img{transform:scale(1.05)}
.sector::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 50%,rgba(12,13,14,.92))}
.sector h3{color:#fff;font-size:25px;margin-bottom:4px}
.sector p{font-size:14.5px;color:#e0e2e3;line-height:1.45;min-height:2.9em}
.sector h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sector .go{margin-inline-start:auto;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;flex:none}
.sector-row{display:flex;align-items:center;gap:12px;width:100%}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:420px 1fr;gap:80px;align-items:start}
.faq-grid h2{margin-bottom:28px}
.faq-grid .lead{margin-bottom:34px;font-size:17.5px}
.faq-list{display:grid;gap:14px}
.faq{background:#fff;border-radius:var(--r);padding:0 30px;border:1px solid transparent}
.faq button{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:27px 0;text-align:start;font-family:var(--font-d);font-weight:700;font-size:19px;color:var(--ink);letter-spacing:-.02em}
.faq button .ic{color:var(--g700);width:22px;height:22px}
.faq .ans{display:none;padding-bottom:28px;color:var(--muted);font-size:16px;margin-top:-10px}
.faq.open .ans{display:block}
.faq-page .faq{border-color:var(--line)}

/* ---------- Cartes liens ---------- */
.lcard{border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 30px 26px;display:flex;flex-direction:column;min-height:230px;transition:.25s;background:#fff}
.lcard:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.lcard small{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--g700);text-transform:uppercase;margin-bottom:12px}
.lcard h3{font-size:23px;line-height:1.2;letter-spacing:-.03em;margin-bottom:auto;padding-bottom:28px}
.lcard-foot{display:flex;justify-content:space-between;align-items:center;color:var(--g700);font-weight:700;font-size:15.5px}
.round{width:44px;height:44px;border-radius:50%;background:var(--g800);color:#fff;display:grid;place-items:center;flex:none}
.lcard-yellow{background:var(--yellow);border-color:var(--yellow)}
.lcard-yellow small,.lcard-yellow .lcard-foot{color:var(--g900)}

/* ---------- Bandeau CTA ---------- */
.cta-band{border-radius:var(--r-xl);background:radial-gradient(circle at 78% 20%,rgba(179,203,66,.35),transparent 32%),linear-gradient(110deg,var(--g950),var(--g800));padding:76px 78px;display:flex;align-items:center;justify-content:space-between;gap:40px;color:#dadcdd}
.cta-band h2{color:#fff;font-size:clamp(36px,4vw,54px);margin-bottom:22px}
.cta-band p{font-size:18.5px;max-width:510px}
.cta-actions{display:grid;gap:14px;min-width:352px}

/* ---------- Footer ---------- */
.footer{background:var(--g950);color:#c6c9cb;padding:76px 0 40px;margin-top:110px}
.foot-grid{display:grid;grid-template-columns:1.3fr repeat(5,1fr);gap:32px}
.footer .fcol-h a:hover{color:var(--g600)}
.foot-logo{display:inline-block;background:#fff;border-radius:14px;padding:12px 18px;margin-bottom:30px}
.foot-logo img{height:40px}
.foot-about{font-size:15.5px;line-height:1.6;margin-bottom:24px}
.socials{display:flex;gap:10px}
.socials a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff}
.socials a:hover{background:var(--g600);border-color:var(--g600);color:var(--ink)}
.footer .fcol-h{color:#fff;font-size:16px;letter-spacing:0;margin-bottom:18px;font-family:var(--font)}
.footer li{margin-bottom:9px;font-size:14.5px;line-height:1.4}
.footer li a:hover{color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:56px;padding-top:30px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:14.5px}
.foot-bottom .lang-pills a{border-color:rgba(255,255,255,.25);color:#e3e5e6;padding:6px 14px}
.foot-bottom .lang-pills a[aria-current="true"]{background:var(--g600);border-color:var(--g600);color:var(--ink)}

/* ---------- Pages intérieures (style Sunrun) ---------- */
.page-hero{position:relative;padding:96px 0 104px;color:#fff;overflow:hidden;isolation:isolate;background:var(--g900)}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,13,14,.93),rgba(12,13,14,.65) 55%,rgba(12,13,14,.25))}
[dir="rtl"] .page-hero::after{background:linear-gradient(-90deg,rgba(12,13,14,.93),rgba(12,13,14,.65) 55%,rgba(12,13,14,.25))}
.page-hero h1{color:#fff;font-size:clamp(36px,4.2vw,58px);max-width:800px;margin-bottom:22px;letter-spacing:-.035em;border-inline-start:4px solid var(--g600);padding-inline-start:21px}
.page-hero p{font-size:19px;max-width:600px;color:#e0e2e3;margin-bottom:34px}
.page-hero .eyebrow{color:var(--g600)}
.btns{display:flex;gap:14px;flex-wrap:wrap}
.crumbs{display:flex;gap:8px;font-size:14px;color:#bcbfc1;margin-bottom:26px;flex-wrap:wrap}
.crumbs a:hover{color:#fff}
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.split-img{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:5/4}
.split-img img{width:100%;height:100%;object-fit:cover}
.split h2{margin-bottom:20px}
.split .lead{margin-bottom:26px}
.ticks li{display:flex;gap:12px;margin-bottom:14px;font-size:16.5px;color:var(--text)}
.ticks .tk{width:24px;height:24px;border-radius:50%;background:var(--g100);color:var(--g700);display:grid;place-items:center;flex:none;margin-top:1px}
.ticks .tk .ic{width:14px;height:14px}
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.benefit{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px}
.bg-mint .benefit{border-color:transparent}
.benefit h3{font-size:20px;margin:22px 0 8px;letter-spacing:-.02em}
.benefit p{font-size:15px;color:var(--muted)}
.statband{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.statband div{border-inline-start:3px solid var(--g600);padding-inline-start:20px}
.statband strong{display:block;font-family:var(--font-d);font-size:44px;color:var(--g800);letter-spacing:-.04em;line-height:1.1}
.bg-dark .statband strong{color:#fff}
.statband span{color:var(--muted);font-size:15px}
.bg-dark .statband span{color:#bfc2c4}
.quote{background:#fff;border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;gap:18px;border:1px solid var(--line)}
.stars{color:var(--yellow);display:flex;gap:2px}
.stars .ic{fill:currentColor;width:18px;height:18px}
.quote p{font-size:17px;color:var(--ink);line-height:1.55;flex:1}
.quote b{color:var(--ink)}
.quote span{display:block;font-size:14px;color:var(--muted)}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px}
.filters button{border:1.5px solid var(--line);border-radius:999px;padding:10px 20px;font-weight:600}
.filters button.on{background:var(--g800);color:#fff;border-color:var(--g800)}
.kit{border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;display:flex;flex-direction:column;background:#fff;position:relative}
.kit.pop{border:2px solid var(--g600);box-shadow:var(--shadow)}
.kit .badge{position:absolute;top:-13px;inset-inline-start:26px;background:var(--yellow);color:var(--ink);font-weight:700;font-size:12px;border-radius:999px;padding:5px 12px;letter-spacing:.08em;text-transform:uppercase}
.kit h3{font-size:34px;margin-bottom:4px}
.kit .sub{color:var(--muted);margin-bottom:20px;font-size:15px}
.kit ul{margin-bottom:26px;flex:1}
.kit li{display:flex;gap:10px;font-size:15px;padding:7px 0;border-bottom:1px dashed var(--line)}
.kit li .ic{color:var(--g700);width:16px;height:16px;margin-top:4px}
.post{border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:.25s}
.post:hover{box-shadow:var(--shadow)}
.post-img{aspect-ratio:16/10;position:relative;overflow:hidden;flex:none}
.post-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post:hover .post-img img{transform:scale(1.04)}
.post-body{padding:24px;display:flex;flex-direction:column;flex:1}
.post-body small{color:var(--g700);font-weight:700;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase}
.post-body h3{font-size:21px;margin:10px 0;line-height:1.25;letter-spacing:-.02em}
.post-body p{color:var(--muted);font-size:15px;flex:1;margin-bottom:14px}
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start}
.cinfo{display:grid;gap:14px}
.cinfo a,.cinfo div{display:flex;gap:16px;align-items:flex-start;background:var(--mint);border-radius:var(--r);padding:20px 22px}
.cinfo .mi{width:44px;height:44px;border-radius:12px;background:#fff;color:var(--g700);display:grid;place-items:center;flex:none}
.cinfo strong{display:block;color:var(--ink)}
.cinfo span{color:var(--muted);font-size:15px}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:40px;box-shadow:var(--shadow-sm)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ok-msg{display:none;background:var(--g100);color:var(--g800);border-radius:12px;padding:14px 16px;font-weight:600;margin-top:14px}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.value{padding:30px;border-radius:var(--r-lg);background:var(--mint)}
.value h3{font-size:21px;margin:18px 0 8px}
.value p{color:var(--muted);font-size:15px}
.cert-box{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:var(--g800);border-radius:var(--r-xl);padding:40px;color:#dadcdd}
.cert-box img{width:96px;height:auto;border-radius:16px}
.cert-box h3{color:#fff;font-size:28px;margin-bottom:8px}
.wa-float{position:fixed;bottom:22px;inset-inline-end:22px;width:58px;height:58px;border-radius:50%;background:var(--g600);color:var(--ink);display:grid;place-items:center;box-shadow:0 10px 30px -8px rgba(0,0,0,.35);z-index:45}
.wa-float svg{width:30px;height:30px;fill:#fff}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
:focus-visible{outline:3px solid var(--g500);outline-offset:3px}
.ok-msg a{color:var(--g700);text-decoration:underline;margin-inline-start:6px}

/* Galerie, kits, avatars, logos partenaires */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery figure{border-radius:var(--r);overflow:hidden;aspect-ratio:1/1;background:var(--mint)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery figure:hover img{transform:scale(1.05)}
.kit-img{aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--mint);margin-bottom:18px}
.kit-img img{width:100%;height:100%;object-fit:cover}
.who{display:flex;align-items:center;gap:12px}
.avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;flex:none;background:var(--mint)}
.avatar img{width:100%;height:100%;object-fit:cover}
.partners-all{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.partners-all .partner{height:120px}
.partners-all .partner img{max-height:76px;max-width:80%}

/* ---------- Responsive ---------- */
@media (max-width:1260px){
  .header-in{gap:10px}
  .logo img{max-height:44px;width:auto}
  .nav-btn{padding:8px 8px;font-size:15px}
  .header-tools{gap:8px}
  .header-tools .btn{padding:11px 16px;font-size:14.5px}
}
@media (max-width:1140px){
  .call-link{display:none}
  .mega-in{gap:40px}
  .mega-feat{padding:28px}
}
@media (max-width:1040px){
  .nav,.call-link,.header-tools .btn{display:none}
  .burger{display:block}
  .header-tools{margin-inline-start:auto}
  .mega{display:none}
}
@media (max-width:1024px){
  .section{padding:84px 0}
  .partners,.stats,.cards4,.benefits,.statband{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .projects,.cards3,.team{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;row-gap:56px}
  .steps::before{display:none}
  .why{grid-template-columns:1fr 1fr}
  .why-item:nth-child(3){border-inline-start:0;padding-inline-start:0}
  .sectors{grid-template-columns:1fr 1fr}
  .faq-grid,.split,.contact-grid{grid-template-columns:1fr;gap:44px}
  .simu-grid{grid-template-columns:1fr}
  .simu-left{padding-inline-end:0;padding-bottom:56px}
  .simu-right{min-height:520px;margin-inline:-24px}
  .cta-band{flex-direction:column;align-items:flex-start;padding:56px 44px}
  .cta-actions{min-width:0;width:100%}
  .foot-grid{grid-template-columns:repeat(3,1fr)}
  .foot-grid>div:first-child{grid-column:1/-1}
  .cert-box{grid-template-columns:1fr}
}
@media (max-width:640px){
  .hero-tags{font-size:12.5px;letter-spacing:.16em;gap:8px 18px}
  .hero-tags span::before,.hero-tags span+span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--g600);margin:0;margin-inline-end:9px}
  .hero-head{padding-inline-start:16px}
  .container{padding:0 16px}
  .topbar{font-size:12.5px}
  .topbar .tb-long{display:none}
  .hero{min-height:0}
  .hero .container{padding-top:56px;padding-bottom:56px}
  .hero-sub{font-size:17px}
  .quick-form{flex-direction:column;align-items:stretch;padding:8px}
  .qf-field{padding:10px 12px}
  .qf-field+.qf-field{border-inline-start:0;border-top:1px solid var(--line)}
  .quick-form .btn{margin-top:6px}
  .hero-stats{gap:12px;flex-direction:column}
  .partners,.stats{grid-template-columns:1fr 1fr;gap:12px}
  .partner{height:104px}
  .stat{min-height:0;padding:20px}
  .stat strong{font-size:34px;margin-bottom:16px}
  .stat-cert{grid-column:1/-1}
  .projects,.cards3,.cards4,.benefits,.team,.sectors,.why,.steps{grid-template-columns:1fr}
  .why-item,.why-item+.why-item{border-inline-start:0;padding-inline:0;border-bottom:1px solid var(--line);padding-bottom:28px}
  .sector{height:300px}
  .opts,.result,.form-row{grid-template-columns:1fr}
  .wizard,.form-card{padding:24px}
  .example{inset-inline:16px;bottom:24px;padding:20px}
  .example-row{grid-template-columns:1fr 1fr}
  .example-row strong{font-size:19px}
  .simu-right{margin-inline:-16px}
  .faq{padding:0 20px}
  .faq button{font-size:17px;padding:20px 0}
  .cta-band{padding:40px 24px}
  .cta-actions .btn{white-space:normal;text-align:center}
  .foot-grid{grid-template-columns:1fr 1fr;gap:28px}
  .statband{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .statband strong{font-size:32px}
  .page-hero{padding:64px 0 72px}
  .section{padding:68px 0}
}

/* ---------- Revue 03/10 ---------- */
.sec-more{display:flex;justify-content:flex-end;margin-top:28px}
.sec-more .btn{font-size:14px;padding:9px 18px;gap:8px;border-width:1.2px}
.sec-more .btn .ic{width:15px;height:15px}
.hero-stats b{font-size:19px;color:var(--g600)}
.cert-band{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center;background:var(--g900);color:#dadcdd;border-radius:var(--r-xl);padding:52px;position:relative;overflow:hidden}
.cert-band::after{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:6px;background:var(--g600)}
.cert-band .eyebrow{color:var(--g600)}
.cert-band h2{color:#fff;font-size:clamp(28px,3vw,40px);margin-bottom:16px;letter-spacing:-.03em}
.cert-band p.lead{color:#cfd2d4;font-size:17px;margin-bottom:28px}
.cert-logos{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}
.cert-logos .cl-badge{background:#fff;border-radius:22px;padding:18px;grid-row:span 2}
.cert-logos .cl-badge img{width:120px;height:auto}
.cert-logos>img{width:100%;max-width:300px;background:#fff;border-radius:16px}
.cert-points{display:grid;grid-template-columns:1fr 1fr;gap:18px 26px;margin-top:30px}
.cert-points div{display:flex;gap:12px}
.cert-points .ic{flex:none;width:22px;height:22px;color:var(--g600);margin-top:2px}
.cert-points b{display:block;color:#fff;font-size:15.5px;margin-bottom:2px}
.cert-points span{font-size:14px;color:#b9bdc0;line-height:1.45}
.foot-credit{display:inline-flex;align-items:center;gap:10px;color:#c9cccf;font-size:14px}
.ae-logo{display:inline-flex;align-items:center;gap:7px;color:#fff;font-family:Inter,system-ui,sans-serif;font-size:20px;letter-spacing:-.02em;line-height:1}
.ae-logo img{height:30px;width:auto;transition:transform .2s}
.ae-logo b{font-weight:700}
.ae-logo span{font-weight:400}
.foot-credit:hover .ae-logo img{transform:translateY(-2px) rotate(-6deg)}
.foot-credit:hover{color:#fff}
.foot-legal a{color:inherit}
.foot-legal a:hover{color:var(--g600)}
.legal{max-width:860px;margin:0 auto}
.legal .updated{color:var(--muted);font-size:14px;margin-bottom:36px}
.legal section{padding:30px 0;border-top:1px solid var(--line)}
.legal h2{font-size:24px;margin-bottom:14px;letter-spacing:-.02em}
.legal p,.legal li{font-size:16.5px;line-height:1.7;color:#33373a}
.legal p+p{margin-top:12px}
.legal ul{margin:10px 0 0;padding-inline-start:22px;list-style:disc}
.legal li{margin:6px 0}
.legal a{color:var(--g700);text-decoration:underline}
mark.todo{background:#eef3d2;color:var(--ink);border-radius:4px;padding:1px 6px;font-weight:600}
.legal-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.legal-nav a{border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-weight:600;font-size:14.5px}
.legal-nav a[aria-current="page"]{background:var(--g600);border-color:var(--g600)}
.jobs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.job{border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;background:#fff;display:flex;flex-direction:column;transition:.25s}
.job:hover{border-color:var(--g600);box-shadow:var(--shadow);transform:translateY(-3px)}
.job h3{font-size:21px;margin:16px 0 10px;letter-spacing:-.02em}
.job p{color:var(--muted);font-size:15px;flex:1;margin-bottom:18px}
.job .tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.job .tags span{background:var(--mint);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}
.job .link-arrow{margin-top:auto}
.csteps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:cs}
.csteps div{background:#fff;border-radius:var(--r-lg);padding:28px;counter-increment:cs}
.csteps div::before{content:"0" counter(cs);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--g600);font-weight:700;margin-bottom:16px}
.csteps h3{font-size:19px;margin-bottom:8px}
.csteps p{color:var(--muted);font-size:15px}
@media (max-width:1024px){.cert-band{grid-template-columns:1fr;padding:36px}.jobs,.csteps{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.cert-band{padding:28px 22px}.cert-points,.jobs,.csteps{grid-template-columns:1fr}.cert-logos .cl-badge img{width:84px}.proj .chip-white{font-size:15px;top:14px;inset-inline-end:14px}}
.foot-copy{display:flex;flex-direction:column;gap:12px}
/* Footer : sous-menus sur une ligne, pastilles de langue compactes */
.foot-grid{grid-template-columns:minmax(190px,1fr) repeat(5,auto);gap:26px}
.footer li{white-space:nowrap;font-size:14px}
.foot-bottom{align-items:center}
.foot-bottom .lang-pills{gap:6px;align-self:center}
.foot-bottom .lang-pills a{padding:4px 11px;font-size:12.5px;line-height:1.3;min-height:0;height:auto;width:auto;border-width:1px}
@media (max-width:1240px){.foot-grid{grid-template-columns:repeat(3,auto);justify-content:space-between;row-gap:36px}.foot-grid>div:first-child{grid-column:1/-1}}
@media (max-width:640px){.foot-grid{grid-template-columns:1fr}.footer li{white-space:normal}}
.footer .fcol-h,.footer .fcol-h a{color:#fff;font-weight:700}
.footer .fcol-h a:hover{color:var(--g600)}
.story-video{margin-top:28px;border-radius:var(--r-xl);overflow:hidden;background:#000;aspect-ratio:16/9;box-shadow:0 18px 40px rgba(0,0,0,.12)}
.story-video video{display:block;width:100%;height:100%;object-fit:cover}
.story-video-wide{max-width:960px;margin:64px auto 0}
.story-video-wide{max-width:960px;margin:64px auto 0}

/* ---------- Améliorations 04/10 (audit) ---------- */
/* Barre du haut : version courte en mobile */
.topbar .tb-short{display:none}
@media (max-width:640px){.topbar .tb-mid{display:none}.topbar .tb-short{display:inline}.topbar{padding:8px 12px}.topbar a{margin-inline-start:8px}}
/* Hero : barre lime animée, voile plus dense en mobile pour le contraste du titre */
.hero-head{position:relative;border-inline-start-color:transparent}
.hero-head::before{content:"";position:absolute;inset-inline-start:-4px;top:0;bottom:0;width:4px;background:var(--g600);transform-origin:top;animation:wpBar .9s .15s cubic-bezier(.2,.7,.2,1) both}
@keyframes wpBar{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media (max-width:640px){.hero::before,[dir="rtl"] .hero::before{background:linear-gradient(0deg,rgba(12,13,14,.88),rgba(12,13,14,.66) 60%,rgba(12,13,14,.5))}}
/* Apparition douce des blocs (uniquement si le JS tourne : sans JS, tout reste visible) */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.js .partner.reveal.in:hover{transform:translateY(-6px)}
.js .scard.reveal.in:hover{transform:translateY(-4px)}
.js .lcard.reveal.in:hover,.js .job.reveal.in:hover{transform:translateY(-3px)}
.js .reveal.in{transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
/* Bandeau photo pleine largeur (accueil) */
.photo-band{position:relative;isolation:isolate;color:#fff;padding:120px 0;overflow:hidden;background:var(--g950)}
.photo-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.photo-band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,13,14,.9),rgba(12,13,14,.62) 55%,rgba(12,13,14,.35))}
[dir="rtl"] .photo-band::after{background:linear-gradient(-90deg,rgba(12,13,14,.9),rgba(12,13,14,.62) 55%,rgba(12,13,14,.35))}
.photo-band-in{display:grid;grid-template-columns:auto 1fr;gap:72px;align-items:center}
.band-fig{border-inline-start:4px solid var(--g600);padding-inline-start:24px}
.band-num{display:block;font-family:var(--font-d);font-size:clamp(72px,9vw,128px);line-height:.9;letter-spacing:-.05em;color:var(--g600);font-weight:700}
.band-fig span{display:block;margin-top:12px;font-size:15px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#e8e9ea}
html[lang="ar"] .band-fig span{letter-spacing:0}
.band-txt h2{color:#fff;font-size:clamp(28px,3vw,42px);max-width:640px;margin-bottom:16px;letter-spacing:-.03em}
.band-txt p{font-size:18px;color:#d9dbdc;max-width:560px;margin-bottom:28px}
@media (max-width:900px){.photo-band{padding:80px 0}.photo-band-in{grid-template-columns:1fr;gap:32px}}
/* Chiffres clés : 3 colonnes compactes en mobile */
@media (max-width:640px){
  .stats{grid-template-columns:repeat(3,1fr);gap:8px}
  .stats .stat:not(.stat-cert){padding:16px 10px;text-align:center}
  .stats .stat strong{font-size:26px;margin-bottom:8px}
  .stats .stat span{font-size:12.5px;line-height:1.35}
}
/* Pied de page : colonnes repliables en mobile */
.fcol .fcol-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fcol-tg{display:none;width:36px;height:36px;border-radius:50%;color:#fff;place-items:center}
.fcol-tg .ic{width:18px;height:18px;transition:transform .25s}
.foot-former{display:block;margin-top:8px;font-size:13.5px;color:#9a9ea1}
@media (max-width:640px){
  .foot-grid{gap:0}
  .foot-grid>.fcol{border-top:1px solid rgba(255,255,255,.12)}
  .fcol .fcol-h{margin:0;padding:6px 0}
  .fcol-tg{display:grid}
  .fcol ul{display:none;padding-bottom:14px}
  .fcol.open ul{display:block}
  .fcol.open .fcol-tg .ic{transform:rotate(180deg)}
  .foot-grid>div:first-child{padding-bottom:28px}
}
/* Solutions de l'accueil : carrousel horizontal en mobile */
@media (max-width:640px){
  .cards4.m-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-inline:-16px;padding:0 16px 8px;scrollbar-width:none}
  .cards4.m-carousel::-webkit-scrollbar{display:none}
  .cards4.m-carousel>*{flex:0 0 82%;scroll-snap-align:start}
}
/* Formulaire et simulateur */
.form-note{font-size:13px;color:var(--muted);margin-top:12px}
.form-note a{color:var(--g700);text-decoration:underline}
.ok-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.ok-msg .ok-actions a{display:inline-flex;align-items:center;gap:8px;margin:0;background:#fff;border-radius:999px;padding:8px 14px;text-decoration:none;color:var(--g800)}
.ok-msg .ok-actions a:hover{background:var(--g600)}
.sim-mail{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:14.5px;font-weight:600;color:var(--g700);text-decoration:underline}
/* Articles de blog */
.article-wrap{max-width:780px}
.article .article-meta{color:var(--muted);font-size:14px;margin-bottom:28px}
.article p,.article li{font-size:17.5px;line-height:1.75;color:#2c3033}
.article p{margin-bottom:18px}
.article h2{font-size:clamp(24px,2.4vw,30px);letter-spacing:-.025em;margin:44px 0 16px;padding-inline-start:16px;border-inline-start:4px solid var(--g600)}
.article ul{margin:0 0 20px;padding-inline-start:22px;list-style:disc}
.article li{margin:8px 0}
.article li::marker{color:var(--g700)}
.article strong{color:var(--ink)}
.article blockquote{margin:36px 0;padding:26px 28px;border-radius:var(--r-lg);background:var(--mint);font-size:18px;line-height:1.6;font-weight:500}
.article .note{font-size:14.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:36px}
.article-foot{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}

/* ---------- Simulateur détaillé ---------- */
.sp-sec{padding-top:72px}
.sp-app,.sp-params-wrap{text-align:start}
.sp-app{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:start}
.sp-inputs{display:flex;flex-direction:column;gap:18px}
.sp-block{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 28px}
.sp-h{display:flex;align-items:center;gap:12px;font-family:var(--font-d);font-size:20px;font-weight:700;color:var(--ink);letter-spacing:-.02em;margin-bottom:18px}
.sp-h span{width:30px;height:30px;border-radius:50%;background:var(--g600);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:14px;flex:none}
.sp-sectors{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}
.sp-sec{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 6px;border:1.5px solid var(--line);border-radius:14px;font-size:13px;font-weight:600;color:var(--text);text-align:center;line-height:1.25;transition:border-color .2s,background .2s}
.sp-sec .ic{width:24px;height:24px;color:var(--muted)}
.sp-sec:hover{border-color:var(--g600)}
.sp-sec.on{border-color:var(--ink);background:var(--mint);color:var(--ink)}
.sp-sec.on .ic{color:var(--g700)}
.sp-lbl{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:var(--muted)}
.sp-lbl select,.sp-billnum,.sp-pin input{border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font-size:15.5px;background:#fff;color:var(--ink);width:100%}
.sp-lbl select:focus,.sp-billnum:focus,.sp-pin input:focus{outline:none;border-color:var(--ink)}
.sp-unit{display:inline-flex;align-items:center;gap:4px;background:var(--mint);border-radius:999px;padding:4px;margin-bottom:18px;font-size:13px}
.sp-unit span{padding:0 10px;color:var(--muted);font-weight:600}
.sp-unit button{padding:7px 16px;border-radius:999px;font-weight:700;color:var(--muted)}
.sp-unit button.on{background:var(--ink);color:#fff}
.sp-billrow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.sp-bill-lbl{font-size:14px;color:var(--muted);font-weight:600}
.sp-billval{font-family:var(--font-d);font-size:30px;letter-spacing:-.03em;color:var(--ink)}
.sp-range{width:100%;accent-color:var(--g600);margin:6px 0 14px;height:6px}
.sp-toggle{display:flex;gap:16px;align-items:flex-start;cursor:pointer}
.sp-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.sp-toggle i{flex:none;width:48px;height:28px;border-radius:999px;background:var(--line);position:relative;transition:background .2s;margin-top:2px}
.sp-toggle i::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.sp-toggle input:checked+i{background:var(--g600)}
.sp-toggle input:checked+i::after{transform:translateX(20px)}
[dir="rtl"] .sp-toggle input:checked+i::after{transform:translateX(-20px)}
.sp-toggle input:focus-visible+i{outline:2px solid var(--ink);outline-offset:2px}
.sp-toggle strong{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:15.5px}
.sp-toggle small{display:block;color:var(--muted);font-size:14px;margin-top:2px}
.sp-results{position:sticky;top:calc(var(--header-h) + 20px);background:var(--g900);color:#e8eaec;border-radius:var(--r-xl);padding:30px;box-shadow:var(--shadow)}
.sp-rhead{display:flex;justify-content:space-between;margin-bottom:18px}
.sp-live{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--g600)}
.sp-live i{width:8px;height:8px;border-radius:50%;background:var(--g600);box-shadow:0 0 0 4px rgba(179,203,66,.2)}
.sp-print-only{display:none}
.sp-biglbl{font-size:14px;color:#a9adb1}
.sp-big{font-family:var(--font-d);font-weight:700;font-size:clamp(38px,4.4vw,56px);letter-spacing:-.04em;color:#fff;line-height:1.05;margin:4px 0 22px}
.sp-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}
.sp-kpi{background:rgba(255,255,255,.06);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:4px}
.sp-kpi .ic{color:var(--g600);margin-bottom:4px}
.sp-kpi b{font-family:var(--font-d);font-size:19px;color:#fff;letter-spacing:-.02em;line-height:1.15}
.sp-kpi span{font-size:12.5px;color:#a9adb1;line-height:1.3}
.sp-bars{margin-bottom:16px}
.sp-bars small{display:block;font-size:13px;color:#a9adb1;margin-bottom:10px}
.sp-bar{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:12px;margin-bottom:8px;font-size:13px}
.sp-bar span{color:#c9ccd0}
.sp-bar i{display:block;height:12px;border-radius:0 6px 6px 0;background:#5b5f63;transition:width .35s}
[dir="rtl"] .sp-bar i{border-radius:6px 0 0 6px}
.sp-bar-after i{background:var(--g600)}
.sp-bar b{color:#fff;font-weight:700;min-width:96px;text-align:end}
.sp-gain{display:flex;align-items:center;gap:10px;background:var(--g600);color:var(--ink);border-radius:14px;padding:14px 16px;margin-bottom:16px;font-weight:600;font-size:14.5px}
.sp-gain b{margin-inline-start:auto;font-family:var(--font-d);font-size:19px}
.sp-detail{border-top:1px solid rgba(255,255,255,.12);padding-top:14px;margin-bottom:20px}
.sp-detail summary{cursor:pointer;font-weight:700;color:#fff;font-size:15px;margin-bottom:8px}
.sp-detail table{width:100%;border-collapse:collapse;font-size:14px}
.sp-detail td{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.sp-detail td:last-child{text-align:end;color:#fff;font-weight:600}
.sp-detail tr.hl td{color:var(--g600)}
.sp-cta{border-radius:14px}
.sp-sub{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:14px}
.sp-sub a,.sp-sub button{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#d2d4d6;text-decoration:underline;cursor:pointer}
.sp-params-wrap{margin-top:56px;border-top:1px solid var(--line);padding-top:44px}
.sp-params-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.sp-params-head p{color:var(--muted);max-width:620px;margin-top:8px}
.sp-params{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sp-param{display:flex;flex-direction:column;gap:8px;background:var(--mint);border-radius:14px;padding:14px 16px;font-size:13.5px;font-weight:600;color:var(--text)}
.sp-param em{font-style:normal;color:var(--g700)}
.sp-pin{display:flex;align-items:center;gap:8px}
.sp-pin input{padding:9px 12px;font-size:15px}
.sp-pin em{flex:none;font-size:12.5px;color:var(--muted)!important;min-width:64px}
.sp-formula{margin-top:22px;font-size:13.5px;color:var(--muted)}
.sp-disc{margin-top:8px;font-size:13.5px;color:var(--muted)}
@media (max-width:1100px){.sp-app{grid-template-columns:minmax(0,1fr)}.sp-results{position:static}.sp-params{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  .sp-block{padding:20px}
  .sp-sectors{grid-template-columns:repeat(3,1fr)}
  .sp-results{padding:22px;border-radius:var(--r-lg)}
  .sp-kpis{grid-template-columns:1fr 1fr}
  .sp-bar{grid-template-columns:1fr auto;row-gap:6px;margin-bottom:12px}
  .sp-bar i{grid-column:1/-1;grid-row:2}
  .sp-bar b{min-width:0}
  .sp-params{grid-template-columns:minmax(0,1fr)}
  .sp-sectors{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sp-params-head{flex-direction:column;align-items:flex-start}
}


/* Accueil : « Pourquoi nous » fusionné avec les 4 étapes */
.why-merged{margin-top:80px}
.why-merged .why{margin-top:18px}

/* Accueil : simulateur express (secteur + facture, estimation en direct) */
.sq h3{margin-bottom:18px}
.sq-label{font-size:14px;font-weight:600;margin-bottom:10px}
.sq-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.sq-chip{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;transition:.15s}
.sq-chip:hover{border-color:#d6e3a3}
.sq-chip[aria-checked=true]{border-color:var(--g600);background:var(--g100)}
.sq-chip:focus-visible{outline:2px solid var(--g700);outline-offset:2px}
.sq .range-val{font-size:22px}
.sq-live{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--g950,#111);color:#fff;border-radius:14px;padding:16px 20px;margin:4px 0 16px}
.sq-live span{font-size:13.5px;opacity:.8}
.sq-live strong{font-family:var(--font-d);font-size:30px;letter-spacing:-.03em;color:var(--g600)}
.sq-note{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--muted);margin:12px 0 0;line-height:1.45}
.sq-note .ic-sm{color:var(--g700);flex:none;margin-top:2px}
@media (max-width:560px){.sq-chip{padding:8px 12px;font-size:13px}.sq-live strong{font-size:26px}}

/* Haut de page : mini-simulateur (secteur, facture, ville) */
.quick-form{max-width:860px}
.qf-bill{flex:.9}
.qf-in{display:flex;align-items:baseline;gap:6px}
.qf-in input{-moz-appearance:textfield}
.qf-in input::-webkit-outer-spin-button,.qf-in input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qf-in em{font-style:normal;font-weight:600;color:var(--muted);font-size:15px}
.quick-form .btn{white-space:nowrap}
.qf-live{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:15px;color:rgba(255,255,255,.85);min-height:22px}
.qf-live b{color:var(--g600);font-size:17px}
.qf-live .ic-sm{color:var(--g600)}
.qf-live{flex-wrap:wrap;row-gap:2px}
.qf-live small{flex-basis:100%;font-size:12.5px;color:rgba(255,255,255,.6);padding-inline-start:24px}
.sq-disc{font-size:12.5px;color:var(--muted);margin:-8px 0 14px;line-height:1.45}
.sq-kit{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;border-radius:12px;background:var(--g100);color:var(--ink);font-size:14px;text-decoration:none}
.sq-kit span{flex:1}
.sq-kit .ic-sm{color:var(--g700);flex:none}
.sq-kit:hover{background:#e6efc4}
[dir="rtl"] .sq-kit .ic-sm:last-child{transform:scaleX(-1)}
/* Simulateur détaillé : kit conseillé */
.sp-kit{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:14px;padding:13px 16px;margin-bottom:16px;font-size:14.5px;text-decoration:none}
.sp-kit span{flex:1}
.sp-kit b{color:var(--g600)}
.sp-kit em{font-style:normal;opacity:.75}
.sp-kit .ic-sm{color:var(--g600);flex:none}
.sp-kit:hover{border-color:var(--g600)}
[dir="rtl"] .sp-kit .ic-sm:last-child{transform:scaleX(-1)}
.sp-big{margin-bottom:10px}
.sp-warn{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.45;color:#c9ccce;background:rgba(179,203,66,.1);border:1px solid rgba(179,203,66,.3);border-radius:10px;padding:9px 12px;margin:0 0 20px}
.sp-warn .ic-sm{color:var(--g600);flex:none;margin-top:1px}
/* Pages légales : informations trouvées en ligne, à confirmer par le client */
mark.confirm{background:rgba(179,203,66,.45);color:var(--ink);border-radius:4px;padding:1px 5px;box-shadow:inset 0 -2px 0 var(--g700);cursor:help}
.legal-note{font-size:14px;color:var(--muted);margin:-6px 0 28px}
.sol-video{padding-bottom:0}
.sol-video .story-video-wide{margin-top:28px}
.sol-video{padding-bottom:40px}

/* ---------- Corrections audit complet 04/10 ---------- */
.lang-pills a{display:inline-block}
.footer .fcol-h{display:block}
.foot-contact{margin-bottom:24px}
.foot-contact .fcol-h{margin-bottom:12px}
.foot-contact li{display:flex;gap:10px;align-items:flex-start;white-space:normal;font-size:14px;color:#c6c9cb}
.foot-contact li .ic{margin-top:2px;color:var(--g600)}
.foot-contact a:hover{color:#fff}
@media (max-width:640px){
  .qf-live{padding-inline-end:62px}
  .wa-float{width:52px;height:52px;bottom:16px;inset-inline-end:16px}
  .wa-float svg{width:27px;height:27px}
  /* Accueil : étapes et « Pourquoi » en carrousel horizontal, comme les solutions */
  #home-steps .steps,.why-merged .why{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-inline:-16px;padding:0 16px 8px;scrollbar-width:none}
  #home-steps .steps::-webkit-scrollbar,.why-merged .why::-webkit-scrollbar{display:none}
  #home-steps .steps>*{flex:0 0 80%;scroll-snap-align:start}
  .why-merged .why{border-top:0}
  .why-merged .why>.why-item,.why-merged .why>.why-item+.why-item{flex:0 0 80%;scroll-snap-align:start;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 20px}
  .why-merged .why-ic{margin-bottom:16px}
  .why-merged{margin-top:48px}
  #home-steps .steps{margin-top:36px}
}

/* Galerie : tuiles vidéo verticales (2 rangées de haut) */
.gallery .gal-video{grid-row:span 2;aspect-ratio:auto;position:relative;background:#000}
.gallery .gal-video video{display:block;width:100%;height:100%;object-fit:cover}

/* Simulateur détaillé : mention « à titre indicatif » entre les barres et le gain */
.sp-indic{display:flex;gap:8px;align-items:flex-start;margin:16px 0 14px;font-size:.85rem;line-height:1.45;color:rgba(255,255,255,.82)}
.sp-indic .ic{flex:none;margin-top:2px;color:var(--g600)}

/* Vidéos verticales (backup, simulateur) + logo du label Taqa Pro PV+ (2026-10-05) */
.reel-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:56px;align-items:center}
.reel-copy .lead{margin:14px 0 26px}
.reel-video{margin:0;border-radius:22px;overflow:hidden;background:#000;aspect-ratio:9/16;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.reel-video video{width:100%;height:100%;display:block;object-fit:cover}
@media (max-width:820px){.reel-split{grid-template-columns:1fr;gap:28px}.reel-video{max-width:340px;width:100%;margin-inline:auto}}
.cert-logo-one{display:flex;justify-content:center}
.cert-logo-one img{width:100%;max-width:280px;height:auto;background:#fff;border-radius:22px;padding:26px}
.stat-cert .sc-logo{flex:none;width:96px;height:96px;background:#fff;border-radius:14px;padding:8px;display:grid;place-items:center}
.stat-cert .sc-logo img{width:100%;height:auto;border-radius:0}
.stat-cert .sc-more{color:var(--g600);font-weight:600}
.stat-cert p{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
/* Badge horizontal Taqa Pro PV+ (accueil, à côté des chiffres) */
.stat-cert{flex-direction:column;align-items:flex-start;justify-content:center;gap:16px}
.stat .cert-pill{display:inline-flex;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:7px 14px 7px 7px;max-width:100%;color:inherit;font-size:inherit;line-height:1}
.stat-cert .cert-pill img{width:52px;height:auto;border-radius:0;flex:none}
.stat .cp-txt{display:flex;flex-direction:column;gap:4px;max-width:none;border-inline-start:2px solid #e3a521;padding-inline-start:10px;line-height:1.05;white-space:nowrap}
.cp-txt small{color:#1b3f6a;font-weight:600;font-size:12.5px}
.cp-txt b{color:#1a75bb;font-size:20px;font-weight:800;letter-spacing:-.02em}
.cp-txt b em{font-style:normal;color:#e3a521}
@media (max-width:640px){.stat-cert{align-items:center;text-align:center}.stat .cert-pill{padding:8px 18px 8px 8px}.stat-cert .cert-pill img{width:60px}.cp-txt small{font-size:14px}.cp-txt b{font-size:24px}}
/* Carte certificat blanche + badge Taqa Pro PV+ dans la barre du haut (2026-10-05) */
.stats .stat-cert{background:var(--mint);border:0;color:var(--g950)}
.stat-cert p,.stat-cert .sc-more{color:#111}
.stat-cert .sc-more{font-weight:700}
.stat-cert .cert-pill{box-shadow:0 2px 10px rgba(0,0,0,.08)}
.topbar{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:6px 16px}
.topbar a.tb-badge{margin:0;display:inline-flex;line-height:1}
.topbar .cert-pill{display:inline-flex;align-items:center;gap:7px;background:#fff;border-radius:9px;padding:3px 10px 3px 3px}
.topbar .cert-pill img{width:28px;height:auto}
.topbar .cp-txt{display:flex;flex-direction:column;gap:1px;border-inline-start:1.5px solid #e3a521;padding-inline-start:7px;line-height:1.05;white-space:nowrap;text-align:start}
.topbar .cp-txt small{font-size:9.5px}
.topbar .cp-txt b{font-size:13px}
.topbar a:last-child{margin:0}
@media (max-width:640px){.topbar{gap:10px;padding:5px 12px}}

/* topbar blanc (YACE 2026-10-05) */
.topbar{background:#fff;color:#111;border-bottom:1px solid #e6e8e3}
.topbar b{color:#111}
.topbar a{color:var(--g700)}

/* badge TaqaPro dans le header (YACE 2026-10-05) */
.hd-badge{display:inline-flex;flex:none;line-height:1}
.hd-badge .cert-pill{display:inline-flex;align-items:center;gap:8px}
.hd-badge img{width:40px;height:auto}
.hd-badge .cp-txt{display:flex;flex-direction:column;gap:2px;border-inline-start:1.5px solid #e3a521;padding-inline-start:8px;line-height:1.05;white-space:nowrap;text-align:start}
.hd-badge .cp-txt small{font-size:10.5px;font-weight:600;color:#1b3f6a}
.hd-badge .cp-txt b{font-size:14.5px;color:#1a75bb;font-weight:800}
.hd-badge .cp-txt b em{font-style:normal;color:#e3a521}
@media (max-width:1600px){.call-link .cl-t{display:none}.call-link{width:40px;height:40px;border-radius:50%;background:var(--g100);justify-content:center}}
@media (max-width:1260px){.hd-badge .cp-txt{display:none}.hd-badge img{width:38px}}
@media (max-width:1040px){.hd-badge{margin-inline-start:auto}.hd-badge+.burger{margin-inline-start:0}}

/* paramètres de calcul repliables (YACE 2026-10-05) */
.sp-params-wrap{padding-top:28px}
.sp-ptoggle{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:600;font-size:14.5px;color:var(--g950);cursor:pointer;transition:background .2s,border-color .2s}
.sp-ptoggle:hover{background:var(--g100);border-color:var(--g600)}
.sp-ptoggle .sp-chev{transition:transform .35s ease}
.sp-params-wrap.is-open .sp-ptoggle .sp-chev{transform:rotate(180deg)}
.sp-params-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .45s ease,opacity .35s ease}
.sp-params-wrap.is-open .sp-params-body{grid-template-rows:1fr;opacity:1}
.sp-params-in{overflow:hidden;min-height:0}
.sp-params-in>.sp-params-head{padding-top:28px}
.sp-params-wrap .sp-disc{margin-top:18px}
@media (prefers-reduced-motion:reduce){.sp-params-body,.sp-ptoggle .sp-chev{transition:none}}
@media (min-width:1261px){.hd-badge{margin-inline-start:14px;margin-inline-end:-28px}}

/* bloc certification blanc cassé + vidéo (YACE 2026-10-05) */
.cert-band{background:var(--mint);color:#3d4245;border:1px solid #e6e8e3}
.cert-band .eyebrow{color:var(--g700)}
.cert-band h2{color:var(--g950)}
.cert-band p.lead{color:#3d4245}
.cert-points b{color:var(--g950)}
.cert-points span{color:#5b6064}
.cert-points .ic{color:var(--g700)}
.cert-logo-one img{box-shadow:0 8px 30px rgba(20,22,24,.08)}
.cert-side.has-video{display:flex;align-items:center;justify-content:center;gap:28px}
.cert-side.has-video .cert-logo-one img{max-width:200px;padding:20px}
.cert-video{flex:none;width:260px;border-radius:20px;overflow:hidden;background:#000;box-shadow:0 14px 40px rgba(20,22,24,.18)}
.cert-video video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover}
@media (max-width:640px){.cert-side.has-video{flex-direction:column}.cert-video{width:min(300px,100%)}}

/* Guide entreprise visuel (YACE 2026-10-05) */
.guide-wrap{max-width:900px}
.guide .g-intro{display:flex;gap:20px;align-items:flex-start;background:var(--mint);border-radius:var(--r-lg);padding:26px 28px;margin-bottom:22px}
.guide .g-intro p{margin:0;font-size:18px}
.g-intro-ic,.g-fic,.g-cta-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:var(--g600);color:var(--g950)}
.g-intro-ic .ic,.g-fic .ic,.g-cta-ic .ic{width:24px;height:24px}
.g-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:34px}
.g-facts>div{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}
.g-facts .g-fic{width:40px;height:40px;border-radius:12px;background:var(--g100);color:var(--g700);margin-bottom:4px}
.g-facts .g-fic .ic{width:20px;height:20px}
.g-facts b{font-size:22px;letter-spacing:-.02em;color:var(--g950)}
.g-facts small{font-size:14px;color:var(--muted);line-height:1.4}
.g-toc{background:var(--g950);color:#fff;border-radius:var(--r-lg);padding:24px 26px;margin-bottom:46px}
.g-toc p{margin:0 0 14px!important;font-size:13px!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--g600)!important}
.g-toc ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.g-toc li{margin:0!important}
.g-toc a{display:flex;align-items:center;gap:10px;color:#fff;font-weight:600;font-size:15.5px;padding:8px 6px;border-radius:10px;transition:background .2s}
.g-toc a:hover{background:rgba(255,255,255,.07)}
.g-toc .ic{color:var(--g600);flex:none}
.g-n{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--g600);color:var(--g950);font-size:13px;font-weight:800}
.g-step{position:relative;padding:0 0 10px;margin-bottom:34px;scroll-margin-top:110px}
.g-head{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.article.guide .g-head h2{margin:0;padding:0;border:0}
.g-badge{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--g100);color:var(--g700)}
.g-badge .ic{width:26px;height:26px}
.g-badge i{position:absolute;top:-7px;inset-inline-end:-7px;width:24px;height:24px;border-radius:50%;background:var(--g950);color:#fff;font-style:normal;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.g-body{padding-inline-start:72px}
.article ul.g-list,.article ul.g-cards{list-style:none;padding:0;margin:0 0 20px}
.article ul.g-list li{display:flex;gap:12px;align-items:flex-start;margin:10px 0}
.g-tick{flex:none;width:22px;height:22px;padding:4px;border-radius:50%;background:var(--g600);color:var(--g950);margin-top:4px}
.article ul.g-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.article ul.g-cards li{display:flex;gap:12px;align-items:flex-start;margin:0;background:var(--mint);border-radius:var(--r-lg);padding:16px 18px;font-size:16px;line-height:1.55}
.article ul.g-cards strong{display:block;margin-bottom:2px}
.g-cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px 22px;background:var(--g950);color:#fff;border-radius:var(--r-xl);padding:28px 30px;margin:44px 0 10px}
.article .g-cta p{flex:1 1 320px;margin:0;color:#e6e8e3;font-size:17px;line-height:1.6}
@media (max-width:640px){.g-facts{grid-template-columns:1fr}.g-toc ol,.article ul.g-cards{grid-template-columns:1fr}.g-body{padding-inline-start:0}.guide .g-intro{flex-direction:column;padding:22px}}

/* vidéos chargées au clic (YACE 2026-10-05) */
.vfac{position:relative;display:block;width:100%;height:100%;padding:0;margin:0;border:0;background:#000;cursor:pointer;overflow:hidden;color:inherit}
.vfac img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,opacity .3s}
.vfac:hover img{transform:scale(1.03)}
.vfac-play{position:absolute;top:50%;left:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:var(--g600);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(0,0,0,.35);transition:transform .25s}
.vfac:hover .vfac-play,.vfac:focus-visible .vfac-play{transform:scale(1.08)}
.vfac-play svg{width:28px;height:28px;fill:var(--g950);margin-inline-start:4px}
.vfac:focus-visible{outline:3px solid var(--g600);outline-offset:3px}
.cert-video .vfac,.cert-video video{aspect-ratio:9/16;height:auto}
@media (max-width:640px){.vfac-play{width:56px;height:56px;margin:-28px 0 0 -28px}}
.gallery .gal-video figcaption{pointer-events:none}
.stat-cert p,.stat-cert .sc-more{color:var(--muted);font-weight:400}
.stat-cert a:hover .sc-more,.stat-cert .sc-more:hover{color:var(--g950)}

/* simulateurs vides au lancement (YACE 2026-10-05) */
.sp-fill{display:none;align-items:flex-start;gap:10px;margin:-8px 0 20px;padding:14px 16px;border-radius:14px;background:rgba(179,203,66,.12);color:#e8eaec;font-size:14.5px;line-height:1.5}
.sp-fill .ic{flex:none;color:var(--g600);margin-top:2px}
.sp-empty .sp-fill{display:flex}
.sp-empty .sp-big{color:#5d6266}
.sp-empty .sp-kpis,.sp-empty .sp-bars,.sp-empty .sp-gain,.sp-empty .sp-kit,.sp-empty .sp-detail{opacity:.45}
.sp-printbtn:disabled{opacity:.4;cursor:not-allowed}
.sq-empty .sq-save{opacity:.5}
.sim-empty{display:flex;gap:10px;align-items:flex-start;margin:12px 0 4px;font-size:15px;line-height:1.5;color:inherit;opacity:.85}
.sim-empty .ic{flex:none;margin-top:3px;color:var(--g600)}

/* carte interactive des projets, À propos (YACE 2026-10-05) */
.about-map{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:start}
.am-card{background:var(--mint);border-radius:var(--r-xl);padding:28px}
.am-box{position:relative}
.am-svg{display:block;width:100%;height:auto;overflow:visible}
.am-land{fill:#fff;stroke:var(--g700);stroke-width:2;stroke-linejoin:round}
.am-pt{cursor:pointer;outline:none}
.am-halo{fill:var(--g600);opacity:.4;transform-box:fill-box;transform-origin:center;transition:opacity .25s,transform .25s}
.am-dot{fill:var(--g700);transition:fill .25s}
.am-pt text{font-size:15px;font-weight:700;fill:var(--g950);font-family:inherit;paint-order:stroke;stroke:#fff;stroke-width:3px}
.am-zone .am-halo{opacity:0}
.am-zone .am-dot{fill:#a3a8ac}
.am-zone text{font-size:12.5px;font-weight:500;fill:#6b7075}
.am-pt:hover .am-halo,.am-pt:focus-visible .am-halo,.am-pt.on .am-halo,.am-pt.lit .am-halo{opacity:.75;transform:scale(1.25)}
.am-zone:hover .am-dot,.am-zone.on .am-dot{fill:var(--g700)}
.am-hq .am-halo{animation:amPulse 2.6s ease-in-out infinite}
@keyframes amPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.3)}}
.am-tip{position:absolute;z-index:4;width:max-content;max-width:280px;background:var(--g950);color:#fff;border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.45;box-shadow:0 14px 40px rgba(0,0,0,.28);pointer-events:none;transform:translate(-50%,calc(-100% - 16px))}
.am-tip.below{transform:translate(-50%,16px)}
.am-tip b{display:block;color:var(--g600);font-size:15px;margin-bottom:6px}
.am-tip span{color:#cfd2d4}
.am-tip ul{list-style:none;margin:0;padding:0}
.am-tip li{position:relative;padding-inline-start:14px;margin:4px 0}
.am-tip li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--g600)}
.am-side{display:flex;flex-direction:column;gap:14px}
.am-group{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;transition:border-color .2s,box-shadow .2s}
.am-group[data-k]:hover{border-color:var(--g600);box-shadow:0 8px 24px rgba(20,22,24,.06)}
.am-group h3{display:flex;align-items:center;gap:8px;font-size:17px;margin:0 0 8px}
.am-group h3 .ic{color:var(--g700)}
.am-n{margin-inline-start:auto;min-width:26px;height:26px;padding:0 8px;border-radius:13px;background:var(--g100);color:var(--g700);font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.am-group ul{list-style:none;margin:0;padding:0}
.am-group li{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:15px;line-height:1.45;color:#2c3033;border-top:1px solid var(--line)}
.am-group li:first-child{border-top:0}
.am-group li .ic{flex:none;margin-top:3px;color:var(--g700)}
@media (max-width:1024px){.about-map{grid-template-columns:1fr}}
@media (max-width:640px){.am-card{padding:16px}.am-tip{max-width:240px;font-size:13px}}
@media (prefers-reduced-motion:reduce){.am-hq .am-halo{animation:none}}
.am-svg{direction:ltr}


/* Page Entreprise : histoire + vidéo, carte sombre avec chiffres clés */
.ent-story .ticks{margin-top:4px}
.story-side{margin-top:0}
.am-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center}
.am-copy .h-lg{margin-bottom:16px}
.am-copy .lead{margin-bottom:36px}
.am-stats{grid-template-columns:repeat(2,1fr);gap:28px 24px}
.am-stats strong{font-size:40px}
.am-sec.bg-dark .am-card{background:#1d2023;border:1px solid rgba(255,255,255,.08);padding:26px}
.am-sec.bg-dark .am-land{fill:#2a2e32;stroke:var(--g600);stroke-width:1.6}
.am-sec.bg-dark .am-pt text{fill:#e9ebec;stroke:#1d2023;stroke-width:3px;font-size:13px;font-weight:500}
.am-sec.bg-dark .am-zone .am-dot{fill:#8a9096}
.am-sec.bg-dark .am-zone:hover .am-dot,.am-sec.bg-dark .am-zone.on .am-dot{fill:var(--g600)}
.am-sec.bg-dark .am-has .am-dot{fill:var(--g600)}
.am-sec.bg-dark .am-has .am-halo{fill:var(--g600);opacity:.3}
.am-sec.bg-dark .am-has text{fill:#fff;font-weight:700;font-size:15px}
.am-sec.bg-dark .am-hq text{font-size:17px}
.am-sec.bg-dark .am-tip{background:#fff;color:var(--g950);max-width:320px}
.am-sec.bg-dark .am-tip b{color:var(--g700)}
.am-sec.bg-dark .am-tip span{color:#5b6066}
.am-tip em{display:block;margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.1);font-style:normal;font-size:12.5px;font-weight:700;color:var(--g700)}
@media (max-width:1024px){.am-split{grid-template-columns:1fr;gap:40px}}
@media (max-width:640px){.am-stats strong{font-size:32px}.am-sec.bg-dark .am-card{padding:14px}}
.am-sec.bg-dark .eyebrow{color:var(--g600)}
.am-sec.bg-dark .lead{color:#c4c7ca}
.ent-cert{padding-top:0}
#partenaires.bg-mint .partner,#partenaires.bg-mint .logo-card{background:#fff}

/* Galerie : tuiles façon publication (picto en haut à gauche, catégorie lime + titre court blanc en bas) */
.gallery .gal-tile{position:relative;background:var(--g950)}
.gallery .gal-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.38),rgba(0,0,0,0) 26%,rgba(0,0,0,0) 48%,rgba(0,0,0,.8));pointer-events:none}
.gallery .gal-pic{position:absolute;top:12px;inset-inline-start:12px;z-index:2;width:36px;height:37px;background:url(../img/picto-white.svg) 0 0/100% 100% no-repeat;pointer-events:none;filter:drop-shadow(0 1px 3px rgba(0,0,0,.45))}
.gallery .gal-tile figcaption{position:absolute;inset:auto 0 0 0;z-index:2;padding:0 16px 16px;background:none;border:0;color:#fff;pointer-events:none}
.gallery .gal-cat{display:block;margin-bottom:5px;color:var(--g600);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
html[lang="ar"] .gallery .gal-cat{letter-spacing:0;font-size:.8rem}
.gallery .gal-t{display:block;font-size:1.05rem;font-weight:800;line-height:1.2;text-wrap:balance}
.gallery .gal-video.playing::after,.gallery .gal-video.playing .gal-pic,.gallery .gal-video.playing figcaption{opacity:0;transition:opacity .3s}
@media (max-width:640px){.gallery .gal-tile figcaption{padding:0 12px 12px}.gallery .gal-t{font-size:.92rem}.gallery .gal-cat{font-size:.66rem}.gallery .gal-pic{width:29px;height:30px;top:10px;inset-inline-start:10px}}

/* Bannière fixe au défilement : compacte sur ordinateur, masquée en descendant sur mobile */
body{overflow-x:clip}
#site-header{position:sticky;top:0;z-index:60;transition:transform .3s ease}
.header-in{transition:height .25s ease}
.site-header .logo img{transition:height .25s ease}
html.hd-compact .site-header{box-shadow:0 6px 20px rgba(0,0,0,.06)}
@media (min-width:1025px){html.hd-compact .header-in{height:64px}}
@media (max-width:1024px){html.hd-hide #site-header{transform:translateY(-100%)}}

/* Secteur Collectivités et marchés publics (5 secteurs, domaines sur 3 colonnes, encart références) */
.sectors.sectors-5{grid-template-columns:repeat(5,1fr);gap:16px}
.sectors-5 .sector{height:380px;padding:20px}
.sectors-5 .sector h3{font-size:21px}
.sectors-5 .sector p{font-size:13.5px}
.sectors-5 .sector .go{width:38px;height:38px}
.benefits.benefits-3{grid-template-columns:repeat(3,1fr)}
.pub-refs{background:var(--mint);border-radius:var(--r-lg);padding:36px;align-self:center}
.pub-refs h3{font-size:24px;margin:6px 0 12px}
.pub-refs p{color:var(--muted)}
@media (max-width:1140px){.sectors.sectors-5{grid-template-columns:repeat(6,1fr)}.sectors-5 .sector{grid-column:span 2}.sectors-5 .sector:nth-child(n+4){grid-column:span 3}}
@media (max-width:1024px){.sectors.sectors-5{grid-template-columns:1fr 1fr}.sectors-5 .sector,.sectors-5 .sector:nth-child(n+4){grid-column:auto}.sectors-5 .sector:last-child{grid-column:1/-1}.benefits.benefits-3{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.sectors.sectors-5,.benefits.benefits-3{grid-template-columns:1fr}.sectors-5 .sector,.sectors-5 .sector:last-child{height:300px;grid-column:auto}}

.dossier-one { max-width: 760px; }

/* Kit conseillé du simulateur : encadré blanc pour le faire ressortir */
.sp-kit{background:#fff;color:#111;border-color:#fff;font-weight:500}
.sp-kit b{color:#111;font-weight:700}
.sp-kit em{opacity:.7}
.sp-kit .ic-sm:first-child{color:#111;background:var(--g600);border-radius:50%;padding:4px;box-sizing:content-box}
.sp-kit .ic-sm:last-child{color:#111}
.sp-kit:hover{border-color:var(--g600);box-shadow:0 0 0 2px var(--g600)}

/* Champ piège anti-robots du formulaire de contact : jamais montré aux visiteurs. */
.form-card .field.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Candidature : fenêtre formulaire (page Carrières) ---------- */
body.no-scroll{overflow:hidden}
.apply-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .2s ease}
.apply-modal.open{opacity:1}
.apply-backdrop{position:absolute;inset:0;background:rgba(12,13,14,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.apply-box{position:relative;width:100%;max-width:640px;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:var(--r-lg);padding:36px 36px 30px;box-shadow:0 30px 80px -20px rgba(0,0,0,.45);transform:translateY(16px) scale(.98);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.apply-modal.open .apply-box{transform:none}
.apply-box h2{font-size:clamp(24px,3vw,30px);margin-bottom:8px;padding-inline-end:40px}
.apply-sub{color:var(--muted);font-size:14.5px;margin-bottom:24px}
.apply-x{position:absolute;top:16px;inset-inline-end:16px;width:40px;height:40px;border-radius:50%;font-size:26px;line-height:1;color:var(--ink);background:var(--mint);display:flex;align-items:center;justify-content:center;transition:background .15s}
.apply-x:hover{background:var(--g100)}
.apply-box .field{margin-bottom:14px}
.apply-box .field input,.apply-box .field textarea{padding:12px 14px}
.apply-box .field textarea{resize:vertical;min-height:84px}
.apply-box .field input[aria-invalid]{border-color:#d93025;background:#fff8f7}
.apply-box .lbl{font-weight:600;font-size:14.5px;color:var(--ink)}
.opt-l{font-weight:400;color:var(--muted)}
.ap-err{display:block;min-height:0;color:#c5221f;font-size:13px;font-weight:500;line-height:1.3}
.ap-err:empty{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.drop{position:relative;display:flex;align-items:center;gap:14px;border:1.5px dashed #c9ccc4;border-radius:12px;padding:16px 18px;background:var(--mint);cursor:pointer;transition:border-color .15s,background .15s}
.drop:hover,.drop.over,.drop:focus-within{border-color:var(--g600);background:var(--g100)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.drop-ic{width:44px;height:44px;flex:none;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--g700)}
.drop-txt{font-size:14.5px;color:var(--text);line-height:1.4}
.drop-txt b{color:var(--ink)}
.drop-txt small{display:block;color:var(--muted);font-size:12.5px;margin-top:3px}
.field:has(input[aria-invalid]) .drop{border-color:#d93025;background:#fff8f7}
.file-chip{display:flex;align-items:center;gap:12px;border:1.5px solid var(--g600);background:var(--g100);border-radius:12px;padding:12px 14px}
.file-chip::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--g700);flex:none}
.fc-name{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.fc-size{color:var(--muted);font-size:13px;flex:none}
.fc-x{width:30px;height:30px;border-radius:50%;font-size:20px;line-height:1;flex:none;background:#fff;color:var(--ink)}
.fc-x:hover{background:#fff1f0;color:#c5221f}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--muted);line-height:1.45;margin:4px 0 6px;cursor:pointer}
.consent input{width:18px;height:18px;margin-top:1px;flex:none;accent-color:var(--g700)}
.consent a{color:var(--g700);text-decoration:underline}
.ap-err-c{margin-bottom:6px}
.apply-box .btn-block{margin-top:14px}
.btn.loading{opacity:.75;pointer-events:none}
.btn.loading .ic{animation:apSpin 1s linear infinite}
@keyframes apSpin{to{transform:rotate(360deg)}}
.ap-alert{margin-top:14px;padding:12px 14px;border-radius:12px;background:#fff4e5;color:#7a4b00;font-size:14px}
.ap-alert a{font-weight:600;text-decoration:underline}
.apply-done{text-align:center;padding:24px 0 8px}
.done-ic{width:68px;height:68px;margin:0 auto 18px;border-radius:50%;background:var(--g600);color:var(--ink);font-size:34px;font-weight:700;display:flex;align-items:center;justify-content:center}
.apply-done h3{font-size:24px;margin-bottom:10px}
.apply-done p{color:var(--muted);margin-bottom:24px}
@media (max-width:640px){
  .apply-modal{padding:0;align-items:flex-end}
  .apply-box{max-width:none;max-height:94vh;max-height:94dvh;border-radius:var(--r-lg) var(--r-lg) 0 0;padding:28px 20px calc(22px + env(safe-area-inset-bottom));transform:translateY(40px)}
  .apply-box .form-row{grid-template-columns:1fr;gap:0}
}
@media (prefers-reduced-motion:reduce){.apply-modal,.apply-box{transition:none}}
[dir="rtl"] .apply-box input[dir="ltr"]{text-align:right}
