:root {
  --green: #4EB147; --green-hi: #5FC257; --green-dark: #2F7B2C; --green-deep: #1A4419;
  --ink: #141411; --ink-2: #1c1b17; --ink-3: #26241e;
  --stone-1: #2a2620; --stone-2: #322d24; --stone-3: #3a3428;
  --stone-card: #221f19;
  --ink-4: #6d6a5f; --ink-5: #8a8a7e;
  --paper: #e8e3d3;
  --line-dark: rgba(250,247,240,0.12);
  --line-warm: rgba(250,247,240,0.08);
  --serif: 'Fraunces', Georgia, serif;
  --display: 'Anton', 'Impact', sans-serif;
  --sans: 'Plus Jakarta Sans', -apple-system, sans-serif;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}
[data-theme="light"]{
  --ink: #f8f4e8; --ink-2: #f1ecdc; --ink-3: #e8e3d3;
  --stone-1: #ebe6d5; --stone-2: #e0dac6; --stone-3: #d4ceba;
  --stone-card: #f3efe3;
  --ink-4: #8a8476; --ink-5: #55554d;
  --paper: #1c1b17;
  --line-dark: rgba(20,20,17,0.14);
  --line-warm: rgba(20,20,17,0.08);
}
.theme-toggle{position:fixed;bottom:22px;right:22px;z-index:1000;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-dark);background:var(--ink-2);color:var(--paper);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.4s var(--ease);backdrop-filter:blur(8px);box-shadow:0 4px 16px rgba(0,0,0,0.25)}
.theme-toggle:hover{background:var(--green);border-color:var(--green);color:#fff;transform:scale(1.08)}
.theme-toggle svg{width:18px;height:18px;transition:transform 0.5s var(--ease)}
.theme-toggle:hover svg{transform:rotate(20deg)}
.theme-toggle .icon-moon{display:none}
.theme-toggle .icon-sun{display:block}
[data-theme="light"] .theme-toggle{background:var(--stone-card);box-shadow:0 4px 16px rgba(20,20,17,0.12)}
[data-theme="light"] .theme-toggle .icon-sun{display:none}
[data-theme="light"] .theme-toggle .icon-moon{display:block}
[data-theme="light"] .logo-img,[data-theme="light"] .footer-logo img{filter:invert(1) hue-rotate(180deg) brightness(1.1) contrast(1.1)}
[data-theme="light"] .nav.scrolled{background:rgba(248,244,232,0.92)}

/* ===== LIGHT MODE — comprehensive fixes ===== */

/* Navigation bar - transparent/light instead of dark */
[data-theme="light"] .nav{background:rgba(248,244,232,0.65)}
[data-theme="light"] .nav.scrolled{background:rgba(248,244,232,0.94);border-bottom-color:var(--line-dark)}
[data-theme="light"] .nav-links a{color:rgba(28,27,23,0.75)}
[data-theme="light"] .nav-links a:hover{color:var(--green-dark)}
[data-theme="light"] .nav-links.open{background:var(--ink)}

/* Hero section */
/* HERO — text stays light (flag image is the background) */
[data-theme="light"] .hero-meta-text{color:rgba(248,244,232,0.9)}
[data-theme="light"] .hero-lead{color:rgba(248,244,232,0.88)}
[data-theme="light"] .hero-scroll-line{background:rgba(248,244,232,0.35)}
[data-theme="light"] .hero-img-caption{color:rgba(248,244,232,0.9)}
[data-theme="light"] .hero{background:#141411;color:#f8f4e8}
[data-theme="light"] .hero h1{color:#f8f4e8}

/* STATS BAND — in light mode, bg is light, so text must be dark */
[data-theme="light"] .stats-band{background:linear-gradient(180deg,var(--stone-card) 0%,var(--ink-2) 100%);color:var(--paper)}
[data-theme="light"] .stat-num{color:var(--paper)}
[data-theme="light"] .stat-label{color:rgba(28,27,23,0.6)}
[data-theme="light"] .stat-num .unit{color:rgba(28,27,23,0.55)}

/* Real mini stats (at bottom of Realisations section) */
[data-theme="light"] .real-mini-stat .val,[data-theme="light"] .real-mini-stat .num{color:var(--paper)}
[data-theme="light"] .real-mini-stat .lbl{color:rgba(28,27,23,0.6)}

/* Battery stats (stockage section: 80%, 5-40 kWh, 10 ans, 24/7) */
[data-theme="light"] .battery-stat-num{color:var(--paper)}
[data-theme="light"] .battery-stat-lbl{color:rgba(28,27,23,0.6)}

/* Stats band */
[data-theme="light"] .stat-label{color:rgba(28,27,23,0.6)}

/* Section banners - lighter photo, inverted gradient */
[data-theme="light"] .section-banner img{filter:brightness(0.88) contrast(1.02) saturate(1.1)}
[data-theme="light"] .section-banner.dark-end::after{background:linear-gradient(180deg,rgba(20,20,17,0.2) 0%,rgba(20,20,17,0.1) 50%,var(--ink) 100%)}
[data-theme="light"] .section-banner.stone-end::after{background:linear-gradient(180deg,rgba(20,20,17,0.2) 0%,rgba(235,230,213,0.25) 50%,var(--stone-1) 100%)}
[data-theme="light"] .section-banner.stone2-end::after{background:linear-gradient(180deg,rgba(20,20,17,0.2) 0%,rgba(224,218,198,0.25) 50%,var(--stone-2) 100%)}
[data-theme="light"] .section-banner-label{opacity:0.25;color:var(--ink-5)}
[data-theme="light"] .section-banner-caption{color:rgba(248,244,232,0.95)}

/* Section intros (paragraph under heading) */
[data-theme="light"] .services .section-intro p,
[data-theme="light"] .realisations .section-intro p,
[data-theme="light"] .stockage .section-intro p,
[data-theme="light"] .pac .section-intro p,
[data-theme="light"] .confiance .section-intro p,
[data-theme="light"] .contact .section-intro p,
[data-theme="light"] .simulator .section-intro p{color:rgba(28,27,23,0.7)}

/* Section intro - all titles and eyebrows in light mode */
[data-theme="light"] .section-intro h2{color:var(--paper)}
[data-theme="light"] .section-intro p{color:rgba(28,27,23,0.7)}
[data-theme="light"] .eyebrow{color:var(--paper)}

/* SERVICES section - inside dark banner zone, section-marker eyebrow stays paper-light */
[data-theme="light"] .services .section-intro h2,
[data-theme="light"] .realisations .section-intro h2,
[data-theme="light"] .stockage .section-intro h2,
[data-theme="light"] .pac .section-intro h2,
[data-theme="light"] .simulator .section-intro h2,
[data-theme="light"] .testimonials .section-intro h2,
[data-theme="light"] .confiance .section-intro h2,
[data-theme="light"] .contact .section-intro h2{color:var(--paper)}

/* SIMULATOR — full light mode makeover */
[data-theme="light"] .simulator{background:radial-gradient(ellipse at 20% 30%,rgba(78,177,71,0.08) 0%,transparent 50%),radial-gradient(ellipse at 90% 80%,rgba(47,123,44,0.06) 0%,transparent 55%),linear-gradient(180deg,var(--ink-2) 0%,var(--stone-card) 60%,var(--ink-2) 100%)}
[data-theme="light"] .simulator::after{background-image:radial-gradient(rgba(28,27,23,0.04) 1px,transparent 1px)}
[data-theme="light"] .simulator .section-num{color:var(--green-dark)}
[data-theme="light"] .sim-field label{color:rgba(28,27,23,0.7)}
[data-theme="light"] .sim-results{background:rgba(248,244,232,0.6);border-color:var(--line-dark);backdrop-filter:blur(10px)}
[data-theme="light"] .sim-result{border-bottom-color:var(--line-dark)}
[data-theme="light"] .sim-result-lbl{color:rgba(28,27,23,0.65)}
[data-theme="light"] .sim-result-val{color:var(--paper)}
[data-theme="light"] .sim-result-val.accent{color:var(--green-dark)}
[data-theme="light"] .sim-field .field-value{color:var(--green-dark)}
[data-theme="light"] .sim-select{color:var(--paper);border-color:rgba(28,27,23,0.25);background:transparent}
[data-theme="light"] .sim-select:focus{border-color:var(--green-dark)}
[data-theme="light"] .simulator input[type="range"]{background:rgba(28,27,23,0.1)}

/* Confiance section intro paragraph */
[data-theme="light"] .testimonials .section-intro p{color:rgba(28,27,23,0.7)}
[data-theme="light"] .testimonials blockquote,
[data-theme="light"] .testimonial blockquote,
[data-theme="light"] .testimonial p{color:var(--paper)}
[data-theme="light"] .testimonial-author{color:rgba(28,27,23,0.7)}
[data-theme="light"] .testimonial-role{color:rgba(28,27,23,0.55)}

/* Certif-band items */
[data-theme="light"] .confiance-cert-item .cert-label{color:rgba(28,27,23,0.65)}
[data-theme="light"] .confiance-cert-item .cert-value{color:var(--paper)}

/* Any remaining paper-hardcoded text in various sections - general rescue */

/* SERVICE CARDS - now truly light in light mode */
[data-theme="light"] .service{background:linear-gradient(180deg,var(--stone-card) 0%,var(--ink-2) 100%)}
[data-theme="light"] .service:hover{background:linear-gradient(180deg,var(--ink-3) 0%,var(--stone-card) 100%)}
[data-theme="light"] .service h3{color:var(--paper)}
[data-theme="light"] .service p{color:rgba(28,27,23,0.72)}
[data-theme="light"] .service-num{color:rgba(47,123,44,0.5)}
[data-theme="light"] .service-icon-wrap{color:var(--paper);border-color:var(--line-dark)}
[data-theme="light"] .service-more{color:var(--paper);border-bottom-color:rgba(28,27,23,0.25)}
[data-theme="light"] .service-more:hover{color:var(--green-dark);border-color:var(--green-dark)}
[data-theme="light"] .service:hover .service-more{color:var(--green-dark);border-color:var(--green-dark)}
[data-theme="light"] .service-bg-img{opacity:0.45;filter:grayscale(0) contrast(1)}
[data-theme="light"] .service:hover .service-bg-img{opacity:0.65}
[data-theme="light"] .service::after{background:linear-gradient(180deg,rgba(243,239,227,0.35) 0%,rgba(248,244,232,0.85) 100%)}

/* Service feature (the big image card) - kept dark for contrast */
[data-theme="light"] .service-feature{background:#141411}
[data-theme="light"] .service-feature::before{background:linear-gradient(180deg,rgba(20,20,17,0.1) 0%,rgba(20,20,17,0.4) 55%,rgba(20,20,17,0.92) 100%)}
[data-theme="light"] .service-feature h4,
[data-theme="light"] .service-feature-head,
[data-theme="light"] .service-feature p{color:#f3efe3}

/* Service CTA card */
[data-theme="light"] .service-cta-card{background:var(--green-dark);color:#f3efe3}
[data-theme="light"] .service-cta-head{color:#f3efe3}
[data-theme="light"] .service-cta-arrow{background:#f3efe3;color:var(--green-dark)}

/* Realisations section */
[data-theme="light"] .realisations::before{background-image:radial-gradient(rgba(28,27,23,0.05) 1px,transparent 1px)}
[data-theme="light"] .real-ticker{background:rgba(235,230,213,0.4);border-color:var(--line-dark)}
[data-theme="light"] .ticker-item{color:rgba(28,27,23,0.65)}
[data-theme="light"] .real-mini-stat{border-left-color:var(--line-dark)}
[data-theme="light"] .real-mini-stat .lbl{color:rgba(28,27,23,0.6)}
[data-theme="light"] .real{background:#141411}

/* Stockage section */
[data-theme="light"] .battery-main,[data-theme="light"] .battery-item{background:#141411}
[data-theme="light"] .battery-caption p{color:rgba(248,244,232,0.85)}
[data-theme="light"] .battery-brands{background:rgba(235,230,213,0.4);border-color:var(--line-dark)}
[data-theme="light"] .battery-brands span{color:var(--paper)}

/* Simulator */
[data-theme="light"] .sim-select option,[data-theme="light"] .sim-select optgroup{background:#f8f4e8;color:#1c1b17}

/* Confiance / certif-band */
[data-theme="light"] .certif-band{background:rgba(235,230,213,0.5);border-color:var(--line-dark);box-shadow:0 30px 60px -30px rgba(20,20,17,0.15)}
[data-theme="light"] .certif-band-head{border-bottom-color:var(--line-dark)}
[data-theme="light"] .certif-band-head-title{color:var(--paper)}
[data-theme="light"] .certif-band-head-meta{color:rgba(28,27,23,0.55)}
[data-theme="light"] .certif-item{border-right-color:var(--line-dark)}
[data-theme="light"] .certif-item:hover{background:rgba(47,123,44,0.06)}
[data-theme="light"] .certif-item-sub{color:rgba(28,27,23,0.65)}

/* Section numbers more visible in light mode */
[data-theme="light"] .section-num{color:rgba(47,123,44,0.7)}

/* Forms (inputs, textarea, select, labels) - force specific selectors */
[data-theme="light"] .form-note{color:rgba(28,27,23,0.6)}
[data-theme="light"] .btn-ghost-light{color:#f8f4e8;border-bottom-color:#f8f4e8}
[data-theme="light"] .btn-ghost-light:hover{color:var(--green-hi);border-bottom-color:var(--green-hi)}
[data-theme="light"] .form-field input,
[data-theme="light"] .form-field textarea,
[data-theme="light"] .form-field select{color:#1c1b17;border-bottom-color:rgba(28,27,23,0.25);background:transparent;caret-color:var(--green-dark)}
[data-theme="light"] .form-field input:focus,
[data-theme="light"] .form-field textarea:focus,
[data-theme="light"] .form-field select:focus{border-bottom-color:var(--green-dark)}
[data-theme="light"] .form-field label{color:rgba(28,27,23,0.7)}
[data-theme="light"] .form-field input::placeholder,
[data-theme="light"] .form-field textarea::placeholder{color:rgba(28,27,23,0.4)}
[data-theme="light"] .form-field select option{background:#f8f4e8;color:#1c1b17}

/* PHOTOS DE FOND - texte TOUJOURS en crème clair (quel que soit le mode) */
[data-theme="light"] .battery-caption h3,
[data-theme="light"] .battery-caption-tag,
[data-theme="light"] .battery-caption-small strong,
[data-theme="light"] .real h3,
[data-theme="light"] .real-tag-num,
[data-theme="light"] .real-content h3{color:#f8f4e8}
[data-theme="light"] .battery-caption p{color:rgba(248,244,232,0.85)}
[data-theme="light"] .real p{color:rgba(248,244,232,0.85)}
[data-theme="light"] .real-meta{color:var(--green-hi)}
[data-theme="light"] .battery-caption-small span{color:var(--green-hi)}

/* Contact section */
[data-theme="light"] .contact-value a{color:var(--paper)}
[data-theme="light"] .contact-label{color:rgba(28,27,23,0.55)}
[data-theme="light"] .contact-info > p{color:rgba(28,27,23,0.7)}

/* Confiance section - certification items */

/* SIMULATEUR - corrections complémentaires */
[data-theme="light"] .sim-scale{color:rgba(28,27,23,0.6)}
[data-theme="light"] .sim-slider{background:rgba(28,27,23,0.2)}
[data-theme="light"] .sim-note{color:rgba(28,27,23,0.55)}
[data-theme="light"] .sim-result-val{color:#1c1b17}

/* Footer - keep it dark for premium contrast */
[data-theme="light"] footer{background:#141411;color:#e8e3d3}
[data-theme="light"] footer .footer-heading{color:#e8e3d3}
[data-theme="light"] footer p,[data-theme="light"] footer .footer-contact{color:rgba(250,247,240,0.65)}
[data-theme="light"] footer a{color:rgba(232,227,211,0.7)}
[data-theme="light"] footer a:hover{color:var(--green-hi)}
[data-theme="light"] .footer-logo img{filter:none}
[data-theme="light"] .footer-signal{color:rgba(250,247,240,0.5)}
[data-theme="light"] .footer-giant{color:rgba(250,247,240,0.04)}
[data-theme="light"] .footer-base{color:rgba(250,247,240,0.4);border-top-color:rgba(250,247,240,0.1)}

/* Testimonials */
[data-theme="light"] .testimonial,[data-theme="light"] .confiance-cert-item{background:rgba(235,230,213,0.5);border-color:var(--line-dark)}

/* Theme toggle itself in light mode */
[data-theme="light"] .theme-toggle{background:var(--stone-card);box-shadow:0 4px 16px rgba(20,20,17,0.12)}

@media (max-width:720px){.theme-toggle{width:48px;height:48px}}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{font-family:var(--sans);background:var(--ink);color:var(--paper);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}

/* Traînée de pigments fluides — décor interactif sans interception des clics */
#ep-cursor-trail{
  position:fixed;inset:0;z-index:90;width:100vw;height:100vh;
  pointer-events:none;opacity:.1;mix-blend-mode:screen;
  contain:strict;will-change:opacity;transition:opacity .35s ease;
}
[data-theme="light"] #ep-cursor-trail{opacity:.1;mix-blend-mode:multiply}
@media (prefers-reduced-motion:reduce){
  #ep-cursor-trail{display:none}
}
img{max-width:100%;display:block}
.wrap{max-width:1520px;margin:0 auto;padding:0 40px}
@media (max-width:720px){.wrap{padding:0 24px}}

.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:0.28em;font-weight:500;display:inline-flex;align-items:center;gap:12px;color:var(--paper)}
.eyebrow::before{content:'';width:6px;height:6px;background:var(--green);border-radius:50%}
h1,h2,h3,h4,h5{font-family:var(--serif);font-weight:300;letter-spacing:-0.022em;line-height:1}
h2{font-size:clamp(2.4rem,4.8vw,4rem);line-height:1.02}
h3{font-size:1.6rem;line-height:1.15;letter-spacing:-0.015em}
.italic{font-style:italic;font-weight:300}
.display-num{font-family:var(--display);font-weight:400;letter-spacing:-0.02em;line-height:0.85;text-transform:uppercase}

.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:24px 0;background:rgba(20,20,17,0.65);backdrop-filter:blur(20px);transition:padding 0.5s var(--ease),background 0.5s var(--ease);border-bottom:1px solid transparent}
.nav.scrolled{padding:14px 0;background:rgba(20,20,17,0.92);border-bottom-color:var(--line-dark)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.logo-img{height:64px;width:auto;display:block;transition:height 0.5s var(--ease)}
.nav.scrolled .logo-img{height:48px}
.nav-links{display:flex;gap:42px;align-items:center;list-style:none}
.nav-links a{color:rgba(250,247,240,0.75);text-decoration:none;font-size:0.82rem;font-weight:500;letter-spacing:0.02em;transition:color 0.3s}
.nav-links a:hover{color:var(--green)}
.nav-cta{background:var(--green);color:var(--ink) !important;padding:14px 26px;font-weight:600 !important;transition:background 0.3s,transform 0.3s !important}
.nav-cta:hover{background:var(--green-hi);transform:translateY(-2px)}
.burger{display:none;background:none;border:none;cursor:pointer;width:40px;height:40px;flex-direction:column;justify-content:center;gap:6px;align-items:center}
.burger span{display:block;width:24px;height:1.5px;background:var(--paper)}

.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding:160px 0 80px;overflow:hidden;background:var(--ink);color:var(--paper)}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;animation:heroImgIn 1.6s var(--ease) 0.1s forwards}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,17,0.55) 0%,rgba(20,20,17,0.3) 30%,rgba(20,20,17,0.6) 70%,rgba(20,20,17,0.95) 100%);z-index:1}
.hero-bg::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,17,0.6) 0%,rgba(20,20,17,0.2) 45%,transparent 70%);z-index:1}
.hero-inner{position:relative;z-index:2;width:100%}
.hero-content{max-width:820px}
.hero-meta{display:flex;align-items:center;gap:14px;margin-bottom:40px;opacity:0;animation:fadeUp 1.2s var(--ease) 0.4s forwards}
.hero-meta .dash{width:48px;height:1px;background:var(--green)}
.hero-meta-text{font-size:0.74rem;text-transform:uppercase;letter-spacing:0.22em;color:rgba(250,247,240,0.8);font-weight:500}
.hero h1{font-size:clamp(3rem,7vw,6.5rem);font-weight:300;line-height:0.98;letter-spacing:-0.035em;margin-bottom:42px;color:var(--paper);opacity:0;animation:fadeUp 1.3s var(--ease) 0.55s forwards;max-width:14ch}
.hero h1 em{font-style:italic;font-weight:300;color:var(--green);display:block}
.hero-lead{font-size:1.08rem;color:rgba(250,247,240,0.78);max-width:540px;margin-bottom:52px;line-height:1.65;opacity:0;animation:fadeUp 1.2s var(--ease) 0.75s forwards}
.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;opacity:0;animation:fadeUp 1.2s var(--ease) 0.9s forwards}
.btn{display:inline-flex;align-items:center;gap:14px;font-family:var(--sans);font-size:0.88rem;font-weight:600;letter-spacing:0.02em;text-decoration:none;cursor:pointer;border:none;transition:all 0.4s var(--ease);padding:18px 34px}
.btn-green{background:var(--green);color:var(--ink)}
.btn-green:hover{background:var(--green-hi);transform:translateY(-2px);box-shadow:0 20px 40px -16px rgba(78,177,71,0.5)}
.btn-ghost-light{color:var(--paper);padding:18px 0;border-bottom:1px solid var(--paper);background:transparent}
.btn-ghost-light:hover{color:var(--green);border-color:var(--green);gap:22px}
.btn .arrow{transition:transform 0.4s var(--ease)}
.btn:hover .arrow{transform:translateX(4px)}
.hero-scroll{position:absolute;bottom:32px;right:40px;z-index:3;color:var(--paper);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.22em;display:flex;align-items:center;gap:14px;opacity:0;animation:fadeUp 1s var(--ease) 1.4s forwards}
.hero-scroll-line{width:1px;height:40px;background:rgba(250,247,240,0.3);position:relative;overflow:hidden}
.hero-scroll-line::after{content:'';position:absolute;top:-40px;left:0;right:0;height:40px;background:var(--green);animation:scrollLine 2.5s var(--ease) infinite}
.hero-img-caption{position:absolute;bottom:32px;left:40px;z-index:3;color:rgba(250,247,240,0.7);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.2em;font-weight:500;display:flex;align-items:center;gap:14px}
.hero-img-caption .dot{width:5px;height:5px;background:var(--green);border-radius:50%}

.stats-band{background:linear-gradient(180deg,var(--ink) 0%,var(--ink-2) 100%);color:var(--paper);border-top:1px solid var(--line-dark);padding:72px 0;position:relative;overflow:hidden}
.stats-band::before{content:'';position:absolute;top:0;right:0;bottom:0;width:50%;background:radial-gradient(ellipse at right,rgba(78,177,71,0.06) 0%,transparent 60%);pointer-events:none}
.stats-inner{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:60px;align-items:end;position:relative;z-index:2}
.stat-item{padding-left:28px;border-left:1px solid var(--line-dark)}
.stat-num{font-family:var(--display);font-size:clamp(3.2rem,5.5vw,4.8rem);font-weight:400;line-height:0.9;letter-spacing:-0.01em;color:var(--paper);margin-bottom:14px}
.stat-num .accent{color:var(--green)}
.stat-num .unit{font-family:var(--serif);font-weight:300;font-style:italic;font-size:0.4em;color:var(--ink-5);margin-left:10px;letter-spacing:0}
.stat-label{font-size:0.78rem;color:rgba(250,247,240,0.6);text-transform:uppercase;letter-spacing:0.18em;font-weight:500}

.section-banner{position:relative;height:320px;overflow:hidden}
.section-banner img{width:100%;height:100%;object-fit:cover;filter:brightness(0.55) contrast(1.05)}
.section-banner.dark-end::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,17,0.55) 0%,rgba(20,20,17,0.35) 50%,var(--ink) 100%);z-index:2}
.section-banner.stone-end::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,17,0.55) 0%,rgba(42,38,32,0.4) 50%,var(--stone-1) 100%);z-index:2}
.section-banner.stone2-end::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,17,0.55) 0%,rgba(50,45,36,0.4) 50%,var(--stone-2) 100%);z-index:2}
.section-banner-label{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:3;font-family:var(--display);font-size:clamp(5rem,14vw,16rem);color:var(--paper);letter-spacing:-0.02em;line-height:0.8;text-transform:uppercase;opacity:0.14;white-space:nowrap;pointer-events:none}
.section-banner-caption{position:absolute;bottom:32px;left:40px;z-index:4;color:rgba(250,247,240,0.8);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.22em;font-weight:500;display:flex;align-items:center;gap:12px}
.section-banner-caption .dot{width:5px;height:5px;background:var(--green);border-radius:50%}

