/* OneClick Tech — Styles */
:root {
  --bg-deep: #07070c;
  --bg-dark: #0c0c14;
  --bg-elevated: #12121c;
  --glass: rgba(255,255,255,0.04);
  --glass-hover: rgba(255,255,255,0.06);
  --border: rgba(255,255,255,0.08);
  --border-glow: rgba(139,92,246,0.28);
  --purple: #7c3aed;
  --purple-light: #a78bfa;
  --purple-neon: #c4b5fd;
  --purple-dark: #5b21b6;
  --purple-glow: rgba(124,58,237,0.25);
  --white: #fff;
  --gray-100: #f1f5f9;
  --gray-300: #cbd5e1;
  --gray-400: #94a3b8;
  --gray-500: #64748b;
  --green: #22c55e;
  --whatsapp: #25d366;
  --font-body: 'Inter', system-ui, sans-serif;
  --font-display: 'Inter', system-ui, sans-serif;
  --font-accent: 'Inter', system-ui, sans-serif;
  --header-h: 108px;
  --radius: 16px;
  --radius-sm: 10px;
  --ease: cubic-bezier(0.16,1,0.3,1);
  --ease-fluid: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-spring: cubic-bezier(0.34, 1.45, 0.64, 1);
  --ico-dur: 0.55s;
  --transition: 0.35s var(--ease);
  --heading: #ffffff;
  --header-surface: rgba(7, 7, 12, 0.92);
}

html[data-theme="light"] {
  color-scheme: light;
  --bg-deep: #fafbfc;
  --bg-dark: #f1f5f9;
  --bg-elevated: #ffffff;
  --glass: #ffffff;
  --glass-hover: #f8fafc;
  --border: #e2e8f0;
  --border-glow: #ddd6fe;
  --purple-light: #7c3aed;
  --purple-neon: #8b5cf6;
  --purple-glow: rgba(124, 58, 237, 0.12);
  --gray-100: #1e293b;
  --gray-300: #475569;
  --gray-400: #64748b;
  --gray-500: #94a3b8;
  --heading: #0f172a;
  --header-surface: rgba(255, 255, 255, 0.92);
  --card-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 4px 16px rgba(15, 23, 42, 0.04);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{font-family:var(--font-body);background:var(--bg-deep);color:var(--gray-100);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;position:relative}
body > .header, body > main, body > footer, body > .whatsapp-float, body > .back-to-top, body > .skip-link{position:relative;z-index:1}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button,input,select,textarea{font-family:inherit}
button{cursor:pointer;border:none;background:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* Noise */
.noise{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* Loader */
.loader{position:fixed;inset:0;z-index:10000;background:var(--bg-deep);display:flex;align-items:center;justify-content:center;transition:opacity .6s,visibility .6s}
.loader--done{opacity:0;visibility:hidden;pointer-events:none}
.loader__logo{display:flex;align-items:center;justify-content:center;margin-bottom:28px}
.loader__logo .logo__name{font-size:2rem}
.loader__bar{width:200px;height:2px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden;margin:0 auto 12px}
.loader__progress{height:100%;width:0;background:linear-gradient(90deg,var(--purple),var(--purple-neon));animation:loadBar 1.8s var(--ease) forwards}
.loader__label{font-size:.8rem;color:var(--gray-500);letter-spacing:2px;text-transform:uppercase}
@keyframes loadBar{to{width:100%}}
@keyframes pulse{0%,100%{opacity:1;filter:drop-shadow(0 0 8px var(--purple-glow))}50%{opacity:.6}}

.container{width:100%;max-width:1280px;margin:0 auto;padding:0 28px}
@media(min-width:1600px){.container{max-width:1400px}}

/* Glass premium */
.glass-premium{
  position:relative;background:var(--glass);border:1px solid var(--border);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:var(--radius);
  transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);
  overflow:hidden;
}
.glass-premium::before{
  content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:linear-gradient(135deg,rgba(192,132,252,.25),transparent 40%,transparent 60%,rgba(139,92,246,.15));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:0;transition:opacity var(--transition);
}
.glass-premium:hover::before{opacity:1}
.glass-premium:hover{border-color:var(--border-glow);box-shadow:0 4px 24px rgba(0,0,0,.25)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 28px;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;transition:transform .45s var(--ease-spring),box-shadow .45s var(--ease-fluid),background .35s ease,border-color .35s ease,color .35s ease,filter .35s ease;position:relative;overflow:hidden;white-space:nowrap;backface-visibility:hidden}
.btn--primary{background:var(--purple);color:var(--white);box-shadow:0 2px 12px rgba(124,58,237,.25)}
.btn--primary::after{display:none}
@media(hover:hover){
  .btn--primary:hover{background:var(--purple-dark);box-shadow:0 8px 24px rgba(124,58,237,.32);transform:translateY(-2px)}
  .btn--outline:hover{background:rgba(139,92,246,.12);border-color:var(--purple-neon);color:var(--white);transform:translateY(-2px)}
  .btn--whatsapp:hover{filter:brightness(1.08);transform:translateY(-3px);box-shadow:0 8px 28px rgba(37,211,102,.35)}
}
.btn--outline{border:1px solid var(--border-glow);color:var(--purple-light);background:rgba(139,92,246,.05)}
.btn--whatsapp{background:var(--whatsapp);color:#fff}
.btn--lg{padding:18px 40px;font-size:1rem}
.btn--block{width:100%}

.text-glow{background:linear-gradient(135deg,var(--purple-neon),var(--purple-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Header */
.header{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--header-h);transition:var(--transition)}
.header--scrolled{background:var(--header-surface);backdrop-filter:blur(24px);border-bottom:1px solid var(--border);box-shadow:0 4px 40px rgba(0,0,0,.5)}
html[data-theme="light"] .header--scrolled{box-shadow:0 1px 0 #e2e8f0,0 4px 20px rgba(15,23,42,.04)}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:100%}

.logo{display:inline-flex;align-items:center;flex-shrink:0;line-height:1.1;margin-right:12px}
.logo__wordmark{display:flex;flex-direction:column;gap:2px}
.logo__name{font-size:1.35rem;font-weight:800;color:var(--heading);letter-spacing:-.02em}
.logo__accent{color:var(--purple-light)}
.logo__sub{font-size:.72rem;font-weight:500;color:var(--gray-400);letter-spacing:.02em}
.logo__img{display:block;height:auto;object-fit:contain;object-position:left center;transition:opacity var(--transition)}
.logo__img--header{height:96px;width:auto;max-width:min(620px,72vw)}
.logo:hover .logo__img--header{opacity:.92}
.logo__img--footer{height:110px;max-width:560px;width:auto}
.logo--glow{position:relative}

.hero__brand{display:block;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:800;color:var(--heading);letter-spacing:-.03em;line-height:1.05;margin-bottom:10px}
.hero__brand-accent{color:var(--purple-light)}
.hero__brand-sub{display:block;font-size:clamp(1rem,2.2vw,1.25rem);font-weight:500;color:var(--purple-light);letter-spacing:.01em}
.hero__reassurance{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}
.hero__reassurance span{font-size:.88rem;color:var(--gray-300);display:flex;align-items:center;gap:8px}
.hero__reassurance svg{width:16px;height:16px;color:var(--green);flex-shrink:0}

.nav__list{display:flex;gap:28px}
.nav__link{font-size:.92rem;font-weight:500;color:var(--gray-300);transition:var(--transition);position:relative;letter-spacing:.3px}
.nav__link::after{content:'';position:absolute;bottom:-6px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--purple),var(--purple-neon));transition:width var(--transition);box-shadow:0 0 8px var(--purple-glow)}
.nav__link:hover,.nav__link--active{color:var(--white)}
.nav__link:hover::after,.nav__link--active::after{width:100%}
.nav__contact{display:none;margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}
.nav__phone{display:block;font-size:1.15rem;font-weight:700;color:var(--purple-light);margin-bottom:8px;transition:var(--transition)}
.nav__phone:hover{color:var(--white)}
.nav__hours{font-size:.85rem;color:var(--gray-400);margin-bottom:16px;line-height:1.5}

.header__phone{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--border-glow);border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;color:var(--purple-light);transition:var(--transition);white-space:nowrap;flex-shrink:0}
.header__phone svg{width:18px;height:18px;flex-shrink:0;transition:transform var(--ico-dur) var(--ease-spring)}
.header__phone:hover{border-color:var(--purple);color:var(--white);background:rgba(139,92,246,.08)}
@media(hover:hover){
  .header__phone:hover svg{transform:scale(1.12) rotate(-8deg)}
}
.header__cta{flex-shrink:0}
.theme-switch{
  flex-shrink:0;width:42px;height:42px;padding:0;margin-left:10px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--glass);border:1px solid var(--border);color:var(--gray-300);
  transition:color var(--transition),border-color var(--transition),background var(--transition)}
.theme-switch:hover{color:var(--purple-light);border-color:var(--border-glow);background:var(--glass-hover)}
.theme-switch__icon{width:20px;height:20px;transition:transform var(--ico-dur) var(--ease-spring),opacity .35s ease}
@media(hover:hover){
  .theme-switch:hover .theme-switch__icon{transform:rotate(-12deg) scale(1.08)}
}
.theme-switch__icon--moon{display:none}
html[data-theme="light"] .theme-switch__icon--sun{display:none}
html[data-theme="light"] .theme-switch__icon--moon{display:block}

.burger{display:none;flex-direction:column;gap:5px;padding:8px;z-index:1001}
.burger__line{width:24px;height:2px;background:var(--white);transition:var(--transition);border-radius:2px}
.burger--active .burger__line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.burger--active .burger__line:nth-child(2){opacity:0}
.burger--active .burger__line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* HERO */
.hero{position:relative;display:block;padding:calc(var(--header-h) + 28px) 0 48px;overflow:visible}
.hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero__bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18;filter:saturate(.7)}
.hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(139,92,246,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(139,92,246,.04) 1px,transparent 1px);background-size:80px 80px}
.hero__glow{position:absolute;border-radius:50%;filter:blur(140px)}
.hero__glow--1{width:500px;height:500px;background:var(--purple-dark);top:-10%;right:0;opacity:.15}
.hero__glow--2{width:400px;height:400px;background:var(--purple);bottom:0;left:-5%;opacity:.1}

.hero__inner{position:relative;z-index:2}

/* Ligne 1 : texte + images */
.hero__top{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:32px}
.hero__badge{display:inline-block;padding:8px 18px;border:1px solid var(--border-glow);border-radius:50px;font-size:.85rem;color:var(--purple-light);margin-bottom:16px;background:rgba(139,92,246,.08)}
.hero__tagline{font-size:1.1rem;font-weight:600;color:var(--purple-light);margin-bottom:14px}
.hero__title{margin-bottom:18px}
.hero__logo-img{display:none}
.hero__headline{font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:600;color:var(--gray-100);margin-bottom:16px;line-height:1.5}
.hero__text{color:var(--gray-300);font-size:1.05rem;max-width:540px;margin-bottom:24px;line-height:1.75}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.hero__tags{display:flex;gap:10px;flex-wrap:wrap}
.tag{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--glass);border:1px solid var(--border);border-radius:50px;font-size:.82rem;color:var(--gray-300)}
.tag__dot{width:6px;height:6px;border-radius:50%;background:var(--purple-neon)}

