:root {
  --cs-blue:       #273A70;
  --cs-blue-dark:  #1a2755;
  --cs-blue-light: #3a5299;
  --cs-orange:     #EFA031;
  --cs-orange-dark:#d4891e;
  --cs-white:      #ffffff;
  --cs-black:      #1a1a1a;
  --cs-gray-50:    #f8fafc;
  --cs-gray-100:   #f1f5f9;
  --cs-gray-200:   #e2e8f0;
  --cs-gray-300:   #cbd5e1;
  --cs-gray-400:   #94a3b8;
  --cs-gray-500:   #64748b;
  --cs-gray-600:   #475569;
  --cs-gray-700:   #334155;
  --cs-green:      #10b981;
  --cs-container:  1320px;
  --cs-px:         1.5rem;
  --cs-topbar-h:   40px;
  --cs-header-h:   76px;
  --cs-total-h:    116px;
  --cs-radius:     12px;
  --cs-radius-sm:  8px;
  --cs-shadow:     0 4px 16px rgba(0,0,0,.08);
  --cs-shadow-lg:  0 12px 40px rgba(0,0,0,.12);
  --cs-tr:         .3s cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { font-family:'Urbanist',-apple-system,BlinkMacSystemFont,sans-serif; color:var(--cs-black); background:#fff; line-height:1.6; font-size:16px; }
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }
ul,ol { list-style:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
input,select,textarea { font-family:inherit; }

/* ── Container ── */
.cs-container { width:100%; max-width:var(--cs-container); margin:0 auto; padding:0 var(--cs-px); }
.cs-main { overflow-x:hidden; }

/* ── Reveal: only hide when JS has loaded ── */
.js-loaded [data-reveal] { opacity:0; transform:translateY(20px); transition:opacity .55s ease,transform .55s ease; }
.js-loaded [data-reveal].cs-revealed { opacity:1; transform:none; }

/* ── Top Bar ── */
.cs-topbar { background:var(--cs-blue); height:var(--cs-topbar-h); display:flex; align-items:center; }
.cs-topbar-inner { max-width:var(--cs-container); margin:0 auto; padding:0 var(--cs-px); display:flex; align-items:center; gap:1rem; width:100%; font-size:.8rem; color:rgba(255,255,255,.8); }
.cs-topbar-item { display:flex; align-items:center; gap:.35rem; white-space:nowrap; }
.cs-topbar-sep { flex:1; }
.cs-topbar-phone { display:flex; align-items:center; gap:.35rem; color:#fff; font-weight:700; font-size:.85rem; white-space:nowrap; transition:color var(--cs-tr); }
.cs-topbar-phone:hover { color:var(--cs-orange); }
.cs-topbar-call-btn { background:var(--cs-orange); color:#fff; font-size:.75rem; font-weight:700; padding:.25rem .8rem; border-radius:9999px; transition:background var(--cs-tr); white-space:nowrap; }
.cs-topbar-call-btn:hover { background:var(--cs-orange-dark); }
@media(max-width:640px) { .cs-topbar-item { display:none; } .cs-topbar-sep { display:none; } }

/* ── Header ── */
.cs-header { position:sticky; top:0; left:0; right:0; z-index:1000; height:var(--cs-header-h); background:#fff; border-bottom:1px solid var(--cs-gray-100); box-shadow:0 1px 12px rgba(0,0,0,.06); transition:box-shadow var(--cs-tr); }
.cs-header.cs-scrolled { box-shadow:0 4px 24px rgba(0,0,0,.12); }
.cs-header-inner { display:flex; align-items:center; gap:.75rem; height:100%; max-width:var(--cs-container); margin:0 auto; padding:0 var(--cs-px); }
.cs-logo { flex-shrink:0; display:flex; align-items:center; }
.cs-logo img { height:50px; width:auto; max-width:150px; object-fit:contain; }
.cs-nav { flex:1; display:flex; justify-content:center; overflow:hidden; min-width:0; }
.cs-nav-list { display:flex; align-items:center; flex-wrap:nowrap; gap:0; justify-content:center; }
.cs-nav-list li a { display:block; padding:.3rem .5rem; font-size:.775rem; font-weight:600; color:var(--cs-gray-600); white-space:nowrap; border-radius:6px; transition:background var(--cs-tr),color var(--cs-tr); }
.cs-nav-list li a:hover,.cs-nav-list .current-menu-item > a { background:var(--cs-gray-100); color:var(--cs-blue); }
.cs-header-cta { flex-shrink:0; display:flex; align-items:center; gap:.6rem; }
.cs-btn-outline-phone { display:flex; align-items:center; gap:.4rem; padding:.4rem .8rem; border:2px solid var(--cs-blue); border-radius:9999px; font-size:.78rem; font-weight:700; color:var(--cs-blue); white-space:nowrap; transition:background var(--cs-tr),color var(--cs-tr); }
.cs-btn-outline-phone:hover { background:var(--cs-blue); color:#fff; }
.cs-phone-hide { display:none; }
@media(min-width:1100px) { .cs-phone-hide { display:inline; } }
.cs-hamburger { display:none; flex-direction:column; gap:5px; padding:8px; border-radius:8px; transition:background var(--cs-tr); }
.cs-hamburger span { display:block; width:22px; height:2px; background:var(--cs-blue); border-radius:2px; transition:transform var(--cs-tr),opacity var(--cs-tr); }
.cs-hamburger.is-active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.cs-hamburger.is-active span:nth-child(2) { opacity:0; }
.cs-hamburger.is-active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ── Page wrap offset for sticky header ── */
#cs-page-wrap { /* no padding needed since header is sticky, not fixed */ }

/* ── Mobile Drawer ── */
.cs-drawer-overlay { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:1100; opacity:0; pointer-events:none; transition:opacity var(--cs-tr); }
.cs-drawer-overlay.is-open { opacity:1; pointer-events:all; }
.cs-drawer { position:fixed; top:0; right:0; bottom:0; width:min(340px,85vw); background:#fff; z-index:1200; transform:translateX(100%); transition:transform var(--cs-tr); display:flex; flex-direction:column; }
.cs-drawer.is-open { transform:none; box-shadow:-8px 0 32px rgba(0,0,0,.15); }
.cs-drawer-header { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.25rem; border-bottom:1px solid var(--cs-gray-100); }
.cs-drawer-close { padding:6px; border-radius:8px; color:var(--cs-gray-500); }
.cs-drawer-body { flex:1; overflow-y:auto; padding:1rem; }
.cs-drawer-nav { display:flex; flex-direction:column; gap:.2rem; }
.cs-drawer-nav li a { display:block; padding:.7rem 1rem; border-radius:var(--cs-radius-sm); font-weight:600; font-size:.95rem; color:var(--cs-gray-700); transition:background var(--cs-tr),color var(--cs-tr); }
.cs-drawer-nav li a:hover { background:var(--cs-gray-100); color:var(--cs-blue); }
.cs-drawer-footer { padding:1rem 1.25rem; border-top:1px solid var(--cs-gray-100); display:flex; flex-direction:column; gap:.5rem; }

/* ── Sticky Call Strip ── */
.cs-call-strip { display:none; }
@media(max-width:767px) {
  .cs-call-strip { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:990; height:54px; }
  .cs-call-strip-btn { flex:1; background:var(--cs-blue); color:#fff; display:flex; align-items:center; justify-content:center; gap:.4rem; font-weight:700; font-size:.95rem; }
  .cs-call-strip-devis { flex:1; background:var(--cs-orange); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.95rem; }
  body { padding-bottom:54px; }
}

/* ── Buttons ── */
.cs-btn { display:inline-flex; align-items:center; gap:.4rem; justify-content:center; padding:.65rem 1.5rem; border-radius:9999px; font-weight:700; font-size:.9rem; transition:background var(--cs-tr),transform var(--cs-tr),box-shadow var(--cs-tr); white-space:nowrap; cursor:pointer; border:none; }
.cs-btn:hover { transform:translateY(-2px); }
.cs-btn-orange { background:var(--cs-orange); color:#fff; }
.cs-btn-orange:hover { background:var(--cs-orange-dark); box-shadow:0 8px 24px rgba(239,160,49,.35); }
.cs-btn-blue { background:var(--cs-blue); color:#fff; }
.cs-btn-blue:hover { background:var(--cs-blue-dark); box-shadow:0 8px 24px rgba(39,58,112,.3); }
.cs-btn-white { background:#fff; color:var(--cs-blue); }
.cs-btn-white:hover { background:var(--cs-gray-100); }
.cs-btn-white-outline { background:transparent; color:#fff; border:2px solid #fff; }
.cs-btn-white-outline:hover { background:#fff; color:var(--cs-orange); }
.cs-btn-outline-orange { background:transparent; color:var(--cs-orange); border:2px solid var(--cs-orange); }
.cs-btn-outline-orange:hover { background:var(--cs-orange); color:#fff; }
.cs-btn-glass { background:rgba(255,255,255,.15); color:#fff; border:1px solid rgba(255,255,255,.3); backdrop-filter:blur(8px); }
.cs-btn-glass:hover { background:rgba(255,255,255,.25); }
.cs-btn-sm { padding:.45rem 1rem; font-size:.8rem; }
.cs-btn-lg { padding:.85rem 2rem; font-size:1rem; }
.cs-btn-xl { padding:1rem 2.25rem; font-size:1.05rem; }
.cs-btn-full { width:100%; }
.cs-btn-pulse { animation:csPulse 2.5s cubic-bezier(.4,0,.6,1) infinite; }
@keyframes csPulse { 0%,100%{box-shadow:0 0 0 0 rgba(239,160,49,.4);} 50%{box-shadow:0 0 0 12px rgba(239,160,49,0);} }
.cs-link-arrow { display:inline-flex; align-items:center; gap:.3rem; font-weight:600; color:var(--cs-blue); transition:gap var(--cs-tr),color var(--cs-tr); }
.cs-link-arrow:hover { gap:.55rem; color:var(--cs-orange); }

/* ── Urgency Bar ── */
.cs-urgency-bar { background:linear-gradient(90deg,#1a2755,#273A70); padding:.6rem 1rem; text-align:center; }
.cs-urgency-inner { display:flex; align-items:center; justify-content:center; gap:.75rem; flex-wrap:wrap; font-size:.85rem; color:#fff; }
.cs-urgency-inner strong { color:var(--cs-orange); }
.cs-urgency-cta { background:var(--cs-orange); color:#fff; padding:.2rem .75rem; border-radius:9999px; font-size:.8rem; font-weight:700; transition:background var(--cs-tr); }
.cs-urgency-cta:hover { background:var(--cs-orange-dark); }

/* ── Hero ── */
.cs-hero { position:relative; min-height:100vh; display:flex; align-items:center; background-size:cover; background-position:center; background-color:var(--cs-blue); }
.cs-hero-overlay { position:absolute; inset:0; background:linear-gradient(120deg,rgba(15,30,64,.93) 0%,rgba(39,58,112,.78) 55%,rgba(15,30,64,.6) 100%); }
.cs-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1fr 460px; gap:3.5rem; align-items:center; padding-top:3rem; padding-bottom:3rem; }
.cs-hero-content { color:#fff; }
.cs-pill { display:inline-flex; align-items:center; gap:.4rem; background:rgba(239,160,49,.2); color:var(--cs-orange); font-size:.75rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:.35rem .9rem; border-radius:9999px; margin-bottom:1.25rem; border:1px solid rgba(239,160,49,.35); }
.cs-hero-badge-row { margin-bottom:.5rem; }
.cs-hero-title { font-size:clamp(2rem,4vw,3.5rem); font-weight:900; line-height:1.1; margin-bottom:1rem; letter-spacing:-.02em; }
.cs-hero-offer { display:block; color:var(--cs-orange); }
.cs-hero-sub { font-size:1.05rem; color:rgba(255,255,255,.8); max-width:500px; margin-bottom:1.75rem; line-height:1.65; }
.cs-hero-stats { display:flex; gap:2rem; margin-bottom:1.75rem; flex-wrap:wrap; }
.cs-hero-stat strong { display:block; font-size:1.5rem; font-weight:900; color:var(--cs-orange); }
.cs-hero-stat span { font-size:.8rem; color:rgba(255,255,255,.65); }
.cs-hero-ctas { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:1.25rem; }
.cs-hero-trust { font-size:.82rem; color:rgba(255,255,255,.6); display:flex; align-items:center; gap:.4rem; }
.cs-hero-form { background:#fff; border-radius:16px; padding:2rem; box-shadow:0 24px 64px rgba(0,0,0,.25); }

/* ── Trust Bar ── */
.cs-trust-bar { background:#fff; border-bottom:1px solid var(--cs-gray-100); padding:1.25rem 0; }
.cs-trust-label { text-align:center; font-size:.8rem; color:var(--cs-gray-400); text-transform:uppercase; letter-spacing:.05em; font-weight:600; margin-bottom:.75rem; }
.cs-trust-logos { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:2rem; }
.cs-trust-logos span { font-size:.85rem; font-weight:700; color:var(--cs-gray-400); white-space:nowrap; }

/* ── Sections ── */
.cs-section { padding:4.5rem 0; }
.cs-section-hdr { text-align:center; margin-bottom:3rem; }
.cs-eyebrow { font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--cs-orange); margin-bottom:.5rem; }
.cs-eyebrow--light { color:rgba(239,160,49,.8); }
.cs-section-title { font-size:clamp(1.65rem,2.8vw,2.4rem); font-weight:800; color:var(--cs-blue); line-height:1.2; margin:.25rem 0; }
.cs-section-lead { font-size:1rem; color:var(--cs-gray-500); max-width:580px; margin:.75rem auto 0; line-height:1.7; }

/* ── Features ── */
.cs-features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.cs-feature-card { background:var(--cs-gray-50); border:1px solid var(--cs-gray-100); border-radius:var(--cs-radius); padding:2rem 1.75rem; transition:box-shadow var(--cs-tr),transform var(--cs-tr); position:relative; }
.cs-feature-card:hover { box-shadow:var(--cs-shadow-lg); transform:translateY(-4px); }
.cs-feature-card--accent { background:var(--cs-blue); border-color:var(--cs-blue); }
.cs-feature-card--accent h3,.cs-feature-card--accent p { color:#fff; }
.cs-feature-badge { position:absolute; top:1rem; right:1rem; background:var(--cs-orange); color:#fff; font-size:.7rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:.2rem .65rem; border-radius:9999px; }
.cs-feature-icon { width:56px; height:56px; border-radius:var(--cs-radius-sm); display:flex; align-items:center; justify-content:center; margin-bottom:1.25rem; background:var(--cs-blue); }
.cs-feature-icon--orange { background:var(--cs-orange); }
.cs-feature-card h3 { font-size:1.05rem; font-weight:800; color:var(--cs-blue); margin-bottom:.5rem; }
.cs-feature-card p { font-size:.875rem; color:var(--cs-gray-500); line-height:1.65; }

/* ── CTA Band ── */
.cs-cta-band { background:var(--cs-blue); padding:3rem 0; }
.cs-cta-band-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.cs-cta-band-title { font-size:clamp(1.35rem,2.2vw,1.75rem); font-weight:800; color:#fff; margin-bottom:.35rem; }
.cs-cta-band-sub { color:rgba(255,255,255,.7); font-size:.95rem; }
.cs-cta-band-actions { display:flex; gap:1rem; flex-wrap:wrap; flex-shrink:0; }

/* ── Models ── */
.cs-models-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:1.25rem; }
.cs-model-card { background:#fff; border-radius:var(--cs-radius); overflow:hidden; box-shadow:var(--cs-shadow); transition:box-shadow var(--cs-tr),transform var(--cs-tr); border:1px solid var(--cs-gray-100); }
.cs-model-card:hover { box-shadow:var(--cs-shadow-lg); transform:translateY(-4px); }
.cs-model-img { position:relative; height:200px; overflow:hidden; background:var(--cs-gray-100); }
.cs-model-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.cs-model-card:hover .cs-model-img img { transform:scale(1.05); }
.cs-model-img-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--cs-gray-100),var(--cs-gray-200)); }
.cs-model-badge { position:absolute; top:.75rem; left:.75rem; background:var(--cs-blue); color:#fff; font-size:.7rem; font-weight:800; padding:.25rem .7rem; border-radius:9999px; }
.cs-model-solar-badge { position:absolute; top:.75rem; right:.75rem; background:var(--cs-orange); color:#fff; font-size:.68rem; font-weight:700; padding:.2rem .6rem; border-radius:9999px; display:flex; align-items:center; gap:.3rem; }
.cs-model-body { padding:1.25rem; }
.cs-model-title { font-size:1rem; font-weight:800; color:var(--cs-blue); margin-bottom:.75rem; }
.cs-model-specs { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1rem; }
.cs-model-specs li { display:flex; align-items:center; gap:.5rem; font-size:.82rem; color:var(--cs-gray-600); }

/* ── Solar Notice ── */
.cs-solar-notice { background:rgba(39,58,112,.06); border:1px solid rgba(39,58,112,.15); border-radius:var(--cs-radius-sm); padding:1rem 1.25rem; display:flex; align-items:flex-start; gap:.75rem; margin-bottom:2rem; }
.cs-solar-notice p { font-size:.9rem; color:var(--cs-blue); line-height:1.6; }

/* ── Simulators promo ── */
.cs-sims-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.cs-sim-card { background:#fff; border:1px solid var(--cs-gray-200); border-radius:var(--cs-radius); padding:2rem; text-align:center; transition:box-shadow var(--cs-tr),transform var(--cs-tr); }
.cs-sim-card:hover { box-shadow:var(--cs-shadow-lg); transform:translateY(-4px); }
.cs-sim-icon { width:64px; height:64px; background:rgba(39,58,112,.08); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 1.25rem; }
.cs-sim-card h3 { font-size:1.05rem; font-weight:800; color:var(--cs-blue); margin-bottom:.5rem; }
.cs-sim-card p { font-size:.875rem; color:var(--cs-gray-500); margin-bottom:1.25rem; line-height:1.6; }

/* ── Process Steps ── */
.cs-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; counter-reset:step; }
.cs-step { display:flex; flex-direction:column; align-items:flex-start; }
.cs-step-num { width:52px; height:52px; background:var(--cs-orange); color:#fff; font-size:1.25rem; font-weight:900; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:1rem; flex-shrink:0; }
.cs-step-title { font-size:1rem; font-weight:800; color:var(--cs-blue); margin-bottom:.5rem; }
.cs-step-body p { font-size:.875rem; color:var(--cs-gray-500); line-height:1.65; }

/* ── Trust Section ── */
.cs-trust-grid { display:grid; grid-template-columns:1fr 460px; gap:4rem; align-items:center; }
.cs-trust-list { display:flex; flex-direction:column; gap:.6rem; margin-top:1.5rem; }
.cs-trust-list li { display:flex; align-items:center; gap:.65rem; font-size:.9rem; color:rgba(255,255,255,.85); }
.cs-trust-form-box { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); border-radius:var(--cs-radius); padding:2rem; backdrop-filter:blur(8px); }
.cs-trust-form-box .cs-form-wrap { background:transparent; }
.cs-trust-form-box label { color:rgba(255,255,255,.85); }
.cs-trust-form-box input,.cs-trust-form-box textarea,.cs-trust-form-box select { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.2); color:#fff; }
.cs-trust-form-box input::placeholder,.cs-trust-form-box textarea::placeholder { color:rgba(255,255,255,.4); }

/* ── About ── */
.cs-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.cs-timeline { display:flex; flex-direction:column; gap:0; margin-top:1.5rem; }
.cs-tl-item { display:flex; gap:1.25rem; padding-bottom:1.75rem; position:relative; }
.cs-tl-item::before { content:''; position:absolute; left:32px; top:44px; bottom:0; width:2px; background:var(--cs-gray-200); }
.cs-tl-item:last-child::before { display:none; }
.cs-tl-year { min-width:64px; height:44px; background:var(--cs-blue); color:#fff; font-weight:800; font-size:.85rem; border-radius:var(--cs-radius-sm); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cs-tl-item--current .cs-tl-year { background:var(--cs-orange); }
.cs-tl-body strong { display:block; font-weight:800; color:var(--cs-blue); margin-bottom:.3rem; }
.cs-tl-body p { font-size:.875rem; color:var(--cs-gray-500); line-height:1.65; }
.cs-about-values { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.cs-value-card { background:var(--cs-blue); color:#fff; border-radius:var(--cs-radius); padding:1.75rem; text-align:center; }
.cs-value-num { font-size:2.5rem; font-weight:900; color:var(--cs-orange); line-height:1; margin-bottom:.35rem; }
.cs-value-label { font-size:.875rem; color:rgba(255,255,255,.75); }
.cs-cert-list-lg { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
.cs-cert-item-lg { display:flex; align-items:flex-start; gap:1rem; padding:1.25rem; border:1px solid var(--cs-gray-200); border-radius:var(--cs-radius-sm); }
.cs-cert-item-lg strong { display:block; color:var(--cs-blue); font-weight:800; margin-bottom:.3rem; }
.cs-cert-item-lg p { font-size:.875rem; color:var(--cs-gray-500); line-height:1.55; }

/* ── Service Includes ── */
.cs-includes-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1rem; }
.cs-include-item { display:flex; align-items:flex-start; gap:.75rem; padding:1rem; border:1px solid var(--cs-gray-100); border-radius:var(--cs-radius-sm); background:var(--cs-gray-50); }
.cs-include-item div { display:flex; flex-direction:column; }
.cs-include-item strong { font-size:.9rem; font-weight:700; color:var(--cs-blue); margin-bottom:.2rem; }
.cs-include-item span { font-size:.8rem; color:var(--cs-gray-500); }

/* ── Devis CTA Section ── */
.cs-devis-cta-section { display:grid; grid-template-columns:1fr 460px; gap:4rem; align-items:center; }
.cs-devis-form-box { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); border-radius:var(--cs-radius); padding:2rem; }
.cs-devis-form-box label { color:rgba(255,255,255,.85); }
.cs-devis-form-box input,.cs-devis-form-box textarea,.cs-devis-form-box select { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.2); color:#fff; }
.cs-devis-form-box input::placeholder,.cs-devis-form-box textarea::placeholder { color:rgba(255,255,255,.4); }
.cs-devis-form-box .cs-form-title { color:#fff; }

/* ── Partners ── */
.cs-partner-group { margin-bottom:2.5rem; }
.cs-partner-group-title { font-size:1rem; font-weight:800; color:var(--cs-blue); margin-bottom:1rem; padding-bottom:.5rem; border-bottom:2px solid var(--cs-orange); display:inline-block; }
.cs-partner-cards { display:flex; flex-wrap:wrap; gap:.75rem; }
.cs-partner-card { background:var(--cs-gray-50); border:1px solid var(--cs-gray-200); border-radius:var(--cs-radius-sm); padding:.75rem 1.25rem; transition:border-color var(--cs-tr),box-shadow var(--cs-tr); }
.cs-partner-card:hover { border-color:var(--cs-blue); box-shadow:var(--cs-shadow); }
.cs-partner-name { font-size:.875rem; font-weight:700; color:var(--cs-blue); }

/* ── Videos ── */
.cs-videos-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:1.5rem; }
.cs-video-card { background:#fff; border-radius:var(--cs-radius); overflow:hidden; box-shadow:var(--cs-shadow); }
.cs-video-embed { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; }
.cs-video-embed iframe { position:absolute; top:0; left:0; width:100%; height:100%; }
.cs-video-body { padding:1rem; }
.cs-video-title { font-size:.95rem; font-weight:700; color:var(--cs-blue); }

/* ── Blog ── */
.cs-blog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.5rem; }
.cs-blog-card { background:#fff; border-radius:var(--cs-radius); overflow:hidden; box-shadow:var(--cs-shadow); border:1px solid var(--cs-gray-100); }
.cs-blog-img { display:block; overflow:hidden; height:200px; }
.cs-blog-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.cs-blog-card:hover .cs-blog-img img { transform:scale(1.04); }
.cs-blog-body { padding:1.25rem; }
.cs-blog-meta { font-size:.8rem; color:var(--cs-gray-400); margin-bottom:.5rem; }
.cs-blog-title { font-size:1.05rem; font-weight:800; color:var(--cs-blue); margin-bottom:.6rem; line-height:1.35; }
.cs-blog-title a { color:inherit; }
.cs-blog-title a:hover { color:var(--cs-orange); }
.cs-blog-excerpt { font-size:.875rem; color:var(--cs-gray-500); margin-bottom:1rem; line-height:1.65; }
.cs-blog-single { max-width:820px; margin:0 auto; padding:60px var(--cs-px) 80px; }
.cs-blog-single-title { font-size:2rem; font-weight:900; color:var(--cs-blue); margin-bottom:.75rem; }
.cs-blog-single-meta { font-size:.875rem; color:var(--cs-gray-400); margin-bottom:2rem; padding-bottom:1rem; border-bottom:1px solid var(--cs-gray-100); }
.cs-blog-single-body p { margin-bottom:1.25rem; line-height:1.75; }

/* ── Simulator Shared ── */
.cs-sim-layout { display:grid; grid-template-columns:1fr 380px; gap:2.5rem; align-items:start; }
.cs-sim-panel { background:#fff; border:1px solid var(--cs-gray-200); border-radius:var(--cs-radius); padding:2rem; }
.cs-sim-title { font-size:1.25rem; font-weight:800; color:var(--cs-blue); margin-bottom:1.5rem; }
.cs-sim-group { margin-bottom:1.25rem; }
.cs-sim-label { display:block; font-size:.875rem; font-weight:700; color:var(--cs-gray-700); margin-bottom:.45rem; }
.cs-sim-input { width:100%; padding:.65rem .9rem; border:1.5px solid var(--cs-gray-200); border-radius:var(--cs-radius-sm); font-size:.9rem; transition:border-color var(--cs-tr); color:var(--cs-black); background:#fff; }
.cs-sim-input:focus { outline:none; border-color:var(--cs-blue); }
.cs-sim-select { width:100%; padding:.65rem .9rem; border:1.5px solid var(--cs-gray-200); border-radius:var(--cs-radius-sm); font-size:.9rem; color:var(--cs-black); background:#fff; }
.cs-sim-search-row { display:flex; gap:.6rem; }
.cs-sim-search-row .cs-sim-input { flex:1; }
.cs-suggestions { background:#fff; border:1px solid var(--cs-gray-200); border-radius:var(--cs-radius-sm); box-shadow:var(--cs-shadow); margin-top:4px; display:none; }
.cs-suggestion-item { padding:.65rem .9rem; cursor:pointer; font-size:.875rem; border-bottom:1px solid var(--cs-gray-100); }
.cs-suggestion-item:hover { background:var(--cs-gray-50); color:var(--cs-blue); }
.cs-slider { width:100%; accent-color:var(--cs-blue); }
.cs-slider-labels { display:flex; justify-content:space-between; font-size:.78rem; color:var(--cs-gray-400); margin-top:.25rem; }
.cs-sim-info { display:flex; flex-direction:column; gap:1.25rem; }
.cs-info-card { background:var(--cs-gray-50); border:1px solid var(--cs-gray-100); border-radius:var(--cs-radius-sm); padding:1.5rem; }
.cs-info-card h3 { font-size:1rem; font-weight:800; color:var(--cs-blue); margin-bottom:.75rem; }
.cs-info-card p { font-size:.875rem; color:var(--cs-gray-500); line-height:1.65; }
.cs-info-list { display:flex; flex-direction:column; gap:.4rem; }
.cs-info-list li { font-size:.85rem; color:var(--cs-gray-600); padding-left:1rem; position:relative; }
.cs-info-list li::before { content:''; position:absolute; left:0; top:.55em; width:6px; height:6px; background:var(--cs-orange); border-radius:50%; }

/* Climate Results */
.cs-climate-results { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--cs-gray-200); }
.cs-results-title { font-size:1rem; font-weight:800; color:var(--cs-blue); margin-bottom:1rem; }
.cs-results-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin-bottom:1rem; }
.cs-result-card { background:var(--cs-gray-50); border:1px solid var(--cs-gray-200); border-radius:var(--cs-radius-sm); padding:1rem; text-align:center; }
.cs-result-icon { display:flex; justify-content:center; margin-bottom:.5rem; }
.cs-result-val { font-size:1.5rem; font-weight:900; color:var(--cs-blue); line-height:1; margin-bottom:.3rem; }
.cs-result-label { font-size:.75rem; color:var(--cs-gray-500); }
.cs-results-rec { background:rgba(39,58,112,.06); border-left:3px solid var(--cs-blue); padding:.75rem 1rem; font-size:.875rem; color:var(--cs-blue); line-height:1.6; border-radius:0 var(--cs-radius-sm) var(--cs-radius-sm) 0; }

/* Solar Results */
.cs-solar-results { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; margin:1.25rem 0; }
.cs-solar-result-card { background:var(--cs-gray-50); border:1px solid var(--cs-gray-200); border-radius:var(--cs-radius-sm); padding:1rem; }
.cs-solar-result-card--highlight { background:var(--cs-blue); border-color:var(--cs-blue); }
.cs-solar-result-card--highlight .cs-solar-result-label,.cs-solar-result-card--highlight .cs-solar-result-val { color:#fff; }
.cs-solar-result-label { font-size:.75rem; color:var(--cs-gray-500); margin-bottom:.35rem; }
.cs-solar-result-val { font-size:1.4rem; font-weight:900; color:var(--cs-blue); }
.cs-solar-cta { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--cs-gray-200); }

/* Subsidy Results */
.cs-sub-info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-bottom:0; }
.cs-sub-info-card { background:var(--cs-gray-50); border:1px solid var(--cs-gray-100); border-radius:var(--cs-radius); padding:1.75rem; }
.cs-sub-icon { width:52px; height:52px; background:rgba(39,58,112,.1); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.cs-sub-info-card h3 { font-size:1rem; font-weight:800; color:var(--cs-blue); margin-bottom:.5rem; }
.cs-sub-info-card p { font-size:.875rem; color:var(--cs-gray-500); line-height:1.65; }
.cs-sub-results { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--cs-gray-200); }
.cs-sub-results-table { border:1px solid var(--cs-gray-200); border-radius:var(--cs-radius-sm); overflow:hidden; }
.cs-sub-row { display:flex; justify-content:space-between; padding:.75rem 1rem; font-size:.9rem; border-bottom:1px solid var(--cs-gray-100); }
.cs-sub-row:last-child { border-bottom:none; }
.cs-sub-row--green { background:#f0fdf4; color:#16a34a; }
.cs-sub-row--green strong { color:#16a34a; }
.cs-sub-row--total { background:var(--cs-blue); color:#fff; font-weight:800; }
.cs-sub-row--total strong { color:var(--cs-orange); font-size:1.1rem; }

/* ── Contact Form ── */
.cs-form-wrap { width:100%; }
.cs-form-title { font-size:1.15rem; font-weight:800; color:var(--cs-blue); margin-bottom:1.25rem; }
.cs-form-notice { padding:.75rem 1rem; border-radius:var(--cs-radius-sm); font-size:.875rem; font-weight:600; margin-bottom:1rem; }
.cs-notice-success { background:#f0fdf4; color:#16a34a; border:1px solid #bbf7d0; }
.cs-notice-error { background:#fef2f2; color:#dc2626; border:1px solid #fecaca; }
.cs-form { display:flex; flex-direction:column; gap:.85rem; }
.cs-form-row { display:flex; gap:.75rem; }
.cs-form-row--2 > * { flex:1; min-width:0; }
.cs-form-group { display:flex; flex-direction:column; gap:.35rem; }
.cs-form-group label { font-size:.8rem; font-weight:700; color:var(--cs-gray-700); }
.cs-req { color:var(--cs-orange); }
.cs-form-group input,.cs-form-group textarea,.cs-form-group select { padding:.65rem .9rem; border:1.5px solid var(--cs-gray-200); border-radius:var(--cs-radius-sm); font-size:.875rem; color:var(--cs-black); background:#fff; transition:border-color var(--cs-tr),box-shadow var(--cs-tr); width:100%; }
.cs-form-group input:focus,.cs-form-group textarea:focus { outline:none; border-color:var(--cs-blue); box-shadow:0 0 0 3px rgba(39,58,112,.08); }
.cs-form-group textarea { resize:vertical; min-height:70px; }
.cs-form-submit { margin-top:.25rem; }
.cs-form-submit.cs-loading { opacity:.7; pointer-events:none; }
.cs-form-note { font-size:.75rem; color:var(--cs-gray-400); display:flex; align-items:center; gap:.35rem; margin-top:.25rem; }

/* ── Page Hero Simple ── */
.cs-page-hero-simple { background:linear-gradient(135deg,var(--cs-blue-dark),var(--cs-blue)); padding:4rem 0 3rem; }
.cs-page-title-simple { font-size:clamp(1.75rem,3.5vw,2.75rem); font-weight:900; color:#fff; line-height:1.15; }
.cs-page-content-wrap { padding:3rem var(--cs-px); }

/* ── Footer ── */
.cs-footer { background:var(--cs-gray-900,#0f172a); }
.cs-footer-top { padding:4rem 0 3rem; }
.cs-footer-grid { display:grid; grid-template-columns:2fr 1fr 1.5fr 1.5fr; gap:2.5rem; }
.cs-footer-logo img { height:48px; width:auto; object-fit:contain; margin-bottom:1rem; }
.cs-footer-desc { font-size:.875rem; color:#94a3b8; line-height:1.7; margin-bottom:1.25rem; }
.cs-footer-phone-btn { display:inline-flex; align-items:center; gap:.5rem; background:var(--cs-orange); color:#fff; padding:.55rem 1.1rem; border-radius:9999px; font-size:.875rem; font-weight:700; transition:background var(--cs-tr); }
.cs-footer-phone-btn:hover { background:var(--cs-orange-dark); }
.cs-footer-heading { font-size:.85rem; font-weight:800; color:#fff; text-transform:uppercase; letter-spacing:.06em; margin-bottom:1rem; }
.cs-footer-nav { display:flex; flex-direction:column; gap:.5rem; }
.cs-footer-nav a { font-size:.875rem; color:#94a3b8; transition:color var(--cs-tr); }
.cs-footer-nav a:hover { color:var(--cs-orange); }
.cs-footer-office { font-size:.875rem; color:#94a3b8; line-height:1.7; }
.cs-footer-office strong { color:#fff; display:block; margin-bottom:.25rem; }
.cs-footer-bottom { border-top:1px solid rgba(255,255,255,.06); padding:1.25rem 0; }
.cs-footer-bottom .cs-container { display:flex; justify-content:space-between; align-items:center; font-size:.8rem; color:#64748b; flex-wrap:wrap; gap:.5rem; }
.cs-btn-outline-orange { background:transparent; color:var(--cs-orange); border:2px solid var(--cs-orange); }
.cs-btn-outline-orange:hover { background:var(--cs-orange); color:#fff; }

/* ── Admin ── */
.cs-admin-wrap h1 { font-size:1.5rem; margin-bottom:1.5rem; }
.cs-stats-grid { display:grid; grid-template-columns:repeat(2,200px); gap:1rem; }
.cs-stat-card { background:#fff; border:1px solid #e2e8f0; border-radius:8px; padding:1.5rem; text-align:center; }
.cs-stat-card--orange { border-color:#EFA031; }
.cs-stat-num { display:block; font-size:2.5rem; font-weight:900; color:#273A70; }
.cs-stat-card--orange .cs-stat-num { color:#EFA031; }
.cs-stat-label { font-size:.875rem; color:#64748b; }
.cs-sub-table th { background:#f8fafc; }

/* ── Responsive ── */
@media(max-width:1024px) {
  .cs-hero-grid { grid-template-columns:1fr; }
  .cs-hero-content { max-width:600px; }
  .cs-hero { min-height:auto; padding:3rem 0; }
  .cs-features-grid { grid-template-columns:repeat(2,1fr); }
  .cs-steps { grid-template-columns:repeat(2,1fr); }
  .cs-sims-grid { grid-template-columns:repeat(2,1fr); }
  .cs-sim-layout { grid-template-columns:1fr; }
  .cs-trust-grid { grid-template-columns:1fr; }
  .cs-devis-cta-section { grid-template-columns:1fr; }
  .cs-about-grid { grid-template-columns:1fr; }
  .cs-footer-grid { grid-template-columns:1fr 1fr; }
  .cs-cta-band-inner { flex-direction:column; text-align:center; }
}
@media(max-width:768px) {
  .cs-nav { display:none; }
  .cs-hamburger { display:flex; }
  .cs-header-cta { display:none; }
  .cs-features-grid { grid-template-columns:1fr; }
  .cs-steps { grid-template-columns:1fr; }
  .cs-sims-grid { grid-template-columns:1fr; }
  .cs-hero-ctas { flex-direction:column; }
  .cs-hero-ctas .cs-btn { width:100%; text-align:center; justify-content:center; }
  .cs-sub-info-grid { grid-template-columns:1fr; }
  .cs-cert-list-lg { grid-template-columns:1fr; }
  .cs-about-values { grid-template-columns:1fr 1fr; }
  .cs-solar-results { grid-template-columns:1fr 1fr; }
  .cs-results-grid { grid-template-columns:1fr; }
  .cs-footer-grid { grid-template-columns:1fr; }
  .cs-form-row { flex-direction:column; }
  .cs-section { padding:3rem 0; }
}
@media(max-width:480px) {
  .cs-hero-stats { gap:1rem; }
  .cs-about-values { grid-template-columns:1fr; }
  .cs-solar-results { grid-template-columns:1fr; }
}


/* ============================================================
   FIXES v2.1
   ============================================================ */

/* Mobile header: logo left, hamburger right */
@media(max-width:767px) {
  .cs-header-inner {
    justify-content: space-between;
  }
  .cs-hamburger {
    display: flex;
    margin-left: auto;
  }
  .cs-nav { display: none !important; }
  .cs-header-cta { display: none !important; }
}

/* Topbar: keep phone on right on mobile */
@media(max-width:767px) {
  .cs-topbar-inner {
    justify-content: space-between;
    padding: 0 1rem;
  }
  .cs-topbar-phone {
    font-size: .78rem;
  }
  .cs-topbar-call-btn {
    font-size: .72rem;
    padding: .2rem .65rem;
  }
}

/* Form labels — force white on ALL dark backgrounds */
.cs-trust-form-box .cs-form-group label,
.cs-trust-form-box .cs-form-title,
.cs-devis-form-box .cs-form-group label,
.cs-devis-form-box .cs-form-title {
  color: #fff !important;
}
.cs-trust-form-box .cs-form-group input,
.cs-trust-form-box .cs-form-group textarea,
.cs-devis-form-box .cs-form-group input,
.cs-devis-form-box .cs-form-group textarea {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.25);
  color: #fff;
}
.cs-trust-form-box .cs-form-group input::placeholder,
.cs-trust-form-box .cs-form-group textarea::placeholder,
.cs-devis-form-box .cs-form-group input::placeholder,
.cs-devis-form-box .cs-form-group textarea::placeholder {
  color: rgba(255,255,255,0.45);
}
.cs-trust-form-box .cs-form-note,
.cs-devis-form-box .cs-form-note {
  color: rgba(255,255,255,0.55);
}
.cs-trust-form-box .cs-req,
.cs-devis-form-box .cs-req {
  color: var(--cs-orange);
}
.cs-trust-form-box .cs-form-group input:focus,
.cs-trust-form-box .cs-form-group textarea:focus,
.cs-devis-form-box .cs-form-group input:focus,
.cs-devis-form-box .cs-form-group textarea:focus {
  border-color: var(--cs-orange);
  box-shadow: 0 0 0 3px rgba(239,160,49,.2);
  outline: none;
}

/* Video description */
.cs-video-desc {
  font-size: .825rem;
  color: var(--cs-gray-500);
  margin-top: .35rem;
  line-height: 1.55;
}

/* Blog empty state */
.cs-blog-empty {
  text-align: center;
  padding: 4rem 1.5rem;
  max-width: 480px;
  margin: 0 auto;
}
.cs-blog-empty svg {
  margin: 0 auto 1.25rem;
  display: block;
}
.cs-blog-empty h3 {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--cs-blue);
  margin-bottom: .6rem;
}
.cs-blog-empty p {
  font-size: .9rem;
  color: var(--cs-gray-500);
  margin-bottom: 1.5rem;
  line-height: 1.65;
}
.cs-blog-img-fallback {
  display: block;
}
.cs-blog-img-placeholder {
  height: 200px;
  background: linear-gradient(135deg, var(--cs-gray-100), var(--cs-gray-200));
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Blog pagination */
.cs-pagination {
  display: flex;
  justify-content: center;
  gap: .5rem;
  margin-top: 3rem;
  flex-wrap: wrap;
}
.cs-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-weight: 700;
  font-size: .875rem;
  color: var(--cs-blue);
  background: var(--cs-gray-100);
  transition: background var(--cs-tr), color var(--cs-tr);
}
.cs-pagination .page-numbers.current,
.cs-pagination .page-numbers:hover {
  background: var(--cs-blue);
  color: #fff;
}

/* Footer status dot */
.cs-footer-status {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .8rem;
  color: #64748b;
}
.cs-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  display: inline-block;
}
.cs-footer-office-note {
  font-style: italic;
  font-size: .78rem;
  opacity: .7;
  margin-top: .2rem;
}

/* Nos modeles CTA scroll behavior */
.cs-model-cta {
  scroll-behavior: smooth;
}

/* Form notice positioning inside wrap */
.cs-form-wrap .cs-form-notice {
  padding: .75rem 1rem;
  border-radius: var(--cs-radius-sm);
  font-size: .875rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

/* Single.php / Archive.php full layout padding */
.cs-archive-item { padding: 1.5rem 0; border-bottom: 1px solid var(--cs-gray-100); }
.cs-archive-item h2 { font-size: 1.15rem; font-weight: 800; margin-bottom: .4rem; }
.cs-archive-item h2 a { color: var(--cs-blue); }
.cs-archive-item h2 a:hover { color: var(--cs-orange); }
