:root{--blue:#2b40fc;--dark:#060608;--light:#F5F5F0;--gray:#777;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:auto;}
body{background:var(--dark);color:var(--light);font-family:'Inter',sans-serif;overflow-x:hidden;}

/* ── NAV ── */
#nav{position:fixed;top:0;left:0;right:0;z-index:300;display:flex;align-items:center;justify-content:space-between;padding:14px 40px;background:linear-gradient(to bottom,rgba(6,6,8,.92),transparent);transition:background .3s;}
#nav.scrolled{background:rgba(6,6,8,.98);}
.nav-logo-wrap{display:flex;flex-direction:column;align-items:center;text-decoration:none;gap:0;}
.nav-logo-wrap svg{width:42px;height:auto;display:block;}
.nav-links{display:flex;gap:32px;list-style:none;}
.nav-links a{color:rgba(255,255,255,.6);text-decoration:none;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;transition:color .3s;}
.nav-links a:hover{color:#fff;}
.nav-cta{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;padding:8px 20px;border:1px solid var(--blue);color:var(--blue);text-decoration:none;transition:all .3s;}
.nav-cta:hover{background:#C9A96E;color:#060608;border-color:#C9A96E;}

/* ── HERO ── */
.hero-zoom{height:500vh;position:relative;}
.sticky-wrapper{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;}
#logo-wrap{position:relative;width:min(88vw,820px);will-change:transform;transform-origin:var(--o-cx,50%) var(--o-cy,50%);}
#logo-outline{width:100%;display:block;position:relative;z-index:2;}
#logo-fill-wrap{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:hidden;}
#logo-fill{width:100%;display:block;}
#events-badge{position:absolute;font-family:'Bebas Neue';font-size:clamp(.55rem,1.1vw,.85rem);letter-spacing:.3em;color:var(--blue);text-shadow:0 0 8px rgba(43,64,252,.9),0 0 20px rgba(43,64,252,.6);white-space:nowrap;pointer-events:none;z-index:10;transform:translate(-50%,-50%);transition:opacity .3s;}
#smoke-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:4;mix-blend-mode:screen;}
#tagline{margin-top:clamp(18px,3.5vh,32px);font-family:'Bebas Neue';font-size:clamp(1rem,2.2vw,1.5rem);letter-spacing:.55em;color:rgba(255,255,255,.45);transition:opacity .3s,transform .3s;}
#scroll-cue{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;animation:bob 2s infinite;opacity:.5;}
#scroll-cue span{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gray);}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(7px);}}

/* ── ADN ── */
#scene-adn{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:100px 40px;text-align:center;}
.adn-inner{max-width:820px;margin:0 auto;}
.adn-lead{
  font-family:'Inter';
  font-size:clamp(.72rem,1.3vw,.88rem);
  font-weight:300;
  line-height:2.1;
  color:rgba(255,255,255,.45);
  margin-bottom:24px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
/* Mots clés — bleu scintillant, plus grands que le texte blanc */
.w-proad,.w-road,.w-prod{
  font-family:'Bebas Neue';
  font-size:1.45em;
  letter-spacing:.12em;
  color:#2b40fc;
  -webkit-text-stroke:0px;
  text-decoration:none;
  cursor:pointer;
  font-style:normal;
  animation:wordShimmer 3s ease-in-out infinite;
  display:inline-block;
  vertical-align:middle;
}
.w-road{ animation-delay:.6s; }
.w-prod{ animation-delay:1.2s; font-size:1.3em; }
@keyframes wordShimmer{
  0%,100%{
    color:#2b40fc;
    text-shadow:0 0 8px rgba(43,64,252,.6),0 0 20px rgba(43,64,252,.3);
    filter:brightness(1);
  }
  50%{
    color:#6680ff;
    text-shadow:0 0 14px rgba(43,64,252,1),0 0 35px rgba(43,64,252,.6),0 0 60px rgba(43,64,252,.2);
    filter:brightness(1.4);
  }
}
.scroll-hint{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:52px;opacity:0;animation:fadeIn .8s 1s forwards;}
.scroll-hint span{font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(255,255,255,.3);}
.hint-mouse{width:24px;height:40px;border:1.5px solid rgba(255,255,255,.2);border-radius:12px;position:relative;}
.hint-dot{width:4px;height:4px;border-radius:50%;background:var(--blue);position:absolute;left:50%;transform:translateX(-50%);top:5px;animation:dotDrop 1.8s ease-in-out infinite;box-shadow:0 0 6px var(--blue);}
@keyframes dotDrop{0%{top:5px;opacity:1;}65%{top:24px;opacity:.5;}100%{top:5px;opacity:0;}}
@keyframes fadeIn{to{opacity:1;}}

/* ── CURTAIN ── */
#scene-curtain{position:relative;height:700vh;}
#curtain-sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:#03030a;}
.stage-bar{position:absolute;top:0;left:0;right:0;height:28px;background:linear-gradient(180deg,#0a0a14,#141420);border-bottom:2px solid #1e1e2e;z-index:50;}
.rig-lights{position:absolute;top:28px;left:0;right:0;display:flex;justify-content:space-around;padding:0 4%;z-index:49;}
.rig-light{width:11px;height:20px;background:linear-gradient(180deg,#1a1a28,#0d0d18);border:1px solid #2a2a38;border-top:none;position:relative;}
.rig-light::after{content:'';position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);width:9px;height:9px;border-radius:50%;background:radial-gradient(circle,rgba(230,238,255,.95) 0%,rgba(180,210,255,.5) 50%,transparent 70%);box-shadow:0 0 8px 3px rgba(180,210,255,.3);}
.stage-floor{position:absolute;bottom:0;left:0;right:0;height:30%;background:linear-gradient(180deg,#07070f 0%,#0b0b18 60%,#07070e 100%);transform:perspective(600px) rotateX(8deg);transform-origin:bottom center;}
.stage-floor::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0,rgba(255,255,255,.012) 1px,transparent 1px,transparent 55px);}
.stage-floor::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(43,64,252,.5),transparent);box-shadow:0 0 30px rgba(43,64,252,.2);}

/* Curtains */
.curtains-wrap{position:absolute;inset:0;display:flex;z-index:30;pointer-events:none;}
.curtain{width:50%;height:100%;position:relative;will-change:transform;overflow:visible;}
#curtain-l{transform-origin:left center;}
#curtain-r{transform-origin:right center;}
.curtain canvas{position:absolute;top:0;left:0;width:100%;height:100%;}
.curtain-rod{position:absolute;top:0;left:0;right:0;height:10px;background:linear-gradient(180deg,#3a3a52,#1e1e2e);z-index:2;}
.curtain-rings{position:absolute;top:8px;left:0;right:0;display:flex;justify-content:space-around;padding:0 2%;z-index:3;}
.ring{width:9px;height:9px;border-radius:50%;border:2px solid rgba(255,255,255,.28);background:rgba(255,255,255,.05);}
#spotlight-canvas{position:absolute;inset:0;z-index:35;pointer-events:none;}

/* WHY PROAD — logo + tagline sur les rideaux */
#why-text {
  position: absolute;
  transform: translate(-50%, -50%);
  text-align: center;
  pointer-events: none;
  z-index: 40;
  white-space: nowrap;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
#why-logo {
  width: clamp(120px, 18vw, 220px);
  height: auto;
  display: block;
  filter:
    drop-shadow(0 0 14px rgba(43,64,252,.9))
    drop-shadow(0 0 40px rgba(43,64,252,.55))
    drop-shadow(0 0 90px rgba(43,64,252,.3));
  animation: logoBreath 3.5s ease-in-out infinite;
}
@keyframes logoBreath {
  0%,100% {
    filter:
      drop-shadow(0 0 10px rgba(43,64,252,.8))
      drop-shadow(0 0 32px rgba(43,64,252,.45))
      drop-shadow(0 0 70px rgba(43,64,252,.25));
    opacity: .88;
  }
  50% {
    filter:
      drop-shadow(0 0 20px rgba(43,64,252,1))
      drop-shadow(0 0 55px rgba(43,64,252,.7))
      drop-shadow(0 0 110px rgba(43,64,252,.45));
    opacity: 1;
  }
}
.why-tagline {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: clamp(.7rem, 1.2vw, .95rem);
  font-weight: 300;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  text-shadow: 0 0 20px rgba(255,255,255,.3);
}
.why-cta {
  display: block;
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(1rem, 2vw, 1.6rem);
  letter-spacing: .35em;
  color: #C9A96E;
  text-shadow:
    0 0 12px rgba(201,169,110,.7),
    0 0 30px rgba(201,169,110,.3);
  animation: ctaPulse 2.5s ease-in-out infinite;
}
@keyframes ctaPulse {
  0%,100% { opacity: .8; letter-spacing: .35em; }
  50%      { opacity: 1;  letter-spacing: .38em; text-shadow: 0 0 18px rgba(201,169,110,.9), 0 0 45px rgba(201,169,110,.4); }
}

/* Stage content */
#stage-content{position:absolute;inset:0;z-index:20;opacity:0;transition:opacity .6s;pointer-events:none;}
#stage-content.visible{opacity:1;pointer-events:all;}

/* LED Screen with real logo */
#led-screen{
  position:absolute;top:8%;left:50%;transform:translateX(-50%);
  width:min(58vw,560px);
  height:min(32vh,200px);
  background:#000;
  border:2px solid rgba(43,64,252,.3);border-radius:6px;
  box-shadow:0 0 0 1px rgba(43,64,252,.12),0 0 40px rgba(43,64,252,.2),inset 0 0 60px rgba(0,0,20,.8);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;overflow:hidden;
}
#led-screen::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0,rgba(0,0,0,.12) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0,rgba(0,0,0,.08) 1px,transparent 1px,transparent 3px);pointer-events:none;z-index:2;}
#screen-logo-wrap{position:relative;z-index:4;width:min(22vw,140px);}
#screen-logo-wrap svg{width:100%;height:auto;display:block;}
#screen-logo-wrap{animation:logoFlicker 4s ease-in-out infinite;}
@keyframes logoFlicker{
  0%,100%{opacity:1;filter:drop-shadow(0 0 10px rgba(43,64,252,.9)) drop-shadow(0 0 25px rgba(43,64,252,.5));}
  92%{opacity:1;}93%{opacity:.35;filter:none;}94%{opacity:1;}95%{opacity:.55;filter:none;}
  96%{opacity:1;filter:drop-shadow(0 0 16px rgba(43,64,252,1)) drop-shadow(0 0 40px rgba(43,64,252,.7));}
}
#screen-universe{
  font-family:'Bebas Neue';
  font-size:clamp(.9rem,1.8vw,1.4rem);
  letter-spacing:.5em;
  position:relative;z-index:4;
  color:rgba(255,255,255,0);
  transition:color .3s;
  margin-top: 6px;
}
#screen-universe.sweep{
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.95) 50%,transparent 100%);
  background-size:200% 100%;background-clip:text;-webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:textSweep 1.2s ease-out forwards;
}
@keyframes textSweep{0%{background-position:200% 0;}100%{background-position:-100% 0;}}
#screen-universe.done{
  -webkit-text-fill-color:rgba(255,255,255,.95);
  text-shadow:0 0 16px rgba(43,64,252,.6), 0 0 30px rgba(43,64,252,.3);
  background:none;
}

