/* ===========================================================
   Metavolt Énergie — feuille de styles principale
   =========================================================== */

:root{
  --navy-950:#0A1930; --navy-900:#0F2440; --navy-800:#173357; --navy-700:#20456F;
  --white:#FFFFFF; --offwhite:#F5F8FC; --ink:#0B1D33; --muted:#5C6B84; --muted-2:#8493AC;
  --orange-500:#DD7A2C; --orange-600:#C2661C; --orange-100:#FBE7D4;
  --line:#E3E9F1; --navy-line:rgba(255,255,255,.14); --navy-line-2:rgba(255,255,255,.08);
  --wa:#25D366;
  --container-max:1320px;
  --pad-x:40px;
}

@media (max-width:900px){ :root{ --pad-x:22px; } }
@media (max-width:640px){ :root{ --pad-x:max(22px, env(safe-area-inset-left), env(safe-area-inset-right)); } }

*{box-sizing:border-box;}
html{scroll-behavior:smooth; overflow-x:clip;}
body{margin:0; background:var(--navy-950); font-family:'IBM Plex Sans',system-ui,sans-serif; color:var(--ink); -webkit-font-smoothing:antialiased; overflow-wrap:break-word; word-break:normal; overflow-x:clip; -webkit-tap-highlight-color:rgba(221,122,44,.18);}
body.nav-open{overflow:hidden;}
h1,h2,h3{font-family:'Space Grotesk',system-ui,sans-serif; margin:0;}
p{margin:0;}
a{color:var(--orange-500); text-decoration:none;}
a:hover{color:var(--orange-600);}
img{max-width:100%; display:block;}
ul{margin:0; padding:0; list-style:none;}
button{font-family:inherit;}

.mono{font-family:'IBM Plex Mono',monospace;}

/* ---------- layout helpers ---------- */
.container{max-width:var(--container-max); margin:0 auto; padding:0 var(--pad-x);}
.section{padding:96px var(--pad-x);}
.section-tight{padding:64px var(--pad-x);}
.hairline-top{border-top:1px solid var(--navy-line-2);}
.bg-950{background:var(--navy-950);}
.bg-900{background:var(--navy-900);}
.bg-gradient{background:linear-gradient(160deg, var(--navy-950) 0%, var(--navy-900) 55%, var(--navy-800) 100%);}
.bg-orange{background:var(--orange-500);}

@media (max-width:900px){
  .section{padding:64px var(--pad-x);}
  .section-tight{padding:44px var(--pad-x);}
}
@media (max-width:640px){
  .section{padding:40px var(--pad-x);}
  .section-tight{padding:28px var(--pad-x);}
}