section{padding:100px 0 160px;position:relative}
.section-with-banner{padding-top:0}
.section-with-banner .wrap{padding-top:100px}
.section-intro{display:grid;grid-template-columns:1fr 1.8fr;gap:80px;align-items:end;margin-bottom:100px;position:relative;z-index:5}
.section-marker{display:flex;align-items:flex-start;gap:28px}
.section-num{font-family:var(--display);font-size:clamp(5rem,9vw,9rem);line-height:0.85;color:var(--green);letter-spacing:-0.02em}
.section-marker .eyebrow{margin-top:10px}
.section-intro h2{font-size:clamp(2.4rem,4.6vw,3.8rem);max-width:900px}
.section-intro p{color:var(--ink-4);font-size:1.02rem;line-height:1.7;max-width:460px;margin-top:36px}

.services{background:linear-gradient(160deg,var(--ink) 0%,var(--ink-2) 60%,var(--ink-3) 100%);color:var(--paper);position:relative;overflow:hidden}
.services .section-intro p{color:rgba(250,247,240,0.6)}
.services .section-intro h2{color:var(--paper)}
.services::after{content:'';position:absolute;top:20%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(78,177,71,0.06) 0%,transparent 60%);border-radius:50%;pointer-events:none}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);position:relative;z-index:2}
.service{padding:56px 44px;transition:background 0.5s var(--ease);position:relative;overflow:hidden;min-height:360px;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--ink-2) 0%,var(--ink) 100%)}
.service-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.28;filter:grayscale(0.2);transition:opacity 0.6s var(--ease),transform 1.6s var(--ease);z-index:0;pointer-events:none}
.service:hover .service-bg-img{opacity:0.5;transform:scale(1.04)}
.service::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,38,32,0.45) 0%,rgba(20,20,17,0.88) 100%);z-index:1;pointer-events:none}
.service > *:not(.service-bg-img){position:relative;z-index:2}
.service::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform 0.6s var(--ease)}
.service:hover::before{transform:scaleX(1)}
.service:hover{background:linear-gradient(180deg,var(--ink-3) 0%,var(--ink-2) 100%)}
.service-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:48px}
.service-num{font-family:var(--display);font-size:3.4rem;color:rgba(78,177,71,0.4);letter-spacing:-0.02em;line-height:0.85;transition:color 0.4s var(--ease)}
.service:hover .service-num{color:var(--green)}
.service-icon-wrap{width:48px;height:48px;border:1px solid var(--line-dark);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--paper);transition:background 0.4s var(--ease),border-color 0.4s var(--ease),color 0.4s var(--ease),transform 0.4s var(--ease);flex-shrink:0}
.service:hover .service-icon-wrap{background:var(--green);border-color:var(--green);color:var(--ink);transform:rotate(90deg)}
.service h3{font-size:1.65rem;font-weight:300;margin-bottom:18px;letter-spacing:-0.02em;line-height:1.15;color:var(--paper);font-family:var(--serif)}
.service p{color:rgba(250,247,240,0.6);font-size:0.92rem;line-height:1.7;margin-bottom:28px;max-width:340px;flex-grow:1}
.service-more{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.22em;color:var(--paper);text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:14px;padding-bottom:8px;border-bottom:1px solid rgba(250,247,240,0.2);transition:all 0.4s var(--ease);align-self:flex-start}
.service:hover .service-more{color:var(--green);border-color:var(--green);gap:20px}
.service-feature{padding:0;position:relative;overflow:hidden;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink)}
.service-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(0.55);transition:transform 1.6s var(--ease),filter 0.6s var(--ease)}
.service-feature:hover img{transform:scale(1.06);filter:brightness(0.65)}
.service-feature::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,17,0.2) 0%,rgba(20,20,17,0.5) 55%,rgba(20,20,17,0.95) 100%);z-index:2}
.service-feature-content{position:relative;z-index:3;padding:44px;color:var(--paper)}
.service-feature-tag{font-family:var(--display);font-size:0.95rem;color:var(--green);letter-spacing:0.08em;line-height:1;margin-bottom:20px;text-transform:uppercase}
.service-feature-head{font-family:var(--serif);font-size:2rem;font-weight:300;font-style:italic;line-height:1.1;color:var(--paper);margin-bottom:18px;max-width:340px}
.service-feature-head em{color:var(--green)}
.service-feature p{font-size:0.9rem;color:rgba(250,247,240,0.85);line-height:1.6;max-width:320px}
.service-cta-card{background:linear-gradient(135deg,var(--green) 0%,var(--green-dark) 100%);color:var(--ink);padding:56px 44px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:background 0.4s var(--ease);text-decoration:none}
.service-cta-card::after{content:'';position:absolute;top:-30%;right:-30%;width:500px;height:500px;background:radial-gradient(circle,rgba(250,247,240,0.18) 0%,transparent 60%);border-radius:50%;transition:transform 0.8s var(--ease)}
.service-cta-card:hover::after{transform:translate(-20px,20px) scale(1.1)}
.service-cta-tag{font-family:var(--display);font-size:3rem;color:rgba(20,20,17,0.7);line-height:0.85;letter-spacing:-0.01em;position:relative;z-index:2}
.service-cta-head{font-family:var(--serif);font-size:2rem;font-weight:300;line-height:1.1;color:var(--ink);max-width:280px;position:relative;z-index:2}
.service-cta-head em{font-style:italic}
.service-cta-bottom{display:flex;justify-content:space-between;align-items:flex-end;position:relative;z-index:2}
.service-cta-label{font-size:0.74rem;text-transform:uppercase;letter-spacing:0.22em;font-weight:600;color:var(--ink)}
.service-cta-arrow{width:52px;height:52px;background:var(--ink);color:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;transition:transform 0.4s var(--ease)}
.service-cta-card:hover .service-cta-arrow{transform:translate(6px,-6px) rotate(-15deg)}

