:root{--ink:#111827;--ink-2:#1f2937;--muted:#6b7280;--soft:#f4f6f8;--white:#fff;--yellow:#ffd400;--yellow-2:#f2c900;--border:#e5e7eb;--radius:18px;--shadow:0 18px 45px rgba(17,24,39,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:10px;background:var(--yellow);padding:10px 16px;z-index:999}.skip-link:focus{left:10px}.topbar{background:#090d14;color:#d1d5db;font-size:.85rem}.topbar-inner{min-height:38px;display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar p{margin:0}.topbar-links{display:flex;gap:22px}.topbar a:hover{color:var(--yellow)}.navbar{background:rgba(255,255,255,.96);border-bottom:1px solid rgba(229,231,235,.85);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}.nav-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:155px;height:68px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:27px;font-weight:600}.nav-links>a:not(.btn){position:relative}.nav-links>a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--yellow);transition:.25s}.nav-links>a:hover::after{right:0}.menu-toggle{display:none;border:0;background:transparent;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--ink);margin:5px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:0 22px;border-radius:999px;border:1px solid transparent;font-weight:800;transition:.2s;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--yellow);color:#111}.btn-primary:hover{background:var(--yellow-2);box-shadow:0 10px 30px rgba(255,212,0,.25)}.btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}.btn-ghost:hover{border-color:var(--yellow);color:var(--yellow)}.btn-sm{min-height:44px;padding:0 18px}.btn-full{width:100%}.section{padding:105px 0}.section-soft{background:var(--soft)}.section-dark{background:var(--ink);color:#fff}.hero{position:relative;overflow:hidden;min-height:690px;display:grid;align-items:center}.hero-grid-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent)}.hero::after{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:var(--yellow);filter:blur(160px);opacity:.1;right:-120px;top:60px}.hero-content{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:.77rem;font-weight:800;color:#a98600;margin-bottom:18px}.section-dark .eyebrow{color:var(--yellow)}h1,h2,h3{font-family:Montserrat,Inter,sans-serif;line-height:1.15;margin-top:0}h1{font-size:clamp(2.8rem,6vw,5.25rem);letter-spacing:-.045em;margin-bottom:24px}h1 span{color:var(--yellow)}.hero-copy>p{font-size:1.16rem;color:#cbd5e1;max-width:720px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0}.trust-list{display:flex;flex-wrap:wrap;gap:23px;list-style:none;padding:0;margin:0;color:#e5e7eb;font-size:.93rem}.trust-list li::before{content:"✓";color:var(--yellow);font-weight:800;margin-right:8px}.electric-card{background:linear-gradient(145deg,#202938,#111827);border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:46px;box-shadow:0 30px 80px rgba(0,0,0,.35);position:relative}.electric-card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,212,0,.18);border-radius:21px;pointer-events:none}.bolt{font-size:3.6rem}.electric-card-kicker{color:var(--yellow);font-weight:800;letter-spacing:.2em}.electric-card h2{font-size:2.3rem;margin-bottom:12px}.electric-card>p:not(.electric-card-kicker){color:#cbd5e1}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.metric-grid div{padding:16px 10px;border-radius:12px;background:rgba(255,255,255,.055);text-align:center}.metric-grid strong,.metric-grid span{display:block}.metric-grid strong{font-size:1.15rem;color:var(--yellow)}.metric-grid span{font-size:.72rem;color:#cbd5e1}.quick-contact{background:var(--yellow)}.quick-contact-grid{display:grid;grid-template-columns:repeat(3,1fr)}.quick-contact a{padding:25px 30px;border-right:1px solid rgba(17,24,39,.18)}.quick-contact a:last-child{border-right:0}.quick-contact span,.quick-contact strong{display:block}.quick-contact span{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.quick-contact strong{font-size:1.1rem}.split-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.section-heading h2{font-size:clamp(2.2rem,4vw,3.6rem);letter-spacing:-.035em;margin-bottom:18px}.section-heading>p{color:var(--muted);max-width:700px}.centered{text-align:center;max-width:850px;margin:0 auto 55px}.prose{font-size:1.07rem}.prose p{color:#4b5563}.info-card{border-left:5px solid var(--yellow);background:var(--soft);padding:24px 26px;margin-top:28px}.info-card span,.info-card strong,.info-card small{display:block}.info-card span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.info-card strong{font-size:1.25rem}.cards-grid{display:grid;gap:22px}.services-grid{grid-template-columns:repeat(3,1fr)}.service-card{background:#fff;border:1px solid var(--border);padding:31px;border-radius:var(--radius);transition:.25s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:rgba(255,212,0,.65)}.service-card .icon{font-size:2rem}.service-card h3{font-size:1.2rem;margin:18px 0 9px}.service-card p{margin:0;color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:250px;gap:18px}.project-card{position:relative;border:0;padding:0;border-radius:var(--radius);overflow:hidden;cursor:pointer;text-align:left;background:#ddd}.project-large{grid-column:span 2;grid-row:span 2}.project-visual{position:absolute;inset:0;display:grid;place-items:center;font-size:4rem;transition:.4s}.project-card:hover .project-visual{transform:scale(1.04)}.visual-house{background:linear-gradient(135deg,#202938,#475569)}.visual-panel{background:linear-gradient(135deg,#f6d365,#fda085)}.visual-light{background:linear-gradient(135deg,#232526,#414345)}.visual-office{background:linear-gradient(135deg,#667eea,#764ba2)}.visual-outdoor{background:linear-gradient(135deg,#0f2027,#2c5364)}.project-info{position:absolute;left:18px;right:18px;bottom:18px;padding:18px;background:rgba(255,255,255,.92);border-radius:12px}.project-info small,.project-info strong{display:block}.project-info small{color:var(--muted)}.project-info strong{font-family:Montserrat;font-size:1.12rem}.why-section .section-heading{margin-bottom:50px}.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.benefit{border-top:1px solid rgba(255,255,255,.18);padding-top:25px}.benefit>strong{color:var(--yellow);font-size:.85rem}.benefit h3{margin:18px 0 10px}.benefit p{color:#cbd5e1;margin:0}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.contact-copy h2{font-size:clamp(2.2rem,4vw,3.5rem)}.contact-copy>p{color:var(--muted)}address{font-style:normal;margin-top:35px}address div{padding:18px 0;border-bottom:1px solid var(--border)}address span,address strong{display:block}address span{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.contact-form{background:var(--soft);padding:34px;border-radius:var(--radius);box-shadow:var(--shadow)}.contact-form label{display:block;font-weight:700;font-size:.9rem;margin-bottom:17px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #d1d5db;background:#fff;border-radius:10px;padding:13px 14px;margin-top:7px;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#a98600;box-shadow:0 0 0 3px rgba(255,212,0,.25)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkbox{display:flex!important;align-items:flex-start;gap:10px;font-weight:500!important}.checkbox input{width:auto;margin-top:5px}.contact-form small{display:block;color:var(--muted);margin-top:14px}.form-status{min-height:24px;font-weight:700}.site-footer{background:#090d14;color:#cbd5e1;padding:70px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:45px}.footer-grid img{background:#fff;border-radius:8px;padding:4px}.footer-grid h2{color:#fff;font-size:1rem}.footer-grid a,.footer-grid span{display:block;margin:8px 0;font-size:.9rem}.footer-grid a:hover{color:var(--yellow)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;font-size:.85rem}.project-modal{max-width:560px;border:0;border-radius:20px;padding:30px;box-shadow:0 30px 100px rgba(0,0,0,.4)}.project-modal::backdrop{background:rgba(5,8,13,.8)}.modal-close{float:right;border:0;background:#eee;width:36px;height:36px;border-radius:50%;font-size:1.4rem}.modal-visual{height:230px;border-radius:14px;background:linear-gradient(135deg,#111827,#374151);display:grid;place-items:center;font-size:4rem;margin-bottom:24px}.project-modal small{color:var(--muted)}.project-modal h2{font-size:2rem;margin:8px 0}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:92px;left:20px;right:20px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:22px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.hero-content,.split-layout,.contact-layout{grid-template-columns:1fr}.hero{padding:90px 0}.hero-visual{max-width:650px}.services-grid{grid-template-columns:repeat(2,1fr)}.benefits-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.project-large{grid-column:span 2}}
@media(max-width:680px){.container{width:min(100% - 28px,1160px)}.topbar p{display:none}.topbar-inner{justify-content:center}.topbar-links{gap:12px;font-size:.75rem}.nav-inner{min-height:78px}.brand img{width:125px;height:58px}.nav-links{top:78px}.section{padding:76px 0}.hero{min-height:auto}.hero-content{gap:42px}.hero-actions{flex-direction:column}.btn{width:100%}.metric-grid{grid-template-columns:1fr}.quick-contact-grid{grid-template-columns:1fr}.quick-contact a{border-right:0;border-bottom:1px solid rgba(17,24,39,.18);padding:16px}.services-grid,.benefits-grid,.footer-grid,.form-row{grid-template-columns:1fr}.portfolio-grid{display:block}.project-card{display:block;width:100%;height:270px;margin-bottom:16px}.project-large{height:390px}.contact-form{padding:23px}.footer-bottom{flex-direction:column;gap:12px}h1{font-size:2.65rem}.electric-card{padding:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn,.service-card,.project-visual{transition:none}}

/* Champ anti-robot : invisible pour les visiteurs, présent pour les robots. */
.form-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.form-status.success { color: #167447; }
.form-status.error { color: #b42318; }