/* Showcase images droite */
.hero__showcase{display:flex;flex-direction:column;gap:12px;width:100%}
.hero__showcase-main{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border-glow);aspect-ratio:16/10}
.hero__showcase-main img{width:100%;height:100%;object-fit:cover;display:block}
.hero__showcase-badge{position:absolute;bottom:14px;left:14px;padding:8px 16px;background:rgba(3,3,6,.88);border:1px solid var(--border-glow);border-radius:50px;font-size:.8rem;font-weight:600;color:var(--purple-light)}
.hero__showcase-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hero__showcase-small{position:relative;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);aspect-ratio:4/3}
.hero__showcase-small img{width:100%;height:100%;object-fit:cover;display:block}
.hero__showcase-small span{position:absolute;bottom:10px;left:10px;padding:5px 12px;background:rgba(3,3,6,.88);border-radius:50px;font-size:.72rem;font-weight:600;color:var(--white)}

/* Bandeau chiffres */
.hero__stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.hero__stat{padding:20px 16px;text-align:center;background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-sm)}
.hero__stat strong{display:block;font-family:var(--font-body);font-size:1.05rem;font-weight:700;color:var(--purple-light);margin-bottom:4px}
.hero__stat span{font-size:.82rem;color:var(--gray-400)}

/* Accès rapide services */
.hero__services{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.hero__service-card{display:flex;align-items:center;gap:12px;padding:18px 14px;background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-sm);
  transition:transform var(--ico-dur) var(--ease-fluid),border-color .45s var(--ease-fluid),background .45s ease,box-shadow var(--ico-dur) var(--ease-fluid)}
.hero__service-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(124,58,237,.12);border-radius:10px;font-size:.72rem;font-weight:800;color:var(--purple-light);flex-shrink:0;
  transition:transform var(--ico-dur) var(--ease-spring),background var(--ico-dur) var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid),color .4s ease;border:1px solid transparent}
@media(hover:hover){
  .hero__service-card:hover{border-color:var(--border-glow);background:var(--glass-hover);transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.12)}
  .hero__service-card:hover .hero__service-icon{transform:scale(1.1) translateY(-2px);background:rgba(139,92,246,.2);border-color:var(--border-glow);box-shadow:0 6px 18px rgba(124,58,237,.2);color:var(--purple-neon)}
}
.hero__service-card strong{display:block;font-size:.88rem;color:var(--white);margin-bottom:3px}
.hero__service-card span{font-size:.75rem;color:var(--gray-500)}

/* Trust bar */
.trust{padding:48px 0;background:var(--bg-dark);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.trust__item{padding:24px 20px;text-align:center;background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-sm);
  transition:transform var(--ico-dur) var(--ease-fluid),border-color .45s var(--ease-fluid),background .45s var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid)}
.trust__icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;margin:0 0 14px;
  background:rgba(124,58,237,.1);border:1px solid var(--border-glow);border-radius:14px;color:var(--purple-light);
  transition:transform var(--ico-dur) var(--ease-spring),background var(--ico-dur) var(--ease-fluid),border-color var(--ico-dur) var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid),color .4s ease}
.trust__item svg,.trust__icon svg{width:26px;height:26px;transition:transform var(--ico-dur) var(--ease-spring);transform-origin:center}
.trust__item h3{font-size:.95rem;font-weight:700;color:var(--heading);margin-bottom:6px}
.trust__item p{font-size:.82rem;color:var(--gray-500);line-height:1.5}
@media(hover:hover){
  .trust__item:hover{transform:translateY(-4px);border-color:var(--border-glow);background:var(--glass-hover);box-shadow:0 12px 36px rgba(0,0,0,.12)}
  .trust__item:hover .trust__icon{transform:translateY(-3px) scale(1.05);background:rgba(139,92,246,.2);border-color:var(--purple-neon);box-shadow:0 8px 24px rgba(124,58,237,.25);color:var(--purple-neon)}
  .trust__item:hover .trust__icon svg{transform:scale(1.12)}
}

/* Stats */
.stats{padding:40px 0 60px;margin-top:0;position:relative;z-index:3}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat-card{padding:36px 24px;text-align:center}
.stat-card__number{font-family:var(--font-body);font-size:2.2rem;font-weight:800;color:var(--purple-light);margin-bottom:8px;text-shadow:none}
.stat-card__svg{width:36px;height:36px;color:var(--purple-light);margin:0 auto 12px}
.stat-card__label{font-weight:600;font-size:1rem}
.stat-card__sub{font-size:.82rem;color:var(--gray-500);margin-top:4px}

/* Sections */
.section{padding:120px 0;position:relative}
.section--dark{background:var(--bg-dark)}
.section--immersive{position:relative;overflow:hidden;padding:140px 0}
.section--contact{background:linear-gradient(180deg,var(--bg-deep),var(--bg-dark))}
.section-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-glow),transparent);margin-bottom:-1px}
.section__header{text-align:center;max-width:700px;margin:0 auto 70px}
.section__tag{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--purple-light);margin-bottom:14px;position:relative}
.section__tag::after{content:'';display:block;width:0;height:2px;margin-top:10px;background:linear-gradient(90deg,var(--purple-light),transparent);border-radius:2px;transition:width .65s var(--ease-fluid)}
.reveal--visible .section__tag::after,.section__header.reveal--visible .section__tag::after{width:36px}
.section__title{font-family:var(--font-body);font-size:clamp(1.75rem,4vw,2.4rem);font-weight:800;color:var(--heading);margin-bottom:18px;letter-spacing:-.02em;line-height:1.2}
.section__title--light{color:var(--heading)}
.section__desc{color:var(--gray-300);font-size:1.05rem;line-height:1.7}

/* Service cards */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-card{padding:32px;transform-style:preserve-3d;perspective:1000px;transition:transform var(--ico-dur) var(--ease-fluid),border-color .45s var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid)}
.service-card__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--purple-neon);
  background:rgba(139,92,246,.1);border:1px solid var(--border-glow);border-radius:14px;
  transition:transform var(--ico-dur) var(--ease-spring),background var(--ico-dur) var(--ease-fluid),border-color var(--ico-dur) var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid),color .4s ease}
.service-card__icon svg{width:24px;height:24px;transition:transform var(--ico-dur) var(--ease-spring),color .4s ease;transform-origin:center}
@media(hover:hover){
  .service-card:hover{transform:translateY(-4px);border-color:var(--border-glow);box-shadow:0 14px 40px rgba(0,0,0,.18)}
  .service-card:hover .service-card__icon{transform:translateY(-3px) scale(1.04);background:rgba(139,92,246,.2);border-color:var(--purple-neon);box-shadow:0 8px 28px rgba(124,58,237,.28);color:var(--purple-neon)}
  .service-card:hover .service-card__icon svg{transform:scale(1.14) translateY(-1px)}
}
.service-card__title{font-size:1.05rem;font-weight:700;margin-bottom:10px;color:var(--heading)}
.service-card__text{font-size:.88rem;color:var(--gray-400);line-height:1.55;margin-bottom:18px}
.service-card__link{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--purple-light);transition:var(--transition)}
.service-card__link svg{width:16px;height:16px;transition:transform var(--ico-dur) var(--ease-spring)}
.service-card__link:hover{color:var(--purple-neon);gap:10px}
@media(hover:hover){
  .service-card__link:hover svg{transform:translateX(5px) scale(1.08)}
}

/* Setup Gamer */
.setup__bg{position:absolute;inset:0}
.setup__bg img{width:100%;height:100%;object-fit:cover}
.setup__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(3,3,6,.92) 0%,rgba(3,3,6,.7) 50%,rgba(91,33,182,.3) 100%)}
.setup__content{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.setup__lead{font-size:1.1rem;color:var(--gray-300);margin:20px 0 28px;line-height:1.7}
.setup__features{list-style:none;margin-bottom:36px}
.setup__features li{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:.95rem;color:var(--gray-300)}
.setup__check{color:var(--purple-neon);font-size:.7rem}
.setup__card{position:relative;border-radius:var(--radius);overflow:hidden}
.setup__card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.setup__card-glow{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(139,92,246,.2));pointer-events:none}
.setup__specs{position:absolute;bottom:16px;left:16px;display:flex;gap:8px}
.setup__specs span{padding:6px 14px;background:rgba(3,3,6,.8);border:1px solid var(--border-glow);border-radius:50px;font-size:.72rem;font-weight:600;color:var(--purple-light);backdrop-filter:blur(8px)}

/* Gamer features & configs */
.gamer-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:70px}
.gamer-feature{padding:28px;transition:transform var(--ico-dur) var(--ease-fluid),border-color .45s var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid)}
.gamer-feature__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--purple-neon);
  background:rgba(139,92,246,.1);border:1px solid var(--border-glow);border-radius:14px;
  transition:transform var(--ico-dur) var(--ease-spring),background var(--ico-dur) var(--ease-fluid),border-color var(--ico-dur) var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid),color .4s ease}
.gamer-feature__icon svg{width:24px;height:24px;transition:transform var(--ico-dur) var(--ease-spring);transform-origin:center}
.gamer-feature__num{font-family:var(--font-display);font-size:.7rem;color:var(--purple);letter-spacing:3px;margin-bottom:12px;display:block}
.gamer-feature h3{font-size:1rem;font-weight:700;margin-bottom:8px}
.gamer-feature p{font-size:.85rem;color:var(--gray-400)}
@media(hover:hover){
  .gamer-feature:hover{transform:translateY(-4px);border-color:var(--border-glow);box-shadow:0 14px 40px rgba(0,0,0,.18)}
  .gamer-feature:hover .gamer-feature__icon{transform:translateY(-3px) scale(1.04);background:rgba(139,92,246,.2);border-color:var(--purple-neon);box-shadow:0 8px 28px rgba(124,58,237,.28);color:var(--purple-neon)}
  .gamer-feature:hover .gamer-feature__icon svg{transform:scale(1.14) rotate(-4deg)}
}
.configs-title{font-family:var(--font-display);font-size:1.4rem;text-align:center;margin-bottom:36px;letter-spacing:2px}
.configs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.config-card{padding:36px;display:flex;flex-direction:column;transition:transform var(--ico-dur) var(--ease-fluid),border-color .45s var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid)}
@media(hover:hover){
  .config-card:hover{transform:translateY(-4px);border-color:var(--border-glow);box-shadow:0 14px 40px rgba(0,0,0,.16)}
}
.config-card--featured{border-color:var(--purple);box-shadow:0 4px 24px rgba(124,58,237,.15);transform:none}
.config-card__badge{display:inline-block;padding:5px 14px;background:rgba(139,92,246,.12);border:1px solid var(--border-glow);border-radius:50px;font-size:.72rem;font-weight:700;color:var(--purple-light);margin-bottom:16px;width:fit-content}
.config-card__badge--hot{background:rgba(192,132,252,.2);color:var(--purple-neon)}
.config-card__name{font-family:var(--font-body);font-size:1.2rem;font-weight:700;margin-bottom:8px}
.config-card__desc{font-size:.9rem;color:var(--gray-400);margin-bottom:20px}
.config-card__specs{flex:1;margin-bottom:20px}
.config-card__specs li{font-size:.85rem;color:var(--gray-300);padding:8px 0;border-bottom:1px solid var(--border)}
.config-card__specs strong{color:var(--gray-500);font-weight:500}
.config-card__price{font-family:var(--font-body);font-size:1.05rem;font-weight:700;color:var(--purple-light);margin-bottom:18px}