.realisations{background:radial-gradient(ellipse at top left,rgba(78,177,71,0.06) 0%,transparent 55%),radial-gradient(ellipse at bottom right,rgba(47,123,44,0.05) 0%,transparent 60%),linear-gradient(180deg,var(--stone-1) 0%,var(--stone-2) 50%,var(--stone-1) 100%);color:var(--paper);position:relative;overflow:hidden}
.realisations::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(250,247,240,0.025) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;mask-image:linear-gradient(180deg,transparent,black 20%,black 80%,transparent)}
.realisations .section-num{color:var(--green)}
.realisations .section-intro h2{color:var(--paper)}
.realisations .section-intro p{color:rgba(250,247,240,0.6)}
.real-ticker{margin-bottom:80px;padding:24px 0;border-top:1px solid var(--line-warm);border-bottom:1px solid var(--line-warm);overflow:hidden;position:relative;z-index:2;background:rgba(20,20,17,0.25);backdrop-filter:blur(6px)}
.ticker-track{display:flex;gap:60px;animation:ticker 40s linear infinite;white-space:nowrap;width:max-content}
.ticker-item{display:flex;align-items:center;gap:14px;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.18em;color:rgba(250,247,240,0.65);font-weight:500}
.ticker-item .dot{width:5px;height:5px;background:var(--green);border-radius:50%;flex-shrink:0}
.ticker-item strong{color:var(--paper);font-weight:600}
.real-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;position:relative;z-index:2}
.real{position:relative;overflow:hidden;background:var(--ink);cursor:pointer}
.real img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.real:hover img{transform:scale(1.06)}
.real::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(20,20,17,0.85) 100%);z-index:1;pointer-events:none}
.real-tag-num{position:absolute;top:24px;left:24px;z-index:2;font-family:var(--display);font-size:1.4rem;color:var(--paper);letter-spacing:0;opacity:0.85;line-height:0.85}
.real-content{position:absolute;left:32px;right:32px;bottom:32px;z-index:2;color:var(--paper)}
.real-meta{display:inline-flex;align-items:center;gap:10px;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.22em;margin-bottom:14px;font-weight:500;color:var(--green-hi)}
.real-meta::before{content:'';width:20px;height:1px;background:var(--green-hi)}
.real h3{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:var(--paper);line-height:1.2;margin-bottom:6px;letter-spacing:-0.015em}
.real p{font-size:0.85rem;opacity:0.82;max-width:380px}
.real-1{grid-column:span 8;aspect-ratio:16/10}
.real-2{grid-column:span 4;aspect-ratio:4/5}
.real-3{grid-column:span 4;aspect-ratio:4/5}
.real-4{grid-column:span 4;aspect-ratio:4/5}
.real-5{grid-column:span 4;aspect-ratio:4/5}
.real-6{grid-column:span 6;aspect-ratio:4/3}
.real-7{grid-column:span 6;aspect-ratio:4/3}
.real-footer{margin-top:100px;padding:72px 64px;background:linear-gradient(135deg,var(--ink) 0%,var(--ink-2) 100%);color:var(--paper);display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;align-items:end;position:relative;z-index:2;overflow:hidden}
.real-footer::before{content:'';position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(78,177,71,0.12) 0%,transparent 65%);border-radius:50%}
.real-footer-title{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2rem);font-weight:300;line-height:1.2;max-width:540px;color:var(--paper);position:relative;z-index:2}
.real-footer-title em{color:var(--green);font-style:italic}
.real-mini-stat{position:relative;z-index:2;padding-left:28px;border-left:1px solid var(--line-dark)}
.real-mini-stat .val{font-family:var(--display);font-size:clamp(3rem,4.5vw,4rem);color:var(--paper);line-height:0.85;margin-bottom:14px;letter-spacing:-0.01em}
.real-mini-stat .val .acc{color:var(--green)}
.real-mini-stat .lbl{font-size:0.74rem;text-transform:uppercase;letter-spacing:0.2em;color:rgba(250,247,240,0.6);font-weight:500}

