:root{
  --bg:#050507; --bg2:#0a0a0f; --text:#f3f3f5; --muted:#a8a9b3;
  --line:rgba(255,255,255,.12); --blue:#0aa8ff; --violet:#8357ff; --pink:#ff16da;
  --max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;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:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(5,5,7,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between}.brand img{height:88px;width:auto}.nav{display:flex;align-items:center;gap:28px;font-size:14px;color:#ddd}.nav a:hover{color:#fff}.nav-cta{padding:10px 15px;border:1px solid rgba(120,100,255,.6);border-radius:999px;background:linear-gradient(90deg,rgba(0,166,255,.12),rgba(255,20,220,.12))}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:26px}
.hero{position:relative;min-height:760px;display:flex;align-items:center;overflow:hidden;background:#000}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 72% 50%,rgba(87,40,255,.22),transparent 30%),radial-gradient(circle at 60% 60%,rgba(0,157,255,.12),transparent 28%),linear-gradient(90deg,#000 0%,#05050a 55%,rgba(0,0,0,.7) 100%)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,#00aaff,#ff17dc,transparent)}.hero-content{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.hero-copy{padding:30px 0}.eyebrow,.section-heading>span,.section-kicker{letter-spacing:.16em;text-transform:uppercase;font-size:12px;color:#d5d5db}.eyebrow{color:#b8b8c4}.hero h1{font-size:clamp(42px,5vw,70px);line-height:1.05;margin:20px 0 24px;font-weight:500}.hero h1 span{background:linear-gradient(90deg,#fff,#c6c6ce,#7f74ff);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{max-width:650px;color:#b6b6bf;font-size:18px}.hero-actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:999px;border:1px solid var(--line);font-weight:700;font-size:14px}.btn-primary{background:linear-gradient(90deg,#008eea,#6a5dff,#e710d0);box-shadow:0 0 28px rgba(117,91,255,.18)}.btn-secondary{background:rgba(255,255,255,.02)}.hero-mark{display:flex;justify-content:center;align-items:center}.hero-mark img{width:min(580px,90%);filter:drop-shadow(0 0 45px rgba(0,123,255,.14))}
.section{padding:105px 0}.section-dark{background:linear-gradient(180deg,#08080c,#050507)}.section-gradient{background:radial-gradient(circle at 50% 10%,rgba(80,52,180,.16),transparent 40%),#060608}.section-heading{max-width:760px;margin-bottom:46px}.section-heading h2,.split h2,.about-grid h2,.contact-grid h2{font-size:clamp(30px,4vw,50px);line-height:1.08;font-weight:500;margin:12px 0 14px}.section-heading p,.split p,.about-grid p,.contact-grid p{color:var(--muted);max-width:760px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{padding:28px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008));min-height:240px}.service-card h3{margin:15px 0 8px;font-size:21px}.service-card p{color:var(--muted);font-size:14px}.service-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(0,170,255,.18),rgba(244,0,214,.14));border:1px solid rgba(100,100,255,.35);font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.tag-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.tag-list span{padding:8px 12px;border-radius:999px;border:1px solid var(--line);font-size:13px;color:#d9d9df}.feature-panel{border:1px solid var(--line);border-radius:22px;padding:10px;background:rgba(255,255,255,.02)}.feature-line{display:grid;grid-template-columns:55px 1fr;align-items:center;min-height:74px;padding:0 18px;border-bottom:1px solid var(--line)}.feature-line:last-child{border-bottom:0}.feature-line strong{font-size:13px;color:#8cb7ff}
.product-card{display:grid;grid-template-columns:1fr 1.08fr;gap:0;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.008));box-shadow:0 30px 80px rgba(0,0,0,.28)}
.product-media{position:relative;min-height:620px;background:radial-gradient(circle at 55% 38%,rgba(20,120,255,.18),transparent 28%),radial-gradient(circle at 70% 55%,rgba(230,0,220,.14),transparent 30%),#020205;overflow:hidden}
.product-media:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,transparent,#12a9ff,#ff14d9,transparent);box-shadow:0 0 30px rgba(35,135,255,.35)}
.product-badge{position:absolute;top:22px;left:22px;z-index:2;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:#d8d8e0;border:1px solid rgba(150,150,255,.25);border-radius:999px;padding:8px 11px;background:rgba(0,0,0,.35)}
.product-media-inner{position:absolute;inset:0;display:grid;place-items:center;padding:70px 40px}
.product-placeholder{text-align:center;display:grid;gap:12px;max-width:380px;padding:58px 30px;border:1px solid rgba(110,120,255,.22);border-radius:28px;background:radial-gradient(circle at 50% 50%,rgba(23,110,255,.08),rgba(0,0,0,.35) 60%),rgba(255,255,255,.015);box-shadow:0 0 90px rgba(22,110,255,.08), inset 0 0 0 1px rgba(255,255,255,.02)}
.product-placeholder span{font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:#a9a9b5}.product-placeholder strong{font-size:clamp(34px,4vw,60px);font-weight:500;letter-spacing:.04em;background:linear-gradient(90deg,#fff,#d3d3dc,#8179ff);-webkit-background-clip:text;background-clip:text;color:transparent}.product-placeholder small{color:#777783;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.product-content{padding:42px 42px 38px}.product-content h3{font-size:clamp(30px,4vw,48px);font-weight:500;margin:10px 0 14px}.product-lead{color:#c0c0c8;font-size:17px;line-height:1.65;max-width:680px}.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:28px 0}.spec-grid>div{padding:16px 14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.018)}.spec-grid b{display:block;font-size:18px;color:#fff;margin-bottom:5px}.spec-grid span{display:block;color:#82828e;font-size:12px;line-height:1.4}.product-feature-panel{margin-top:8px}.product-feature-panel .feature-line{grid-template-columns:118px 1fr;min-height:68px}.product-feature-panel .feature-line span{color:#b9bac4;font-size:14px}.product-note{margin-top:20px;color:#6f707b;font-size:12px;line-height:1.6}
.material-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:24px;align-items:stretch}.material-visual{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#000}.material-visual img{width:100%;height:auto;object-fit:contain;object-position:center;filter:saturate(.92)}.material-list{display:grid;gap:14px}.material-list div{border:1px solid var(--line);border-radius:18px;padding:22px;background:rgba(255,255,255,.02)}.material-list b{display:block;margin-bottom:5px}.material-list span{color:var(--muted);font-size:14px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.about-grid img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;border:1px solid var(--line);border-radius:22px;box-shadow:0 0 60px rgba(61,34,170,.12)}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:45px;align-items:start}.contact-lines{display:grid;gap:12px;margin-top:28px}.contact-lines a,.contact-lines span{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}.contact-lines a:hover{border-color:rgba(80,150,255,.55)}.contact-form{display:grid;gap:14px;padding:26px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008))}.contact-form label{display:grid;gap:6px;font-size:13px;color:#c8c8cf}.contact-form input,.contact-form textarea{border:1px solid var(--line);background:#07070a;color:#fff;border-radius:12px;padding:13px 14px;font:inherit;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:rgba(0,162,255,.65)}.contact-form small{color:#7e7e89}.site-footer{padding:26px 0;border-top:1px solid var(--line);background:#020204;color:#8f909a;font-size:12px}.footer-wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media (max-width: 980px){.product-card{grid-template-columns:1fr}.product-media{min-height:420px}.spec-grid{grid-template-columns:repeat(2,1fr)}.nav{gap:15px}.service-grid{grid-template-columns:repeat(2,1fr)}.hero-content,.split,.material-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.hero{min-height:auto;padding:80px 0}.hero-mark{order:-1}.hero-mark img{width:min(520px,86%)}}@media (max-width: 700px){.product-content{padding:28px 22px}.product-media-inner{padding:56px 20px}.product-placeholder{padding:42px 20px}.spec-grid{grid-template-columns:1fr 1fr}.product-feature-panel .feature-line{grid-template-columns:1fr;gap:6px;padding:14px 16px}.product-feature-panel .feature-line strong{font-size:12px}.nav{position:absolute;left:20px;right:20px;top:76px;display:none;flex-direction:column;align-items:stretch;padding:15px;border:1px solid var(--line);border-radius:18px;background:#06060a}.nav.open{display:flex}.menu-toggle{display:block}.service-grid{grid-template-columns:1fr}.hero h1{font-size:42px}.section{padding:78px 0}.brand img{height:62px}.footer-wrap{display:grid}.prestations-gallery{grid-template-columns:1fr}}

.prestations-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;min-height:180px}.prestation-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008))}.prestation-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.prestation-card .prestation-caption{padding:16px}.prestation-card h3{margin:0 0 5px;font-size:17px}.prestation-card p{margin:0;color:var(--muted);font-size:13px}.prestations-empty{border:1px dashed rgba(255,255,255,.18);border-radius:20px;padding:46px 28px;text-align:center;color:var(--muted);background:rgba(255,255,255,.015)}.prestations-note{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px;color:#9a9ba6;font-size:13px}.prestations-note strong{color:#e5e5eb}.prestations-note code{color:#cfd0d8} .service-card p{min-height:78px}

.material-category{margin-top:58px}.material-category-head{margin-bottom:22px}.material-category-head h3{font-size:clamp(26px,3vw,38px);font-weight:500;margin:8px 0 0}.product-list{display:grid;gap:24px}.product-list .product-card{grid-template-columns:1fr 1.08fr}.product-media .product-placeholder{min-width:280px}.material-category+.material-category{padding-top:10px}.material-category+.material-category:before{content:"";display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(100,130,255,.18),rgba(240,0,220,.18),transparent);margin-bottom:56px}.product-placeholder em{display:block;color:#777783;font-size:12px;font-style:normal;letter-spacing:.07em;text-transform:uppercase}.product-note a{color:#b7c9ff}
@media (max-width:980px){.product-list .product-card{grid-template-columns:1fr}.material-category{margin-top:44px}}

.product-photo-link{display:block;width:100%;height:100%;text-decoration:none}.product-photo{display:block;width:100%;height:100%;object-fit:contain;background:#06060a;border-radius:18px}.product-placeholder-fallback{height:100%;width:100%}


/* Mobile optimisation + prestation lightbox */
html, body { overflow-x: hidden; }
.product-photo-link { display:block; width:100%; height:100%; cursor:zoom-in; }
.product-photo { width:100%; max-width:100%; height:auto; object-fit:contain; }
.prestation-card img { cursor:zoom-in; }
.lightbox { position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; padding:24px; background:rgba(0,0,0,.92); }
.lightbox.open { display:flex; }
.lightbox img { max-width:94vw; max-height:90vh; width:auto; height:auto; object-fit:contain; border-radius:14px; box-shadow:0 20px 80px rgba(0,0,0,.6); }
.lightbox-close { position:absolute; top:16px; right:18px; width:44px; height:44px; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:rgba(10,10,14,.78); color:#fff; font-size:28px; line-height:1; cursor:pointer; }
.lightbox-close:hover { background:rgba(255,255,255,.08); }
@media (max-width:700px){
  .container { width:min(var(--max),calc(100% - 28px)); }
  .material-section .section-heading { margin-bottom:30px; }
  .product-list, .product-card, .product-media, .product-content, .product-media-inner { min-width:0; width:100%; max-width:100%; }
  .product-card { border-radius:20px; }
  .product-media { min-height:300px; }
  .product-media-inner { padding:28px 14px; }
  .product-photo-link { display:flex; align-items:center; justify-content:center; }
  .product-photo { max-height:360px; object-fit:contain; }
  .product-content { padding:24px 18px 26px; }
  .spec-grid { grid-template-columns:1fr 1fr; }
  .product-feature-panel .feature-line { grid-template-columns:1fr; min-width:0; }
  .product-feature-panel .feature-line strong, .product-feature-panel .feature-line span { min-width:0; overflow-wrap:anywhere; }
}
@media (max-width:420px){
  .spec-grid { grid-template-columns:1fr; }
  .product-media { min-height:260px; }
  .product-photo { max-height:300px; }
}

.prestation-image-button{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:inherit;cursor:zoom-in;}
.prestation-image-button img{width:100%;display:block;}


/* Photos matériel : ouverture dans la même visionneuse que les prestations. */
.product-photo-button {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  width: 100%;
  display: block;
  padding: 0;
  margin: 0;
  cursor: zoom-in;
  text-align: inherit;
}
.product-photo-button:focus-visible {
  outline: 2px solid #8b5cff;
  outline-offset: 4px;
  border-radius: 12px;
}
.product-photo-button .product-photo,
.product-photo-button .product-placeholder {
  pointer-events: none;
}