/* Réalisations */
.realisations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.real-card{overflow:hidden}
.real-card__img{overflow:hidden;aspect-ratio:16/10}
.real-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-fluid)}
@media(hover:hover){
  .real-card:hover .real-card__img img{transform:scale(1.06)}
}
.real-card__body{padding:24px}
.real-card__tag{font-size:.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--purple-light)}
.real-card h3{font-size:1.1rem;font-weight:700;margin:8px 0}
.real-card p{font-size:.85rem;color:var(--gray-400)}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:16px}
.gallery-item{position:relative;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;border:1px solid var(--border);transition:var(--transition)}
.gallery-item--wide{grid-column:span 2}
.gallery-item--tall{grid-row:span 2}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease),filter .4s}
.gallery-item:hover img{transform:scale(1.06);filter:brightness(1.1)}
.gallery-item__overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(3,3,6,.85));display:flex;align-items:flex-end;padding:16px;opacity:0;transition:opacity var(--transition)}
.gallery-item:hover .gallery-item__overlay{opacity:1}
.gallery-item__label{font-size:.85rem;font-weight:600;color:var(--white)}

/* Pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pricing-card{padding:28px;text-align:center;transition:transform var(--ico-dur) var(--ease-fluid),border-color .45s var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid)}
.pricing-card__service{font-size:.88rem;color:var(--gray-300);margin-bottom:12px}
.pricing-card__price{font-size:.82rem;color:var(--gray-500)}
.pricing-card__price span{display:block;font-family:var(--font-body);font-size:1.4rem;font-weight:800;color:var(--purple-light);margin-top:6px;text-shadow:none;transition:transform .5s var(--ease-spring),color .4s ease;transform-origin:center}
@media(hover:hover){
  .pricing-card:hover{transform:translateY(-4px) scale(1.02);border-color:var(--border-glow);box-shadow:0 12px 36px rgba(0,0,0,.14)}
  .pricing-card:hover .pricing-card__price span{transform:scale(1.06)}
}
.pricing-note{text-align:center;margin-top:36px;padding:16px 24px;background:rgba(139,92,246,.06);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;color:var(--gray-400)}

/* Timeline */
.timeline{position:relative;padding:40px 0}
.timeline__line{position:absolute;top:50%;left:0;right:0;height:2px;background:rgba(255,255,255,.06);transform:translateY(-50%)}
.timeline__progress{height:100%;width:0;background:linear-gradient(90deg,var(--purple-dark),var(--purple-neon));box-shadow:0 0 20px var(--purple-glow);transition:width 1.5s var(--ease)}
.timeline__steps{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;position:relative;z-index:1}
.timeline__step{text-align:center;padding:20px 8px}
.timeline__dot{width:52px;height:52px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;
  background:var(--bg-elevated);border:2px solid var(--border-glow);border-radius:50%;
  transition:transform var(--ico-dur) var(--ease-spring),border-color var(--ico-dur) var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid),background .45s ease;
  box-shadow:0 0 20px rgba(139,92,246,.1)}
.timeline__dot svg{width:22px;height:22px;color:var(--purple-light);transition:transform var(--ico-dur) var(--ease-spring),color .4s ease;transform-origin:center}
@media(hover:hover){
  .timeline__step:hover .timeline__dot{border-color:var(--purple-neon);box-shadow:0 0 32px var(--purple-glow);transform:translateY(-4px) scale(1.08);background:rgba(139,92,246,.08)}
  .timeline__step:hover .timeline__dot svg{transform:scale(1.12);color:var(--purple-neon)}
}
.timeline__step h3{font-size:.9rem;font-weight:700;margin-bottom:6px}
.timeline__step p{font-size:.78rem;color:var(--gray-500)}

/* Why */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.why-card{padding:28px;text-align:center;transition:transform var(--ico-dur) var(--ease-fluid),border-color .45s var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid)}
.why-card__icon{width:44px;height:44px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;color:var(--purple-neon);background:rgba(139,92,246,.08);border-radius:12px;border:1px solid var(--border-glow);
  transition:transform var(--ico-dur) var(--ease-spring),background var(--ico-dur) var(--ease-fluid),border-color var(--ico-dur) var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid),color .4s ease}
.why-card__icon svg{width:22px;height:22px;transition:transform var(--ico-dur) var(--ease-spring);transform-origin:center}
.why-card h3{font-size:.92rem;font-weight:700;margin-bottom:8px}
.why-card p{font-size:.82rem;color:var(--gray-500)}
@media(hover:hover){
  .why-card:hover{transform:translateY(-4px);border-color:var(--border-glow);box-shadow:0 12px 36px rgba(0,0,0,.12)}
  .why-card:hover .why-card__icon{transform:translateY(-3px) scale(1.06);background:rgba(139,92,246,.18);border-color:var(--purple-neon);box-shadow:0 8px 24px rgba(124,58,237,.22);color:var(--purple-neon)}
  .why-card:hover .why-card__icon svg{transform:scale(1.12)}
}

/* Zone */
.zone-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center}
.zone-text{font-size:1.05rem;color:var(--gray-400);margin:16px 0 24px}
.zone-text strong{color:var(--purple-light)}
.zone-cities{display:flex;flex-wrap:wrap;gap:10px}
.city-tag{padding:8px 18px;background:var(--glass);border:1px solid var(--border);border-radius:50px;font-size:.82rem;color:var(--gray-300);
  transition:transform var(--ico-dur) var(--ease-spring),border-color .45s var(--ease-fluid),color .4s ease,box-shadow var(--ico-dur) var(--ease-fluid),background .45s ease}
@media(hover:hover){
  .city-tag:hover{transform:translateY(-2px) scale(1.03);border-color:var(--purple);color:var(--purple-light);box-shadow:0 6px 20px rgba(139,92,246,.18);background:rgba(139,92,246,.06)}
}
.zone-map,.contact-map{border-radius:var(--radius);overflow:hidden;min-height:300px;position:relative}
.zone-map iframe,.contact-map iframe{width:100%;height:100%;min-height:300px;border:0;filter:grayscale(.6) contrast(1.1) invert(.92) hue-rotate(180deg);opacity:.85}
.map-consent--pending iframe{display:none}
.map-consent__btn{
  position:absolute;inset:0;width:100%;height:100%;min-height:300px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:24px;font:inherit;font-size:.95rem;font-weight:500;color:var(--gray-300);
  background:var(--bg-elevated);border:1px dashed var(--border-glow);cursor:pointer;
  transition:var(--transition);
}
.map-consent__btn:hover{color:var(--purple-light);border-color:var(--purple-neon);background:var(--glass-hover)}
.map-consent--loaded .map-consent__btn{display:none}
.map-consent--loaded iframe{display:block}
.form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}

/* Reviews */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.review-card{padding:32px;transition:transform var(--ico-dur) var(--ease-fluid),border-color .45s var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid)}
@media(hover:hover){
  .review-card:hover{transform:translateY(-4px);border-color:var(--border-glow);box-shadow:0 12px 36px rgba(0,0,0,.12)}
}
.review-card__stars{color:#fbbf24;font-size:.95rem;letter-spacing:3px;margin-bottom:16px}
.review-card__text{font-size:.92rem;color:var(--gray-300);font-style:italic;line-height:1.65;margin-bottom:16px}
.review-card__author{font-size:.82rem;color:var(--gray-500);font-weight:600}

/* FAQ Premium */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{margin-bottom:12px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;transition:var(--transition)}
.faq-item--open{border-color:var(--border-glow);box-shadow:0 0 30px rgba(139,92,246,.1)}
.faq-question{width:100%;display:flex;align-items:center;gap:16px;padding:20px 24px;font-size:.95rem;font-weight:600;color:var(--heading);text-align:left;transition:color .4s ease,background .4s ease}
.faq-question:hover{color:var(--purple-light)}
.faq-question__icon{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(139,92,246,.1);border-radius:10px;color:var(--purple-neon);
  transition:transform var(--ico-dur) var(--ease-spring),background var(--ico-dur) var(--ease-fluid),border-color var(--ico-dur) var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid),color .4s ease;border:1px solid transparent}
.faq-question__icon svg{width:18px;height:18px;transition:transform var(--ico-dur) var(--ease-spring);transform-origin:center}
@media(hover:hover){
  .faq-question:hover .faq-question__icon{transform:scale(1.08);background:rgba(139,92,246,.2);border-color:var(--border-glow);box-shadow:0 6px 20px rgba(124,58,237,.2);color:var(--purple-neon)}
  .faq-question:hover .faq-question__icon svg{transform:scale(1.1)}
  .faq-item--open .faq-question__icon{transform:scale(1.05);background:rgba(139,92,246,.25);border-color:var(--purple-neon);color:var(--purple-neon)}
}
.faq-question__text{flex:1}
.faq-toggle{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-glow);border-radius:50%;color:var(--purple);font-size:1.2rem;transition:transform .5s var(--ease-spring),background .45s var(--ease-fluid),color .4s ease,box-shadow .5s var(--ease-fluid);flex-shrink:0}
.faq-item--open .faq-toggle{transform:rotate(45deg);background:var(--purple);color:var(--white);box-shadow:0 0 20px var(--purple-glow)}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease-fluid)}
.faq-item--open .faq-answer{grid-template-rows:1fr}
.faq-answer__inner{overflow:hidden;min-height:0}
.faq-item--open .faq-answer__inner{padding:0 24px 20px 76px}
.faq-answer p{font-size:.9rem;color:var(--gray-400);line-height:1.65}

/* Contact */
.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:start}
.contact-form{padding:40px}
.form-group{margin-bottom:22px}
.form-group label{display:block;font-size:.82rem;font-weight:600;color:var(--gray-300);margin-bottom:8px;letter-spacing:.5px}
.form-group label span{color:var(--purple-neon)}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:14px 18px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:var(--radius-sm);
  color:var(--white);font-size:.95rem;transition:var(--transition)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  outline:none;border-color:var(--purple);box-shadow:0 0 0 4px rgba(139,92,246,.15),0 0 30px rgba(139,92,246,.1)}