.stockage{background:linear-gradient(180deg,var(--stone-1) 0%,var(--ink-3) 50%,var(--stone-1) 100%);color:var(--paper);position:relative;overflow:hidden}
.stockage::after{content:'';position:absolute;bottom:0;right:0;width:600px;height:600px;background:radial-gradient(circle,rgba(78,177,71,0.08) 0%,transparent 65%);border-radius:50%;pointer-events:none}
.stockage .section-num{color:var(--green)}
.stockage .section-intro h2{color:var(--paper)}
.stockage .section-intro p{color:rgba(250,247,240,0.6)}
.battery-showcase{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:auto auto;gap:24px;margin-bottom:60px;position:relative;z-index:2}
.battery-main{position:relative;overflow:hidden;background:var(--ink-3);grid-column:1;grid-row:1/3;aspect-ratio:auto;cursor:pointer}
.battery-main img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.battery-main:hover img{transform:scale(1.04)}
.battery-main::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,20,17,0.85) 100%);z-index:1;pointer-events:none}
.battery-caption{position:absolute;left:40px;right:40px;bottom:40px;z-index:2;color:var(--paper)}
.battery-caption-tag{font-family:var(--display);font-size:2.4rem;color:var(--green);letter-spacing:-0.01em;line-height:0.85;margin-bottom:18px;display:block}
.battery-caption h3{font-family:var(--serif);font-size:1.8rem;font-weight:300;color:var(--paper);line-height:1.1;margin-bottom:6px;letter-spacing:-0.015em}
.battery-caption p{font-size:0.9rem;color:rgba(250,247,240,0.75);line-height:1.4;max-width:380px}
.battery-item{position:relative;overflow:hidden;background:var(--ink-3);aspect-ratio:1/1;cursor:pointer}
.battery-item img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.battery-item:hover img{transform:scale(1.04)}
.battery-item::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,20,17,0.85) 100%);z-index:1;pointer-events:none}
.battery-caption-small{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;color:var(--paper)}
.battery-caption-small span{display:block;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.22em;color:var(--green-hi);font-weight:500;margin-bottom:6px}
.battery-caption-small strong{font-family:var(--serif);font-size:1.05rem;font-weight:400;color:var(--paper);letter-spacing:-0.01em}
.battery-brands{padding:28px 40px;background:rgba(20,20,17,0.35);border:1px solid var(--line-warm);margin-bottom:60px;display:flex;align-items:center;gap:40px;backdrop-filter:blur(8px);position:relative;z-index:2;flex-wrap:wrap}
.battery-brands-label{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.22em;color:rgba(250,247,240,0.5);font-weight:500;flex-shrink:0}
.battery-brands-list{display:flex;flex-wrap:wrap;gap:36px;flex:1}
.battery-brands-list span{font-family:var(--serif);font-size:1.15rem;font-weight:300;color:var(--paper);letter-spacing:-0.01em;font-style:italic}
.battery-stats{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:60px;padding:56px 0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);position:relative;z-index:2}
.battery-stat{padding-left:28px;border-left:1px solid var(--line-dark)}
.battery-stat-num{font-family:var(--display);font-size:clamp(2.8rem,4vw,4rem);color:var(--paper);line-height:0.85;margin-bottom:14px;letter-spacing:-0.01em}
.battery-stat-num .accent{color:var(--green)}
.battery-stat-num .unit{font-family:var(--serif);font-style:italic;font-weight:300;font-size:0.4em;color:var(--ink-5);margin-left:8px;letter-spacing:0}
.battery-stat-lbl{font-size:0.74rem;text-transform:uppercase;letter-spacing:0.18em;color:rgba(250,247,240,0.55);font-weight:500}

