:root{--blue:#073965;--blue-2:#0b5b87;--green:#3d942f;--green-2:#83b735;--orange:#f18a20;--light:#f5f9fb;--text:#183247;--muted:#607386;--white:#fff;--line:rgba(7,57,101,.1);--shadow:0 18px 42px rgba(7,57,101,.14);--shadow-soft:0 12px 28px rgba(7,57,101,.09);--radius:24px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#fff;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.sr-only,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{clip:auto;width:auto;height:auto;margin:0;z-index:99;background:var(--blue);color:#fff;padding:10px 14px}.topbar{background:var(--blue);color:rgba(255,255,255,.9);font-size:14px}.topbar__inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.topbar p{margin:0}.topbar strong{color:#fff}.topbar__links{display:flex;gap:18px;flex-wrap:wrap}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;color:var(--blue)}.brand img{width:66px;height:66px;object-fit:contain}.brand__text{display:grid;line-height:1.05}.brand__text strong{font-size:clamp(23px,2.5vw,34px);letter-spacing:-.03em}.brand__text em{font-style:normal;color:var(--green)}.brand__text small{margin-top:4px;font-family:"Segoe Script","Brush Script MT",cursive;font-size:14px;color:var(--blue-2);font-weight:700}.main-nav{display:flex;align-items:center;gap:24px;font-weight:800;color:var(--blue)}.main-nav a:not(.nav-cta){position:relative}.main-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;border-radius:99px;background:var(--green);transform:scaleX(0);transition:.2s}.main-nav a:hover::after{transform:scaleX(1)}.nav-cta{background:var(--green);color:#fff;padding:12px 17px;border-radius:999px;box-shadow:0 12px 22px rgba(61,148,47,.22)}.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:14px;background:#fff;align-items:center;justify-content:center;gap:5px;flex-direction:column}.menu-toggle span:not(.sr-only){width:22px;height:2px;background:var(--blue);border-radius:99px}.hero{position:relative;overflow:hidden;padding:86px 0 72px;background:linear-gradient(140deg,#eef8ff 0%,#f7fbf4 44%,#ddecff 100%)}.hero::before{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(180deg,transparent,rgba(131,183,53,.22))}.hero__grid{position:relative;display:grid;grid-template-columns:.88fr 1.12fr;gap:46px;align-items:center}.eyebrow,.kicker{margin:0 0 12px;color:var(--green);font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.12em}.hero h1{margin:0;color:var(--blue);font-size:clamp(42px,5.8vw,76px);line-height:1;letter-spacing:-.055em}.hero__lead{font-size:clamp(18px,2vw,22px);color:#2e4b60;margin:24px 0 30px;max-width:620px}.hero__actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;border-radius:14px;padding:0 22px;font-weight:950;border:2px solid transparent;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button--primary{background:var(--green);color:#fff;box-shadow:0 16px 30px rgba(61,148,47,.22)}.button--primary:hover{background:#347f2a}.button--secondary{border-color:#b7c9d8;color:var(--blue);background:rgba(255,255,255,.7)}.button--outline{border-color:rgba(7,57,101,.22);color:var(--blue);background:#fff}.hero__trust{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;color:var(--blue);font-weight:850;font-size:14px}.hero__trust span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 12px}.hero__visual{position:relative}.hero__visual img{width:100%;height:540px;object-fit:cover;border-radius:32px;box-shadow:var(--shadow)}.hero__visual::after{content:"";position:absolute;inset:0;border-radius:32px;background:linear-gradient(90deg,rgba(7,57,101,.05),transparent 45%);pointer-events:none}.experience-badge{position:absolute;right:24px;top:24px;width:168px;height:168px;border-radius:50%;background:#06345c;color:#fff;display:grid;place-items:center;text-align:center;padding:18px;border:5px solid var(--green);box-shadow:0 16px 32px rgba(0,0,0,.22)}.experience-badge small{font-weight:800}.experience-badge strong{display:block;color:#ffbf39;text-transform:uppercase;font-size:35px;line-height:1}.experience-badge span{font-size:14px;font-weight:850}.services,.why,.prestations,.realisations,.contact{padding:86px 0}.section-heading{text-align:center;max-width:760px;margin:0 auto 42px}.section-heading h2,.contact-info h2,.prestation-copy h2,.cta-strip h2{margin:0 0 14px;color:var(--blue);font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.035em}.section-heading p:not(.kicker),.contact-info>p,.prestation-copy p{margin:0;color:var(--muted);font-size:18px}.section-heading--split{max-width:none;display:flex;align-items:end;justify-content:space-between;text-align:left;gap:28px}.card-grid{display:grid;gap:20px}.card-grid--six{grid-template-columns:repeat(6,1fr)}.service-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px 18px;text-align:center;box-shadow:var(--shadow-soft);transition:.2s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-card__icon{width:66px;height:66px;display:grid;place-items:center;margin:0 auto 16px;border-radius:50%;font-size:31px;border:2px solid currentColor;background:#fff}.service-card__icon.blue{color:var(--blue-2)}.service-card__icon.green{color:var(--green)}.service-card__icon.orange{color:var(--orange)}.service-card h3{margin:0 0 8px;color:var(--blue);font-size:20px}.service-card p{margin:0;color:var(--muted);font-size:14px}.why{background:linear-gradient(180deg,#f5f9fb,#fff)}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.why-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;text-align:center;box-shadow:var(--shadow-soft)}.why-card span{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 18px;border-radius:20px;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;font-size:30px}.why-card h3{margin:0 0 10px;color:var(--blue);font-size:20px}.why-card p{margin:0;color:var(--muted)}.prestations{background:#fff}.prestation-layout{display:grid;grid-template-columns:1fr .8fr;gap:36px;align-items:center}.check-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}.check-list li{display:flex;gap:12px;font-weight:850;color:var(--blue)}.check-list li::before{content:"✓";flex:0 0 28px;height:28px;display:grid;place-items:center;background:var(--green);color:#fff;border-radius:50%}.commitment-card{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--blue),#0b5b87);color:#fff;border-radius:32px;padding:34px;box-shadow:var(--shadow)}.commitment-card::after{content:"10";position:absolute;right:-20px;top:-20px;color:rgba(255,255,255,.08);font-size:180px;font-weight:1000;line-height:1}.commitment-card h3{font-size:30px;margin:0 0 18px}.commitment-card ul{list-style:none;padding:0;margin:0;display:grid;gap:13px;position:relative;z-index:1}.commitment-card li{display:flex;gap:12px;align-items:center;font-weight:850}.commitment-card span{width:28px;height:28px;display:grid;place-items:center;background:#fff;color:var(--green);border-radius:50%}.realisations{background:linear-gradient(180deg,#f7fbff,#fff)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.work-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-soft)}.work-card img{width:100%;height:235px;object-fit:cover}.work-card div{padding:20px 22px}.work-card h3{margin:0 0 6px;color:var(--blue);font-size:20px}.work-card p{margin:0;color:var(--muted)}.brands{padding:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.brands__inner{display:flex;align-items:center;gap:24px}.brands__inner p{font-weight:950;color:var(--blue);margin:0;min-width:150px}.brands__list{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;flex:1}.brands__list span{display:grid;place-items:center;min-height:62px;padding:10px;border-radius:15px;background:#fff;border:1px solid var(--line);font-weight:950;text-align:center;color:var(--blue);box-shadow:0 8px 18px rgba(7,57,101,.06)}.cta-strip{position:relative;overflow:hidden;padding:62px 0;background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(255,255,255,.65)),linear-gradient(135deg,#dff4ff,#dff0d4)}.cta-strip::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(180deg,transparent,rgba(61,148,47,.25))}.cta-strip__inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-strip h2{max-width:780px}.quick-contact{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.quick-contact a,.quick-contact span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:11px 14px;font-weight:850;color:var(--blue);box-shadow:0 8px 18px rgba(7,57,101,.06)}.rge-badge{width:150px;height:auto;border-radius:18px;background:#fff;padding:10px;box-shadow:var(--shadow-soft)}.contact{background:#f7fafc}.contact-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:30px;align-items:start}.contact-info .kicker,.prestation-copy .kicker{text-align:left}.info-box{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow-soft);display:grid;gap:4px}.info-box strong{color:var(--blue)}.info-box--map{display:flex;align-items:center;gap:18px}.info-box--map img{width:74px}.contact-form{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow);display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:7px;color:var(--blue);font-weight:850}input,select,textarea{width:100%;font:inherit;border:1px solid rgba(7,57,101,.18);border-radius:14px;padding:14px 15px;background:#fbfdff;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(61,148,47,.14)}textarea{resize:vertical}.honeypot{display:none!important}.consent{grid-template-columns:auto 1fr;align-items:start;font-size:14px;color:var(--muted);font-weight:650}.consent input{width:auto;margin-top:4px}.form-note{margin:0;color:var(--muted);font-size:14px}.footer{background:#052b4d;color:rgba(255,255,255,.82);padding:46px 0 24px}.footer__grid{display:grid;grid-template-columns:1.2fr .7fr .9fr .9fr;gap:34px}.footer h3{color:#fff;margin:0 0 12px}.footer p{margin:0 0 8px}.footer a{display:block;margin:0 0 6px}.brand--footer{margin-bottom:14px;color:#fff}.brand--footer .brand__text em,.brand--footer .brand__text small{color:#b9ef82}.footer__bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:28px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px}.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}@media (max-width:1100px){.card-grid--six{grid-template-columns:repeat(3,1fr)}.hero__grid{grid-template-columns:1fr}.hero__visual img{height:430px}.why-grid{grid-template-columns:repeat(2,1fr)}.footer__grid{grid-template-columns:1fr 1fr}}@media (max-width:850px){.topbar__inner{justify-content:center;text-align:center}.main-nav{position:absolute;top:82px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);display:grid;gap:0;padding:10px 20px 20px;box-shadow:var(--shadow-soft);transform-origin:top;transform:scaleY(0);opacity:0;pointer-events:none;transition:.18s}.main-nav.is-open{transform:scaleY(1);opacity:1;pointer-events:auto}.main-nav a{padding:13px 0}.nav-cta{display:inline-flex;justify-content:center}.menu-toggle{display:flex}.section-heading--split,.cta-strip__inner,.brands__inner{display:grid}.brands__list{grid-template-columns:1fr 1fr}.prestation-layout,.contact-grid{grid-template-columns:1fr}.work-grid{grid-template-columns:1fr}.footer__grid{grid-template-columns:1fr}.rge-badge{width:130px}.hero{padding-top:58px}}@media (max-width:600px){.container{width:min(100% - 28px,var(--max))}.nav{height:74px}.brand img{width:54px;height:54px}.brand__text strong{font-size:23px}.brand__text small{font-size:12px}.main-nav{top:74px}.hero h1{font-size:42px}.hero__visual img{height:320px;border-radius:22px}.experience-badge{width:128px;height:128px;right:12px;top:12px}.experience-badge strong{font-size:26px}.experience-badge span{font-size:12px}.services,.why,.prestations,.realisations,.contact{padding:64px 0}.card-grid--six,.why-grid,.form-row,.brands__list{grid-template-columns:1fr}.service-card{text-align:left;display:grid;grid-template-columns:auto 1fr;column-gap:16px}.service-card__icon{grid-row:1/3;margin:0}.cta-strip h2,.section-heading h2,.contact-info h2,.prestation-copy h2{font-size:32px}.footer__bottom{align-items:flex-start}}
/* ===============================
   Correctif mobile Idéal Énergies
   Version mobile plus compacte et plus propre
   =============================== */
@media (max-width: 850px) {
  body { overflow-x: hidden; }
  .topbar { display: none; }
  .site-header { box-shadow: 0 8px 22px rgba(7,57,101,.08); }
  .nav { height: 68px; }
  .brand { gap: 8px; min-width: 0; }
  .brand img { width: 46px; height: 46px; }
  .brand__text strong { font-size: 22px; line-height: 1; }
  .brand__text small { display: none; }
  .menu-toggle { width: 42px; height: 42px; border-radius: 12px; flex: 0 0 auto; }
  .main-nav { top: 68px; padding: 8px 18px 18px; }

  .hero { padding: 28px 0 34px; background: linear-gradient(180deg,#eef8ff 0%,#ffffff 72%,#f4faf1 100%); }
  .hero::before { height: 30%; opacity: .55; }
  .hero__grid { gap: 22px; }
  .eyebrow { font-size: 11px; letter-spacing: .1em; margin-bottom: 10px; }
  .hero h1 { font-size: clamp(34px, 10.8vw, 42px); line-height: 1.02; letter-spacing: -.045em; max-width: 360px; }
  .hero__lead { font-size: 16px; line-height: 1.48; margin: 14px 0 18px; }
  .hero__actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .hero__actions .button { width: 100%; min-height: 48px; border-radius: 12px; }
  .hero__trust { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; font-size: 12px; }
  .hero__trust span { padding: 8px 9px; text-align: center; }
  .hero__visual img { height: 245px; border-radius: 22px; box-shadow: 0 14px 30px rgba(7,57,101,.16); }
  .experience-badge { width: 102px; height: 102px; right: 10px; top: 10px; border-width: 3px; padding: 10px; }
  .experience-badge small { font-size: 10px; line-height: 1.1; }
  .experience-badge strong { font-size: 22px; }
  .experience-badge span { font-size: 10px; line-height: 1.15; }

  .services, .why, .prestations, .realisations, .contact { padding: 46px 0; }
  .section-heading { margin-bottom: 24px; }
  .section-heading h2, .contact-info h2, .prestation-copy h2, .cta-strip h2 { font-size: 28px; line-height: 1.12; letter-spacing: -.03em; }
  .section-heading p:not(.kicker), .contact-info>p, .prestation-copy p { font-size: 15px; line-height: 1.55; }
  .kicker { font-size: 11px; letter-spacing: .1em; }

  .card-grid--six { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
  .service-card { display: block; text-align: center; padding: 16px 10px; border-radius: 17px; min-height: 166px; box-shadow: 0 8px 18px rgba(7,57,101,.08); }
  .service-card__icon { width: 48px; height: 48px; margin: 0 auto 10px; font-size: 22px; border-width: 1.5px; }
  .service-card h3 { font-size: 15px; margin-bottom: 5px; line-height: 1.15; }
  .service-card p { font-size: 12px; line-height: 1.35; }

  .why-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
  .why-card { padding: 18px 12px; border-radius: 18px; }
  .why-card span { width: 46px; height: 46px; font-size: 22px; border-radius: 15px; margin-bottom: 10px; }
  .why-card h3 { font-size: 15px; line-height: 1.18; margin-bottom: 6px; }
  .why-card p { font-size: 12px; line-height: 1.35; }

  .prestation-layout { gap: 18px; }
  .check-list { gap: 10px; margin-top: 18px; }
  .check-list li { font-size: 14px; line-height: 1.35; }
  .check-list li::before { flex-basis: 24px; height: 24px; font-size: 13px; }
  .commitment-card { border-radius: 22px; padding: 22px; }
  .commitment-card h3 { font-size: 24px; margin-bottom: 14px; }
  .commitment-card li { font-size: 14px; }
  .commitment-card::after { font-size: 130px; }

  .section-heading--split { gap: 14px; }
  .section-heading--split .button { width: 100%; min-height: 48px; }
  .work-grid { gap: 14px; }
  .work-card { border-radius: 20px; }
  .work-card img { height: 185px; }
  .work-card div { padding: 16px; }
  .work-card h3 { font-size: 17px; }
  .work-card p { font-size: 13px; }

  .brands { padding: 28px 0; }
  .brands__inner { gap: 14px; }
  .brands__inner p { min-width: 0; text-align: center; }
  .brands__list { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
  .brands__list span { min-height: 48px; padding: 8px; font-size: 12px; border-radius: 13px; }

  .cta-strip { padding: 38px 0; }
  .cta-strip__inner { gap: 18px; text-align: center; }
  .quick-contact { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .quick-contact a, .quick-contact span { border-radius: 14px; font-size: 13px; padding: 10px 12px; overflow-wrap: anywhere; }
  .rge-badge { width: 112px; margin: 0 auto; }

  .contact-grid { gap: 20px; }
  .info-box { padding: 15px; border-radius: 16px; margin-top: 10px; }
  .info-box--map img { width: 58px; }
  .contact-form { padding: 18px; border-radius: 22px; gap: 12px; }
  .form-row { grid-template-columns: 1fr; gap: 12px; }
  label { font-size: 13px; }
  input, select, textarea { padding: 12px 13px; border-radius: 12px; font-size: 16px; }
  .contact-form .button { width: 100%; min-height: 50px; }

  .footer { padding: 34px 0 20px; }
  .footer__grid { gap: 20px; }
  .brand--footer img { width: 48px; height: 48px; }
  .footer h3 { margin-bottom: 8px; font-size: 16px; }
  .footer a, .footer p { font-size: 13px; }
  .footer__bottom { margin-top: 18px; padding-top: 16px; font-size: 12px; }
}

@media (max-width: 380px) {
  .container { width: min(100% - 24px, var(--max)); }
  .brand__text strong { font-size: 20px; }
  .hero h1 { font-size: 32px; }
  .card-grid--six, .why-grid { gap: 8px; }
  .service-card { min-height: 158px; padding: 14px 8px; }
  .service-card h3, .why-card h3 { font-size: 14px; }
  .service-card p, .why-card p { font-size: 11.5px; }
}