.form-group select{color-scheme:dark}
.form-group select option{background-color:#0e0e18;color:#f1f5f9;padding:10px}
.form-group select option:checked,.form-group select option:hover{background-color:#5b21b6;color:#fff}

/* Custom select (lisible sur tous navigateurs) */
.custom-select{position:relative;width:100%}
.custom-select__trigger{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 18px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:var(--radius-sm);
  color:var(--white);font-size:.95rem;text-align:left;transition:var(--transition);cursor:pointer}
.custom-select__trigger:hover{border-color:var(--border-glow)}
.custom-select__trigger[aria-expanded="true"]{border-color:var(--purple);box-shadow:0 0 0 4px rgba(139,92,246,.15)}
.custom-select__value{flex:1;color:var(--white)}
.custom-select__value--placeholder{color:var(--gray-400)}
.custom-select__arrow{width:12px;height:12px;color:var(--gray-400);transition:transform var(--transition);flex-shrink:0}
.custom-select__trigger[aria-expanded="true"] .custom-select__arrow{transform:rotate(180deg);color:var(--purple-light)}
.custom-select__menu{
  position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;
  background:#0e0e18;border:1px solid var(--border-glow);border-radius:var(--radius-sm);
  box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 20px rgba(139,92,246,.1);
  max-height:240px;overflow-y:auto;list-style:none;padding:6px;margin:0}
.custom-select__menu[hidden]{display:none}
.custom-select__option{
  padding:12px 16px;border-radius:8px;color:var(--gray-100);font-size:.95rem;cursor:pointer;
  transition:background .2s,color .2s}
.custom-select__option:hover,.custom-select__option--active{background:rgba(139,92,246,.25);color:var(--white)}
.custom-select__option--active{font-weight:600;color:var(--purple-neon)}
.custom-select__native{position:absolute;opacity:0;pointer-events:none;width:0;height:0;overflow:hidden}
.form-group textarea{resize:vertical;min-height:130px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-error{display:block;font-size:.78rem;color:#f87171;margin-top:6px;min-height:18px}
.form-group--error input,.form-group--error textarea{border-color:#f87171}
.form-success{margin-top:24px;padding:18px 22px;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.25);border-radius:var(--radius-sm);display:flex;gap:12px;color:var(--green);font-size:.92rem;align-items:center}
.form-success span{font-size:1.5rem;font-weight:800}

.contact-info__card{padding:28px;margin-bottom:16px}
.contact-info__card h3{font-family:var(--font-body);font-size:1.05rem;font-weight:700;margin-bottom:20px}
.contact-info__list li{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}
.contact-info__list li:last-child{border-bottom:none}
.contact-info__list svg{width:20px;height:20px;color:var(--purple-light);flex-shrink:0;margin-top:2px;transition:transform var(--ico-dur) var(--ease-spring),color .4s ease;transform-origin:center}
.contact-info__list strong{display:block;font-size:.75rem;color:var(--gray-500);margin-bottom:2px;text-transform:uppercase;letter-spacing:1px}
.contact-info__list a{color:var(--white);font-weight:600;font-size:1rem}
.contact-info__list a:hover{color:var(--purple-light)}
@media(hover:hover){
  .contact-info__list li:hover svg{transform:scale(1.18) translateY(-1px);color:var(--purple-neon)}
}
.contact-social{display:flex;gap:10px;margin-bottom:16px}
.contact-social__btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-glow);border-radius:50%;color:var(--gray-400);
  transition:transform var(--ico-dur) var(--ease-spring),border-color .45s var(--ease-fluid),color .4s ease,box-shadow var(--ico-dur) var(--ease-fluid),background .45s ease}
.contact-social__btn svg{width:18px;height:18px;transition:transform var(--ico-dur) var(--ease-spring);transform-origin:center}
@media(hover:hover){
  .contact-social__btn:hover{transform:translateY(-3px) scale(1.06);border-color:var(--purple-neon);color:var(--purple-light);box-shadow:0 8px 28px rgba(124,58,237,.25);background:rgba(139,92,246,.08)}
  .contact-social__btn:hover svg{transform:scale(1.12)}
}
.contact-horaires{padding:22px;margin-bottom:16px}
.contact-horaires h4{font-size:.95rem;margin-bottom:14px;color:var(--white);letter-spacing:.5px}
.contact-horaires ul{list-style:none;margin-bottom:12px}
.contact-horaires li{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:.9rem;gap:12px}
.contact-horaires li:last-child{border-bottom:none}
.contact-horaires li span{color:var(--gray-400)}
.contact-horaires li strong{color:var(--white);font-weight:600}
.contact-horaires p{font-size:.82rem;color:var(--gray-500);line-height:1.5}
.contact-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}

/* CTA band */
.cta-band{background:linear-gradient(135deg,rgba(91,33,182,.2),rgba(139,92,246,.08));border-top:1px solid var(--border-glow);border-bottom:1px solid var(--border-glow);padding:48px 0}
.cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.cta-band__text h2{font-family:var(--font-body);font-size:clamp(1.2rem,3vw,1.5rem);font-weight:700;margin-bottom:8px;color:var(--white)}
.cta-band__text p{color:var(--gray-400);font-size:1rem}
.cta-band__actions{display:flex;gap:14px;flex-wrap:wrap}

/* Zone contact */
.zone-contact{display:flex;gap:24px;margin-top:24px;flex-wrap:wrap;align-items:center}
.zone-contact__item{font-size:.95rem;color:var(--gray-300)}
.zone-contact a{color:var(--purple-light);font-weight:700;font-size:1.05rem}
.zone-contact a:hover{color:var(--purple-neon)}

/* Mentions légales */
.mentions-content{padding:32px 36px;max-width:800px;margin:0 auto;line-height:1.85;color:var(--gray-400);font-size:.92rem}
.mentions-content p{margin-bottom:14px}
.mentions-content a{color:var(--purple-light)}
.mentions-content a:hover{text-decoration:underline}

/* Footer */
.footer{position:relative;background:var(--bg-dark);padding:80px 0 0;overflow:hidden}
.footer__glow{position:absolute;top:0;left:50%;transform:translateX(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,var(--purple-neon),transparent);box-shadow:0 0 40px var(--purple-glow)}
.footer__top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px}
.footer__logo{display:inline-flex;margin-bottom:12px}
.footer__tagline{font-size:.88rem;color:var(--purple-light);letter-spacing:.04em;margin-bottom:12px;font-weight:600}
.footer__desc{font-size:.88rem;color:var(--gray-500);line-height:1.7;margin-bottom:24px;max-width:320px}
.footer__social{display:flex;gap:10px}
.social-link{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;color:var(--gray-400);
  transition:transform var(--ico-dur) var(--ease-spring),border-color .45s var(--ease-fluid),color .4s ease,box-shadow var(--ico-dur) var(--ease-fluid),background .45s ease}
.social-link svg{width:16px;height:16px;transition:transform var(--ico-dur) var(--ease-spring);transform-origin:center}
@media(hover:hover){
  .social-link:hover{transform:translateY(-3px) scale(1.08);border-color:var(--purple-neon);color:var(--purple-light);box-shadow:0 8px 24px rgba(139,92,246,.25);background:rgba(139,92,246,.06)}
  .social-link:hover svg{transform:scale(1.15)}
}
.footer__links h4{font-size:.8rem;font-weight:700;color:var(--heading);margin-bottom:18px;letter-spacing:2px;text-transform:uppercase}
.footer__links li{margin-bottom:10px}
.footer__links a{font-size:.86rem;color:var(--gray-500);display:inline-block;transition:transform .4s var(--ease-fluid),color .35s ease}
.footer__links a:hover{color:var(--purple-light);transform:translateX(4px)}
.footer__line{height:1px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.3),transparent);margin-bottom:24px}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;padding-bottom:28px;font-size:.82rem;color:var(--gray-500)}
.footer__legal:hover{color:var(--purple-light)}
.footer__admin{font-size:.75rem;color:var(--gray-500);opacity:.45;margin-left:12px}
.footer__admin:hover{opacity:1;color:var(--purple-light)}

/* WhatsApp float */
.whatsapp-float{position:fixed;bottom:28px;left:28px;width:56px;height:56px;background:var(--whatsapp);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:998;box-shadow:0 4px 16px rgba(37,211,102,.35);transition:transform var(--ico-dur) var(--ease-spring),box-shadow var(--ico-dur) var(--ease-fluid)}
.whatsapp-float svg{width:28px;height:28px;color:#fff;transition:transform var(--ico-dur) var(--ease-spring);transform-origin:center}
@media(hover:hover){
  .whatsapp-float:hover{transform:translateY(-4px) scale(1.08);box-shadow:0 10px 36px rgba(37,211,102,.45)}
  .whatsapp-float:hover svg{transform:scale(1.1)}
}
@keyframes waPulse{0%,100%{box-shadow:0 4px 24px rgba(37,211,102,.4)}50%{box-shadow:0 4px 32px rgba(37,211,102,.6),0 0 0 8px rgba(37,211,102,.1)}}

/* Back to top */
.back-to-top{position:fixed;bottom:28px;right:28px;width:50px;height:50px;border-radius:50%;background:var(--purple);color:var(--white);font-size:1.2rem;z-index:998;box-shadow:0 2px 12px rgba(124,58,237,.25);transition:opacity .45s var(--ease-fluid),transform var(--ico-dur) var(--ease-spring),box-shadow var(--ico-dur) var(--ease-fluid);opacity:0;transform:translateY(20px);pointer-events:none}
.back-to-top--visible{opacity:1;transform:translateY(0);pointer-events:auto}
@media(hover:hover){
  .back-to-top:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 8px 28px rgba(124,58,237,.35)}
  .back-to-top--visible:hover{transform:translateY(-4px) scale(1.06)}
}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:10002;background:rgba(3,3,6,.92);backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;opacity:0;visibility:hidden;transition:var(--transition)}
.lightbox--open{opacity:1;visibility:visible}
.lightbox__close{position:absolute;top:24px;right:28px;font-size:2.5rem;color:var(--gray-400);transition:var(--transition)}
.lightbox__close:hover{color:var(--white)}
.lightbox__img{max-width:90vw;max-height:75vh;border-radius:var(--radius);border:1px solid var(--border-glow);box-shadow:0 20px 80px rgba(0,0,0,.6)}
.lightbox__caption{margin-top:16px;font-size:.9rem;color:var(--gray-400)}

/* Reveal — GPU, décalage fluide */
.reveal{
  opacity:0;
  transform:translate3d(0,28px,0);
  transition:opacity .72s var(--ease-fluid),transform .72s var(--ease-fluid);
  transition-delay:calc(var(--d,0) * 65ms);
  contain:layout style;
  backface-visibility:hidden;
}
.reveal--visible{opacity:1;transform:translate3d(0,0,0)}
.reveal[data-reveal="scale"]{transform:scale(.96) translate3d(0,14px,0)}
.reveal[data-reveal="scale"].reveal--visible{transform:scale(1) translate3d(0,0,0)}
.reveal[data-reveal="left"]{transform:translate3d(-28px,0,0)}
.reveal[data-reveal="left"].reveal--visible{transform:translate3d(0,0,0)}
.reveal[data-reveal="right"]{transform:translate3d(28px,0,0)}
.reveal[data-reveal="fade"]{transform:none}
.reveal[data-reveal="fade"].reveal--visible{opacity:1}
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal--visible{opacity:1;transform:none;transition:none}
}