.pac{background:linear-gradient(180deg,var(--stone-2) 0%,var(--stone-1) 50%,var(--stone-2) 100%);color:var(--paper);position:relative;overflow:hidden}
.pac::after{content:'';position:absolute;top:10%;left:-5%;width:600px;height:600px;background:radial-gradient(circle,rgba(78,177,71,0.07) 0%,transparent 65%);border-radius:50%;pointer-events:none}
.pac::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(250,247,240,0.022) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;mask-image:linear-gradient(180deg,transparent,black 15%,black 85%,transparent)}
.pac .section-num{color:var(--green)}
.pac .section-intro h2{color:var(--paper)}
.pac .section-intro p{color:rgba(250,247,240,0.6)}

.simulator{background:radial-gradient(ellipse at 20% 30%,rgba(78,177,71,0.1) 0%,transparent 50%),radial-gradient(ellipse at 90% 80%,rgba(78,177,71,0.05) 0%,transparent 55%),linear-gradient(180deg,var(--ink) 0%,var(--ink-2) 60%,var(--ink) 100%);color:var(--paper);position:relative;overflow:hidden}
.simulator::after{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(250,247,240,0.02) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.simulator .section-num{color:var(--green)}
.simulator .section-intro h2{color:var(--paper)}
.simulator .section-intro p{color:rgba(250,247,240,0.65)}
.sim-wrap{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:start;padding-top:48px;border-top:1px solid var(--line-dark);position:relative;z-index:2}
.sim-inputs{display:flex;flex-direction:column;gap:56px}
.sim-field-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px}
.sim-field label{font-size:0.74rem;text-transform:uppercase;letter-spacing:0.22em;color:rgba(250,247,240,0.7);font-weight:500}
.sim-field .field-value{font-family:var(--display);font-size:2.6rem;color:var(--green);letter-spacing:-0.01em;line-height:0.85}
.sim-slider{-webkit-appearance:none;appearance:none;width:100%;height:1px;background:rgba(250,247,240,0.2);outline:none;cursor:pointer}
.sim-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--green);border-radius:50%;cursor:pointer;transition:transform 0.3s var(--ease),box-shadow 0.3s var(--ease);box-shadow:0 0 0 0 rgba(78,177,71,0.4)}
.sim-slider::-webkit-slider-thumb:hover{transform:scale(1.3);box-shadow:0 0 0 10px rgba(78,177,71,0.2)}
.sim-slider::-moz-range-thumb{width:16px;height:16px;background:var(--green);border-radius:50%;cursor:pointer;border:none}
.sim-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:14px 36px 14px 0;border:none;border-bottom:1px solid rgba(250,247,240,0.2);background:transparent;color:var(--paper);font-family:var(--sans);font-size:1rem;font-weight:500;cursor:pointer;letter-spacing:0.01em;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%234EB147' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;transition:border-color 0.3s var(--ease)}
.sim-select:hover,.sim-select:focus{outline:none;border-bottom-color:var(--green)}
.sim-select option,.sim-select optgroup{background:var(--ink-2);color:var(--paper);font-family:var(--sans)}
.sim-select optgroup{font-style:normal;font-weight:600;color:var(--green-hi);font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;padding:8px 0}
.sim-select option{font-weight:400;padding:6px 12px;font-size:0.95rem;color:var(--paper)}
.sim-scale{display:flex;justify-content:space-between;margin-top:14px;font-size:0.72rem;color:rgba(250,247,240,0.4);letter-spacing:0.05em}
.sim-results{background:rgba(250,247,240,0.03);backdrop-filter:blur(10px);border:1px solid var(--line-dark);padding:48px}
.sim-result{padding:24px 0;border-bottom:1px solid var(--line-dark);display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.sim-result:first-child{padding-top:0}
.sim-result:last-child{border-bottom:none;padding-bottom:0}
.sim-result-lbl{font-size:0.8rem;color:rgba(250,247,240,0.65);font-weight:400;text-transform:uppercase;letter-spacing:0.1em}
.sim-result-val{font-family:var(--display);font-size:2.4rem;color:var(--paper);letter-spacing:-0.01em;white-space:nowrap;line-height:0.85}
.sim-result-val.accent{font-size:3.8rem;color:var(--green)}
.sim-cta-wrap{margin-top:40px}
.sim-cta{background:var(--green);color:var(--ink);width:100%;justify-content:center;padding:22px 34px}
.sim-cta:hover{background:var(--green-hi)}
.sim-note{margin-top:24px;font-size:0.76rem;color:rgba(250,247,240,0.4);line-height:1.6}

.testimonials{background:linear-gradient(180deg,var(--stone-2) 0%,var(--stone-1) 50%,var(--stone-2) 100%);color:var(--paper);position:relative;overflow:hidden}
.testimonials::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(250,247,240,0.02) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;mask-image:linear-gradient(180deg,transparent,black 15%,black 85%,transparent)}
.testimonials .section-intro h2{color:var(--paper)}
.testimonials .section-intro p{color:rgba(250,247,240,0.6)}
.certif-band{background:rgba(20,20,17,0.35);backdrop-filter:blur(8px);border:1px solid var(--line-dark);margin-bottom:80px;position:relative;z-index:2;box-shadow:0 30px 60px -30px rgba(0,0,0,0.6)}
.certif-band-head{display:flex;justify-content:space-between;align-items:baseline;padding:32px 48px 28px;border-bottom:1px solid var(--line-dark);flex-wrap:wrap;gap:20px}
.certif-band-head-title{font-family:var(--serif);font-size:1.4rem;font-weight:300;letter-spacing:-0.015em;color:var(--paper)}
.certif-band-head-title em{color:var(--green);font-style:italic}
.certif-band-head-meta{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.22em;color:rgba(250,247,240,0.5);font-weight:500;display:inline-flex;align-items:center;gap:12px}
.certif-band-head-meta::before{content:'';width:6px;height:6px;background:var(--green);border-radius:50%}
.certif-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.certif-item{padding:36px 36px 44px;border-right:1px solid var(--line-dark);position:relative;transition:background 0.4s var(--ease)}
.certif-item:last-child{border-right:none}
.certif-item:hover{background:rgba(78,177,71,0.08)}
.certif-item-num{font-family:var(--display);font-size:0.8rem;color:var(--green);letter-spacing:0.12em;margin-bottom:22px;display:flex;align-items:center;gap:8px}
.certif-item-num::after{content:'';width:24px;height:1px;background:var(--green)}
.certif-item-title{font-family:var(--serif);font-size:1.3rem;font-weight:300;letter-spacing:-0.015em;line-height:1.15;color:var(--paper);margin-bottom:8px}
.certif-item-sub{font-size:0.8rem;color:rgba(250,247,240,0.55);letter-spacing:0.03em;line-height:1.5}
.testi-featured{margin-bottom:80px;padding:80px;background:var(--stone-card);border:1px solid var(--line-dark);position:relative;z-index:2;box-shadow:0 40px 80px -40px rgba(0,0,0,0.5)}
.testi-featured-mark{position:absolute;top:40px;right:60px;font-family:var(--display);font-size:9rem;color:var(--green);line-height:0.7;opacity:0.2;letter-spacing:-0.02em}
.testi-featured-quote{font-family:var(--serif);font-size:clamp(1.6rem,2.5vw,2.4rem);font-weight:300;line-height:1.35;color:var(--paper);max-width:1000px;letter-spacing:-0.01em;margin-bottom:40px;position:relative;z-index:2}
.testi-featured-author{display:flex;align-items:center;gap:20px;padding-top:32px;border-top:1px solid var(--line-dark);position:relative;z-index:2}
.testi-featured-avatar{width:52px;height:52px;border-radius:50%;background:var(--green-dark);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.05rem;font-weight:400}
.testi-featured-author-info{line-height:1.35}
.testi-featured-author-name{font-family:var(--serif);font-size:1.05rem;color:var(--paper);font-weight:400}
.testi-featured-author-meta{font-size:0.78rem;color:rgba(250,247,240,0.5);letter-spacing:0.04em}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;z-index:2}
.testi{padding:48px 40px;background:var(--stone-card);border:1px solid var(--line-dark);position:relative;transition:transform 0.4s var(--ease),box-shadow 0.4s var(--ease),border-color 0.4s var(--ease);display:flex;flex-direction:column}
.testi:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(0,0,0,0.5);border-color:rgba(78,177,71,0.3)}
.testi-stars{color:var(--green);letter-spacing:3px;font-size:0.8rem;margin-bottom:24px}
.testi-text{font-family:var(--serif);font-size:1.1rem;line-height:1.55;color:var(--paper);margin-bottom:36px;font-weight:300;letter-spacing:-0.005em;flex-grow:1}
.testi-author{padding-top:24px;border-top:1px solid var(--line-dark);display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.testi-name{font-family:var(--serif);font-size:1rem;font-weight:400;color:var(--paper)}
.testi-loc{font-size:0.76rem;color:rgba(250,247,240,0.5);letter-spacing:0.04em;text-align:right}

.contact{position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 20%,rgba(78,177,71,0.08) 0%,transparent 50%),linear-gradient(180deg,var(--ink) 0%,var(--ink-2) 100%);color:var(--paper)}
.contact::before{content:'';position:absolute;bottom:0;left:0;width:100%;height:50%;background:radial-gradient(ellipse at 10% 100%,rgba(78,177,71,0.06) 0%,transparent 55%);pointer-events:none}
.contact .section-intro h2{color:var(--paper)}
.contact .section-num{color:var(--green)}
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:120px;align-items:start;padding-top:40px;border-top:1px solid var(--line-dark);position:relative;z-index:2}
.contact-info > p{color:rgba(250,247,240,0.65);margin-bottom:64px;max-width:420px;line-height:1.75;font-size:1rem}
.contact-list{list-style:none}
.contact-item{padding:28px 0;border-top:1px solid var(--line-dark);display:grid;grid-template-columns:140px 1fr;gap:24px;align-items:baseline}
.contact-item:last-child{border-bottom:1px solid var(--line-dark)}
.contact-label{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.24em;color:rgba(250,247,240,0.5);font-weight:500}
.contact-value{color:var(--paper);font-size:1rem;line-height:1.6}
.contact-value a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color 0.3s}
.contact-value a:hover{border-color:var(--green);color:var(--green)}
.form{background:rgba(250,247,240,0.03);backdrop-filter:blur(12px);padding:64px 56px;border:1px solid var(--line-dark)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:32px}
.form-field{margin-bottom:32px}
.form-field label{display:block;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.22em;color:rgba(250,247,240,0.55);font-weight:500;margin-bottom:12px}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:14px 0;border:none;border-bottom:1px solid rgba(250,247,240,0.2);background:transparent;font-family:var(--sans);font-size:1rem;color:var(--paper);transition:border-color 0.3s;border-radius:0}
.form-field select option{background:var(--ink-2);color:var(--paper)}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-bottom-color:var(--green)}
.form-field input::placeholder,.form-field textarea::placeholder{color:rgba(250,247,240,0.3)}
.form-field textarea{resize:vertical;min-height:80px;line-height:1.5}
.form-submit{margin-top:16px;width:100%;justify-content:center;background:var(--green);color:var(--ink);padding:22px 34px}
.form-submit:hover{background:var(--green-hi)}
.form-note{font-size:0.76rem;color:rgba(250,247,240,0.4);text-align:center;margin-top:24px;letter-spacing:0.02em}