/* Props */
.prop{position:absolute;display:flex;flex-direction:column;align-items:center;cursor:pointer;opacity:0;transition:opacity .6s,filter .35s;transform-style:preserve-3d;}
#prop-p{bottom:28%;left:8%;}
#prop-r{bottom:26%;left:24%;}
#prop-o{bottom:24%;left:44%;}
#prop-a{bottom:27%;left:62%;}
#prop-d{bottom:25%;left:78%;}
#prop-p .obj-wrap{transform:perspective(350px) rotateX(15deg) rotateY(10deg) scale(.82);}
#prop-r .obj-wrap{transform:perspective(350px) rotateX(12deg) rotateY(5deg) scale(.9);}
#prop-o .obj-wrap{transform:perspective(350px) rotateX(10deg) rotateY(-2deg) scale(.95);}
#prop-a .obj-wrap{transform:perspective(350px) rotateX(13deg) rotateY(-7deg) scale(.88);}
#prop-d .obj-wrap{transform:perspective(350px) rotateX(14deg) rotateY(-12deg) scale(.82);}
.obj-wrap{transition:transform .4s;transform-origin:bottom center;}
.obj-wrap svg{display:block;filter:drop-shadow(0 10px 20px rgba(0,0,60,.8));}
.prop:hover .obj-wrap{transform:perspective(350px) rotateX(4deg) rotateY(0deg) scale(1.05) translateY(-10px)!important;}
.prop:hover{filter:brightness(1.25) drop-shadow(0 0 20px rgba(43,64,252,.45));}
.prop-spotlight{position:absolute;bottom:100%;left:50%;width:90px;height:180px;transform:translateX(-50%);background:radial-gradient(ellipse 40% 100% at 50% 0%,rgba(255,255,255,.18) 0%,rgba(200,220,255,.06) 55%,transparent 100%);opacity:0;pointer-events:none;transition:opacity .4s;}
.prop:hover .prop-spotlight{opacity:1;}
.prop-shadow{width:60%;height:8px;background:radial-gradient(ellipse,rgba(0,0,25,.8) 0%,transparent 70%);margin-top:2px;transform:perspective(80px) rotateX(55deg);}
.prop-labels{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:6px;}
.prop-letter{font-family:'Bebas Neue';font-size:clamp(1.6rem,2.8vw,2.4rem);color:transparent;line-height:1;opacity:0;transform:translateY(5px);transition:opacity .3s,transform .3s,color .3s,filter .3s;}
.prop-word{font-family:'Bebas Neue';font-size:clamp(.65rem,1.1vw,.9rem);letter-spacing:.2em;color:transparent;opacity:0;transform:translateY(3px);transition:opacity .3s .05s,transform .3s .05s,color .3s;}
.prop:hover .prop-letter{opacity:1;transform:translateY(0);color:#C9A96E;filter:drop-shadow(0 0 12px rgba(201,169,110,.6));}
.prop:hover .prop-word{opacity:1;transform:translateY(0);color:rgba(255,255,255,.75);}
.prop-def{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(6px);width:160px;background:rgba(3,3,14,.97);border:1px solid rgba(43,64,252,.35);padding:10px 12px;font-size:.7rem;color:rgba(255,255,255,.6);line-height:1.55;text-align:center;opacity:0;pointer-events:none;transition:opacity .3s .08s,transform .3s .08s;z-index:100;white-space:normal;}
.prop-def::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:rgba(43,64,252,.35);}
.prop:hover .prop-def{opacity:1;transform:translateX(-50%) translateY(0);}