/* Responsive */
@media(max-width:1200px){
  .nav__list{gap:18px}
  .nav__link{font-size:.85rem}
  .header__phone span{font-size:.82rem}
}
@media(max-width:1100px){
  .header__phone{display:none}
  .header__cta{display:none}
  .burger{display:flex}
  .nav{position:fixed;top:0;right:-100%;width:min(300px,88vw);height:100vh;height:100dvh;background:rgba(3,3,6,.97);backdrop-filter:blur(24px);padding:calc(var(--header-h) + 40px) 32px;border-left:1px solid var(--border);transition:right .5s var(--ease-fluid);z-index:1000;overflow-y:auto}
  .nav--open{right:0}
  .nav__contact{display:block}
  .nav__list{flex-direction:column;gap:24px}
  .nav__link{font-size:1.05rem}
  .hero__top{grid-template-columns:1fr;gap:32px}
  .hero__content{text-align:center}
  .hero__brand,.hero__brand-sub{text-align:center}
  .hero__text{margin:0 auto 28px}
  .hero__actions,.hero__tags,.hero__reassurance{justify-content:center}
  .hero__showcase{max-width:600px;margin:0 auto}
  .hero__stats-bar{grid-template-columns:repeat(2,1fr)}
  .hero__services{grid-template-columns:repeat(3,1fr)}
  .setup__content{grid-template-columns:1fr}
  .trust__grid{grid-template-columns:repeat(2,1fr)}
  .stats__grid,.services-grid,.gamer-features,.configs-grid,.pricing-grid,.why-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .timeline__steps{grid-template-columns:repeat(3,1fr)}
  .timeline__line{display:none}
  .footer__top{grid-template-columns:repeat(2,1fr)}
  .contact-layout,.zone-layout{grid-template-columns:1fr}
}
@media(max-width:768px){
  .hero__brand{font-size:clamp(2rem,8vw,2.8rem)}
  .hero__services{grid-template-columns:repeat(2,1fr)}
  .hero__stats-bar{grid-template-columns:1fr 1fr}
  .loader__logo .logo__name{font-size:1.6rem}
  .services-grid,.gallery-grid,.reviews-grid{grid-template-columns:1fr}
  .gallery-item--wide,.gallery-item--tall{grid-column:span 1;grid-row:span 1}
  .gamer-features,.configs-grid,.pricing-grid,.why-grid,.timeline__steps{grid-template-columns:1fr}
  .config-card--featured{border-color:var(--border-glow);box-shadow:0 0 0 1px rgba(124,58,237,.15)}
  .trust__grid{grid-template-columns:1fr}
  .stats__grid{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr}
  .footer__top{grid-template-columns:1fr}
  .footer__bottom{flex-direction:column;gap:8px;text-align:center}
  .section{padding:80px 0}
  .whatsapp-float{bottom:90px}
  .cta-band__inner{flex-direction:column;text-align:center}
  .cta-band__actions{justify-content:center;width:100%}
  .cta-band__actions .btn{flex:1;min-width:200px}
}
/* ---- Clean layout overrides ---- */
.skip-link{position:absolute;top:-100%;left:28px;z-index:10001;padding:12px 20px;background:var(--purple);color:var(--white);font-weight:600;font-size:.9rem;border-radius:var(--radius-sm);transition:top .2s}
.skip-link:focus{top:16px;outline:2px solid var(--purple-light);outline-offset:2px}

.noise,.loader{display:none!important}
#transformations,#avant-apres,.ba-grid,section:has(.ba-grid){display:none!important}

.hero{padding:calc(var(--header-h) + 48px) 0 56px}
.hero__bg{background:radial-gradient(ellipse 80% 60% at 70% 0%,rgba(124,58,237,.12),transparent 60%)}
.hero__badge{display:inline-block;padding:6px 14px;border-radius:999px;font-size:.8rem;font-weight:500;color:var(--purple-light);background:rgba(124,58,237,.1);border:1px solid rgba(124,58,237,.2);margin-bottom:20px}
.hero__headline{font-size:1.1rem;color:var(--gray-300);max-width:480px;margin-bottom:28px;line-height:1.65}
.hero__pills{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin-top:28px}
.hero__pills li{padding:8px 14px;border-radius:999px;font-size:.82rem;font-weight:500;color:var(--gray-300);background:var(--glass);border:1px solid var(--border);
  transition:transform .45s var(--ease-spring),border-color .35s ease,background .35s ease,box-shadow .45s var(--ease-fluid)}
@media(hover:hover){
  .hero__pills li:hover{transform:translateY(-2px) scale(1.03);border-color:var(--border-glow);background:var(--glass-hover);box-shadow:0 6px 18px rgba(0,0,0,.08)}
}
.hero__visual{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);aspect-ratio:4/3;position:relative}
.hero__visual img{width:100%;height:100%;object-fit:cover}
.hero__visual--empty{
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(91,33,182,.06));
  border-color:var(--border-glow);
}
.hero__visual-placeholder{
  margin:0;padding:0 24px;text-align:center;font-size:.9rem;font-weight:500;color:var(--gray-400);line-height:1.5;
}
.hero__visual:not(.hero__visual--empty) .hero__visual-placeholder{display:none}

:focus-visible{outline:2px solid var(--purple-light);outline-offset:3px}
:focus:not(:focus-visible){outline:none}

.glass-premium::before{display:none}
.glass-premium{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg-elevated);transition:transform var(--ico-dur) var(--ease-fluid),border-color .45s var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid)}
@media(hover:hover){
  .service-card.glass-premium:hover,
  .gamer-feature.glass-premium:hover,
  .config-card.glass-premium:hover,
  .review-card.glass-premium:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,.16);border-color:var(--border-glow)}
  .real-card.glass-premium:hover{box-shadow:0 12px 36px rgba(0,0,0,.14);border-color:var(--border-glow)}
}

.section{padding:72px 0}
.section__header{margin-bottom:48px}
.section-divider{display:none}

.trust{padding:40px 0 56px;background:transparent;border:none}
.trust__grid{gap:16px}
.trust__item{padding:28px 22px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left}
.trust__icon{margin:0 0 14px}

.steps-clean{max-width:640px;margin:0 auto;list-style:none;display:grid;gap:14px}
.steps-clean li{display:flex;align-items:center;gap:16px;padding:18px 22px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;color:var(--gray-300);
  transition:transform .5s var(--ease-fluid),border-color .4s var(--ease-fluid),box-shadow .5s var(--ease-fluid),background .4s ease}
.steps-clean strong{color:var(--purple-light);font-weight:700;min-width:28px;transition:transform .5s var(--ease-spring),color .4s ease;display:inline-block}
@media(hover:hover){
  .steps-clean li:hover{transform:translateX(6px);border-color:var(--border-glow);box-shadow:0 8px 24px rgba(0,0,0,.1);background:var(--glass-hover)}
  .steps-clean li:hover strong{transform:scale(1.18)}
}

.gamer-features--compact{grid-template-columns:repeat(3,1fr)!important;margin-bottom:48px}
.gamer-features--compact .gamer-feature{padding:24px}
.gamer-features--compact h3{font-size:1rem;margin-bottom:8px}

.config-card--featured{border-color:var(--border-glow);box-shadow:0 0 0 1px rgba(124,58,237,.15)}

.realisations-grid{grid-template-columns:repeat(3,1fr)}
.service-card{padding:26px}
.service-card__icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(124,58,237,.1);border-radius:12px;margin-bottom:16px;border:1px solid var(--border-glow);
  transition:transform var(--ico-dur) var(--ease-spring),background var(--ico-dur) var(--ease-fluid),border-color var(--ico-dur) var(--ease-fluid),box-shadow var(--ico-dur) var(--ease-fluid),color .4s ease}
.service-card__icon svg{width:22px;height:22px;color:var(--purple-light);transition:transform var(--ico-dur) var(--ease-spring);transform-origin:center}
.service-card__title{font-size:1rem;margin-bottom:8px}
.service-card__link{display:none}
.service-card__text{margin-bottom:0}

.reviews-grid{grid-template-columns:repeat(3,1fr)}
.review-card{padding:28px}
.review-card__stars{color:var(--purple-light);font-size:.95rem;letter-spacing:2px;margin-bottom:14px}
.review-card__text{font-size:.95rem;color:var(--gray-300);line-height:1.7;margin-bottom:16px;font-style:italic}
.review-card__author{font-size:.85rem;color:var(--gray-500);font-weight:600}

.cta-band{padding:56px 0;background:var(--bg-elevated);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

.nav__link::after{box-shadow:none;background:var(--purple-light)}

.footer__glow{box-shadow:none;opacity:.5}

.pricing-grid{gap:12px}
.pricing-card{padding:22px 20px;text-align:center}
.pricing-card__service{font-size:.9rem;color:var(--gray-300);margin-bottom:8px}
.pricing-card__price{font-size:.85rem;color:var(--gray-500)}
.pricing-card__price span{font-size:1.35rem;font-weight:700;color:var(--purple-light)}

.real-card{overflow:hidden;padding:0}
.real-card__img{aspect-ratio:16/10;overflow:hidden}
.real-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.real-card:hover .real-card__img img{transform:scale(1.03)}
.real-card__body{padding:22px}

.section:not(.section--dark):not(.section--contact){background:var(--bg-deep)}

/* Hero — entrée fluide au chargement */
@media(prefers-reduced-motion:no-preference){
  .hero__badge,.hero__title,.hero__headline,.hero__actions,.hero__visual{opacity:0;transform:translate3d(0,22px,0)}
  .hero__pills li{opacity:0;transform:translate3d(0,14px,0)}
  .hero--ready .hero__badge{animation:riseIn .82s var(--ease-fluid) .04s forwards}
  .hero--ready .hero__title{animation:riseIn .82s var(--ease-fluid) .1s forwards}
  .hero--ready .hero__headline{animation:riseIn .82s var(--ease-fluid) .18s forwards}
  .hero--ready .hero__actions{animation:riseIn .82s var(--ease-fluid) .26s forwards}
  .hero--ready .hero__visual{animation:riseIn .95s var(--ease-fluid) .2s forwards}
  .hero--ready .hero__pills li{animation:riseIn .7s var(--ease-fluid) forwards;animation-delay:calc(.34s + var(--d,0) * 65ms)}
}
@keyframes riseIn{to{opacity:1;transform:translate3d(0,0,0)}}

/* CTA band */
.cta-band__text,.cta-band__actions{opacity:0;transform:translate3d(0,20px,0);transition:opacity .7s var(--ease-fluid),transform .7s var(--ease-fluid)}
.cta-band__actions{transition-delay:.08s}
.cta-band.in-view .cta-band__text,.cta-band.in-view .cta-band__actions{opacity:1;transform:translate3d(0,0,0)}

/* Formulaire — focus doux */
.form-group input,.form-group select,.form-group textarea{transition:border-color .35s ease,box-shadow .45s var(--ease-fluid),background .35s ease,transform .35s var(--ease-fluid)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{transform:translateY(-1px)}

/* Canvas fond — couche GPU */
.animated-bg canvas{transform:translateZ(0)}

@media(max-width:1100px){
  .hero__headline{margin-left:auto;margin-right:auto;text-align:center}
  .hero__pills{justify-content:center}
  .hero__actions{justify-content:center}
  .gamer-features--compact{grid-template-columns:1fr!important}
  .realisations-grid{grid-template-columns:1fr}
  .reviews-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .section{padding:56px 0}
  .hero__actions{flex-direction:column;width:100%}
  .hero__actions .btn{width:100%}
  .hero__visual{margin-top:8px}
  :root{--header-h:96px}
  .logo__img--header{height:84px;max-width:min(480px,78vw)}
}

/* ═══ Fonds animés — 17 styles ═══ */
.animated-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#030308}
.animated-bg__base{position:absolute;inset:0;transition:background .6s ease}
.animated-bg__vignette{position:absolute;inset:0;pointer-events:none;transition:opacity .6s}
.animated-bg canvas{position:absolute;inset:0;width:100%;height:100%;display:none;opacity:.85}

.animated-bg__mist,.animated-bg__aurora,.animated-bg__bokeh,.animated-bg__nebula,.animated-bg__grid-floor,
.animated-bg__liminal-hall,.animated-bg__liminal-pool,.animated-bg__liminal-dusk,.animated-bg__liminal-dream,.animated-bg__liminal-void,
.animated-bg__plasma,.animated-bg__waves,.animated-bg__retro{display:none}

/* ── 1. Minimal ── */
.animated-bg[data-style="minimal"] .animated-bg__base{background:#050508}
.animated-bg[data-style="minimal"] .animated-bg__vignette{background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.5) 100%);opacity:.7}
.animated-bg[data-style="minimal"] .animated-bg__mist{display:block;opacity:.6}
.animated-bg__mist{position:absolute;inset:-5%;filter:blur(40px)}
.animated-bg__mist-layer{position:absolute;border-radius:50%;animation:mistDrift 30s ease-in-out infinite}
.animated-bg__mist-layer--1{width:50%;height:35%;top:20%;left:25%;background:radial-gradient(circle,rgba(124,58,237,.08),transparent 70%)}
.animated-bg__mist-layer--2{width:40%;height:30%;bottom:25%;right:15%;background:radial-gradient(circle,rgba(91,33,182,.06),transparent 70%);animation-delay:-12s}
@keyframes mistDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(2%,-1%)}}