footer{background:linear-gradient(180deg,#0e0e0c 0%,#050504 100%);color:rgba(250,247,240,0.55);padding:120px 0 48px;border-top:1px solid var(--line-dark);position:relative;overflow:hidden}
footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--green) 50%,transparent 100%)}
.footer-giant{font-family:var(--display);font-size:clamp(6rem,20vw,22rem);line-height:0.8;color:rgba(250,247,240,0.03);letter-spacing:-0.03em;margin-bottom:80px;white-space:nowrap;overflow:hidden;pointer-events:none}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:80px;padding-bottom:96px;border-bottom:1px solid var(--line-dark);position:relative;z-index:2}
.footer-logo{margin-bottom:40px}
.footer-logo img{height:72px;display:block}
.footer-brand p{font-size:0.92rem;line-height:1.75;max-width:360px;margin-bottom:40px}
.footer-signal{display:inline-flex;align-items:center;gap:10px;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.22em;color:var(--green);font-weight:500}
.footer-signal::before{content:'';width:8px;height:8px;background:var(--green);border-radius:50%;animation:pulse 2s ease-in-out infinite}
footer .footer-heading{color:var(--paper);font-family:var(--sans);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.24em;margin-bottom:32px;font-weight:600}
.footer-links{list-style:none}
.footer-links li{margin-bottom:14px}
.footer-links a{color:rgba(250,247,240,0.55);text-decoration:none;font-size:0.9rem;transition:color 0.3s,padding 0.3s}
.footer-links a:hover{color:var(--green);padding-left:4px}
.footer-contact{font-size:0.9rem;line-height:1.95}
.footer-contact a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color 0.3s,color 0.3s}
.footer-contact a:hover{border-color:var(--green);color:var(--green)}
.footer-base{padding-top:48px;display:flex;justify-content:space-between;font-size:0.78rem;letter-spacing:0.04em;flex-wrap:wrap;gap:16px;color:rgba(250,247,240,0.4);position:relative;z-index:2}
.footer-credit{margin-top:32px;text-align:center;font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(250,247,240,0.22);font-weight:400;position:relative;z-index:2}

