/* ==========================================================================
   Agence B-LIGHT — Solaire autonome (Novéa Énergies · Eco-Innov · Méthode 4S)
   Charge après css/site.css. Charte claire avec une dominante vert prairie
   (#6B9A2E) ; la section Méthode 4S reprend les tokens marine/anis du site.
   ========================================================================== */

:root{
  --cta-bg:linear-gradient(160deg,#547924,#3f5c1c);
  --cta-glow:rgba(255,224,138,.35);
  --cta-eyebrow:#e9f0d6;
  --card-shadow:var(--sol-shadow);

  --subnav-bg:rgba(244,243,234,.92);

  /* lot 3 : bandeau chiffres (.stats de site.css) */
  --stat-label:var(--sol-muted);
  --accent:var(--sol);
  --accent-ink:#fff;
  --accent-hover:var(--sol-hover);
  --accent-text:var(--sol-text-accent);
  --btn-shadow:0 12px 26px -10px rgba(84,121,36,.55);

  --focus-ring:var(--sol-text-accent);
  --focus-ring-dark:#fff;

  /* surcharges de la couche commune */
  --bg:#F4F3EA;
  --ink:#26331F;
  --line:#E2E2D2;

  /* palette propre à la page */
  --sol:#547924;            /* vert prairie : CTA, pills, accents — lot 2 : #6B9A2E → #547924, blanc à 4.6:1 sur les boutons */
  --sol-hover:#466619;      /* lot 2 : assombri avec --sol */
  --sol-deep:#3f5c1c;       /* valeurs techniques, texte sur blanc */
  --sol-lime:#A5C23D;
  --sol-lime-2:#C3D86E;
  --sol-text-2:#5b6a4d;     /* paragraphes */
  --sol-text-3:#56624a;     /* descriptions cartes */
  --sol-text-accent:#547924; /* lot 1 : vert texte (nav active, kickers) à 4.5:1 sur --bg et blanc */
  --sol-muted:#6a725e;      /* lot 1 : #8a937c → #6a725e (4.5:1 sur --bg) */      /* surtitres, labels */
  --sol-muted-2:#70795e;    /* lot 1 : #9aa388 → #70795e (4.5:1 sur blanc) */
  --sol-chip-bg:#f1f4e6;
  --sol-chip-line:#dde4cb;
  --sol-panel-line:#d8e0c4;
  --sol-card-line:#e2e6d4;
  --sol-sep:#ececde;
  --sol-shadow:0 1px 2px rgba(38,51,31,.04);
  --sol-shadow-lg:0 18px 40px -26px rgba(38,51,31,.4);
  --sol-navy-grad:linear-gradient(160deg,#2E4259,#1c2a3a);

  /* Méthode 4S (tokens du site) */
  --m4s-navy:#2F3F5A;
  --m4s-green:#7E9A24;
  --m4s-green-hover:#6c8520;
  --m4s-green-text:#5c7018; /* lot 1/2 : texte vert à 4.5:1 sur blanc et sur --bg (kickers) */
  --m4s-text:#5A6472;
  --m4s-muted:#6B7383;
  --m4s-line:#E4E4DC;
  --m4s-lime:#C6D98A;
}

::selection{background:var(--sol-lime);color:#1f2a0c}

/* --------------------------------------------------------------------------
   Animations
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   Header / footer — surcharges de charte
   -------------------------------------------------------------------------- */
.site-header{background:rgba(244,243,234,.86)}
.site-nav a{color:#46543a}

.site-footer{background:#2E4259;color:rgba(255,255,255,.66)}

/* --------------------------------------------------------------------------
   Boutons propres à la page
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   En-têtes de section (variantes de la page)
   -------------------------------------------------------------------------- */
.head__eyebrow--green{color:var(--sol-hover);margin-bottom:12px}
.head__title--spaced{margin-bottom:14px}
.head__title--md{font-size:clamp(28px,3.6vw,42px)}
.head__title--sm{font-size:clamp(26px,3.4vw,40px)}
.head__title--xs{font-size:clamp(26px,3.2vw,38px)}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.hero{position:relative;overflow:hidden;min-height:660px;display:flex;align-items:flex-end;background:#101a10}
.hero__media{position:absolute;inset:0}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;opacity:0;transition:opacity 1.1s ease}
.hero__img.is-on{opacity:1}
.hero__img--jour{object-position:center 40%}
.hero__toggle{position:relative;z-index:5;display:inline-flex;gap:4px;margin-top:26px;padding:4px;border-radius:var(--r-pill);background:rgba(12,20,12,.45);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hero__tbtn{
  border:0;border-radius:var(--r-pill);padding:8px 16px;font-family:var(--mono);font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.8);background:transparent;cursor:pointer;transition:background .2s,color .2s;display:inline-flex;align-items:center;gap:6px;
}
.hero__tbtn:hover{color:#fff}
.hero__tbtn.is-active{background:var(--sol-lime);color:#1f2a0c;font-weight:600}
@media (prefers-reduced-motion:reduce){.hero__img{transition:none}}
.hero__veil,.hero__veil-h{position:absolute;inset:0;pointer-events:none}
.hero__veil{background:linear-gradient(180deg,rgba(8,14,24,.5) 0%,rgba(8,14,24,.16) 26%,rgba(8,14,24,.55) 62%,rgba(8,14,24,.88) 100%)}
.hero__veil-h{background:linear-gradient(100deg,rgba(8,14,24,.78) 0%,rgba(8,14,24,.34) 44%,rgba(8,14,24,0) 72%)}
.hero__content{position:relative;z-index:5;width:100%;padding-top:120px;padding-bottom:64px}
.hero__badge{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:var(--fs-12);letter-spacing:.2em;color:var(--sol-lime-2);
  border:1px solid rgba(195,216,110,.45);border-radius:var(--r-pill);padding:8px 18px;margin-bottom:24px;
  background:rgba(12,20,12,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}
.hero__badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sol-lime);flex:none}
.hero__title{
  font-family:var(--display);font-weight:900;font-size:clamp(38px,6.4vw,84px);line-height:1;
  letter-spacing:-.03em;margin-bottom:20px;text-transform:uppercase;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.4);
}
.hero__title em{font-style:normal;color:var(--sol-lime)}
.hero__lead{max-width:54ch;font-size:var(--fs-18);line-height:1.6;color:rgba(255,255,255,.82);text-shadow:0 1px 12px rgba(0,0,0,.5)}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}

/* --------------------------------------------------------------------------
   Deux signatures — Novéa / Eco-Innov
   -------------------------------------------------------------------------- */
.marques__inner{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.marques__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.brand-card{
  position:relative;border-radius:var(--r-card);overflow:hidden;border:1px solid var(--line);background:#fff;
  box-shadow:var(--shadow-panel);
}
.brand-card__head{position:relative;height:150px;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;background:var(--sol-navy-grad)}
.brand-card__glow{position:absolute;inset:0;background:radial-gradient(70% 80% at 50% 0%,rgba(165,194,61,.22),transparent 62%)}
.brand-card__head .made-fr{position:relative}
.brand-card__logo{position:relative;max-height:84px;max-width:76%;object-fit:contain}
.brand-card__body{padding:28px 30px 30px}
.brand-card__pills{display:flex;align-items:center;gap:8px;justify-content:center;margin-bottom:14px;flex-wrap:wrap}
.brand-card__role{font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.08em;color:#fff;background:var(--sol);padding:4px 12px;border-radius:var(--r-pill);font-weight:600}
.brand-card__origin{font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.06em;color:#6b7560;border:1px solid #d6dcc6;padding:4px 12px;border-radius:var(--r-pill)}
.brand-card__desc{text-align:center;font-size:var(--fs-15);line-height:1.65;color:var(--sol-text-3);margin:0 auto 24px;max-width:42ch}
.brand-card__tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.tag{font-family:var(--mono);font-size:var(--fs-11);color:#5c6b46;background:var(--sol-chip-bg);border:1px solid var(--sol-chip-line);padding:6px 12px;border-radius:var(--r-tag)}

/* --------------------------------------------------------------------------
   Le solaire en plein jour — bande photos Novéa (scroll-snap)
   -------------------------------------------------------------------------- */
.jour{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.jour__inner{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.jour__track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:6px 0 10px;margin-top:-6px}
.jour__track::-webkit-scrollbar{display:none}
.jour__track:focus-visible{outline:3px solid var(--sol-text-accent);outline-offset:4px;border-radius:8px}
.jour__item{flex:0 0 calc((100% - 2*18px)/3.15);scroll-snap-align:start;margin:0;display:flex;flex-direction:column;gap:10px}
.jour__link{display:block;border-radius:var(--r-card-sm);overflow:hidden;border:1px solid var(--line);background:#e9ebe0;box-shadow:var(--sol-shadow);aspect-ratio:4/5;transition:transform .3s,box-shadow .3s}
.jour__link:hover{transform:translateY(-4px);box-shadow:var(--sol-shadow-lg)}
.jour__img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.jour__cap{font-family:var(--mono);font-size:var(--fs-12);color:var(--sol-muted);line-height:1.4}
.jour__cap b{color:var(--ink);font-weight:600}
.jour__nav{display:flex;align-items:center;gap:12px;margin-top:18px}
.jour__progress{flex:1;height:3px;border-radius:var(--r-pill);background:var(--line);overflow:hidden}
.jour__progress-bar{display:block;height:100%;width:30%;background:var(--sol-lime);border-radius:var(--r-pill);transition:width .25s}
.jour__arrow{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--fs-18);line-height:1;padding:0;transition:background .2s,border-color .2s}
.jour__arrow:hover{border-color:var(--sol-lime);background:var(--sol-chip-bg)}
.jour__arrow:disabled{opacity:.35;cursor:default}
.photo-credit{margin-top:14px;font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.06em;color:var(--sol-muted-2)}

/* --------------------------------------------------------------------------
   Focus Novéa — gamme Combi Top
   -------------------------------------------------------------------------- */
.novea__inner{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.novea__panel{
  position:relative;border-radius:var(--r-card);overflow:hidden;margin-bottom:16px;min-height:300px;
  border:1px solid var(--line);box-shadow:var(--sol-shadow-lg);
}
.novea__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.novea__veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,22,12,.82),rgba(15,22,12,.05) 60%)}
.novea__caption{position:absolute;left:0;right:0;bottom:0;padding:24px 28px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.novea__claim{font-family:var(--display);font-weight:800;font-size:clamp(18px,2vw,24px);color:#fff;letter-spacing:-.01em;max-width:30ch;line-height:1.2}
.novea__pill{font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.08em;color:#1f2a0c;background:var(--sol-lime);padding:8px 14px;border-radius:var(--r-pill);font-weight:600;white-space:nowrap}

.gamme{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gamme-card{
  border-radius:var(--r-card-sm);border:1px solid var(--line);background:#fff;overflow:hidden;
  box-shadow:0 1px 2px rgba(38,51,31,.04),0 18px 36px -28px rgba(38,51,31,.3);
}
.gamme-card__pack{height:170px;padding:14px 18px 6px;background:linear-gradient(180deg,#fff,#f1f3ea);display:flex;align-items:flex-end;justify-content:center}
.gamme-card__pack img{max-height:100%;max-width:70%;width:auto;height:auto;object-fit:contain}
.gamme-card__seen{margin-top:12px;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--sol-text-2);font-size:var(--fs-12);line-height:1.3;border-top:1px solid var(--sol-sep);padding-top:12px}
.gamme-card__seen img{width:52px;height:52px;border-radius:var(--r-tag);object-fit:cover;flex:none;border:1px solid var(--line)}
.gamme-card__seen em{display:block;font-style:normal;font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.08em;text-transform:uppercase;color:var(--sol-text-accent);margin-bottom:2px}
.gamme-card__seen:hover em{text-decoration:underline}
.gamme-card__head{background:var(--sol-navy-grad);padding:16px 18px;display:flex;align-items:center;justify-content:space-between}
.gamme-card__ref{font-family:var(--display);font-weight:900;font-size:var(--fs-16);color:#fff;letter-spacing:.02em}
.gamme-card__feu{font-family:var(--mono);font-size:var(--fs-11);color:var(--sol-lime);letter-spacing:.05em}
.gamme-card__body{padding:16px 18px 20px}
.gamme-card__title{font-family:var(--display);font-weight:700;font-size:var(--fs-16);color:var(--ink);margin-bottom:12px;letter-spacing:-.01em}
.gamme-card__specs{display:flex;flex-direction:column;gap:8px;margin:0}
.gamme-card__row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.gamme-card__row dt{font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.04em;color:var(--sol-muted-2);text-transform:uppercase}
.gamme-card__row dd{margin:0;font-family:var(--display);font-weight:700;font-size:var(--fs-13);color:var(--sol-deep);text-align:right}
.gamme-card__use{margin-top:12px;border-top:1px solid var(--sol-sep);padding-top:12px;font-size:var(--fs-12);color:var(--sol-text-2);line-height:1.45}

.plus{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.plus-card{border-radius:var(--r-card-sm);border:1px solid var(--line);background:#fff;padding:24px 24px 24px;box-shadow:var(--sol-shadow)}
.plus-card__head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.plus-card__dot{width:9px;height:9px;border-radius:50%;background:var(--sol);box-shadow:0 0 10px 1px rgba(107,154,46,.4);flex:none}
.plus-card__title{font-family:var(--display);font-weight:700;font-size:var(--fs-16);color:var(--ink);letter-spacing:-.01em}
.plus-card__text{font-size:var(--fs-14);line-height:1.6;color:var(--sol-text-3)}
.plus-card__chip{display:inline-block;margin-top:12px;text-decoration:none}
.plus-card__chip:hover{border-color:var(--sol);color:var(--sol)}

/* --------------------------------------------------------------------------
   Méthode 4S
   -------------------------------------------------------------------------- */
.m4s{color:var(--m4s-navy)}
.m4s__inner{padding-top:var(--section-y);padding-bottom:var(--section-y);display:flex;flex-direction:column;gap:60px}

.m4s__intro{display:flex;align-items:flex-start;gap:clamp(20px,3vw,32px);flex-wrap:wrap}
.m4s__logo{width:clamp(220px,26vw,300px);flex:none;aspect-ratio:1}
.m4s__logo--static{background:url("../logos/methode-4s-principal.svg") center/contain no-repeat}
.m4s__intro-text{display:flex;flex-direction:column;gap:18px;max-width:68ch;min-width:280px;flex:1}
.m4s__kicker{font-family:var(--mono);font-size:var(--fs-12);font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--m4s-green-text)}
.m4s__title{font-family:var(--display);font-weight:800;font-size:clamp(28px,4vw,46px);line-height:1.04;letter-spacing:-.025em;color:var(--m4s-navy);text-wrap:pretty}
.m4s__lead{font-size:clamp(16px,1.5vw,18px);line-height:1.6;color:var(--m4s-text);max-width:62ch;text-wrap:pretty}

.m4s__figures{display:flex;flex-direction:column;gap:18px}
.band{background:var(--m4s-navy);border-radius:var(--r-card);padding:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}
.band__cell{padding:30px 28px;display:flex;flex-direction:column;gap:8px}
.band__cell+.band__cell{box-shadow:-1px 0 0 rgba(255,255,255,.13)}
.band__value{font-family:var(--display);font-weight:800;font-size:clamp(34px,4vw,46px);line-height:1;letter-spacing:-.03em;color:var(--m4s-lime)}
.band__label{font-size:var(--fs-15);line-height:1.45;color:rgba(255,255,255,.72);max-width:26ch}
.m4s__quote{
  margin:6px auto 0;font-family:var(--display);font-weight:700;font-style:italic;
  font-size:clamp(19px,2.2vw,26px);line-height:1.35;letter-spacing:-.015em;color:var(--m4s-navy);
  max-width:58ch;text-wrap:pretty;text-align:center;
}

.m4s__block{display:flex;flex-direction:column;gap:24px}
.m4s__block-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--m4s-line)}
.m4s__block-kicker{font-family:var(--mono);font-size:var(--fs-11);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--m4s-green-text)}
.m4s__block-sub{font-size:var(--fs-15);color:var(--m4s-muted)}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:24px;align-items:stretch}
.step{display:flex;flex-direction:column;border:1px solid var(--m4s-line);border-radius:var(--r-card);overflow:hidden;background:#fff;scroll-margin-top:88px}
.step__media{position:relative;aspect-ratio:16/10;background:#ECECE2;min-width:0}
.step__media--contain{background:#fff}
.step__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.step__img--contain{object-fit:contain}
.step__body{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;justify-content:flex-start;gap:12px;min-width:0;flex:1}
.step__head{display:flex;align-items:center;gap:12px}
.step__num{
  width:28px;height:28px;border-radius:50%;flex:none;background:var(--m4s-green);color:#fff;
  font-family:var(--display);font-weight:900;font-size:var(--fs-14);display:flex;align-items:center;justify-content:center;
}
.step__title{font-family:var(--display);font-weight:800;font-size:clamp(19px,2vw,23px);line-height:1.1;letter-spacing:.03em;text-transform:uppercase;color:var(--m4s-navy)}
.step__text{font-size:var(--fs-16);line-height:1.6;color:var(--m4s-text);max-width:46ch;text-wrap:pretty}
.verdicts{display:flex;gap:8px;flex-wrap:wrap;margin-top:3px}
.verdict{font-family:var(--mono);font-size:var(--fs-11);font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r-pill);padding:4px 12px;border:1px solid transparent}
.verdict--ok{color:#4a6b13;background:#EAF0D6;border-color:#CFDFA4}
.verdict--warn{color:#8a6410;background:#FBF1DC;border-color:#EBD5A4}
.verdict--ko{color:#8d3b32;background:#FAE7E4;border-color:#EEC3BC}

.args{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;align-items:stretch}
.arg{border:1px solid var(--m4s-line);border-radius:var(--r-card);background:#fff;padding:clamp(24px,2.8vw,32px);display:flex;flex-direction:column;gap:12px;min-width:0}
.arg__stamp{width:68px;height:68px;align-self:flex-start;transform:rotate(-6deg);margin:-4px 0 2px -4px}
.arg__title{font-family:var(--display);font-weight:800;font-size:clamp(19px,2vw,22px);line-height:1.15;letter-spacing:-.018em;color:var(--m4s-navy)}
.arg__text{font-size:var(--fs-16);line-height:1.6;color:var(--m4s-text);text-wrap:pretty}

.m4s-cta{
  background:var(--m4s-navy);border-radius:var(--r-card);padding:clamp(32px,4vw,52px);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(24px,3vw,48px);align-items:center;
}
.m4s-cta__text{display:flex;flex-direction:column;gap:12px;min-width:0}
.m4s-cta__logo{width:78px;height:78px;align-self:flex-start;margin-bottom:2px}
.m4s-cta__title{font-family:var(--display);font-weight:800;font-size:clamp(24px,2.9vw,34px);line-height:1.1;letter-spacing:-.022em;color:#fff;text-wrap:pretty}
.m4s-cta__lead{font-size:var(--fs-16);line-height:1.6;color:rgba(255,255,255,.74);max-width:44ch;text-wrap:pretty}
.m4s-cta__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;min-width:0}

/* --------------------------------------------------------------------------
   Encarts dégradés (Eco-Innov, Technique)
   -------------------------------------------------------------------------- */
.panel{
  position:relative;border-radius:var(--r-panel);overflow:hidden;border:1px solid var(--sol-panel-line);
  background:linear-gradient(160deg,#eef3e2,#f6f7ee);
}
.panel--eco{padding:44px 40px}
.panel--tech{padding:48px 40px}
.panel__sun{
  position:absolute;top:-40px;right:-30px;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,#FFE08A,transparent 68%);opacity:.5;pointer-events:none;
}
.panel__sun--strong{opacity:.6}
.panel__content{position:relative}

/* --------------------------------------------------------------------------
   Focus Eco-Innov
   -------------------------------------------------------------------------- */
.eco__inner{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.techs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tech-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-card-sm);border:1px solid var(--sol-card-line);overflow:hidden;box-shadow:var(--sol-shadow)}
.tech-card__media{position:relative;height:128px;background:#e9ebe0}
.tech-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tech-card__kind{
  position:absolute;top:12px;left:12px;font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.08em;color:#fff;
  background:rgba(38,51,31,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:4px 10px;border-radius:var(--r-pill);font-weight:600;
}
.tech-card__body{padding:18px 20px 24px;display:flex;flex-direction:column;flex:1}
.tech-card__meta{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.tech-card__num{
  width:30px;height:30px;border-radius:var(--r-tag);background:var(--sol-chip-bg);border:1px solid var(--sol-chip-line);
  display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:var(--fs-12);font-weight:600;color:var(--sol);flex:none;
}
.tech-card__label{font-family:var(--display);font-weight:700;font-size:var(--fs-11);letter-spacing:.04em;color:var(--sol-muted-2);text-transform:uppercase}
.tech-card__title{font-family:var(--display);font-weight:700;font-size:var(--fs-16);color:var(--ink);margin-bottom:8px;letter-spacing:-.01em}
.tech-card__text{margin:0 0 14px;font-size:var(--fs-13);line-height:1.55;color:var(--sol-text-3);flex:1}
.tech-card__ref{font-family:var(--mono);font-size:var(--fs-11);color:var(--sol-hover);letter-spacing:.03em;background:var(--sol-chip-bg);display:inline-block;align-self:flex-start;padding:6px 12px;border-radius:var(--r-tag)}
.certs{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.cert{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:var(--fs-12);color:var(--sol-deep);background:#fff;border:1px solid var(--sol-chip-line);padding:8px 14px;border-radius:var(--r-pill)}
.cert::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sol);flex:none}

/* --------------------------------------------------------------------------
   Univers — nos solutions solaires
   -------------------------------------------------------------------------- */
.univers__inner{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.univers__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tile{
  position:relative;display:flex;flex-direction:column;border-radius:var(--r-card-sm);overflow:hidden;border:1px solid var(--line);
  background:#fff;box-shadow:var(--sol-shadow);transition:transform .3s,border-color .3s,box-shadow .3s;
}
.tile:hover{transform:translateY(-5px);border-color:var(--sol-lime);box-shadow:0 20px 40px -22px rgba(38,51,31,.28)}
.tile__head{position:relative;height:104px;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 50% 10%,var(--tile-a),var(--tile-b))}
.tile--01{--tile-a:#b7cf5e;--tile-b:#86a32f}
.tile--02{--tile-a:#9cc04e;--tile-b:#6f9128}
.tile--03{--tile-a:#a7c95a;--tile-b:#7aa12c}
.tile--04{--tile-a:#8fb84a;--tile-b:#5f8423}
.tile--05{--tile-a:#bcd06a;--tile-b:#8aa835}
.tile--06{--tile-a:#c9b94e;--tile-b:#9a8a2b}
.tile__head--photo{height:150px;padding:0;overflow:hidden;background:#e9ebe0}
.tile__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.tile__code{position:absolute;top:11px;left:13px;font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.06em;color:#fff;background:rgba(38,51,31,.35);padding:4px 8px;border-radius:var(--r-tag)}
.tile__icon{font-size:var(--fs-40);line-height:1}
.tile__body{padding:18px 20px 20px}
.tile__title{font-family:var(--display);font-weight:700;font-size:var(--fs-18);color:var(--ink);letter-spacing:-.01em}
.tile__desc{font-size:var(--fs-13);color:var(--sol-text-2);margin-top:4px;line-height:1.45}
.tile__tag{font-family:var(--mono);font-size:var(--fs-11);color:var(--sol-hover);margin-top:10px;letter-spacing:.04em;background:var(--sol-chip-bg);display:inline-block;padding:4px 8px;border-radius:var(--r-tag)}

/* --------------------------------------------------------------------------
   Technique — l'autonomie garantie
   -------------------------------------------------------------------------- */
.technique__inner{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.technique__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tech-step{padding:24px;border-radius:var(--r-card-sm);background:#fff;border:1px solid var(--sol-card-line)}
.tech-step__num{font-family:var(--mono);font-size:var(--fs-12);color:var(--sol);font-weight:600;margin-bottom:12px}
.tech-step__title{font-family:var(--display);font-weight:700;font-size:var(--fs-18);color:var(--ink);margin-bottom:8px;line-height:1.15}
.tech-step__desc{font-size:var(--fs-13);color:var(--sol-text-2);line-height:1.5}

/* --------------------------------------------------------------------------
   Réalisations
   -------------------------------------------------------------------------- */
.reals__inner{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.reals__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.real{position:relative;display:block;border-radius:var(--r-card);overflow:hidden;min-height:360px;background:#e9ebe0;border:1px solid var(--line);box-shadow:var(--sol-shadow-lg);text-decoration:none;color:inherit;transition:transform .3s,box-shadow .3s}
.real:hover{transform:translateY(-4px)}
.real--pack{background:var(--sol-navy-grad)}
.real__img--pack{object-fit:contain;padding:28px 28px 120px}
.real__entity--ref{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35)}
.real__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.real__tags li{font-family:var(--mono);font-size:var(--fs-11);color:#1f2a0c;background:var(--sol-lime);padding:4px 9px;border-radius:var(--r-tag)}
.reals__foot{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.reals__foot .photo-credit{margin-top:0}
.technique__illu{margin:0 0 24px;border-radius:var(--r-card-sm);overflow:hidden;border:1px solid var(--sol-panel-line);background:#fff}
.technique__illu-img{width:100%;height:auto;display:block}
.technique__illu-cap{padding:12px 16px;font-family:var(--mono);font-size:var(--fs-12);color:var(--sol-muted);line-height:1.5;border-top:1px solid var(--sol-sep)}
.real__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reals__grid{grid-template-columns:repeat(2,1fr)}
.real__veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,22,12,.9),transparent 55%)}
.real__caption{position:absolute;left:0;right:0;bottom:0;padding:24px}
.real__entity{display:inline-block;font-family:var(--mono);font-size:var(--fs-11);font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:var(--r-pill);color:#fff;background:var(--sol)}
.real__name{font-family:var(--display);font-size:var(--fs-24);font-weight:800;color:#fff;margin:12px 0 6px;letter-spacing:-.01em}
.real__meta{font-family:var(--mono);font-size:var(--fs-13);color:rgba(255,255,255,.82)}

/* --------------------------------------------------------------------------
   Contact
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width:1100px){
  .gamme,.techs,.technique__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .hero{min-height:560px}
  .hero__content{padding-top:96px;padding-bottom:52px}
  .marques__grid{grid-template-columns:1fr}
  .novea__inner{padding-top:56px}
  .plus{grid-template-columns:1fr}
  .m4s__inner{padding-top:64px;gap:48px}
  .m4s__logo{width:clamp(200px,40vw,260px)}
  .panel--eco,.panel--tech{padding:32px 24px}
  .univers__inner{padding-top:64px}
  .univers__grid{grid-template-columns:repeat(2,1fr)}
  .reals__grid{grid-template-columns:1fr}
  .real{min-height:300px}
}
@media (max-width:560px){
  .hero{min-height:520px}
  .hero__content{padding-top:88px;padding-bottom:44px}
  .hero__badge{font-size:var(--fs-11);letter-spacing:.14em;padding:8px 14px}
  .brand-card__body{padding:24px 20px 24px}
  .novea__caption{padding:20px 18px}
  .gamme,.techs,.technique__grid{grid-template-columns:1fr}
  .m4s__logo{width:min(220px,70vw)}
  .band{grid-template-columns:1fr}
  .band__cell{padding:24px 24px}
  .band__cell+.band__cell{box-shadow:0 -1px 0 rgba(255,255,255,.13)}
  .steps,.args,.m4s-cta{grid-template-columns:1fr}
  .m4s-cta{padding:30px 24px}
  .panel--eco,.panel--tech{padding:28px 20px}
  .univers__grid{grid-template-columns:1fr}
}

/* Accessibilité (lot 1) */
.m4s,.real{--focus-ring:#fff}

/* Pictogrammes (lot 1) */
.tile__icon{color:#fff}
.tile__icon .pi{width:40px;height:40px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.25))}

/* lot 2 : boutons du panneau Méthode 4S — accent local */
.m4s{--accent:#5c7018;--accent-hover:#4d5e14;--accent-ink:#fff;--btn-shadow:0 12px 26px -12px rgba(92,112,24,.7)} /* lot 2 : blanc à 4.5:1 sur le bouton */

/* En-têtes de section (lot 2) */
.section-head .section-title--sm{max-width:20ch}

/* lien croisé vers la page Passages piétons */
.eco__cross{margin:22px 0 0;font-size:var(--fs-14);color:var(--sol-text-2)}
.eco__cross a{color:var(--sol-text-accent);font-weight:600;text-decoration:none;border-bottom:1px solid currentColor}
.eco__cross a:hover{color:var(--sol-hover)}


/* --------------------------------------------------------------------------
   Lightbox (même composant que les pages Sportif et Illuminations)
   -------------------------------------------------------------------------- */
.lb{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:rgba(14,20,10,.97);color:#fff}
.lb[hidden]{display:none}
.lb__bar{flex:none;display:flex;align-items:center;gap:16px;padding:14px 18px;font-family:var(--mono);font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.lb__title{color:var(--sol-lime-2);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb__count{color:rgba(255,255,255,.75)}
.lb__btn{flex:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:24px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s}
.lb__btn:hover{background:rgba(165,194,61,.25);border-color:var(--sol-lime)}
.lb__btn--close{font-size:18px}
.lb__stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 64px 18px}
.lb__btn--prev,.lb__btn--next{position:absolute;top:50%;transform:translateY(-50%);z-index:2}
.lb__btn--prev{left:14px}
.lb__btn--next{right:14px}
.lb__fig{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:12px;min-height:0}
.lb__img{display:block;max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 30px 80px -30px rgba(0,0,0,.9);opacity:0;transition:opacity .25s;background:#fff}
.lb__img.is-loaded{opacity:1}
.lb__cap{font-family:var(--mono);font-size:var(--fs-12);letter-spacing:.04em;color:rgba(255,255,255,.75);text-align:center;max-width:70ch}
.lb__cap b{color:var(--sol-lime-2);font-weight:600}
body.lb-open{overflow:hidden}
@media (max-width:900px){
  .jour__item{flex-basis:calc((100% - 18px)/2.15)}
  .lb__stage{padding:0 12px 14px}
  .lb__btn--prev,.lb__btn--next{width:40px;height:40px;top:auto;bottom:14px;transform:none;background:rgba(14,20,10,.7)}
  .lb__btn--prev{left:12px}
  .lb__btn--next{right:12px}
  .lb__img{max-height:calc(100vh - 170px)}
}
@media (max-width:560px){
  .jour__track{gap:14px}
  .jour__item{flex-basis:calc(100%/1.15)}
  .hero__toggle{margin-top:20px}
  .reals__foot .btn{width:100%;justify-content:center}
}