/* ── 2. Aurore ── */
.animated-bg[data-style="aurora"] .animated-bg__base{background:linear-gradient(180deg,#0a0618 0%,#050508 60%)}
.animated-bg[data-style="aurora"] .animated-bg__vignette{opacity:.5}
.animated-bg[data-style="aurora"] .animated-bg__aurora{display:block}
.animated-bg__aurora{position:absolute;inset:-10%;filter:blur(55px);opacity:1}
.animated-bg__aurora-band{position:absolute;border-radius:50%;mix-blend-mode:screen;animation:auroraDrift 16s ease-in-out infinite}
.animated-bg__aurora-band--1{width:75%;height:50%;top:0;left:5%;background:linear-gradient(120deg,rgba(124,58,237,.7),rgba(236,72,153,.3),transparent)}
.animated-bg__aurora-band--2{width:60%;height:40%;top:30%;right:-5%;background:linear-gradient(220deg,rgba(59,130,246,.5),rgba(124,58,237,.3),transparent);animation-delay:-5s;animation-duration:20s}
.animated-bg__aurora-band--3{width:55%;height:35%;bottom:5%;left:20%;background:linear-gradient(60deg,rgba(167,139,250,.45),transparent);animation-delay:-10s;animation-duration:18s}
@keyframes auroraDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4%,-3%) scale(1.05)}}

/* ── 3. Bokeh ── */
.animated-bg[data-style="bokeh"] .animated-bg__base{background:#08060f}
.animated-bg[data-style="bokeh"] .animated-bg__vignette{opacity:.4}
.animated-bg[data-style="bokeh"] .animated-bg__bokeh{display:block}
.animated-bg__bokeh{position:absolute;inset:0}
.animated-bg__bokeh-dot{position:absolute;border-radius:50%;animation:bokehFloat 14s ease-in-out infinite}
.animated-bg__bokeh-dot--1{width:180px;height:180px;top:10%;left:5%;background:radial-gradient(circle,rgba(167,139,250,.45),transparent 70%);filter:blur(3px)}
.animated-bg__bokeh-dot--2{width:120px;height:120px;top:50%;right:10%;background:radial-gradient(circle,rgba(236,72,153,.35),transparent 70%);animation-delay:-3s;filter:blur(2px)}
.animated-bg__bokeh-dot--3{width:220px;height:220px;bottom:10%;left:30%;background:radial-gradient(circle,rgba(124,58,237,.4),transparent 70%);animation-delay:-7s;filter:blur(4px)}
.animated-bg__bokeh-dot--4{width:90px;height:90px;top:25%;right:25%;background:radial-gradient(circle,rgba(59,130,246,.35),transparent 70%);animation-delay:-1s}
.animated-bg__bokeh-dot--5{width:140px;height:140px;bottom:30%;right:5%;background:radial-gradient(circle,rgba(196,181,253,.3),transparent 70%);animation-delay:-9s}
@keyframes bokehFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(15px,-20px) scale(1.08)}}