@keyframes fadeUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroImgIn{from{opacity:0;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}
@keyframes scrollLine{0%{top:-40px}100%{top:40px}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(78,177,71,0.6)}50%{box-shadow:0 0 0 10px rgba(78,177,71,0)}}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.reveal{opacity:0;transform:translateY(42px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:translateY(0)}

@media (max-width:1200px){
  .section-intro{grid-template-columns:1fr;gap:32px;margin-bottom:70px}
  .section-marker{gap:20px}
  .sim-wrap,.contact-grid{gap:70px}
  .real-footer{grid-template-columns:1fr 1fr;gap:40px;padding:56px 40px}
  .real-footer-title{grid-column:span 2;margin-bottom:20px}
  .certif-grid{grid-template-columns:repeat(2,1fr)}
  .certif-item:nth-child(2n){border-right:none}
  .certif-item{border-bottom:1px solid var(--line-dark)}
  .certif-item:nth-last-child(-n+2){border-bottom:none}
}
@media (max-width:1024px){
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .testi-grid{grid-template-columns:1fr}
  .stats-inner{grid-template-columns:repeat(2,1fr);gap:40px}
  .sim-wrap,.contact-grid{grid-template-columns:1fr;gap:60px}
  .footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:48px}
  .footer-brand{grid-column:span 3;margin-bottom:40px}
  .testi-featured{padding:48px 32px}
  .testi-featured-mark{top:20px;right:30px;font-size:6rem}
  .section-banner{height:260px}
  .battery-showcase{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .battery-main{grid-column:1/3;grid-row:auto;aspect-ratio:16/9}
  .battery-stats{grid-template-columns:repeat(2,1fr);gap:40px}
}
/* ===== Mobile fixed CTA bar ===== */
.mobile-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:999;background:linear-gradient(180deg,rgba(20,20,17,0.0) 0%,rgba(20,20,17,0.95) 40%,var(--ink) 100%);padding:18px 20px 22px;pointer-events:none}
.mobile-cta-bar a{pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:16px 24px;background:var(--green);color:var(--ink);text-decoration:none;font-family:var(--sans);font-size:0.95rem;font-weight:600;letter-spacing:0.02em;border-radius:4px;box-shadow:0 10px 30px -8px rgba(78,177,71,0.5);transition:background 0.3s,transform 0.2s}
.mobile-cta-bar a:active{transform:scale(0.98)}
.mobile-cta-bar a:hover{background:var(--green-hi)}
.mobile-cta-bar .arrow{transition:transform 0.3s}
.mobile-cta-bar a:active .arrow{transform:translateX(4px)}
.mobile-cta-bar.hidden{transform:translateY(100%);transition:transform 0.4s var(--ease)}
.mobile-cta-bar:not(.hidden){transform:translateY(0);transition:transform 0.4s var(--ease)}
[data-theme="light"] .mobile-cta-bar{background:linear-gradient(180deg,rgba(248,244,232,0) 0%,rgba(248,244,232,0.95) 40%,var(--ink) 100%)}