/* Dust canvas */
#dust-canvas{position:absolute;inset:0;z-index:22;pointer-events:none;}
#bcard{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.78);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .3s;}
#bcard.open{opacity:1;pointer-events:all;}
.bcard-inner{background:#0a0a16;border:1px solid rgba(43,64,252,.35);padding:52px 60px;max-width:480px;width:92%;text-align:center;position:relative;transform:scale(.88);transition:transform .35s;}
#bcard.open .bcard-inner{transform:scale(1);}
.bc-letter{font-family:'Bebas Neue';font-size:7.5rem;line-height:1;background:linear-gradient(135deg,#e8c97a,#C9A96E,#a07840);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.bc-word{font-family:'Bebas Neue';font-size:1.8rem;letter-spacing:.25em;color:var(--light);margin:4px 0 18px;}
.bc-def{color:var(--gray);font-size:.9rem;line-height:1.75;max-width:340px;margin:0 auto;white-space:normal;word-break:normal;}
.bc-close{position:absolute;top:14px;right:18px;background:none;border:none;color:var(--gray);font-size:1.1rem;cursor:pointer;transition:color .2s;}
.bc-close:hover{color:var(--light);}

/* ── WHY / SERVICES / STATS / CTA ── */
#why{padding:120px 48px;max-width:1200px;margin:0 auto;}
#services{padding:0 48px 120px;max-width:1200px;margin:0 auto;}
.section-label{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--blue);margin-bottom:16px;}
#why h2,#services h2,#cta h2{font-family:'Bebas Neue';font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:.03em;margin-bottom:56px;line-height:1;}
#services .sub{color:var(--gray);font-size:.9rem;margin-bottom:48px;margin-top:-40px;}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;}
.why-card{padding:28px;border:1px solid rgba(255,255,255,.07);position:relative;overflow:hidden;transition:border-color .3s,transform .3s;}
.why-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(43,64,252,.07),transparent);opacity:0;transition:opacity .3s;}
.why-card:hover{border-color:rgba(43,64,252,.35);transform:translateY(-4px);}
.why-card:hover::before{opacity:1;}
.why-icon{font-size:1.5rem;margin-bottom:12px;}
.why-card h3{font-size:.95rem;font-weight:600;margin-bottom:8px;color:#C9A96E;}
.why-card p{font-size:.82rem;color:var(--gray);line-height:1.6;}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2px;}
.svc{position:relative;padding:48px 32px;background:rgba(255,255,255,.02);transition:background .3s;}
.svc:hover{background:rgba(43,64,252,.05);}
.svc-num{font-family:'Bebas Neue';font-size:4.5rem;color:rgba(255,255,255,.04);position:absolute;top:12px;right:20px;line-height:1;}
.svc h3{font-size:1.1rem;font-weight:600;margin-bottom:12px;}
.svc p{font-size:.85rem;color:var(--gray);line-height:1.6;}
.svc-tag{display:inline-block;margin-top:20px;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);border-bottom:1px solid var(--blue);padding-bottom:2px;text-decoration:none;}
#stats{border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);padding:80px 48px;display:flex;justify-content:center;gap:clamp(32px,6vw,80px);flex-wrap:wrap;}
.stat{text-align:center;max-width:200px;}
.stat-icon{font-size:2rem;margin-bottom:12px;}
.stat-title{font-family:'Bebas Neue';font-size:clamp(1.2rem,2.5vw,1.8rem);letter-spacing:.08em;color:#C9A96E;line-height:1.1;margin-bottom:8px;}
.stat-desc{font-size:.78rem;color:var(--gray);line-height:1.6;}
#cta{padding:140px 48px;text-align:center;}
#cta h2{margin-bottom:16px;}
#cta p{color:var(--gray);max-width:480px;margin:0 auto 40px;line-height:1.7;}
.btn-primary{display:inline-block;padding:16px 48px;background:var(--blue);color:#fff;font-family:'Bebas Neue';font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:all .3s;box-shadow:0 0 32px rgba(43,64,252,.3);}
.btn-primary:hover{background:#4455ff;box-shadow:0 0 48px rgba(43,64,252,.55);transform:translateY(-2px);}
footer{border-top:1px solid rgba(255,255,255,.07);padding:40px 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.f-logo{font-family:'Bebas Neue';font-size:1.2rem;letter-spacing:.2em;}
.f-links{display:flex;gap:24px;list-style:none;}
.f-links a{font-size:.7rem;color:var(--gray);text-decoration:none;letter-spacing:.1em;text-transform:uppercase;transition:color .3s;}
.f-links a:hover{color:var(--light);}
.f-copy{font-size:.7rem;color:rgba(255,255,255,.2);}
/* ── À PROPOS ── */
#about{padding:120px 48px;max-width:1200px;margin:0 auto;}
.about-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;}
.about-text h2{font-family:'Bebas Neue';font-size:clamp(2.5rem,5vw,4rem);letter-spacing:.03em;margin-bottom:8px;line-height:1;}
.about-role{font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--blue);margin-bottom:32px;}
.about-desc{font-size:.9rem;color:var(--gray);line-height:1.8;margin-bottom:16px;}
.about-values{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin-top:28px;}
.about-value{font-size:.78rem;letter-spacing:.06em;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:8px;}
.av-icon{color:var(--blue);font-size:.65rem;}
.about-visual{display:flex;flex-direction:column;align-items:center;gap:20px;}
.about-photo-frame{width:min(280px,100%);aspect-ratio:3/4;border:1px solid rgba(43,64,252,.2);position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(43,64,252,.04),transparent);}
.about-photo-frame::before{content:'';position:absolute;inset:-6px;border:1px solid rgba(43,64,252,.08);}
.about-photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:16px;}
.photo-label{font-family:'Bebas Neue';font-size:.7rem;letter-spacing:.3em;color:rgba(255,255,255,.25);}
.about-badge-wrap{text-align:center;}
.about-badge{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);padding:8px 20px;border:1px solid rgba(255,255,255,.07);}