/* ---------- typography ---------- */
.eyebrow{font:600 12.5px/1 'IBM Plex Mono'; letter-spacing:.14em; text-transform:uppercase; color:var(--orange-500); display:inline-block;}
.h1{font-size:48px; line-height:1.15; font-weight:600; color:#fff; margin-top:22px;}
.h2{font-size:34px; font-weight:600; color:#fff; line-height:1.25;}
.h2-light{font-size:34px; font-weight:600; color:var(--navy-950); line-height:1.25;}
.h3{font-size:18px; font-weight:600; color:var(--navy-950);}
.lead{font-size:17px; line-height:1.6; color:rgba(255,255,255,.72); margin-top:22px;}
.max-w-sm{max-width:480px;}
.max-w-md{max-width:560px;}
.max-w-lg{max-width:640px;}
.max-w-xl{max-width:760px;}

@media (max-width:900px){
  .h1{font-size:36px;}
  .h2, .h2-light{font-size:27px;}
}
@media (max-width:640px){
  .eyebrow{letter-spacing:.12em; font-size:11.5px; line-height:1.5;}
  .h1{font-size:clamp(1.55rem, 7.4vw, 1.8rem) !important; line-height:1.28; margin-top:14px; letter-spacing:-.02em;}
  .h2, .h2-light{font-size:clamp(1.35rem, 5.8vw, 1.55rem) !important; line-height:1.3; letter-spacing:-.015em;}
  .h3{font-size:16.5px; line-height:1.35;}
  .lead{font-size:13.5px !important; line-height:1.5; margin-top:12px;}
  .cta-box h2, .cta-box.wide h2{font-size:clamp(1.32rem, 5.8vw, 1.55rem) !important; line-height:1.32;}
}

/* ---------- buttons ---------- */
.btn{padding:15px 28px; border-radius:8px; font:600 15px/1.2 'IBM Plex Sans'; display:inline-flex; align-items:center; gap:9px; white-space:nowrap; border:none; cursor:pointer; touch-action:manipulation;}
.btn-primary{background:var(--orange-500); color:#fff;}
.btn-primary:hover{background:var(--orange-600); color:#fff;}
.btn-white{background:#fff; color:var(--orange-600);}
.btn-white:hover{background:#f2f2f2; color:var(--orange-600);}
.btn-ghost-dark{border:1px solid rgba(255,255,255,.35); color:#fff; background:transparent; padding:14px 27px;}
.btn-ghost-dark:hover{border-color:rgba(255,255,255,.7); color:#fff;}
.btn-wa{background:var(--wa); color:#fff; border:none; padding:14px 27px;}
.btn-wa:hover{background:#1ebe57; color:#fff;}
.btn-ghost-light{border:1px solid var(--line); color:var(--navy-950); background:#fff; padding:14px 27px;}
.btn-sm{padding:12px 22px; font-size:14px;}
.btn-row{display:flex; gap:16px; margin-top:36px; flex-wrap:wrap;}

@media (max-width:640px){
  .btn{width:100%; justify-content:center; white-space:normal; text-align:center; min-height:50px; padding:15px 18px; font-size:15px; gap:8px;}
  .btn-row{flex-direction:column; gap:10px; margin-top:22px;}
  .hero-grid .btn-row{
    flex-direction:row;
    flex-wrap:nowrap;
    gap:8px;
    margin-top:18px;
  }
  .hero-grid .btn-row .btn{
    width:auto;
    flex:1 1 0;
    min-width:0;
    min-height:42px;
    padding:10px 8px;
    font-size:11.5px;
    line-height:1.25;
    gap:4px;
  }
  .hero-grid .btn-row .btn svg{
    width:13px;
    height:13px;
    flex-shrink:0;
  }
}

/* ---------- header / nav ---------- */
.site-header{background:rgba(10,25,48,.92); backdrop-filter:saturate(1.2) blur(12px); -webkit-backdrop-filter:saturate(1.2) blur(12px); border-bottom:1px solid var(--navy-line-2); position:sticky; top:0; z-index:80; padding-top:env(safe-area-inset-top);}
.site-header .container{padding-top:20px; padding-bottom:20px; display:flex; align-items:center; justify-content:space-between; gap:40px;}
.logo img{height:30px; width:auto;}
.nav{display:flex; align-items:center; gap:30px; font:500 14.5px/1 'IBM Plex Sans'; color:rgba(255,255,255,.8);}
.nav a{color:rgba(255,255,255,.8);}
.nav a:hover{color:#fff;}
.nav a.active{color:var(--orange-500); border-bottom:2px solid var(--orange-500); padding-bottom:4px;}
.header-cta{flex-shrink:0;}
.nav-toggle{display:none; background:none; border:none; padding:8px; cursor:pointer;}
.nav-toggle svg{display:block;}

@media (max-width:980px){
  .site-header .container{padding-top:12px; padding-bottom:12px; gap:12px;}
  .logo img{height:28px;}
  .nav{position:fixed; top:0; right:0; height:100dvh; width:min(320px,86vw); background:var(--navy-900); flex-direction:column; align-items:flex-start; gap:0; padding:calc(76px + env(safe-area-inset-top)) 24px calc(28px + env(safe-area-inset-bottom)); transform:translateX(110%); transition:transform .28s ease; box-shadow:-8px 0 32px rgba(0,0,0,.3); overflow-y:auto; z-index:90; pointer-events:none;}
  .nav.open{transform:translateX(0); pointer-events:auto;}
  .nav a{width:100%; padding:14px 0; min-height:44px; display:flex; align-items:center; border-bottom:1px solid var(--navy-line-2);}
  .nav a.active{border-bottom:1px solid var(--orange-500); padding-bottom:14px;}
  .nav-toggle{display:inline-flex; align-items:center; justify-content:center; position:relative; z-index:100; width:44px; height:44px; margin-right:-8px; border-radius:10px;}
  .header-cta.desktop-only{display:none;}
  .nav-mobile-cta{display:inline-flex; margin-top:22px; width:100%; justify-content:center;}
  .nav-scrim{display:none; position:fixed; inset:0; background:rgba(6,14,28,.55); z-index:70;}
  .nav-scrim.open{display:block;}
}
@media (min-width:981px){
  .nav-mobile-cta{display:none;}
}
@media (min-width:981px){
  .nav-scrim{display:none;}
}

/* ---------- nav dropdown ("Vous êtes") ---------- */
.nav-item-dropdown{position:relative;}
.nav-drop-toggle{display:inline-flex; align-items:center; gap:5px; background:none; border:none; font:500 14.5px/1 'IBM Plex Sans'; color:rgba(255,255,255,.8); cursor:pointer; padding:0; font-family:'IBM Plex Sans',system-ui,sans-serif;}
.nav-drop-toggle:hover{color:#fff;}
.nav-drop-toggle.active{color:var(--orange-500);}
.nav-drop-caret{flex-shrink:0; transition:transform .18s ease;}
.nav-item-dropdown:hover .nav-drop-caret,
.nav-item-dropdown.open .nav-drop-caret{transform:rotate(180deg);}
.nav-dropdown-menu{position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%); background:var(--navy-900); border:1px solid var(--navy-line); border-radius:12px; padding:8px; min-width:190px; display:none; flex-direction:column; box-shadow:0 16px 40px rgba(0,0,0,.35); z-index:60;}
.nav-dropdown-menu a{padding:10px 14px; border-radius:8px; white-space:nowrap; color:rgba(255,255,255,.8); width:auto;}
.nav-dropdown-menu a:hover{background:rgba(255,255,255,.07); color:#fff;}
.nav-dropdown-menu a.active{color:var(--orange-500); border-bottom:none; padding-bottom:10px;}
.nav-item-dropdown:hover .nav-dropdown-menu,
.nav-item-dropdown.open .nav-dropdown-menu{display:flex;}

@media (max-width:980px){
  .nav-item-dropdown{width:100%;}
  .nav-drop-toggle{width:100%; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--navy-line-2);}
  .nav-dropdown-menu{position:static; transform:none; background:none; border:none; box-shadow:none; padding:0 0 0 16px; min-width:0; display:none;}
  .nav-item-dropdown.open .nav-dropdown-menu{display:flex;}
  .nav-dropdown-menu a{padding:12px 0; border-bottom:1px solid var(--navy-line-2); border-radius:0; width:100%;}
}

/* ---------- hero ---------- */
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center;}
.hero-grid.narrow{grid-template-columns:1fr; max-width:760px;}
.hero-media{border-radius:16px; overflow:hidden; height:460px; position:relative; border:1px solid var(--navy-line);}
.hero-media img{width:100%; height:100%; object-fit:cover;}
.hero-video{position:absolute; inset:0; width:100%; height:100%; border:0; display:block;}
.yt-facade{
  position:absolute; inset:0; width:100%; height:100%;
  margin:0; padding:0; border:0; cursor:pointer;
  background:var(--navy-950); overflow:hidden;
  display:block; color:inherit;
  container-type:size;
}
.yt-facade-poster{width:100%; height:100%; object-fit:cover; transform:scale(1.03); transition:transform .7s ease; filter:saturate(.9) contrast(1.06);}
.yt-facade:hover .yt-facade-poster{transform:scale(1.07);}
.yt-facade-veil{position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,25,48,.12) 0%, rgba(10,25,48,.5) 100%); pointer-events:none;}
.yt-facade-play{
  position:absolute; left:50%; top:50%;
  width:clamp(26px, 22cqh, 64px);
  height:clamp(26px, 22cqh, 64px);
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:var(--orange-500);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 28px rgba(10,25,48,.4);
  transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.yt-facade-play svg{width:38%; height:38%; margin-left:7%; display:block;}
.yt-facade:hover .yt-facade-play{
  transform:translate(-50%,-50%) scale(1.07);
  background:var(--orange-600);
  box-shadow:0 12px 32px rgba(10,25,48,.5);
}
.yt-facade:focus-visible{outline:2px solid var(--orange-500); outline-offset:3px;}
@supports not (width:1cqh){
  .yt-facade-play{width:clamp(26px,12%,64px); height:clamp(26px,12%,64px);}
}
.hero-caption{position:absolute; left:0; right:0; bottom:0; padding:16px 20px; background:linear-gradient(0deg, rgba(10,25,48,.88), rgba(10,25,48,0)); font-size:12px; color:rgba(255,255,255,.85); z-index:2;}
.hero-badge{margin-top:38px; display:inline-flex; align-items:center; gap:14px; background:rgba(255,255,255,.06); border:1px solid var(--navy-line); border-radius:12px; padding:14px 20px;}
.hero-badge-icon{width:38px; height:38px; border-radius:9px; background:var(--orange-500); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.hero-laureat{margin-top:38px; max-width:460px; border:1px solid var(--navy-line); border-radius:12px; overflow:hidden; background:rgba(255,255,255,.06);}
.hero-laureat img{width:100%; height:auto; aspect-ratio:16/8; object-fit:cover; object-position:center 42%;}
.hero-laureat .hero-badge{margin-top:0; border:none; border-radius:0; width:100%; background:transparent;}
.hero-laureat-link{font-size:10.5px; color:var(--orange-500);}
.hero-laureat-link:hover{color:#fff;}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr; gap:24px;}
  .hero-media{height:280px !important; order:-1;}
}
@media (max-width:640px){
  .hero-media{height:auto !important; aspect-ratio:16/10; min-height:200px; max-height:248px; border-radius:16px;}
  .hero-badge{flex-wrap:nowrap; align-items:flex-start; width:100%; margin-top:18px; padding:12px 14px; gap:12px;}
  .hero-laureat{max-width:none; margin-top:18px;}
  .hero-laureat .hero-badge{margin-top:0;}
  .hero-caption{font-size:12px; padding:12px 14px; line-height:1.35;}
}

/* ---------- stats band ---------- */
/* Always one row of 4 — numbers are short, so we shrink type/gaps instead of stacking */
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:40px;}
.stat-num{font-family:'IBM Plex Mono',monospace; font-size:48px; font-weight:600; color:#fff; line-height:1.05;}
.stat-label{font-size:13px; color:rgba(255,255,255,.6); margin-top:8px;}

@media (max-width:760px){
  .stats-grid{gap:24px 22px;}
  .stat-num{font-size:36px;}
  .stat-label{font-size:11.5px; line-height:1.35;}
}
@media (max-width:640px){
  .stats-grid{grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px 18px; text-align:center;}
  .stat-num{font-size:22px; letter-spacing:-.03em; line-height:1.1;}
  .stat-label{font-size:9px; margin-top:5px; line-height:1.25;}
  .stat-label-more{display:none;}
}

/* ---------- grids ---------- */
/* Card grids keep at least 2 columns down to phone width so pages don't
   turn into one long single-file stack. Content-heavy grids (product spec
   sheets, form cards) opt back into a single column via .dense, since their
   per-item content needs the full width to stay readable. */
.grid{display:grid; gap:22px;}
.grid > *{min-width:0;} /* prevent grid items from refusing to shrink below their content's natural width */
.cols-2{grid-template-columns:repeat(2,1fr);}
.cols-3{grid-template-columns:repeat(3,1fr);}
.cols-4{grid-template-columns:repeat(4,1fr);}

@media (max-width:980px){
  .cols-4{grid-template-columns:repeat(2,1fr);}
  .cols-3{grid-template-columns:repeat(2,1fr);}
  .page-audit .audit-levels.cols-3{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .grid{gap:10px;}
  .cols-2, .grid.dense{grid-template-columns:1fr;}
  .page-home .realisations-preview.cols-2{grid-template-columns:repeat(2, minmax(0,1fr));}
  .cols-3, .cols-4{grid-template-columns:repeat(2, minmax(0,1fr));}
  .page-audit .audit-levels.cols-3{grid-template-columns:1fr;}
  .metric-row{grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:12px !important;}
}

.split{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
@media (max-width:900px){
  .split{grid-template-columns:1fr; gap:32px;}
  .page-home .solarflow-teaser > div:last-child{order:-1;}
}

/* ---------- cards ---------- */
.card{background:#fff; border:1px solid var(--line); border-radius:16px;}
.card-pad{padding:30px 26px;}
.card-pad-sm{padding:26px 24px;}
@media (max-width:640px){
  .card{border-radius:16px;}
  .card-pad{padding:14px 12px;}
  .card-pad-sm{padding:14px 12px;}
  .card-body{padding:12px 12px 14px;}
  .card-img{height:auto; aspect-ratio:16/10; min-height:0;}
  .cols-3 .card-img, .cols-4 .card-img{max-height:110px;}
  .cols-3 .card-img:has(iframe), .cols-4 .card-img:has(iframe),
  .cols-3 .card-img:has(.yt-facade), .cols-4 .card-img:has(.yt-facade){max-height:none; min-height:110px;}
  .ribbon-orange, .ribbon-bleu{padding:10px 16px; font-size:15.5px;}
  .icon-badge, .icon-badge-dark{width:34px; height:34px;}
  .icon-badge svg, .icon-badge-dark svg{width:16px; height:16px;}
  .icon-badge-sm{width:30px; height:30px;}
  .prod-icon{width:64px; height:64px;}
}
.card.dashed{border-style:dashed;}
.card.highlight{border-color:var(--orange-500); box-shadow:0 0 0 1px var(--orange-500);}
.card-img{height:180px; overflow:hidden; position:relative;}
.card-img img{width:100%; height:100%; object-fit:cover;}
.card-img iframe, .card-video{position:absolute; inset:0; width:100%; height:100%; border:0; display:block;}
.card-img:has(iframe),
.card-img:has(.yt-facade){height:auto; aspect-ratio:16/9; min-height:180px;}
.card-body{padding:24px 24px 28px;}
.page-home .card-pad .h3{font-size:15.5px; line-height:1.25;}
.page-home .audience-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  max-width:none;
}
.page-home .audience-grid .card-img:has(iframe),
.page-home .audience-grid .card-img:has(.yt-facade){min-height:160px;}
.page-home .audience-grid .ribbon-orange{
  font-size:15px;
  font-weight:700;
  line-height:1.25;
  padding:12px 16px;
  text-align:center;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.page-home .realisations-preview .card-img{height:128px;}
.page-home .realisations-preview .card-img:has(iframe),
.page-home .realisations-preview .card-img:has(.yt-facade){height:auto; min-height:128px;}

.ribbon-orange{background:var(--orange-500); color:#fff; font:600 17px/1.3 'Space Grotesk',system-ui,sans-serif; padding:12px 28px;}
.ribbon-bleu{background:var(--navy-950); color:#fff; font:600 17px/1.3 'Space Grotesk',system-ui,sans-serif; padding:12px 28px;}

.prod-icon img{width:100%; height:100%; object-fit:contain; border-radius:10px;}
.step-icon-wrap{display:flex; align-items:center; justify-content:center;}
.icon-badge-sm{width:36px; height:36px; border-radius:9px; background:var(--orange-100); display:flex; align-items:center; justify-content:center; flex-shrink:0;}

.icon-badge{width:48px; height:48px; border-radius:10px; background:var(--orange-100); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.icon-badge-dark{width:48px; height:48px; border-radius:10px; background:var(--navy-800); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.icon-badge.sm, .icon-badge-dark.sm{width:44px; height:44px;}

.tag{font:600 10.5px/1 'IBM Plex Mono'; letter-spacing:.06em; text-transform:uppercase; padding:5px 10px; border-radius:20px; display:inline-block;}
.tag-orange{background:var(--orange-100); color:var(--orange-600);}
.tag-navy{background:var(--navy-950); color:#fff;}
.tag-solid-orange{background:var(--orange-500); color:#fff;}
.pill{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--navy-800); background:var(--offwhite); padding:6px 12px; border-radius:20px;}

.ph{border:1.5px dashed var(--line); background:var(--offwhite); border-radius:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; height:150px; padding:14px;}

/* ---------- process / timeline ---------- */
.process{position:relative; margin-top:56px;}
.process-line{position:absolute; top:23px; left:60px; right:60px; height:1px; background:var(--navy-line);}
.process-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; position:relative;}
.process-step{text-align:left;}
.process-step.centered{text-align:center;}
.step-circle{width:46px; height:46px; border-radius:50%; background:#fff; color:var(--navy-950); display:flex; align-items:center; justify-content:center; font:600 16px/1 'Space Grotesk'; font-family:'IBM Plex Mono',monospace;}
.process-step.centered .step-circle{margin:0 auto;}
.step-circle.on{background:var(--orange-500); color:#fff;}
.step-title{font-size:16.5px; font-weight:600; color:#fff; margin-top:22px;}
.step-tag{font-size:11px; color:var(--orange-500); margin-top:6px;}
.step-desc{font-size:14px; line-height:1.6; color:rgba(255,255,255,.62); margin-top:10px;}
.process-step.centered .step-desc{max-width:220px; margin-left:auto; margin-right:auto;}

@media (max-width:760px){
  .process-line{display:none;}
  .process-grid{grid-template-columns:1fr 1fr; row-gap:36px; column-gap:16px;}
}
@media (max-width:640px){
  .process{margin-top:18px;}
  .process-grid{grid-template-columns:1fr; row-gap:0;}
  .process-step{
    display:grid;
    grid-template-columns:34px 1fr;
    column-gap:10px;
    row-gap:2px;
    padding:8px 0;
    border-bottom:1px solid var(--navy-line-2);
    text-align:left;
  }
  .process-step:last-child{border-bottom:none;}
  .process-step .step-circle{grid-row:1 / span 3; width:34px; height:34px;}
  .process-step .step-circle svg{width:15px; height:15px;}
  .process-step .step-title{margin-top:0; font-size:14.5px;}
  .process-step .step-tag{font-size:10px; margin-top:2px;}
  .process-step .step-desc{font-size:12.5px; line-height:1.4; margin-top:2px;}
  .process-step.centered{text-align:left;}
  .process-step.centered .step-circle{margin:0;}
  .process-step.centered .step-desc{max-width:none; margin-left:0; margin-right:0;}
}

/* ---------- product spec rows (Produits) ---------- */
.prod-icon{width:96px; height:96px; border-radius:12px; background:var(--offwhite); display:flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden; padding:6px;}
.prod-card-wide.prod-card-studio > div:first-child{background:var(--offwhite);}
.prod-card-wide.prod-card-studio > div:first-child img{object-fit:contain;}
.page-produits .prod-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
  margin-top:36px;
}
.page-produits .prod-span{grid-column:1 / -1;}
.page-produits .prod-card{padding:18px 18px 14px;}
.page-produits .prod-card .prod-icon{width:68px; height:68px; padding:4px;}
.page-produits .prod-head{display:flex; gap:12px; align-items:flex-start;}
.page-produits .prod-head > div{min-width:0;}
.page-produits .prod-name{font-size:15px; font-weight:600; color:var(--navy-950); margin-top:6px; line-height:1.25; word-break:break-word;}
.page-produits .prod-sub{font-size:12px; color:var(--muted-2); margin-top:2px; line-height:1.35;}
.page-produits .prod-kpi{display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-top:12px; padding-top:10px; border-top:1px solid var(--line); font-size:12px;}
.page-produits .prod-kpi span{color:var(--muted);}
.page-produits .prod-kpi strong{font-size:15.5px; font-weight:600; color:var(--navy-950);}
.page-produits .prod-more{margin-top:6px;}
.page-produits .prod-more summary{
  cursor:pointer;
  list-style:none;
  font:600 12.5px/1 'IBM Plex Sans';
  color:var(--orange-600);
  padding:6px 0;
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.page-produits .prod-more summary::-webkit-details-marker{display:none;}
.page-produits .prod-more summary::after{content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-top:-3px;}
.page-produits .prod-more[open] summary::after{transform:rotate(-135deg); margin-top:2px;}
.page-produits .prod-more .prod-more-open{display:none;}
.page-produits .prod-more[open] .prod-more-closed{display:none;}
.page-produits .prod-more[open] .prod-more-open{display:inline;}
.page-produits .prod-more .specrow{font-size:12px; padding:7px 0;}
.page-produits .prod-ds{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
  font:600 12.5px/1 'IBM Plex Sans';
  color:var(--orange-600);
}
.page-produits .prod-note{display:block; margin-top:10px; font-size:11px; color:var(--muted-2);}
@media (max-width:640px){
  .page-produits .prod-grid{gap:10px; margin-top:24px;}
  .page-produits .prod-card{padding:12px 12px 10px;}
  .page-produits .prod-card .prod-icon{width:52px; height:52px;}
  .page-produits .prod-name{font-size:13px; margin-top:4px;}
  .page-produits .prod-kpi strong{font-size:14px;}
  .page-produits .prod-grid.dense{grid-template-columns:repeat(2, minmax(0,1fr));}
}
.specrow{display:flex; justify-content:space-between; gap:10px; font-size:13px; padding:9px 0; border-top:1px solid var(--line);}
.specrow:first-child{border-top:none;}
.speck{color:var(--muted);}
.specv{color:var(--navy-950); font-weight:600; text-align:right;}
.prod-card-wide{padding:0; overflow:hidden; display:grid; grid-template-columns:260px 1fr;}
.prod-card-wide img{width:100%; height:100%; object-fit:cover;}
@media (max-width:760px){
  .prod-card-wide{grid-template-columns:1fr;}
  .prod-card-wide > div:first-child{height:200px;}
}
.prod-split{flex:1; display:flex; justify-content:space-between; gap:32px;}
@media (max-width:640px){
  .prod-split{flex-direction:column; gap:16px;}
}

/* ---------- WhatsApp buttons (Contact) ---------- */
.contact-quick{margin-top:22px; padding:34px;}
.contact-quick-intro h3{font-size:19px; font-weight:600; color:var(--navy-950);}
.contact-quick-intro p{font-size:14px; line-height:1.6; color:var(--muted); margin-top:10px; max-width:640px;}
.contact-quick-intro a{font-weight:600;}
.contact-form{margin-top:22px;}
.contact-form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px 16px;}
.contact-field{display:flex; flex-direction:column; gap:7px; min-width:0;}
.contact-field span{font:600 12px/1 'IBM Plex Sans'; color:var(--navy-800);}
.contact-field span em{font-style:normal; font-weight:500; color:var(--muted);}
.contact-field-full{grid-column:1 / -1;}
.contact-field input,
.contact-field select,
.contact-field textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--offwhite);
  padding:12px 14px;
  font:400 14.5px/1.4 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--navy-950);
}
.contact-field select{appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235C6B84' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:40px; cursor:pointer;}
.contact-field textarea{resize:vertical; min-height:120px;}
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus{
  outline:2px solid rgba(221,122,44,.45);
  outline-offset:1px;
  border-color:var(--orange-500);
  background:#fff;
}
.contact-form .btn{margin-top:18px;}
.contact-form-status{margin-top:14px; font-size:14px; line-height:1.5; display:none;}
.contact-form-status.is-visible{display:block;}
.contact-form-status.is-ok{color:#1a7a3a;}
.contact-form-status.is-err{color:#b42318;}
.contact-honey{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
@media (max-width:640px){
  .contact-quick{padding:20px 16px;}
  .contact-form-grid{grid-template-columns:1fr; gap:12px;}
}
.wa-btn{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 20px; border-radius:12px; border:1px solid var(--navy-line); background:rgba(255,255,255,.06);}
.wa-btn:hover{border-color:var(--wa);}
.wa-name{font:600 15px/1 'IBM Plex Sans'; color:#fff;}
.wa-number{font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:rgba(255,255,255,.7); margin-top:6px;}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-950); padding:72px var(--pad-x) 32px;}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1.2fr; gap:48px;}
.footer-col-title{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.1em; color:rgba(255,255,255,.4); text-transform:uppercase;}
.footer-links{display:flex; flex-direction:column; gap:12px; margin-top:18px; font-size:14px; color:rgba(255,255,255,.75);}
.footer-links a{color:rgba(255,255,255,.75);}
.footer-links a:hover{color:#fff;}
.footer-wa-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; margin-top:18px; font-size:13.5px; color:rgba(255,255,255,.75);}
.footer-bottom{max-width:var(--container-max); margin:56px auto 0; padding-top:24px; border-top:1px solid var(--navy-line); display:flex; justify-content:space-between; font-size:12.5px; color:rgba(255,255,255,.4);}
.footer-bottom.tight{margin-top:24px;}
.footer-desc{font-size:13.5px; line-height:1.6; color:rgba(255,255,255,.55); margin-top:20px; max-width:260px;}

@media (max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;}
}
@media (max-width:640px){
  .site-footer{padding:36px var(--pad-x) 22px;}
  .footer-grid{grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px 12px;}
  .footer-grid > :first-child{grid-column:1 / -1;}
  .footer-col-title{font-size:9.5px; letter-spacing:.08em; line-height:1.3;}
  .footer-links{gap:8px; margin-top:10px; font-size:12px;}
  .footer-wa-grid{grid-template-columns:1fr; gap:6px; margin-top:10px; font-size:11px;}
  .footer-bottom{flex-direction:column; gap:8px; margin-top:28px;}
  .footer-desc{max-width:none; margin-top:12px; font-size:12.5px;}
}

/* ---------- utility ---------- */
.flex{display:flex;}
.flex-between{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.flex-end{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.gap-md{gap:14px;}
.text-center{text-align:center;}
.mt-sm{margin-top:8px;}
.mt-md{margin-top:16px;}
.mt-lg{margin-top:32px;}
.note{font-family:'IBM Plex Mono',monospace; font-size:11px; color:rgba(255,255,255,.35);}

/* ---------- final CTA sections ---------- */
.cta-box{max-width:900px; margin:0 auto; text-align:center;}
.cta-box.wide{max-width:1000px;}

/* ---------- mobile harmony: inline-style overrides ---------- */
@media (max-width:640px){
  h1[style*="font-size"],
  h2[style*="font-size"]{
    font-size:clamp(1.35rem, 5.8vw, 1.55rem) !important;
    line-height:1.3 !important;
  }
  .h1[style*="font-size"]{
    font-size:clamp(1.55rem, 7.4vw, 1.8rem) !important;
    line-height:1.28 !important;
  }
  .lead[style*="font-size"]{font-size:13.5px !important;}

  .flex-end{flex-direction:column; align-items:flex-start; gap:12px;}
  .flex-end a{white-space:normal !important;}

  .card > div[style*="padding"]{padding:12px 12px 14px !important;}
  .card[style*="padding"]{padding:16px 14px !important;}

  section[style*="padding"]{
    padding-left:var(--pad-x) !important;
    padding-right:var(--pad-x) !important;
  }

  .footer-bottom[style*="padding"]{
    padding-left:var(--pad-x) !important;
    padding-right:var(--pad-x) !important;
  }

  .prod-card-wide > div:first-child{height:160px;}
  .split > div[style*="height"]{height:200px !important;}
  .split > div[style*="border-radius"] img,
  .hero-grid > div[style*="border-radius"] img{width:100%; height:auto; display:block;}

  .wa-btn{padding:12px 14px; gap:10px;}
  .wa-name{font-size:14px;}
  .wa-number{font-size:11.5px; margin-top:4px;}

  .mt-lg{margin-top:20px;}

  .card-body h3[style*="font-size"]{font-size:13.5px !important; margin-top:6px !important;}
  .card-body p{font-size:11.5px !important; line-height:1.45 !important; margin-top:4px !important;}
  .hero-badge-icon{width:34px; height:34px;}
  .hero-badge > div > div:first-child{font-size:12.5px !important; line-height:1.35 !important;}
  .hero-badge .mono, .hero-badge > div > div:last-child{font-size:11px;}
  .tag{font-size:9.5px; padding:4px 8px;}
  .cols-3 .card h3[style*="font-size"],
  .cols-4 .card h3[style*="font-size"],
  .card-pad-sm h3[style*="font-size"]{font-size:13px !important; line-height:1.25; margin-top:10px !important;}
  .cols-3 .card p,
  .cols-4 .card p,
  .card-pad-sm p{font-size:12px !important; line-height:1.45 !important; margin-top:6px !important;}
  .card-pad h3[style*="font-size"]{font-size:14.5px !important; line-height:1.25;}
  .card-pad p{font-size:12.5px !important; line-height:1.45 !important;}
  .specrow{font-size:12px; padding:7px 0; gap:10px; flex-wrap:wrap;}
  .note{font-size:10.5px; line-height:1.4;}
  .cta-box > p{font-size:13.5px !important; line-height:1.5 !important; margin-top:12px !important;}
  .split > div > p{font-size:13.5px !important; line-height:1.5 !important;}
}

/* ---------- densification mobile — spécificités par page ---------- */
@media (max-width:640px){
  .page-home .lead{font-size:12.5px !important; line-height:1.45;}
  .page-home .afd-block p{font-size:12.5px !important; line-height:1.5 !important;}
  .page-home .afd-lead-wrap:not(:has(.afd-more[open])) .afd-lead{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:1;
    overflow:hidden;
  }
  .page-home .afd-more{display:block;}
  .page-home .audience-grid p{font-size:12.5px !important; line-height:1.4 !important; margin-top:8px !important;}
  .page-home .step-desc{font-size:11.5px !important; line-height:1.35;}
  .page-home .featured-case-body p{font-size:12.5px !important; line-height:1.45 !important;}
  .page-home .card-pad .h3{
    font-size:12px;
    line-height:1.25;
    margin-top:8px !important;
  }
  .page-home .audience-grid .ribbon-orange{
    font-size:18px;
    font-weight:700;
    padding:14px 16px;
    line-height:1.25;
  }
  .page-home .realisations-preview{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:8px;
  }
  .page-home .realisations-preview .card-img{
    max-height:92px;
    aspect-ratio:16/9;
  }
  .page-home .realisations-preview .card-img:has(iframe),
  .page-home .realisations-preview .card-img:has(.yt-facade){
    max-height:none;
    min-height:92px;
  }
  .page-home .solarflow-kpis{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:8px !important;
    margin-top:22px !important;
    padding-top:18px !important;
  }
  .page-home .solarflow-kpis .mono{font-size:18px !important;}
  .page-home .solarflow-kpis .kpi-num{color:var(--orange-500) !important;}
  .page-home .solarflow-kpis > div > div:last-child{
    font-size:10px !important;
    line-height:1.3 !important;
    margin-top:4px !important;
  }

  .page-particuliers .flex-between{align-items:flex-start; gap:10px;}
  .page-particuliers .flex-between > a{
    white-space:normal !important;
    font-size:13px !important;
    width:100%;
  }
  .page-particuliers .equipements-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:10px;
    margin-top:20px !important;
  }
  .page-particuliers .container.flex-between > .btn{
    width:100%;
    justify-content:center;
    min-height:46px;
  }

  .page-entreprises .cols-2.dense{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:10px;
  }
  .page-entreprises .cols-2.dense .card-pad{
    flex-direction:column;
    gap:10px !important;
  }
  .page-entreprises .cols-4 .card-img{height:88px !important; max-height:88px;}

  .page-installateurs .split > div > div[style*="flex-direction"]{gap:14px !important; margin-top:18px !important;}
  .page-installateurs .hero-grid > div:last-child img{width:100%; height:auto; display:block;}

  .page-audit .audit-terrain{padding-bottom:36px !important;}
  .page-audit .cols-3.grid{margin-top:0;}

  .page-produits .card-pad{
    padding:16px 14px;
  }
  .page-produits .prod-card.card-pad{padding:12px 12px 10px;}
  .page-produits .card-pad h3[style*="font-size"]{font-size:15.5px !important;}
  .page-produits .prod-card-wide > div[style*="padding"]{padding:18px 16px !important;}
  .page-produits h2[style*="font-size"] + span{font-size:12.5px !important;}
  .page-produits .grid.cols-2.dense.prod-grid,
  .page-produits .prod-grid{grid-template-columns:repeat(2, minmax(0,1fr));}

  .page-solarflow .hero-badge{margin-top:16px !important;}
  .page-solarflow .split .grid.cols-2{grid-template-columns:1fr; gap:8px !important;}

  .page-contact .cols-2.dense .btn{min-height:46px; font-size:13.5px;}
  .page-contact .cols-3{grid-template-columns:repeat(2, minmax(0,1fr));}
}

/* ---------- logos / testimonials / featured case / mobile CTA ---------- */
.logo-marquee{
  margin-top:28px; background:#fff; border-radius:16px; padding:14px 0;
  border:1px solid var(--navy-line); overflow:hidden;
  -ms-overflow-style:none; scrollbar-width:none;
}
.logo-marquee::-webkit-scrollbar{display:none; width:0; height:0;}
.logo-marquee-track{
  display:flex; width:max-content; align-items:center; gap:8px;
  animation:logo-scroll 32s linear infinite;
  will-change:transform;
  pointer-events:none;
}
@media (hover:hover) and (pointer:fine){
  .logo-marquee:hover .logo-marquee-track{animation-play-state:paused; pointer-events:auto;}
}
.logo-cell{
  flex:0 0 190px; height:76px;
  background-image:url(../images/partenaires-logos.png);
  background-repeat:no-repeat;
  background-size:400% 300%;
  background-position:calc(var(--lx) * 33.333%) calc(var(--ly) * 50%);
}
@keyframes logo-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
.quotes-marquee{
  margin-top:36px;
  overflow:hidden;
  mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.quotes-marquee-track{
  display:flex;
  gap:16px;
  width:max-content;
  animation:quotes-scroll 36s linear infinite;
}
.quote-clone{display:block;}
.quote-card{
  background:rgba(255,255,255,.78);
  backdrop-filter:saturate(1.15) blur(14px);
  -webkit-backdrop-filter:saturate(1.15) blur(14px);
  border:1px solid rgba(255,255,255,.4);
  border-radius:16px;
  padding:20px 18px;
  width:min(300px, 78vw);
  flex:0 0 auto;
}
.quote-card p{font-size:14px; line-height:1.55; color:var(--navy-950);}
.quote-card footer{margin-top:14px; font-size:12.5px; line-height:1.45; color:var(--muted);}
.quote-card footer strong{display:block; color:var(--navy-950); font-weight:600;}
@keyframes quotes-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media (prefers-reduced-motion:reduce){
  .quotes-marquee-track{animation:none !important;}
}
.page-realisations .card{
  overflow:hidden;
  min-width:0;
  display:flex;
  flex-direction:column;
}
.page-realisations .card-img,
.page-realisations .cols-3 .card-img,
.page-realisations .cols-3 .card-img:has(iframe),
.page-realisations .cols-3 .card-img:has(.yt-facade){
  width:100%;
  max-width:100%;
  aspect-ratio:16/9;
  height:auto;
  max-height:none;
  min-height:0;
  overflow:hidden;
  flex-shrink:0;
}
.page-realisations .card-img > img,
.page-realisations .card-img > .yt-facade{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:cover;
  display:block;
}
.page-realisations .card-img .yt-facade-poster{
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:cover;
}
.page-realisations .cols-3{
  align-items:stretch;
}
.page-realisations .featured-case{
  min-width:0;
}
.page-realisations .featured-case-media{
  min-width:0;
  overflow:hidden;
}
.proj-more{margin-top:6px;}
.proj-more summary{
  cursor:pointer;
  list-style:none;
  font:600 12.5px/1 'IBM Plex Sans';
  color:var(--orange-600);
  padding:8px 0 2px;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.proj-more summary::-webkit-details-marker{display:none;}
.proj-more summary::after{content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-top:-3px;}
.proj-more[open] summary::after{transform:rotate(-135deg); margin-top:2px;}
.proj-more .proj-more-open{display:none;}
.proj-more[open] .proj-more-closed{display:none;}
.proj-more[open] .proj-more-open{display:inline;}
.proj-more .proj-more-body{margin-top:8px;}
.featured-case .proj-more summary{color:var(--orange-600);}
.kpi-num{color:var(--orange-500) !important;}
.stat-num.kpi-num{color:var(--orange-500) !important;}
.afd-block-media{border-radius:16px; overflow:hidden; border:1px solid var(--navy-line); background:#111;}
.afd-block-media img{width:100%; height:100%; object-fit:cover; min-height:220px; display:block;}
.afd-lead{font-size:15.5px; line-height:1.65; color:rgba(255,255,255,.7); margin-top:16px; max-width:540px;}
.afd-more{display:none;}
.afd-more summary{
  cursor:pointer;
  list-style:none;
  font:600 12.5px/1 'IBM Plex Sans';
  color:var(--orange-500);
  padding:6px 0 2px;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.afd-more summary::-webkit-details-marker{display:none;}
.afd-more summary::after{content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-top:-3px;}
.afd-more[open] summary::after{transform:rotate(-135deg); margin-top:2px;}
.afd-more .afd-more-open{display:none;}
.afd-more[open] .afd-more-closed{display:none;}
.afd-more[open] .afd-more-open{display:inline;}
.featured-case{
  display:grid; grid-template-columns:1.05fr .95fr; gap:36px; align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; margin-top:36px;
}
.featured-case-media{position:relative; min-height:280px; background:#111;}
.featured-case-media .yt-facade,
.featured-case-media .card-video,
.featured-case-media iframe{position:absolute; inset:0; width:100%; height:100%;}
.featured-case-body{padding:36px 40px 40px;}
.featured-case-body h3{font-size:26px; font-weight:600; color:var(--navy-950); margin-top:12px;}
.featured-case-metrics{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
.featured-case-metrics span{
  font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--navy-800);
  background:var(--offwhite); padding:7px 12px; border-radius:20px;
}
.featured-case blockquote{
  margin:22px 0 0; padding:0; font-size:15.5px; line-height:1.6; color:var(--navy-950);
  border-left:3px solid var(--orange-500); padding-left:16px;
}
.featured-case cite{display:block; margin-top:10px; font-style:normal; font-size:13px; color:var(--muted);}
.mobile-cta{display:none;}

@media (max-width:980px){
  .quotes-marquee{margin-top:22px;}
  .quotes-marquee-track{gap:12px; animation-duration:28s;}
  .quote-card{padding:16px 14px; width:min(280px, 78vw);}
  .quote-card p{font-size:13.5px; line-height:1.45;}
  .quote-card footer{margin-top:10px; font-size:12px; line-height:1.4;}
  .quote-card footer strong{font-size:12.5px;}
  .page-home .audience-grid{grid-template-columns:1fr; max-width:720px;}
  .page-home .audience-grid .card-img:has(iframe),
  .page-home .audience-grid .card-img:has(.yt-facade){min-height:200px;}
  .featured-case{grid-template-columns:1fr;}
  .featured-case-media{min-height:220px; aspect-ratio:16/9;}
  .featured-case-body{padding:22px 20px 26px;}
  .logo-marquee{padding:8px 0; margin-top:16px;}
  .logo-cell{flex-basis:132px; height:52px;}
  .logo-marquee-track{animation-duration:24s; gap:4px;}
  body:has(.mobile-cta){padding-bottom:calc(72px + env(safe-area-inset-bottom));}
  .mobile-cta{
    display:flex; position:fixed; left:0; right:0; bottom:0; z-index:45;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));
    background:rgba(10,25,48,.94); backdrop-filter:blur(12px);
    border-top:1px solid var(--navy-line);
  }
  .mobile-cta .btn{width:100%; justify-content:center; min-height:48px;}
  .site-footer{padding-bottom:28px;}
}

/* ---------- mobile intro splash ---------- */
.mv-splash{display:none;}
html.splash-on{background:var(--navy-950);}
html.splash-on body{overflow:hidden;}
@media (max-width:980px){
  html.splash-on .mv-splash{
    display:flex;
    position:fixed; inset:0; z-index:200;
    align-items:center; justify-content:center;
    padding:28px 32px calc(28px + env(safe-area-inset-bottom));
    background:
      radial-gradient(ellipse 80% 55% at 50% 40%, rgba(221,122,44,.14), transparent 64%),
      var(--navy-950);
    color:#fff;
  }
  html.splash-on .mv-splash.is-out{
    opacity:0;
    transition:opacity .5s ease;
    pointer-events:none;
  }
  .mv-splash-inner{text-align:center; max-width:320px;}
  .mv-splash-logo{
    height:34px; width:auto; margin:0 auto;
    opacity:0; transform:translateY(8px);
    animation:mvSplashIn .8s ease .1s forwards;
  }
  .mv-splash-slogan{
    margin-top:26px;
    font-family:'Space Grotesk',system-ui,sans-serif;
    font-weight:500;
    font-size:11.5px;
    line-height:1.7;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:rgba(255,255,255,.72);
  }
  .mv-splash-slogan span{
    display:inline;
    opacity:0;
    animation:mvSplashIn .7s ease forwards;
  }
  .mv-splash-slogan span:nth-child(1){animation-delay:.35s;}
  .mv-splash-slogan span:nth-child(2){animation-delay:.5s;}
  .mv-splash-slogan span:nth-child(3){animation-delay:.65s;}
  .mv-splash-slogan span:nth-child(4){animation-delay:.8s;}
  .mv-splash-bar{
    width:72px; height:1px; margin:28px auto 0;
    background:rgba(255,255,255,.12);
    overflow:hidden;
  }
  .mv-splash-bar::after{
    content:""; display:block; height:100%; width:100%;
    background:var(--orange-500);
    transform:scaleX(0); transform-origin:left;
    animation:mvSplashBar 1.7s ease .45s forwards;
  }
}
@keyframes mvSplashIn{
  from{opacity:0; transform:translateY(8px);}
  to{opacity:1; transform:translateY(0);}
}
@keyframes mvSplashBar{
  to{transform:scaleX(1);}
}
@media (max-width:980px) and (prefers-reduced-motion:reduce){
  .mv-splash-logo, .mv-splash-slogan span{
    animation:none; opacity:1; transform:none;
  }
  .mv-splash-bar::after{animation:none; transform:scaleX(1);}
  html.splash-on .mv-splash.is-out{transition:none;}
}

/* ---------- Audit énergétique ---------- */
.audit-credit{
  display:inline-block; margin-top:22px; max-width:520px;
  background:rgba(221,122,44,.16); border:1px solid rgba(221,122,44,.4);
  color:#fff; font:600 13px/1.45 'IBM Plex Sans';
  padding:11px 14px; border-radius:8px;
}
.audit-referential{
  background:
    radial-gradient(ellipse 80% 70% at 12% 0%, rgba(221,122,44,.22), transparent 55%),
    linear-gradient(165deg, #1c3c64 0%, var(--navy-900) 55%, var(--navy-950) 100%);
  border:1px solid rgba(221,122,44,.5);
  border-radius:18px;
  padding:40px 44px 36px;
  box-shadow:0 20px 50px rgba(0,0,0,.28);
}
.audit-referential .eyebrow{color:var(--orange-500);}
.audit-referential h2{color:#fff; font-size:clamp(1.45rem, 3.2vw, 1.85rem); line-height:1.28; margin-top:12px; max-width:18em;}
.audit-referential > p{font-size:16px; line-height:1.6; color:rgba(255,255,255,.82); margin-top:16px; max-width:640px;}
.audit-referential-points{
  display:grid; grid-template-columns:1fr 1fr; gap:12px 28px; margin-top:26px;
}
.audit-referential-points li{
  position:relative; padding-left:16px;
  font-size:14.5px; line-height:1.5; color:rgba(255,255,255,.88);
}
.audit-referential-points li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:7px; height:7px; border-radius:50%; background:var(--orange-500);
}
.audit-referential-note{
  margin-top:24px; padding-top:20px;
  border-top:1px solid rgba(255,255,255,.14);
  font-size:14.5px; line-height:1.55; color:#fff; font-weight:500;
}
.audit-level-num{
  font-family:'IBM Plex Mono',monospace; font-size:12px; font-weight:600;
  letter-spacing:.12em; color:var(--orange-500);
}
.audit-level h3{font-size:17px; font-weight:600; color:var(--navy-950); margin-top:8px;}
.audit-level > p{font-size:14px; line-height:1.55; color:var(--muted); margin-top:8px;}
.audit-deliverables{
  margin-top:16px; padding-top:14px; border-top:1px solid var(--line);
}
.audit-deliverables dt{
  font:600 11px/1.3 'IBM Plex Mono',monospace; letter-spacing:.1em;
  text-transform:uppercase; color:var(--orange-600); margin-bottom:8px;
}
.audit-deliverables li{
  position:relative; padding-left:14px; margin-top:6px;
  font-size:13px; line-height:1.45; color:var(--muted);
}
.audit-deliverables li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:6px; height:6px; border-radius:50%; background:var(--orange-500);
}
.audit-field-list{margin-top:18px;}
.audit-field-list li{margin-top:14px;}
.audit-field-list strong{display:block; font-size:14.5px; font-weight:600; color:#fff; margin-bottom:4px;}
.audit-field-list span{display:block; font-size:13.5px; line-height:1.5; color:rgba(255,255,255,.62);}
.audit-level .mono{font-size:11.5px; color:var(--muted-2); margin-top:10px; text-transform:uppercase;}
@media (max-width:760px){
  .audit-referential{padding:26px 20px 24px;}
  .audit-referential-points{grid-template-columns:1fr; gap:10px;}
}
