:root{--brand-dark:#3A4E60;--brand-blue:#36A1F2;--ink:#0f2536;--text:#1f2937;--muted:#6b7280;--bg:#fff;--soft:#f5f8fb;--maxw:1200px;--radius:16px;--shadow:0 12px 28px rgba(3,18,26,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:#fff}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #eef1f5;backdrop-filter:saturate(180%) blur(6px);transition:box-shadow .25s,border-color .25s}header.scrolled{box-shadow:0 8px 24px rgba(0,0,0,.08);border-bottom-color:#e1e8ef}.nav{display:flex;align-items:center;justify-content:space-between;height:72px;transition:height .25s ease}header.scrolled .nav{height:64px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand img{height:36px}.brand .title{font-weight:700;color:var(--brand-dark)}.brand .subtitle{color:var(--muted);font-size:14px;margin-top:2px}.brand .title,.brand .subtitle{text-decoration:none}nav ul{display:flex;gap:16px;list-style:none;padding:0;margin:0}nav a{color:var(--ink);text-decoration:none;padding:10px 12px;border-radius:10px}nav a:hover{background:#f2f6fa}nav a.active{background:#e9f2ff;color:#155ea8;font-weight:600}.hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(900px 300px at 90% -10%,rgba(54,161,242,.25),transparent),radial-gradient(900px 300px at 10% -20%,rgba(58,78,96,.35),transparent),#0f2536}.hero::before{content:"";position:absolute;inset:0;background:url('../images/hero-bg.webp') center/cover no-repeat;opacity:.25}.hero .wrap{position:relative;padding:88px 0 76px}h1{font-size:42px;line-height:1.1;margin:0 0 12px}.lead{font-size:18px;color:#d8e6f2;max-width:820px}.cta{display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:14px 20px;background:var(--brand-blue);color:#fff;border:none;border-radius:12px;box-shadow:var(--shadow);cursor:pointer;text-decoration:none;font-weight:600}.cta.alt{background:var(--brand-dark)}.cta:hover{filter:brightness(1.05)}.cta svg{flex-shrink:0}.section{padding:72px 0}.section.alt{background:var(--soft)}.section h2{font-size:34px;margin:0 0 8px}.eyebrow{display:inline-block;background:#e8f3ff;color:#155ea8;padding:6px 10px;border-radius:999px;font-weight:600;font-size:12px;margin-bottom:10px}.sub{color:#5b6b7a;margin:0 0 18px}.grid2{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid #e9eef4;border-radius:18px;box-shadow:var(--shadow);padding:24px;background:#fff}.figure{border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.figure img{width:100%;height:auto;display:block}.feature{display:flex;gap:14px;align-items:flex-start}.icon{width:36px;height:36px;border-radius:10px;background:#eaf3ff;display:flex;align-items:center;justify-content:center}.icon svg{width:18px;height:18px;stroke:#155ea8}.timeline{display:grid;gap:14px;margin-top:10px}.step{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start}.badge-num{width:40px;height:40px;border-radius:999px;background:#eaf3ff;color:#155ea8;display:flex;align-items:center;justify-content:center;font-weight:700}.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}.compare .panel{border-radius:18px;background:#fff;box-shadow:var(--shadow);padding:20px;border:1px solid #e9eef4}.compare h3{margin-top:0}.faq{display:grid;gap:10px}.faq details{border:1px solid #e9eef4;border-radius:12px;padding:12px 14px;background:#fff;box-shadow:var(--shadow)}.faq summary{cursor:pointer;font-weight:600}.faq p{margin:8px 0 0}footer{margin-top:40px;padding:28px 0 60px;background:#0f2536;color:#b9c8d6}.footer-inner{display:flex;align-items:center;justify-content:space-between}address{font-style:normal;color:#d9e6f2}.menu-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;font-size:22px;line-height:1;color:var(--brand-dark)}.mobile-overlay{position:fixed;inset:0;background:rgba(15,37,54,.96);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translateY(-100%);transition:transform .28s ease;z-index:60;padding:24px}.mobile-overlay.open{transform:translateY(0)}.mobile-overlay nav{width:100%}.mobile-overlay ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;align-items:center}.mobile-overlay a{color:#eaf3ff;text-decoration:none;font-size:22px;font-weight:700;padding:10px 16px;border-radius:12px}.mobile-overlay a:hover{background:rgba(255,255,255,.08)}.mobile-overlay .close{position:absolute;top:18px;right:18px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:transparent;color:#fff;font-size:22px}@media (max-width:980px){nav ul{display:none}.menu-toggle{display:inline-flex}.brand img{height:32px}.brand .title{font-size:16px}.brand .subtitle{font-size:12px}}.back-to-top{position:fixed;right:20px;bottom:20px;width:48px;height:48px;border-radius:50%;background:var(--brand-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;box-shadow:var(--shadow);border:none;z-index:80;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{filter:brightness(1.05)}.subnav{position:sticky;top:72px;z-index:40;background:#0f2536;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.subnav .inner{max-width:1200px;margin:0 auto;padding:10px 20px;display:flex;gap:16px;flex-wrap:wrap}.subnav a{color:#e5eef8;text-decoration:none;padding:8px 12px;border-radius:10px;font-weight:600}.subnav a:hover{background:rgba(255,255,255,.10)}.subnav a.is-active{background:rgba(255,255,255,.18)}.banner{position:relative;overflow:hidden;border-radius:18px;box-shadow:var(--shadow);min-height:180px;display:flex;align-items:center;margin-top:16px}.banner.niko{background:linear-gradient(to right,rgba(15,37,54,.85),rgba(15,37,54,.35)),url('../images/niko-hero.webp') center/cover no-repeat}.banner.ubi{background:linear-gradient(to right,rgba(15,37,54,.85),rgba(15,37,54,.35)),url('../images/ubiquiti-hero.webp') center/cover no-repeat}.banner .banner-content{color:#fff;padding:28px}.banner .banner-content h2{color:#fff;margin:0 0 6px}.banner .banner-content p{color:#e8f3ff;margin:0}@media(max-width:980px){.grid2{grid-template-columns:1fr;gap:22px}.grid3{grid-template-columns:1fr}h1{font-size:34px}.subnav{top:64px}}
.logos-band{padding:22px 0;background:#fff}
.logos-band .inner{max-width:1200px;margin:0 auto;display:flex;gap:28px;align-items:center;justify-content:center;flex-wrap:wrap}
.logo-badge{height:32px;opacity:.85;filter:grayscale(20%);transition:.2s}
.logo-badge:hover{opacity:1;filter:none}
@media (max-width:980px){.logo-badge{height:26px}}

/* hero logos */
.hero{position:relative}
.hero-badge{position:absolute;right:16px;bottom:16px;height:36px;background:#fff;border-radius:10px;padding:8px 10px;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.hero-badges{position:absolute;right:16px;bottom:16px;display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.9);padding:8px 12px;border-radius:12px;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.hero-badges img{height:26px;display:block}
@media (max-width:980px){.hero-badge{height:30px;padding:6px 8px}.hero-badges img{height:22px}}


/* correction Casambi : sous-menu sur une ligne */
/* --- Sous-menu horizontal, centré et fluide (Casambi & services) --- */
/* --- Fix sous-menu Casambi : toujours sur une seule ligne --- */
.subnav{position:sticky;top:72px;z-index:40;background:#0f2536;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden}
.subnav .inner{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:10px 16px;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  overflow-x:auto;
  scrollbar-width:none;
}
.subnav .inner::-webkit-scrollbar{display:none}
.subnav a{
  flex:0 0 auto;           /* pas d’élargissement, pas de wrap */
  display:inline-block;
  white-space:nowrap;
  padding:8px 10px;        /* un peu moins large pour tenir */
  color:#e5eef8;text-decoration:none;border-radius:10px;font-weight:600;
}
.subnav a:hover{background:rgba(255,255,255,.10)}
.subnav a.is-active{background:rgba(255,255,255,.18)}
@media(max-width:980px){
  .subnav{top:64px}
  .subnav .inner{justify-content:flex-start} /* défilement horizontal au doigt */
}
.hero-badge img,
.hero-badges img {
  height: 26px;
  object-fit: contain;
  display: block;
}
/* === HERO logos: capsule blanche centrée === */
.hero{position:relative!important;}
.hero-badges{
  position:absolute!important;
  right:16px!important;
  bottom:16px!important;
  display:flex!important;
  align-items:center!important;      /* centrage vertical */
  justify-content:center!important;  /* centrage horizontal */
  gap:18px!important;
  background:#fff!important;         /* fond 100% blanc */
  padding:10px 18px!important;
  border-radius:14px!important;
  box-shadow:0 6px 16px rgba(0,0,0,.12)!important;
  line-height:1!important;           /* évite tout décalage vertical */
}
.hero-badges img{
  display:block!important;
  height:28px!important;             /* même hauteur visuelle */
  object-fit:contain!important;
}
@media (max-width:980px){
  .hero-badges{gap:14px!important;padding:8px 14px!important}
  .hero-badges img{height:22px!important}
}