@media (max-width:720px){
  .nav-links{display:none}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--ink);padding:32px;border-bottom:1px solid var(--line-dark);gap:24px;align-items:flex-start}
  .burger{display:flex}
  .logo-img{height:48px}
  .nav.scrolled .logo-img{height:40px}
  .hero{padding:110px 0 60px;min-height:auto}
  .hero-title{font-size:clamp(2.2rem,9vw,3.2rem);line-height:1.04}
  .hero-lead{font-size:0.96rem;line-height:1.6;max-width:100%;margin-bottom:36px}
  .hero-meta-text{font-size:0.66rem}
  .hero-scroll,.hero-img-caption{position:static;margin-top:32px}
  section{padding:80px 0}
  .section-with-banner{padding-top:0}
  .section-with-banner .wrap{padding-top:40px}
  .section-banner{height:160px}
  .section-banner-label{font-size:clamp(3rem,15vw,6rem)}
  .section-banner-caption{font-size:0.62rem;bottom:18px;left:20px}
  .section-intro{grid-template-columns:1fr;gap:24px;margin-bottom:60px}
  .section-intro h2{font-size:clamp(1.9rem,7vw,2.6rem);line-height:1.1}
  .section-intro p{font-size:0.92rem;margin-top:20px}
  .section-marker{gap:16px}
  .section-num{font-size:clamp(3.2rem,12vw,4.5rem)}
  .services-grid{grid-template-columns:1fr}
  .service,.service-feature,.service-cta-card{padding:40px 28px;min-height:auto}
  .service-feature-content{padding:28px}
  .service h3{font-size:1.4rem}
  .service-bg-img{opacity:0.35}
  .real-grid{grid-template-columns:1fr}
  .real-1,.real-2,.real-3,.real-4,.real-5,.real-6,.real-7{grid-column:span 1;aspect-ratio:4/3}
  .real-footer{grid-template-columns:1fr;gap:32px;padding:40px 28px}
  .real-footer-title{grid-column:span 1;font-size:1.8rem}
  .real-content{padding:24px}
  .real h3{font-size:1.2rem}
  .real p{font-size:0.8rem}
  .form-row{grid-template-columns:1fr;gap:0}
  .form{padding:24px 18px}
  .form-field{margin-bottom:18px}
  .form-field label{font-size:0.6rem;letter-spacing:0.2em;margin-bottom:6px}
  .form-field input,.form-field select,.form-field textarea{padding:8px 0;font-size:0.88rem}
  .form-field textarea{min-height:50px}
  .form-submit{padding:13px 22px;font-size:0.78rem;margin-top:8px}
  .form-note{font-size:0.66rem;margin-top:14px}
  .contact-item{grid-template-columns:1fr;gap:4px;padding:12px 0}
  .contact-list{gap:0}
  .contact-label{font-size:0.6rem}
  .contact-value{font-size:0.9rem}
  .contact-grid{grid-template-columns:1fr;gap:32px}
  .contact-info > p{font-size:0.88rem;line-height:1.55;margin-bottom:32px}
  .sim-result-val.accent{font-size:1.7rem}
  .sim-result-val{font-size:1.2rem}
  .sim-result{padding:12px 0}
  .sim-result-lbl{font-size:0.64rem;letter-spacing:0.06em}
  .sim-results{padding:18px 16px}
  .sim-wrap{grid-template-columns:1fr;gap:24px}
  .sim-field{margin-bottom:22px}
  .sim-field label{font-size:0.62rem;letter-spacing:0.16em}
  .sim-field .field-value{font-size:1.3rem}
  .sim-field-top{margin-bottom:10px;flex-wrap:wrap;gap:8px}
  .sim-scale{font-size:0.6rem;margin-top:8px}
  .sim-select{font-size:0.9rem;padding:10px 0}
  .testi{padding:32px 24px}
  .testi-featured{padding:32px 24px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .footer-brand{grid-column:span 2}
  .footer-base{flex-direction:column;align-items:flex-start;gap:12px}
  .footer-giant{font-size:clamp(4rem,18vw,8rem)}
  .certif-grid{grid-template-columns:1fr}
  .certif-item{border-right:none;border-bottom:1px solid var(--line-dark);padding:28px 24px}
  .certif-item:last-child{border-bottom:none}
  .certif-band-head{flex-direction:column;align-items:flex-start;gap:14px;padding:24px}
  .certif-band-head-title{font-size:1.15rem}
  .battery-showcase{grid-template-columns:1fr;grid-template-rows:auto}
  .battery-main{grid-column:1;grid-row:auto;aspect-ratio:4/3}
  .battery-item{aspect-ratio:4/3}
  .battery-caption{left:20px;right:20px;bottom:20px}
  .battery-caption h3{font-size:1.3rem}
  .battery-caption p{font-size:0.8rem}
  .battery-caption-tag{font-size:1.8rem}
  .battery-brands{flex-direction:column;align-items:flex-start;gap:18px;padding:24px}
  .battery-brands-list{gap:16px}
  .battery-brands-list span{font-size:0.95rem}
  .battery-stats{grid-template-columns:1fr;gap:28px}
  .battery-stat-num{font-size:2.6rem}
  .theme-toggle{width:42px;height:42px;bottom:88px;right:16px}
  .theme-toggle svg{width:16px;height:16px}
  /* Afficher le bandeau CTA fixe sur mobile */
  .mobile-cta-bar{display:block}
  /* Cacher le bouton secondaire "Voir réalisations" et "Découvrir" sur mobile */
  .hero-actions .btn-ghost-light{display:none}
  .hero-actions .btn-green{font-size:0.82rem;padding:14px 24px}
  .hero-scroll{display:none}
  /* Padding bottom body pour éviter que le contenu passe sous le bandeau */
  body{padding-bottom:84px}
  /* Pas de bandeau visible sur la section contact (le formulaire est déjà là) */
  .contact:target ~ .mobile-cta-bar{display:none}
}
@media (max-width:480px){
  .hero-actions{flex-direction:column;align-items:stretch}
  .btn{justify-content:center}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{grid-column:span 1}
  .stats-inner{grid-template-columns:1fr;gap:32px}
  .stat-num{font-size:3rem}
  .hero-title{font-size:clamp(2rem,10vw,2.8rem)}
  .wrap{padding:0 20px}
}

/* ===== Ajouts refonte multi-page (mêmes variables, même identité) ===== */
a,a:visited{color:var(--green)}
a:hover,a:focus-visible{color:var(--green-hi)}
.nav-links .has-sub{position:relative}
.nav-links .sub{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:250px;background:var(--ink-2);border:1px solid var(--line-dark);border-radius:10px;padding:10px 0;box-shadow:0 12px 32px rgba(0,0,0,0.35);z-index:200}
.nav-links .has-sub:hover .sub,.nav-links .has-sub:focus-within .sub{display:block}
.nav-links .sub li{display:block}
.nav-links .sub a{display:block;padding:9px 18px;font-size:0.82rem;white-space:nowrap}
[data-theme="light"] .nav-links .sub{background:var(--stone-card);box-shadow:0 12px 32px rgba(20,20,17,0.15)}
@media (max-width:900px){
  .nav-links .sub{position:static;transform:none;box-shadow:none;border:none;background:transparent;padding:0 0 0 16px}
  .nav-links .has-sub .sub{display:none}
  .nav-links .has-sub.sub-open .sub{display:block}
}
.breadcrumb{padding:96px 0 0;font-size:0.78rem;letter-spacing:0.04em;color:var(--ink-5)}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.breadcrumb li+li:before{content:"→";margin-right:8px;opacity:0.5}
.breadcrumb a{color:inherit;text-decoration:none}
.breadcrumb a:hover{color:var(--green)}
.page-hero{padding:44px 0 8px}
.page-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.12;letter-spacing:-0.01em;margin:0 0 18px}
.page-hero h1 em{color:var(--green);font-style:italic}
.page-hero .page-lead{max-width:680px;font-size:1.02rem;line-height:1.75;color:var(--ink-5)}
.page-body{padding:34px 0 20px}
.page-body h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.25;margin:44px 0 16px}
.page-body h3{font-size:1.05rem;margin:28px 0 10px}
.page-body p,.page-body li{font-size:0.98rem;line-height:1.8;color:var(--ink-5)}
.page-body p a,.page-body li a{color:var(--green);text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .25s ease}
.page-body p a:hover,.page-body li a:hover{color:var(--green-hi)}
.page-body ul{padding-left:20px}
.page-body strong{color:var(--paper)}
[data-theme="light"] .page-body strong{color:var(--paper)}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:26px 0}
.step-card{background:var(--stone-card);border:1px solid var(--line-warm);border-radius:12px;padding:22px}
.step-card .step-num{font-family:var(--display);font-size:1.6rem;color:var(--green);margin-bottom:10px}
.step-card h3{margin:0 0 8px;font-size:0.98rem}
.step-card p{font-size:0.88rem;margin:0}
.faq-item{border-bottom:1px solid var(--line-warm);padding:18px 0}
.faq-item h3{margin:0 0 8px;font-size:1rem}
.faq-item p{margin:0;font-size:0.94rem}
.page-cta{margin:52px 0 64px;background:var(--stone-card);border:1px solid var(--line-warm);border-radius:14px;padding:34px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.page-cta .page-cta-txt{font-family:var(--serif);font-size:1.3rem;max-width:520px}
.confirm-note{display:none!important}
.service h3 a{color:inherit;text-decoration:none;transition:color 0.3s var(--ease)}
.service h3 a:hover{color:var(--green)}

/* Preserve the official logo ratio at narrow widths. */
.footer-logo img{max-width:100%;height:auto;object-fit:contain}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.hero-bg img{animation:none;opacity:1}}