/* ── 4. Réseau (canvas) ── */
.animated-bg[data-style="network"] .animated-bg__base{background:#04040a}
.animated-bg[data-style="network"] .animated-bg__vignette{opacity:.6}

/* ── 5. Cyber (canvas + grille) ── */
.animated-bg[data-style="cyber"] .animated-bg__base{background:linear-gradient(180deg,#0a0015 0%,#020208 50%)}
.animated-bg[data-style="cyber"] .animated-bg__vignette{background:radial-gradient(ellipse at 50% 100%,rgba(0,255,200,.08),transparent 50%);opacity:1}
.animated-bg[data-style="cyber"] .animated-bg__grid-floor{display:block}
.animated-bg__grid-floor{position:absolute;inset:0;background:linear-gradient(rgba(0,255,200,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.04) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.5) 50%,rgba(0,0,0,.2));animation:gridPan 20s linear infinite}
@keyframes gridPan{to{background-position:0 80px,80px 0}}

/* ── 6. Cosmos (canvas + nébuleuse) ── */
.animated-bg[data-style="cosmos"] .animated-bg__base{background:#020208}
.animated-bg[data-style="cosmos"] .animated-bg__vignette{opacity:.35}
.animated-bg[data-style="cosmos"] .animated-bg__nebula{display:block}
.animated-bg__nebula{position:absolute;inset:-15%;filter:blur(70px);opacity:.9}
.animated-bg__nebula-cloud{position:absolute;border-radius:50%;animation:nebulaPulse 20s ease-in-out infinite}
.animated-bg__nebula-cloud--1{width:65%;height:50%;top:0;left:0;background:radial-gradient(ellipse,rgba(88,28,135,.5),rgba(124,58,237,.15),transparent 65%)}
.animated-bg__nebula-cloud--2{width:50%;height:45%;bottom:-5%;right:-5%;background:radial-gradient(ellipse,rgba(30,58,138,.4),transparent 60%);animation-delay:-8s}
.animated-bg__nebula-cloud--3{width:35%;height:30%;top:35%;left:40%;background:radial-gradient(circle,rgba(167,139,250,.2),transparent 70%);animation-delay:-14s}
@keyframes nebulaPulse{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.08);opacity:1}}

/* ═══ Fonds Liminal / Dreamcore ═══ */
.animated-bg__grain,
.animated-bg__liminal-hall,.animated-bg__liminal-pool,.animated-bg__liminal-dusk,
.animated-bg__liminal-dream,.animated-bg__liminal-void{display:none}

.animated-bg__grain{
  position:absolute;inset:-20%;z-index:4;pointer-events:none;opacity:.22;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;animation:grainShift .35s steps(5) infinite}
@keyframes grainShift{0%{transform:translate(0,0)}25%{transform:translate(-1.5%,1%)}50%{transform:translate(1%,-1.5%)}75%{transform:translate(-.5%,-.5%)}}

/* ── Liminal : Couloir (Backrooms) ── */
.animated-bg[data-style="liminal-hall"] .animated-bg__base{background:#9a8660}
.animated-bg[data-style="liminal-hall"] .animated-bg__vignette{background:radial-gradient(ellipse at 50% 45%,transparent 20%,rgba(40,32,16,.55) 100%);opacity:1}
.animated-bg[data-style="liminal-hall"] .animated-bg__liminal-hall,
.animated-bg[data-style="liminal-hall"] .animated-bg__grain{display:block}
.animated-bg__liminal-hall{position:absolute;inset:0;overflow:hidden}
.liminal-hall__ceiling{position:absolute;top:0;left:0;right:0;height:32%;background:linear-gradient(180deg,#5c4f32,#8a7650 80%,#a89468)}
.liminal-hall__light{position:absolute;top:14%;width:14%;height:6px;background:#fffef5;border-radius:2px;box-shadow:0 0 30px 14px rgba(255,248,210,.55),0 60px 100px rgba(255,245,190,.12);animation:fluoroFlicker 5s ease-in-out infinite}
.liminal-hall__light:nth-child(1){left:10%;animation-delay:0s}
.liminal-hall__light:nth-child(2){left:32%;animation-delay:-1.4s}
.liminal-hall__light:nth-child(3){left:56%;animation-delay:-2.8s}
.liminal-hall__light:nth-child(4){left:78%;animation-delay:-4.1s}
@keyframes fluoroFlicker{0%,100%{opacity:1}91%{opacity:1}92%{opacity:.65}93%{opacity:1}95%{opacity:.8}96%{opacity:1}}
.liminal-hall__corridor{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(60,50,30,.85) 0%,transparent 22%,transparent 78%,rgba(60,50,30,.85) 100%),
  repeating-linear-gradient(90deg,transparent,transparent 48px,rgba(0,0,0,.03) 48px,rgba(0,0,0,.03) 49px),
  linear-gradient(180deg,transparent 18%,#c4ad82 38%,#a89262 72%,#7a6848 100%);
  animation:hallForward 28s ease-in-out infinite}
.liminal-hall__vanish{position:absolute;top:28%;left:50%;width:18%;height:42%;transform:translateX(-50%);
  background:radial-gradient(ellipse,rgba(255,248,220,.35),rgba(200,180,130,.15) 40%,transparent 70%);
  animation:hallGlow 6s ease-in-out infinite}
@keyframes hallForward{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes hallGlow{0%,100%{opacity:.7}50%{opacity:1}}

/* ── Liminal : Piscine vide ── */
.animated-bg[data-style="liminal-pool"] .animated-bg__base{background:#b8d4e0}
.animated-bg[data-style="liminal-pool"] .animated-bg__vignette{background:radial-gradient(ellipse at center,transparent 30%,rgba(10,40,55,.45) 100%);opacity:1}
.animated-bg[data-style="liminal-pool"] .animated-bg__liminal-pool,
.animated-bg[data-style="liminal-pool"] .animated-bg__grain{display:block}
.animated-bg__liminal-pool{position:absolute;inset:0;overflow:hidden}
.liminal-pool__room{position:absolute;inset:0;background:linear-gradient(180deg,#e8f2f6 0%,#9ec5d4 35%,#5a9db0 100%)}
.liminal-pool__tiles{position:absolute;inset:0;opacity:.35;
  background-image:linear-gradient(rgba(255,255,255,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.4) 1px,transparent 1px);
  background-size:40px 40px;mask-image:linear-gradient(180deg,rgba(0,0,0,.8) 0%,transparent 55%)}
.liminal-pool__water{position:absolute;bottom:0;left:0;right:0;height:48%;
  background:linear-gradient(180deg,rgba(30,120,150,.5),rgba(15,70,95,.85));
  box-shadow:inset 0 20px 60px rgba(255,255,255,.08);
  animation:poolShimmer 8s ease-in-out infinite}
@keyframes poolShimmer{0%,100%{filter:brightness(1)}50%{filter:brightness(1.12)}}

/* ── Liminal : Crépuscule (parking) ── */
.animated-bg[data-style="liminal-dusk"] .animated-bg__base{background:#1a0f28}
.animated-bg[data-style="liminal-dusk"] .animated-bg__vignette{opacity:.4}
.animated-bg[data-style="liminal-dusk"] .animated-bg__liminal-dusk,
.animated-bg[data-style="liminal-dusk"] .animated-bg__grain{display:block}
.animated-bg__liminal-dusk{position:absolute;inset:0;overflow:hidden}
.liminal-dusk__sky{position:absolute;inset:0;background:linear-gradient(180deg,#f472b6 0%,#fb923c 22%,#a855f7 48%,#312e81 72%,#0f0a1a 100%)}
.liminal-dusk__cloud{position:absolute;border-radius:50%;filter:blur(28px);opacity:.55;animation:duskCloud 40s linear infinite}
.liminal-dusk__cloud--1{width:45%;height:18%;top:12%;left:-10%;background:rgba(255,180,200,.5)}
.liminal-dusk__cloud--2{width:55%;height:20%;top:18%;right:-15%;background:rgba(255,140,100,.4);animation-delay:-18s;animation-duration:50s}
@keyframes duskCloud{to{transform:translateX(15%)}}
.liminal-dusk__lot{position:absolute;bottom:0;left:0;right:0;height:42%;
  background:linear-gradient(180deg,transparent,#1c1520 8%,#121018 100%);
  background-image:repeating-linear-gradient(90deg,transparent,transparent 80px,rgba(255,255,255,.02) 80px,rgba(255,255,255,.02) 81px)}
.liminal-dusk__lamp{position:absolute;top:35%;right:18%;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,220,150,.5),rgba(255,180,80,.15) 40%,transparent 70%);
  animation:lampPulse 5s ease-in-out infinite}
@keyframes lampPulse{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}

/* ── Liminal : Dreamcore (collines) ── */
.animated-bg[data-style="liminal-dream"] .animated-bg__base{background:#6ec8f5}
.animated-bg[data-style="liminal-dream"] .animated-bg__vignette{opacity:.25}
.animated-bg[data-style="liminal-dream"] .animated-bg__liminal-dream,
.animated-bg[data-style="liminal-dream"] .animated-bg__grain{display:block}
.animated-bg__liminal-dream{position:absolute;inset:0;overflow:hidden;filter:saturate(1.25) contrast(1.05)}
.liminal-dream__sky{position:absolute;inset:0;background:linear-gradient(180deg,#4db8f0 0%,#87ceeb 45%,#b8e4ff 100%)}
.liminal-dream__hill{position:absolute;bottom:-5%;border-radius:50% 50% 0 0;animation:dreamHill 20s ease-in-out infinite}
.liminal-dream__hill--1{left:-10%;width:70%;height:38%;background:linear-gradient(180deg,#4ade80,#22c55e);animation-delay:0s}
.liminal-dream__hill--2{right:-15%;width:65%;height:32%;background:linear-gradient(180deg,#86efac,#4ade80);animation-delay:-8s}
@keyframes dreamHill{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.liminal-dream__cloud{position:absolute;background:rgba(255,255,255,.85);border-radius:50px;filter:blur(1px);animation:dreamCloud 35s linear infinite}
.liminal-dream__cloud--1{width:22%;height:8%;top:18%;left:15%;box-shadow:40px 0 0 -5px rgba(255,255,255,.9),-30px 8px 0 -8px rgba(255,255,255,.7)}
.liminal-dream__cloud--2{width:18%;height:6%;top:28%;right:20%;animation-delay:-12s;animation-duration:45s;
  box-shadow:35px 0 0 -5px rgba(255,255,255,.85)}
@keyframes dreamCloud{to{transform:translateX(12%)}}

/* ── Liminal : Brume / Void ── */
.animated-bg[data-style="liminal-void"] .animated-bg__base{background:#a8a090}
.animated-bg[data-style="liminal-void"] .animated-bg__vignette{background:radial-gradient(ellipse at center,transparent 25%,rgba(50,45,40,.5) 100%);opacity:1}
.animated-bg[data-style="liminal-void"] .animated-bg__liminal-void,
.animated-bg[data-style="liminal-void"] .animated-bg__grain{display:block}
.animated-bg__liminal-void{position:absolute;inset:0;overflow:hidden;background:linear-gradient(180deg,#b0a898,#908880 50%,#787068)}
.liminal-void__fog{position:absolute;border-radius:50%;filter:blur(60px);animation:voidDrift 25s ease-in-out infinite}
.liminal-void__fog--1{width:80%;height:50%;top:10%;left:-10%;background:rgba(220,215,205,.45)}
.liminal-void__fog--2{width:70%;height:45%;bottom:5%;right:-15%;background:rgba(200,195,185,.4);animation-delay:-10s;animation-duration:32s}
.liminal-void__fog--3{width:50%;height:35%;top:40%;left:25%;background:rgba(240,238,232,.25);animation-delay:-18s;animation-duration:28s}
@keyframes voidDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(3%,-2%) scale(1.06)}}

@keyframes voidDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(3%,-2%) scale(1.06)}}

/* ── Plasma ── */
.animated-bg[data-style="plasma"] .animated-bg__base{background:#0a0514}
.animated-bg[data-style="plasma"] .animated-bg__vignette{opacity:.45}
.animated-bg[data-style="plasma"] .animated-bg__plasma{display:block}
.animated-bg__plasma{position:absolute;inset:-20%;filter:blur(60px);opacity:.9}
.bg-plasma__blob{position:absolute;border-radius:50%;mix-blend-mode:screen;animation:plasmaDrift 18s ease-in-out infinite}
.bg-plasma__blob--1{width:55%;height:55%;top:10%;left:5%;background:radial-gradient(circle,rgba(124,58,237,.7),transparent 65%);animation-duration:22s}
.bg-plasma__blob--2{width:45%;height:45%;bottom:5%;right:0;background:radial-gradient(circle,rgba(236,72,153,.55),transparent 65%);animation-delay:-7s;animation-duration:19s}
.bg-plasma__blob--3{width:40%;height:40%;top:40%;left:40%;background:radial-gradient(circle,rgba(59,130,246,.45),transparent 65%);animation-delay:-12s;animation-duration:25s}
@keyframes plasmaDrift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(5%,-4%) scale(1.1)}66%{transform:translate(-4%,3%) scale(.95)}}

/* ── Vagues ── */
.animated-bg[data-style="waves"] .animated-bg__base{background:linear-gradient(180deg,#020818 0%,#041c38 55%,#062a4a 100%)}
.animated-bg[data-style="waves"] .animated-bg__vignette{opacity:.35}
.animated-bg[data-style="waves"] .animated-bg__waves{display:block}
.animated-bg__waves{position:absolute;inset:0;overflow:hidden}
.bg-waves__layer{position:absolute;left:-10%;width:120%;height:40%;bottom:-5%;border-radius:45% 45% 0 0;opacity:.5;animation:waveRoll 12s ease-in-out infinite}
.bg-waves__layer--1{background:linear-gradient(180deg,rgba(30,100,180,.35),rgba(20,60,120,.2));animation-duration:14s}
.bg-waves__layer--2{bottom:-8%;height:35%;background:linear-gradient(180deg,rgba(60,140,220,.25),rgba(30,80,150,.15));animation-delay:-4s;animation-duration:11s;opacity:.35}
.bg-waves__layer--3{bottom:-12%;height:30%;background:linear-gradient(180deg,rgba(100,180,255,.15),transparent);animation-delay:-8s;animation-duration:16s;opacity:.25}
@keyframes waveRoll{0%,100%{transform:translateX(0) scaleY(1)}50%{transform:translateX(-3%) scaleY(1.06)}}

/* ── Retro synthwave ── */
.animated-bg[data-style="retro"] .animated-bg__base{background:linear-gradient(180deg,#0f0520 0%,#1a0a30 40%,#2d1050 70%,#ff6b9d 100%)}
.animated-bg[data-style="retro"] .animated-bg__vignette{opacity:.3}
.animated-bg[data-style="retro"] .animated-bg__retro{display:block}
.animated-bg__retro{position:absolute;inset:0;overflow:hidden}
.bg-retro__sun{position:absolute;left:50%;bottom:28%;width:min(280px,35vw);height:min(280px,35vw);transform:translateX(-50%);
  background:linear-gradient(180deg,#fde047,#f97316 55%,#ec4899);border-radius:50%;
  box-shadow:0 0 80px rgba(249,115,22,.4);animation:sunPulse 6s ease-in-out infinite}
.bg-retro__grid{position:absolute;left:0;right:0;bottom:0;height:45%;
  background:linear-gradient(rgba(236,72,153,.35) 2px,transparent 2px),linear-gradient(90deg,rgba(167,139,250,.25) 2px,transparent 2px);
  background-size:60px 40px;transform:perspective(400px) rotateX(65deg);transform-origin:center top;
  animation:retroGrid 8s linear infinite;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent)}
@keyframes sunPulse{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.04)}}
@keyframes retroGrid{to{background-position:0 40px,60px 0}}

/* ── Matrix / Neige / Braises (canvas) ── */
.animated-bg[data-style="matrix"] .animated-bg__base{background:#020806}
.animated-bg[data-style="matrix"] .animated-bg__vignette{opacity:.5}
.animated-bg[data-style="snow"] .animated-bg__base{background:linear-gradient(180deg,#0a0e18,#12182a)}
.animated-bg[data-style="snow"] .animated-bg__vignette{opacity:.4}
.animated-bg[data-style="embers"] .animated-bg__base{background:linear-gradient(180deg,#0a0508,#150a10 60%,#1a0812)}
.animated-bg[data-style="embers"] .animated-bg__vignette{background:radial-gradient(ellipse at 50% 100%,rgba(249,115,22,.12),transparent 55%);opacity:1}

body.bg-off .animated-bg{display:none}
@media(prefers-reduced-motion:reduce){
  .animated-bg__mist-layer,.animated-bg__aurora-band,.animated-bg__bokeh-dot,.animated-bg__nebula-cloud,.animated-bg__grid-floor,
  .liminal-hall__light,.liminal-hall__corridor,.liminal-hall__vanish,.liminal-pool__water,
  .liminal-dusk__cloud,.liminal-dusk__lamp,.liminal-dream__hill,.liminal-dream__cloud,
  .liminal-void__fog,.animated-bg__grain,.bg-plasma__blob,.bg-waves__layer,.bg-retro__sun,.bg-retro__grid{animation:none}
  .animated-bg canvas{display:none!important}
}
html[data-theme="light"] .animated-bg{display:none}
html[data-theme="light"] body{background:#fafbfc}

/* ── Mode clair : interface épurée ── */
html[data-theme="light"] .header{
  background:rgba(255,255,255,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid #e2e8f0}
html[data-theme="light"] .header--scrolled{
  background:rgba(255,255,255,.96);box-shadow:0 1px 0 #e2e8f0,0 8px 24px rgba(15,23,42,.04)}

html[data-theme="light"] .nav__link{color:#64748b}
html[data-theme="light"] .nav__link:hover,
html[data-theme="light"] .nav__link--active{color:#7c3aed}
html[data-theme="light"] .nav__link::after{background:#7c3aed;box-shadow:none}
html[data-theme="light"] .nav{background:#fff;border-left-color:#e2e8f0}
html[data-theme="light"] .burger__line{background:#334155}

html[data-theme="light"] .header__phone{
  background:#fff;border-color:#e2e8f0;color:#334155}
html[data-theme="light"] .header__phone:hover{
  background:#f5f3ff;border-color:#c4b5fd;color:#7c3aed}

html[data-theme="light"] .theme-switch{
  background:#fff;border-color:#e2e8f0;color:#64748b}
html[data-theme="light"] .theme-switch:hover{
  background:#f5f3ff;border-color:#c4b5fd;color:#7c3aed}

html[data-theme="light"] .hero__bg{background:none}
html[data-theme="light"] .hero__badge{
  background:#f5f3ff;border-color:#ede9fe;color:#6d28d9}
html[data-theme="light"] .hero__brand-sub{color:#7c3aed}
html[data-theme="light"] .hero__headline{color:#475569}
html[data-theme="light"] .hero__pills li{
  background:#fff;border-color:#e2e8f0;color:#64748b}
html[data-theme="light"] .hero__visual{
  border-color:#e2e8f0;box-shadow:var(--card-shadow)}
html[data-theme="light"] .hero__visual--empty{
  background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 50%,#faf5ff 100%)}
html[data-theme="light"] .hero__visual-placeholder{color:#94a3b8}
html[data-theme="light"] .map-consent__btn{
  background:#fff;border-color:#e2e8f0;color:#64748b}
html[data-theme="light"] .map-consent__btn:hover{
  background:#f5f3ff;border-color:#c4b5fd;color:#7c3aed}
html[data-theme="light"] .zone-map iframe,
html[data-theme="light"] .contact-map iframe{filter:none;opacity:1}

html[data-theme="light"] .btn--outline{
  background:#fff;border-color:#e2e8f0;color:#7c3aed}
html[data-theme="light"] .btn--outline:hover{
  background:#f5f3ff;border-color:#c4b5fd;color:#6d28d9}

html[data-theme="light"] .glass-premium,
html[data-theme="light"] .trust__item,
html[data-theme="light"] .service-card,
html[data-theme="light"] .config-card,
html[data-theme="light"] .review-card,
html[data-theme="light"] .pricing-card,
html[data-theme="light"] .real-card,
html[data-theme="light"] .faq-item,
html[data-theme="light"] .contact-form,
html[data-theme="light"] .contact-info,
html[data-theme="light"] .contact-horaires,
html[data-theme="light"] .steps-clean li{
  background:#fff;border-color:#e2e8f0;box-shadow:var(--card-shadow)}
html[data-theme="light"] .glass-premium:hover{border-color:#ddd6fe}

html[data-theme="light"] .section--contact{background:#f8fafc}
html[data-theme="light"] .section--dark{background:#f1f5f9}
html[data-theme="light"] .cta-band{
  background:#fff;border-color:#e2e8f0}
html[data-theme="light"] .cta-band__text p{color:#64748b}

html[data-theme="light"] .footer{background:#f1f5f9}
html[data-theme="light"] .footer__glow{background:#e2e8f0;box-shadow:none}
html[data-theme="light"] .footer__line{background:#e2e8f0}
html[data-theme="light"] .footer__desc,
html[data-theme="light"] .footer__links a{color:#64748b}
html[data-theme="light"] .footer__links a:hover{color:#7c3aed}

html[data-theme="light"] .form-group input,
html[data-theme="light"] .form-group select,
html[data-theme="light"] .form-group textarea{
  background:#fff;border-color:#e2e8f0;color:var(--heading)}
html[data-theme="light"] .form-group input:focus,
html[data-theme="light"] .form-group select:focus,
html[data-theme="light"] .form-group textarea:focus{
  border-color:#c4b5fd;box-shadow:0 0 0 3px rgba(124,58,237,.1)}
html[data-theme="light"] .custom-select__trigger{background:#fff;border-color:#e2e8f0;color:var(--heading)}
html[data-theme="light"] .custom-select__dropdown{background:#fff;border-color:#e2e8f0;box-shadow:var(--card-shadow)}

html[data-theme="light"] .contact-info__list a,
html[data-theme="light"] .contact-horaires h4,
html[data-theme="light"] .contact-horaires li strong,
html[data-theme="light"] .cta-band__text h2{color:var(--heading)}
html[data-theme="light"] .faq-question:hover{background:#f8fafc}
html[data-theme="light"] .pricing-note{background:#f5f3ff;border-color:#ede9fe;color:#475569}
html[data-theme="light"] .section__tag{color:#7c3aed;background:#f5f3ff;border:1px solid #ede9fe}
html[data-theme="light"] .section__desc{color:#64748b}
html[data-theme="light"] .review-card__text{color:#475569}
html[data-theme="light"] .service-card__text{color:#64748b}

body,.header,.footer,.glass-premium,.trust__item,.section,.hero,.cta-band,.faq-item,.pricing-card,.config-card,.review-card,.service-card,.real-card,.contact-form,.contact-info{
  transition:background-color .35s ease,border-color .35s ease,color .35s ease}

/* ═══ MOBILE — règles max-width uniquement (PC inchangé) ═══ */

.nav-backdrop{
  display:none;position:fixed;inset:0;z-index:999;
  background:rgba(3,3,8,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  opacity:0;pointer-events:none;transition:opacity .35s var(--ease-fluid);
}
.nav-backdrop--visible{display:block;opacity:1;pointer-events:auto}

@media(max-width:1100px){
  .nav{z-index:1001}
  .nav__link{
    display:flex;align-items:center;min-height:48px;padding:6px 0;
    font-size:1.08rem;
  }
  .nav__contact .btn{min-height:48px;margin-top:8px}
}

@media(max-width:768px){
  :root{
    --header-h:72px;
    --pad-x:16px;
  }

  .container{padding-left:var(--pad-x);padding-right:var(--pad-x)}

  /* Header compact */
  .header__inner{gap:6px}
  .logo{margin-right:0;min-width:0;flex:1 1 auto}
  .logo__img--header{height:50px;max-width:min(240px,52vw)}
  .theme-switch{width:40px;height:40px;margin-left:2px;flex-shrink:0}
  .burger{
    flex-shrink:0;min-width:44px;min-height:44px;
    align-items:center;justify-content:center;padding:10px;
  }

  /* Hero — masquer le visuel (placeholder/image) sur mobile */
  .hero__visual{display:none!important}
  .hero{padding:calc(var(--header-h) + 16px) 0 40px}
  .hero__top{display:flex;flex-direction:column;gap:0}
  .hero__badge{font-size:.72rem;padding:6px 12px;line-height:1.45;margin-bottom:14px}
  .hero__brand{font-size:clamp(1.65rem,7.5vw,2.2rem);line-height:1.08}
  .hero__brand-sub{font-size:.92rem;line-height:1.35}
  .hero__headline{
    font-size:.98rem;max-width:none;margin-bottom:22px;
    line-height:1.6;padding:0 2px;
  }
  .hero__actions{flex-direction:column;width:100%;gap:10px;margin-bottom:20px}
  .hero__actions .btn{width:100%;min-height:48px;padding:14px 20px}
  .hero__pills{justify-content:center;gap:8px;margin-top:20px}
  .hero__pills li{font-size:.76rem;padding:7px 12px}

  /* Sections */
  .section{padding:48px 0}
  .section__header{margin-bottom:28px;text-align:center}
  .section__title{font-size:clamp(1.4rem,5.8vw,1.8rem);margin-bottom:12px}
  .section__desc{font-size:.92rem;line-height:1.65;padding:0 4px}
  .section__tag{font-size:.7rem;margin-bottom:10px}

  /* Grilles & cartes */
  .trust{padding:32px 0 40px}
  .trust__grid{gap:12px}
  .trust__item{padding:20px 18px}
  .service-card,.gamer-feature,.config-card,.review-card{padding:20px 18px}
  .pricing-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .pricing-card{padding:16px 12px}
  .pricing-card__service{font-size:.82rem;line-height:1.35}
  .pricing-card__price span{font-size:1.2rem}
  .realisations-grid{gap:16px}
  .real-card__body{padding:18px}
  .configs-title{font-size:1.1rem;letter-spacing:.5px;margin-bottom:22px;line-height:1.4;padding:0 4px}

  /* FAQ */
  .faq-question{padding:16px;gap:12px;font-size:.9rem;line-height:1.4}
  .faq-question__icon{width:34px;height:34px;border-radius:9px}
  .faq-question__icon svg{width:16px;height:16px}
  .faq-toggle{min-width:32px;min-height:32px}
  .faq-item--open .faq-answer__inner{padding:0 16px 16px 16px}
  .faq-answer p{font-size:.88rem}

  /* Zone & villes */
  .zone-layout{gap:28px}
  .zone-text{font-size:.95rem}
  .zone-cities{gap:8px}
  .city-tag{font-size:.76rem;padding:7px 13px}
  .zone-map,.contact-map,.map-consent__btn{min-height:220px}
  .map-consent__btn{font-size:.88rem;padding:16px}

  /* Contact */
  .contact-layout{gap:20px}
  .contact-form{padding:20px 16px}
  .contact-info__card{padding:20px 16px}
  .contact-actions{gap:8px}
  .contact-actions .btn,.contact-form .btn{min-height:48px}
  .form-group{margin-bottom:18px}
  .form-group input,.form-group textarea,.form-group select,.custom-select__trigger{
    font-size:16px;min-height:48px;padding:12px 14px;
  }
  .form-group textarea{min-height:120px}

  /* CTA */
  .cta-band{padding:36px 0}
  .cta-band__inner{gap:20px}
  .cta-band__text h2{font-size:1.2rem}
  .cta-band__text p{font-size:.9rem}
  .cta-band__actions{flex-direction:column;width:100%;gap:10px}
  .cta-band__actions .btn{width:100%;min-width:0;min-height:48px}

  /* Étapes */
  .steps-clean{gap:10px}
  .steps-clean li{padding:14px 16px;font-size:.9rem;gap:12px}

  /* Footer */
  .footer{padding-top:48px}
  .footer__top{gap:28px}
  .footer__desc{max-width:none;font-size:.86rem}
  .footer__links h4{margin-bottom:12px}
  .footer__links a{
    display:inline-flex;align-items:center;min-height:40px;padding:2px 0;
  }
  .logo__img--footer{height:68px;max-width:min(280px,75vw)}

  /* Boutons flottants + encoche iPhone */
  .whatsapp-float{
    bottom:calc(76px + env(safe-area-inset-bottom,0px));
    left:calc(14px + env(safe-area-inset-left,0px));
    width:52px;height:52px;
  }
  .back-to-top{
    bottom:calc(14px + env(safe-area-inset-bottom,0px));
    right:calc(14px + env(safe-area-inset-right,0px));
    width:46px;height:46px;font-size:1.1rem;
  }

  /* Touch */
  a,button{-webkit-tap-highlight-color:transparent}
  .btn,.social-link,.contact-social__btn,.theme-switch,.burger{touch-action:manipulation}

  /* Mentions */
  .mentions-content{padding:22px 18px;font-size:.88rem}
}

@media(max-width:480px){
  :root{--header-h:64px}
  .logo__img--header{height:42px;max-width:min(200px,48vw)}
  .hero__brand{font-size:clamp(1.5rem,8vw,1.9rem)}
  .pricing-grid{grid-template-columns:1fr}
  .hero__pills li{flex:1 1 calc(50% - 4px);text-align:center;justify-content:center}
  .hero__pills{display:flex;flex-wrap:wrap}
  .section{padding:40px 0}
}

@media(max-width:768px){
  html[data-theme="light"] .nav{background:#fff}
}