/* ── CONTACT ── */
#contact{padding:120px 48px;border-top:1px solid rgba(255,255,255,.07);max-width:1200px;margin:0 auto;}
.contact-inner{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;align-items:start;}
.contact-info h2{font-family:'Bebas Neue';font-size:clamp(2.5rem,5vw,4rem);letter-spacing:.03em;margin-bottom:24px;line-height:1;}
.contact-desc{font-size:.9rem;color:var(--gray);line-height:1.8;margin-bottom:40px;}
.contact-details{display:flex;flex-direction:column;gap:20px;}
.contact-detail{display:flex;flex-direction:column;gap:4px;}
.cd-label{font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.3);}
.cd-value{font-size:.9rem;color:rgba(255,255,255,.8);text-decoration:none;transition:color .3s;}
a.cd-value:hover{color:var(--blue);}
.contact-form{display:flex;flex-direction:column;gap:20px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group label{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4);}
.form-group input,.form-group select,.form-group textarea{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:var(--light);padding:14px 16px;font-family:'Inter',sans-serif;font-size:.85rem;transition:border-color .3s;outline:none;resize:vertical;}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,.2);}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue);}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23777' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer;}
.form-group select option{background:#0a0a16;color:var(--light);}
.form-submit{width:100%;cursor:pointer;border:none;font-family:'Bebas Neue',sans-serif;}
.form-success{display:flex;align-items:center;gap:10px;padding:16px;background:rgba(43,64,252,.08);border:1px solid rgba(43,64,252,.25);color:rgba(255,255,255,.8);font-size:.85rem;}
.fs-icon{color:var(--blue);font-size:1.1rem;font-weight:bold;}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ══════════════════════════════════
   RESPONSIVE MOBILE — iPhone / Android
   ══════════════════════════════════ */
@media(max-width:768px){

  /* ── NAV ── */
  #nav { padding: 12px 18px; }
  .nav-logo-wrap img { width: 36px !important; }
  /* Afficher les liens nav en petit */
  .nav-links {
    display: flex;
    gap: 14px;
  }
  .nav-links a {
    font-size: .62rem;
    letter-spacing: .06em;
  }
  .nav-cta {
    font-size: .6rem;
    padding: 6px 12px;
    letter-spacing: .1em;
  }

  /* ── HERO ── */
  #logo-wrap { width: min(92vw, 420px); }

  /* ── ADN ── */
  #scene-adn { padding: 80px 20px; }
  .adn-lead { font-size: clamp(.7rem, 3.2vw, .88rem); line-height: 1.9; }
  .w-proad, .w-road { font-size: 1.3em; }
  .w-prod { font-size: 1.2em; }

  /* ── CURTAIN / SCÈNE ── */
  #led-screen {
    width: min(80vw, 320px);
    height: min(28vh, 160px);
  }
  #screen-universe { font-size: clamp(.7rem, 3vw, 1rem); }

  /* Props — empilés en 2 colonnes sur mobile */
  #prop-p { bottom: 22%; left: 4%; }
  #prop-r { bottom: 20%; left: 22%; }
  #prop-o { bottom: 18%; left: 42%; }
  #prop-a { bottom: 21%; left: 62%; }
  #prop-d { bottom: 19%; left: 78%; }
  .prop .obj-wrap svg { transform: scale(0.7); transform-origin: bottom center; }

  /* ── WHY ── */
  #why { padding: 60px 20px; }
  #why h2 { font-size: clamp(2rem,8vw,3rem); margin-bottom: 32px; }
  /* 2 cartes par ligne */
  .why-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  .why-card { padding: 18px 14px; }
  .why-card h3 { font-size: .82rem; }
  .why-card p { font-size: .74rem; }
  .why-icon { font-size: 1.2rem; margin-bottom: 8px; }

  /* ── SERVICES ── */
  #services { padding: 0 20px 60px; }
  #services h2 { font-size: clamp(2rem,8vw,3rem); margin-bottom: 24px; }
  .services-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2px;
  }
  .svc { padding: 28px 18px; }
  .svc h3 { font-size: .9rem; }
  .svc p { font-size: .76rem; }

  /* ── STATS — 2 par ligne ── */
  #stats {
    gap: 24px 32px;
    padding: 50px 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-items: center;
  }
  .stat { max-width: 150px; }
  .stat-title { font-size: clamp(1rem,4vw,1.4rem); }
  .stat-desc { font-size: .72rem; }

  /* ── CTA / CARTE ── */
  #france-map {
    grid-template-columns: 1fr;
    padding: 60px 20px;
    text-align: center;
    gap: 40px;
  }
  .france-cta-text { align-items: center; }
  #france-map h2 { font-size: clamp(2.2rem,8vw,3.5rem); text-align: center; }
  .map-sub { text-align: center; font-size: .8rem; }
  .france-map-wrap { max-width: 320px; margin: 0 auto; }

  /* ── ABOUT ── */
  #about { padding: 60px 20px; }
  .about-inner { grid-template-columns: 1fr; gap: 36px; }
  .about-visual { order: -1; }
  .about-photo-frame { width: min(220px, 60vw); }

  /* ── CONTACT ── */
  #contact { padding: 60px 20px; }
  .contact-inner { grid-template-columns: 1fr; gap: 40px; }
  .form-row { grid-template-columns: 1fr; }

  /* ── FOOTER ── */
  footer {
    flex-direction: column;
    text-align: center;
    padding: 28px 20px;
    gap: 12px;
  }
  .f-links { justify-content: center; flex-wrap: wrap; gap: 14px; }

  /* ── COPILOTE flottant ── */
  .cop-float-btn { width: 52px; height: 52px; bottom: 20px; right: 16px; }
  .cop-float-panel { right: 12px; bottom: 82px; width: calc(100vw - 24px); }
}

/* Extra small — iPhone SE, petits Android */
@media(max-width:420px){
  .nav-links { gap: 10px; }
  .nav-links a { font-size: .58rem; }
  .why-card h3 { font-size: .78rem; }
  .svc h3 { font-size: .82rem; }
  #stats { grid-template-columns: 1fr 1fr; gap: 20px 16px; }
}
