:root { --bg:#0b1020; --fg:#e6edf3; }
* { box-sizing: border-box; }
html,body { margin:0; }
body {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  background: var(--bg); color: var(--fg);
  padding: 4rem 1.5rem; line-height: 1.6;
}
h1 { font-size: clamp(2rem,5vw,3rem); }
p  { opacity: .85; max-width: 60ch; }
/* —— Contact page ———————————————————————— */
.container { max-width: 760px; margin: 0 auto; padding: 2rem 1rem; }

form#contact {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

form#contact label {
  display: flex;
  flex-direction: column;
  font-weight: 600;
  gap: .5rem;
}

form#contact input,
form#contact textarea {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  padding: .9rem 1rem;
  color: var(--fg);
  outline: none;
}

form#contact textarea { min-height: 140px; resize: vertical; }

form#contact input:focus,
form#contact textarea:focus {
  border-color: #5b9cff;
  box-shadow: 0 0 0 3px rgba(91,156,255,.20);
}

.cf-turnstile { margin: .25rem 0 .5rem; }

form#contact button {
  border: 0;
  border-radius: 12px;
  padding: .9rem 1.2rem;
  font-weight: 700;
  background: linear-gradient(180deg,#4da3ff,#0068ff);
  color: #fff;
  cursor: pointer;
  transition: transform .12s ease, opacity .12s ease;
}

form#contact button:hover { transform: translateY(-1px); opacity: .95; }

pre.out {
  margin-top: .5rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  padding: .75rem 1rem;
  max-height: 240px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
  font-size: .95rem;
  opacity: .9;
}
/* ———————————————————————————————————————— */
.btn { display:inline-block; padding:.8rem 1.2rem; border-radius:10px;
       background: linear-gradient(180deg,#4da3ff,#0068ff); color:#fff; font-weight:700 }

.hero,.hero-neo { text-align:center; padding:3rem 1rem; }
.hero,.hero-neo .sub { opacity:.8; margin:.5rem 0 1rem }

.grid h2, .benefits h2, .testimonials h2, .cta h2 { margin:2.2rem 0 1rem }
.cards { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) }
.card { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12);
        border-radius:14px; padding:1rem; }
.bullets { list-style: none; padding:0; margin:0; display:grid; gap:.6rem }
.bullets li::before { content:"• "; opacity:.7; }

.quotes { display:grid; gap:1rem }
blockquote { margin:0; padding:1rem; background:rgba(255,255,255,.04);
             border-left:4px solid #4da3ff; border-radius:10px }
blockquote cite { display:block; margin-top:.5rem; opacity:.7; font-style:normal }

.cta { text-align:center; padding:2rem 1rem }
/* Nav simple */
.nav{display:flex;gap:.75rem;flex-wrap:wrap;margin:0 .25rem 1rem}
.nav a{color:#8db7ff;text-decoration:none;opacity:.9}
.nav a:hover{opacity:1;text-decoration:underline}

/* Tables tarifs */
.table{width:100%;border-collapse:collapse;margin:1rem 0}
.table th,.table td{border:1px solid rgba(255,255,255,.14);padding:.6rem .8rem;text-align:left;vertical-align:top}
.badge{display:inline-block;padding:.12rem .5rem;border-radius:.6rem;background:rgba(77,163,255,.18);
       border:1px solid rgba(77,163,255,.45);font-size:.85rem}
.price{font-size:2rem;font-weight:800}
.mono{font-family:ui-monospace,Consolas,Menlo,monospace}
/* HERO néon */
.hero,.hero-neo{display:grid;grid-template-columns:1.1fr .9fr;gap:1.25rem;align-items:center}
@media (max-width:900px){.hero,.hero-neo{grid-template-columns:1fr}}
.eyebrow{font-weight:700;letter-spacing:.5px;color:var(--primary)}
.hero,.hero-neo h1{font-size:clamp(28px,5.5vw,48px);line-height:1.05;margin:.2rem 0 .6rem}
.hero,.hero-neo .lead{color:var(--muted);max-width:62ch}
.hero,.hero-neo__media img{width:100%;border-radius:14px;border:1px solid var(--panel-strong);
  box-shadow:0 24px 48px -32px var(--ring)}

/* Affiches */
.section--tight{padding-top:.5rem}
.poster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}
.poster{background:var(--panel);border:1px solid var(--panel-strong);border-radius:12px;overflow:hidden}
.poster img{display:block;width:100%;height:auto}
.poster figcaption{padding:.6rem .75rem;color:var(--muted);font-size:.92rem}

/* Swipe horizontal mobile (carrousel simple) */
@media (max-width:700px){
  .poster-grid{grid-auto-flow:column;grid-auto-columns:84%;overflow-x:auto;padding-bottom:.25rem;
    scroll-snap-type:x mandatory}
  .poster{scroll-snap-align:start}
}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.card{background:var(--panel);border:1px solid var(--panel-strong);border-radius:14px;padding:1.1rem 1.25rem;
      box-shadow:0 16px 40px -28px rgba(0,0,0,.6)}
.card .icon{font-size:44px;line-height:1;margin-bottom:.4rem;filter:saturate(1.1)}
.card h2{margin:.1rem 0 .35rem}
.card p{color:var(--muted)}
.card .btn{margin-top:.6rem}

/* ===== Modules + Pricing ===== */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}
.card{background:var(--panel);border:1px solid var(--panel-strong);border-radius:14px;padding:1.1rem 1.25rem;box-shadow:0 16px 40px -28px rgba(0,0,0,.6)}
.card .icon{font-size:44px;line-height:1;margin-bottom:.4rem;filter:saturate(1.1)}
.card h3{margin:.1rem 0 .35rem}
.card p{color:var(--muted)}
.card .btn{margin-top:.6rem}

.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;margin-top:.5rem}
.price{background:var(--panel);border:1px solid var(--panel-strong);border-radius:14px;padding:1.2rem;box-shadow:0 16px 40px -28px rgba(0,0,0,.6)}
.price h3{margin:0 0 .35rem}
.price .price-val{font-family:system-ui,Segoe UI,Inter,ui-sans-serif;letter-spacing:.2px;margin:.25rem 0 .5rem}
.price .price-val b{font-size:1.8rem}
.price .price-val span{color:var(--muted);margin-left:.15rem}
.price ul{list-style:none;padding:0;margin:.4rem 0 .8rem;display:grid;gap:.35rem}
.price.featured{border-color:#4da3ff}
/* Tuiles dashboard avec photo */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem}
.tile{background:var(--panel);border:1px solid var(--panel-strong);border-radius:16px;overflow:hidden;
      box-shadow:0 16px 40px -28px rgba(0,0,0,.6);display:grid;grid-template-rows:auto 1fr}
.tile-img{display:block;width:100%;height:160px;object-fit:cover}
.tile-body{padding:1rem 1.25rem}
.tile-body h2{margin:.1rem 0 .35rem}
.tile-body p{color:var(--muted)}

/* Modules: cartes photo */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem}
.card{background:var(--panel);border:1px solid var(--panel-strong);border-radius:14px;padding:1.1rem 1.25rem;
      box-shadow:0 16px 40px -28px rgba(0,0,0,.6)}
.card-img{width:100%;height:140px;object-fit:cover;border-radius:10px;margin-bottom:.6rem}
.card h3{margin:.15rem 0 .35rem}
.card p{color:var(--muted)}
.card .btn{margin-top:.6rem}
/* HERO : visuel de fond */
.hero, .hero-neo{
  background:
    linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.55)),
    url('/img/hero_futur.jpg') center/cover no-repeat;
}

/* ===== Mobile tuning ===== */
img{max-width:100%;height:auto}

.hero, .hero-neo{
  min-height:62vh;
  padding:2rem 1rem;
  display:grid;
  grid-template-columns:1fr .9fr;
  align-items:center;
  gap:1rem;
  text-align:left;
  background:
    linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.55)),
    url('/img/hero_futur.jpg') center/cover no-repeat;
}
.hero-neo__media img{
  width:100%;
  display:block;
  border-radius:14px;
  border:1px solid var(--panel-strong);
}

/* cartes images plus nettes et uniformes */
.card{
  background:var(--panel);
  border:1px solid var(--panel-strong);
  border-radius:14px;
  overflow:hidden;
}
.card img{
  width:100%;
  display:block;
  aspect-ratio:16/9;
  object-fit:cover;
}
.card .body{padding:.875rem 1rem}

/* Grilles → une seule colonne sur mobile */
.grid-3, .grid-2{display:grid;gap:1rem}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}

/* Vue smartphone */
@media (max-width:900px){
  .hero, .hero-neo{grid-template-columns:1fr;text-align:center}
  .hero-neo__media{display:none}        /* on cache l'image à droite */
  .grid-3, .grid-2{grid-template-columns:1fr}
  section{padding:1.25rem 1rem}
  h1{font-size:clamp(26px,6.2vw,40px);line-height:1.1;margin:0 0 .75rem}
  .lead{max-width:62ch;margin:0 auto .75rem}
}
/* ---------- HOTFIX MOBILE ---------- */

/* Images fluides partout (pas d'étirement) */
img{max-width:100%;height:auto}

/* Héros : une seule colonne + on masque l'image en mobile */
@media (max-width:900px){
  .hero,.hero-neo{
    display:grid;
    grid-template-columns:1fr;
    gap:.75rem;
    text-align:center;
  }
  /* essaie les 3 variantes de conteneur image : */
  .hero .media,.hero-neo__media,.hero figure{display:none}

  .hero h1,.hero-neo h1{
    font-size:clamp(28px,5.5vw,48px);
    line-height:1.1;
    margin:.2rem 0;
  }
  .hero .lead,.hero-neo .lead{max-width:62ch;margin:0 auto .75rem}
  /* Grilles (features, cards…) → 1 colonne en mobile */
  .cards,.grid,.features,.sections{
    display:grid;
    grid-template-columns:1fr;
    gap:1rem;
  }
}
/* ------- HOTFIX MOBILE (hero propre + images fluides) ------- */
@media (max-width:900px){
  /* Héros en 1 colonne et rien ne déborde */
  .hero{grid-template-columns:1fr; align-items:center; text-align:center; overflow:hidden;}

  /* Masquer toute image du héros sur mobile (peu importe le markup) */
  .hero img,
  .hero figure,
  .hero .media{display:none !important;}

  /* Titre + texte compacts */
  .hero h1{font-size:clamp(28px,5.5vw,48px); line-height:1.1; margin:.2rem 0;}
  .hero .lead{max-width:62ch; margin:0 auto .75rem;}

  /* Bouton plus petit, largeur auto */
  .hero .btn{display:inline-block; width:auto; max-width:100%;
             font-size:1rem; line-height:1.1; padding:.8rem 1rem; margin:.25rem auto 0;}
}

/* Images fluides partout (évite l’étirement) */
img{max-width:100%; height:auto}
/* ========= HOTFIX MOBILE ULTRA-ROBUSTE ========= */
img,video{max-width:100%;height:auto;display:block}

/* pas de scroll horizontal fantôme */
html,body{overflow-x:hidden}

/* Héros : neutraliser toute image/média et compacter le contenu */
@media (max-width:900px){
  /* cible très large : 1er bloc de la page + classes usuelles */
  main > section:first-of-type,
  header.hero, section.hero, .hero, .hero-neo{ 
    display:flex; flex-direction:column; gap:.75rem;
    align-items:center; text-align:center; 
    overflow:hidden;
  }
  /* coupe TOUT media possible dans le 1er bloc/hero */
  main > section:first-of-type img,
  main > section:first-of-type figure,
  main > section:first-of-type picture,
  main > section:first-of-type [class*="media"],
  .hero img, .hero figure, .hero picture, .hero [class*="media"],
  .hero-neo img, .hero-neo figure, .hero-neo picture, .hero-neo [class*="media"]{
    display:none !important;
  }
  /* tue les backgrounds images éventuels */
  main > section:first-of-type,
  .hero, .hero-neo{ background:none !important; }

  /* titres/lead compacts */
  .hero h1, .hero-neo h1,
  main > section:first-of-type h1{
    font-size:clamp(28px,5.5vw,44px);
    line-height:1.15; margin:.25rem 0;
  }
  .hero .lead, .hero-neo .lead,
  main > section:first-of-type .lead{
    max-width:62ch; margin:0 auto .75rem;
    font-size:1rem; line-height:1.45;
  }

  /* CTA compact, largeur auto */
  .hero .btn, .hero-neo .btn,
  main > section:first-of-type .btn{
    display:inline-block; width:auto; max-width:100%;
    font-size:1rem; line-height:1.1; padding:.8rem 1rem; margin:.25rem auto 0;
  }

  /* Grilles (features/cards/sections) -> 1 colonne + espace */
  .cards, .grid, .features, .sections,
  [class*="cards"], [class*="grid"], [class*="features"]{
    display:grid; grid-template-columns:1fr !important; gap:.9rem;
  }
}
/* ========= /HOTFIX ========= */
/* ======== Anti-chevauchement HÉRO mobile (failsafe) ======== */
@media (max-width:900px){
  /* 1er bloc / hero : pas de hauteur forcée */
  main > section:first-of-type,
  .hero,.hero-neo{min-height:unset!important}

  /* neutralise tout positionnement/transform dans le bloc héro */
  main > section:first-of-type *{
    position:static!important;
    transform:none!important;
    max-width:100%!important;
    box-sizing:border-box;
  }

  /* titres et CTA compacts et lisibles */
  .hero h1,.hero-neo h1,
  main > section:first-of-type h1{
    word-wrap:break-word;
    margin:.25rem 0;
    line-height:1.15;
  }
  .hero .btn,.hero-neo .btn,
  main > section:first-of-type .btn{
    white-space:normal; /* bouton peut passer à la ligne */
  }
}
/* === SQV: blocs comparatif + podiums (mobile-first) === */
.section{max-width:62ch;margin:0 auto 2rem;padding:0 1rem}
.grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:900px){.grid{grid-template-columns:1fr 1fr}}
.podiums{list-style:none;padding:0;margin:.5rem 0}
.podiums li{margin:.25rem 0}
.table{overflow-x:auto}
.table table{width:100%;border-collapse:collapse}
.table th,.table td{padding:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}
.note{opacity:.8;font-size:.9rem}
/* ==== SQV • styles pro (mobile-first) ==== */
.section{max-width:62ch;margin:0 auto 2rem;padding:0 1rem}
.grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:900px){.grid{grid-template-columns:1fr 1fr}}
.card{border:1px solid var(--panel-strong);border-radius:14px;padding:1rem}
.modules{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:900px){.modules{grid-template-columns:1fr 1fr}}
.module{border:1px solid var(--panel-strong);border-radius:14px;padding:1rem;background:rgba(255,255,255,.02)}
.checklist{list-style:none;margin:.5rem 0;padding:0}
.checklist li{padding-left:1.25rem;position:relative;margin:.25rem 0;line-height:1.35}
.checklist li::before{content:"✔";position:absolute;left:0;top:0;opacity:.9}
.table{overflow-x:auto}
.table table{width:100%;border-collapse:collapse}
.table th,.table td{padding:.6rem;border-bottom:1px solid rgba(255,255,255,.12);text-align:left}
.badge{display:inline-block;font-size:.8rem;padding:.15rem .45rem;border:1px solid var(--panel-strong);border-radius:999px}
.kpis{list-style:none;padding:0;margin:.5rem 0;display:grid;gap:.5rem}
.kpis li{display:flex;align-items:center;gap:.5rem}
.steps{padding-left:1.25rem}
.note{opacity:.8;font-size:.9rem;margin-top:.5rem}
/* ====== Menu burger mobile ====== */
.nav-toggle{ display:none; }

@media (max-width:780px){
  header .sub{ display:none; }
  header .sub.open{ 
    display:flex; 
    flex-direction:column; 
    gap:.5rem;
    padding:.5rem 0 1rem;
  }

  .nav-toggle{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.45rem .8rem;
    background:var(--panel);
    border:1px solid var(--panel-strong);
    border-radius:12px;
    font:inherit;
    color:inherit;
    cursor:pointer;
    margin:.25rem 0;
  }
  .nav-toggle:focus{ outline:2px solid var(--accent, #4da3ff); outline-offset:2px; }
}

/* Support lecteur d'écran si besoin */
.sr-only{
  position:absolute !important; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0;
}
/* ====== Premium mobile menu (SVG burger ↔ cross) ====== */
.nav-toggle{ display:none; }

@media (max-width:780px){
  header .sub{ display:none; }
  header .sub.open{
    display:flex; flex-direction:column; gap:.5rem; padding:.5rem 0 1rem;
  }

  .nav-toggle{
    display:inline-flex; align-items:center; gap:.5rem;
    padding:.45rem .8rem; background:var(--panel);
    border:1px solid var(--panel-strong); border-radius:12px;
    font:inherit; color:inherit; cursor:pointer; margin:.25rem 0;
    transition:transform .2s ease;
  }
  .nav-toggle:active{ transform:scale(.98); }
  .nav-toggle:focus{ outline:2px solid var(--accent, #4da3ff); outline-offset:2px; }

  .nav-toggle .icon{ width:24px; height:24px; display:block; transition:transform .25s ease; }
  .nav-toggle .icon line{
    stroke:currentColor; stroke-width:2.4; stroke-linecap:round;
    transition:transform .25s ease, opacity .2s ease;
  }
  /* état initial : burger visible, croix discrète */
  .nav-toggle .burger line{ opacity:1; transform:none; }
  .nav-toggle .close  line{ opacity:0; transform:scale(.8) rotate(-90deg); transform-origin:12px 12px; }

  /* état ouvert : micro rotation + crossfade + léger slide des barres */
  .nav-toggle.is-open .icon{ transform:rotate(90deg); }
  .nav-toggle.is-open .burger line{ opacity:0; transform:translateX(4px); }
  .nav-toggle.is-open .close  line{ opacity:1; transform:scale(1) rotate(0deg); }
}

/* accessibilité (si besoin ailleurs) */
.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); border:0;
}
/* ====== Bouton menu luxe : burger → croix (morphing) ====== */
@media (max-width:780px){
  .nav-toggle{ display:inline-flex; align-items:center; gap:.5rem;
    padding:.45rem .8rem; background:var(--panel);
    border:1px solid var(--panel-strong); border-radius:12px;
    font:inherit; color:inherit; cursor:pointer; margin:.25rem 0;
    transition:transform .2s ease;
  }
  .nav-toggle:active{ transform:scale(.98); }
  .nav-toggle .icon{ width:26px; height:26px; display:block; }

  /* les 3 traits du burger */
  .nav-toggle--lux .morph line{
    stroke:currentColor; stroke-width:2.4; stroke-linecap:round;
    transition:transform .28s cubic-bezier(.4,0,.2,1), opacity .18s ease;
    transform-box:fill-box; transform-origin:12px 12px;
  }
  /* état initial : 3 barres */
  .nav-toggle--lux .l1{ transform:translateY(0) rotate(0deg); }
  .nav-toggle--lux .l2{ transform:scaleX(1); }
  .nav-toggle--lux .l3{ transform:translateY(0) rotate(0deg); }

  /* état ouvert : top/bottom convergent et pivotent; barre centrale se rétracte */
  .nav-toggle--lux.is-open .l1{ transform:translateY(6px) rotate(45deg); }
  .nav-toggle--lux.is-open .l2{ transform:scaleX(0.05); opacity:0; }
  .nav-toggle--lux.is-open .l3{ transform:translateY(-6px) rotate(-45deg); }

  /* petite respiration visuelle du bouton */
  .nav-toggle--lux.is-open{ transform:scale(1.02); }
}
/* ====== Nav responsive + bouton premium (burger → croix) ====== */
@media (max-width:780px){
  header .sub{ display:none; margin-top:.5rem; }
  header .sub.is-open{ display:block; }

  .nav-toggle{
    display:inline-flex; align-items:center; gap:.5rem;
    padding:.45rem .8rem; background:var(--panel);
    border:1px solid var(--panel-strong); border-radius:12px;
    font:inherit; color:inherit; cursor:pointer; margin:.25rem 0;
    transition:transform .2s ease;
  }
  .nav-toggle:active{ transform:scale(.98); }
  .nav-toggle .icon{ width:26px; height:26px; display:block; }

  /* Traits du burger */
  .nav-toggle--lux .morph line{
    stroke:currentColor; stroke-width:2.4; stroke-linecap:round;
    transition:transform .28s cubic-bezier(.4,0,.2,1), opacity .18s ease;
    transform-box:fill-box; transform-origin:12px 12px;
  }
  .nav-toggle--lux .l1{ transform:translateY(0) rotate(0deg); }
  .nav-toggle--lux .l2{ transform:scaleX(1); }
  .nav-toggle--lux .l3{ transform:translateY(0) rotate(0deg); }

  .nav-toggle--lux.is-open .l1{ transform:translateY(6px) rotate(45deg); }
  .nav-toggle--lux.is-open .l2{ transform:scaleX(0.05); opacity:0; }
  .nav-toggle--lux.is-open .l3{ transform:translateY(-6px) rotate(-45deg); }

  /* Option micro-rotation de l'icône complète */
  .nav-toggle--lux .icon{ transition:transform .28s cubic-bezier(.4,0,.2,1); }
  .nav-toggle--lux.is-open .icon{ transform:rotate(90deg); }
}

/* ===== Onglet actif sans JS (via <body data-page="…">) ===== */
nav.sub a{ border-bottom:2px solid transparent; }

/* Page active : ajoute un soulignement visible */
body[data-page="/"]              nav.sub a[href="/"],
body[data-page="presentation"]   nav.sub a[href="/presentation"],
body[data-page="modules"]        nav.sub a[href="/modules"],
body[data-page="comparatif"]     nav.sub a[href="/comparatif"],
body[data-page="editions"]       nav.sub a[href="/editions"],
body[data-page="docs"]           nav.sub a[href="/docs"],
body[data-page="entreprises"]    nav.sub a[href="/entreprises"],
body[data-page="secteur-public"] nav.sub a[href="/secteur-public"],
body[data-page="defense"]        nav.sub a[href="/defense"]{
  border-bottom-color: rgba(255,255,255,.6);
}
body[data-page="/"]              nav.sub a[href="/"],
body[data-page="presentation"]   nav.sub a[href="/presentation"],
body[data-page="modules"]        nav.sub a[href="/modules"],
body[data-page="comparatif"]     nav.sub a[href="/comparatif"],
body[data-page="editions"]       nav.sub a[href="/editions"],
body[data-page="docs"]           nav.sub a[href="/docs"],
body[data-page="entreprises"]    nav.sub a[href="/entreprises"],
body[data-page="secteur-public"] nav.sub a[href="/secteur-public"],
body[data-page="defense"]        nav.sub a[href="/defense"]{
  color:#fff;
}
/* >>> nav-active-premium v1 <<< */
nav.sub{ position:relative; }
nav.sub a::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-2px; height:2px;
  background:linear-gradient(90deg,#90de9,#7aa7ff,#6cf);
  transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease;
}

/* Active (onglet allumé) */
body[data-page="/"]               nav.sub a[href="/"]::after,
body[data-page="presentation"]    nav.sub a[href="/presentation"]::after,
body[data-page="modules"]         nav.sub a[href="/modules"]::after,
body[data-page="comparatif"]      nav.sub a[href="/comparatif"]::after,
body[data-page="editions"]        nav.sub a[href="/editions"]::after,
body[data-page="docs"]            nav.sub a[href="/docs"]::after,
body[data-page="entreprises"]     nav.sub a[href="/entreprises"]::after,
body[data-page="secteur-public"]  nav.sub a[href="/secteur-public"]::after,
body[data-page="defense"]         nav.sub a[href="/defense"]::after{
  transform:scaleX(1);
}

/* Hover/focus – petite prévisualisation */
nav.sub a:hover::after,
nav.sub a:focus-visible::after{ transform:scaleX(1); }

/* Accessibilité : animations réduites */
@media (prefers-reduced-motion: reduce){
  nav.sub a::after{ transition:none; }
}

/* Compat Accueil si le lien est /index.html */
body[data-page="/"] nav.sub a[href="/index.html"]

::after{ transform:scaleX(1); }

/* <<< nav-active-premium v1 >>> */
/* >>> nav-active-premium v2 <<< */
:root{--accent-a:#90d0e9;--accent-b:#7aa7ff;} /* couleurs d’accent */
nav.sub a{position:relative}
nav.sub a::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px;
  background:linear-gradient(90deg,var(--accent-a),var(--accent-b));
  transform:scaleX(0); transform-origin:left; transition:transform .22s cubic-bezier(.4,0,.2,1);
}

/* Actif (onglet allumé) – match /x et /x.html */
body[data-page="/"]              nav.sub a[href="/"]::after,
body[data-page="/"]              nav.sub a[href^="/index"]::after,
body[data-page="presentation"]   nav.sub a[href^="/presentation"]::after,
body[data-page="modules"]        nav.sub a[href^="/modules"]::after,
body[data-page="comparatif"]     nav.sub a[href^="/comparatif"]::after,
body[data-page="editions"]       nav.sub a[href^="/editions"]::after,
body[data-page="docs"]           nav.sub a[href^="/docs"]::after,
body[data-page="entreprises"]    nav.sub a[href^="/entreprises"]::after,
body[data-page="secteur-public"] nav.sub a[href^="/secteur-public"]::after,
body[data-page="defense"]        nav.sub a[href^="/defense"]::after { transform:scaleX(1); }

/* Hover/focus : petite prévisualisation */
nav.sub a:hover::after,
nav.sub a:focus-visible::after{ transform:scaleX(1); }

/* Accessibilité : animations réduites */
@media (prefers-reduced-motion: reduce){
  nav.sub a::after{ transition:none; }
}
/* <<< nav-active-premium v2 >>> */
/* === nav-active-premium v2.1 — épaisseur + bords arrondis === */
nav.sub a::after{
  height:3px;
  border-radius:2px;
}
/* === nav-active-premium v2.2 — easing & durée === */
nav.sub a::after{
  transition:transform .28s cubic-bezier(.4,0,.2,1);
}
/* === Thème — override couleurs d’accent === */
:root{
  --accent-a:#74d0ff;  /* clair */
  --accent-b:#3b82f6;  /* foncé */
}
/* >>> nav-glide v1 <<< */
nav.sub{ position:relative; }
nav.sub .indicator{
  position:absolute; left:0; bottom:-2px; height:3px; border-radius:2px;
  width:var(--ind-w,0px); transform:translateX(var(--ind-x,0px));
  background:linear-gradient(90deg,var(--accent-a),var(--accent-b));
  transition:transform .35s cubic-bezier(.4,0,.2,1), width .35s cubic-bezier(.4,0,.2,1);
  pointer-events:none;
}
@media (prefers-reduced-motion: reduce){
  nav.sub .indicator{ transition:none; }
}

/* Option : on masque le soulignement "actif" précédent pour éviter le double effet */
nav.sub[data-glide] a::after{ transform:scaleX(0) !important; }
nav.sub[data-glide] a:hover::after,
nav.sub[data-glide] a:focus-visible::after{ transform:scaleX(1) !important; }
/* <<< nav-glide v1 >>> */
/* === ux(mobile): polish v1 === */
:root{ --space-1:6px; --space-2:10px; --space-3:14px; --space-4:18px; --space-5:24px; --radius:12px; }
body{ font-size:16px; line-height:1.6; letter-spacing:.2px; }
.wrap{ max-width:1080px; margin-inline:auto; padding-inline:16px; }
.section{ padding-block:24px; }
.section.grid{ display:grid; gap:18px; }
@media (min-width:880px){ .section.grid{ grid-template-columns:1fr 1fr; gap:24px; } }
h1{ font-size:clamp(28px,6vw,42px); line-height:1.2; margin:.4em 0 .3em; }
h2{ font-size:clamp(22px,4.8vw,30px); margin:.9em 0 .35em; }
h3{ font-size:clamp(18px,4.2vw,22px); margin:.9em 0 .35em; }
.lead{ font-size:clamp(16px,3.8vw,18px); opacity:.9; }
.card{ background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); padding:16px; }
ul.bullets{ list-style:none; margin:8px 0 0; padding:0; }
ul.bullets li{ display:flex; gap:10px; align-items:flex-start; margin:6px 0; }
ul.bullets li::before{ content:"✔"; font-weight:700; opacity:.9; transform:translateY(2px); }
.prose{ max-width:70ch; }
a.btn,.btn{ display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:12px 16px; border-radius:12px; text-align:center; }
@media (max-width:540px){ .btn{ width:100%; } }
.hero{ text-align:center; padding-block:24px 10px; }
/* === ux(table): compare reflow ≤720px === */
@media (max-width:720px){
  table.compare{ width:100%; border-collapse:separate; border-spacing:0; }
  table.compare thead{ display:none; }
  table.compare tr{ display:block; border:1px solid rgba(255,255,255,.12);
    border-radius:12px; padding:10px 12px; margin:10px 0; background:rgba(255,255,255,.02); }
  table.compare td{ display:flex; gap:10px; justify-content:space-between; padding:8px 0; border:none; }
  table.compare td::before{ content:attr(data-label); opacity:.7; font-weight:600; flex:0 0 48%; }
  table.compare td + td{ border-top:1px dashed rgba(255,255,255,.08); }
}
/* === ux(nav): sticky/compact mobile === */
@media (max-width:720px){
  nav.sub{ position:sticky; top:0; backdrop-filter:saturate(120%) blur(8px);
           background:rgba(10,14,20,.6); padding:8px 10px; margin-bottom:8px; }
  nav.sub a{ padding:8px 10px; font-size:15px; }
}
/* === ux(card): collapsible on mobile === */
.card-toggle{ width:100%; text-align:left; background:none; border:0; padding:8px 0;
  font:inherit; display:flex; justify-content:space-between; align-items:center; cursor:pointer; }
.card-toggle::after{ content:"▾"; opacity:.7; transition:transform .2s; }
.card.is-open .card-toggle::after{ transform:rotate(180deg); }
.card-content{ margin-top:8px; }
@media (min-width:721px){ .card-content{ display:block !important; } }
/* ux(anchor + focus) */
html{ scroll-behavior:smooth; }
:target{ scroll-margin-top:68px; }
@media (max-width:720px){ :target{ scroll-margin-top:76px; } }
a:focus-visible, button:focus-visible{ outline:2px solid #74d0ff; outline-offset:2px; }
/* ux(toc) */
.toc{ position:sticky; top:0; z-index:5; padding:8px 2px 6px; margin:0 0 8px;
  background:linear-gradient(180deg, rgba(10,14,20,.72) 60%, transparent);
  backdrop-filter:saturate(120%) blur(6px);
  display:flex; gap:8px; overflow:auto; scrollbar-width:none;
}
.toc::-webkit-scrollbar{ display:none; }
.toc a{ display:inline-block; padding:8px 12px; border:1px solid rgba(255,255,255,.14);
  border-radius:999px; white-space:nowrap; font-size:14px; opacity:.9;
}
/* ux(CTA mobile) */
@media (max-width:720px){
  .cta-fab{ position:fixed; left:16px; right:16px; bottom:16px; z-index:30; }
  .cta-fab{ box-shadow:0 10px 30px rgba(0,0,0,.35); }
  body.has-cta{ padding-bottom:86px; } /* évite que le CTA masque le contenu */
}
/* ux(hero compact) */
@media (max-width:720px){
  .hero{ padding-block:18px 6px; }
  .hero .btn{ width:100%; }
}
/* ux(chips podiums) */
.podium{ margin:10px 0 14px; }
.podium-title{ font-weight:600; opacity:.85; margin-bottom:6px; }
.chips{ display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 12px; }
.chip{ display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border:1px solid rgba(255,255,255,.14); border-radius:999px;
  font-size:14px; white-space:nowrap;
}
.chip .medal{ font-size:16px; line-height:1; }
.chip .label{ opacity:.9; }
@media (max-width:720px){
  .chips{ gap:6px; }
  .chip{ padding:6px 9px; font-size:13px; }
}
/* ux(list density) */
.u_bullets li{ margin:6px 0; }
@media (max-width:720px){
  .u_bullets li{ margin:4px 0; }
  .card{ padding:14px 12px; }
}
@media (max-width:720px){
  table.compare td{ font-size:13px; }
}
/* === ux:mobile-pack v1 === */

/* Titres + rythme + nav mobile */
@media (max-width:720px){
  h1{font-size:clamp(26px,5vw,34px);line-height:1.15;margin:.5rem 0 .35rem}
  h2{font-size:clamp(20px,4.3vw,26px);margin:.75rem 0 .35rem}
  h3{font-size:clamp(17px,3.9vw,22px);margin:.5rem 0 .25rem}
  .lead{font-size:clamp(15px,3.7vw,18px);opacity:.92}
  section{padding:14px 0}
  .card{padding:12px 14px;border-radius:10px}
  nav.sub{position:sticky;top:0;background:rgba(10,14,20,.66);
          backdrop-filter:saturate(120%) blur(8px);padding:8px 10px;font-size:15px}
}

/* Sommaire mobile (auto) */
.toc{position:sticky;top:0;z-index:5;display:flex;gap:8px;padding:8px 10px;
     background:rgba(10,14,20,.72);backdrop-filter:saturate(120%) blur(8px)}
.toc a{font-size:13px;padding:6px 10px;border:1px solid rgba(255,255,255,.14);
       border-radius:999px;white-space:nowrap}
@media(min-width:721px){.toc{display:none}}

/* Sections repliables */
.card-toggle{width:100%;text-align:left;display:flex;justify-content:space-between;
             gap:8px;cursor:pointer}
.card-content{display:none}
.card-content.open{display:block!important}

/* Tableau -> cartes (mobile) */
@media (max-width:720px){
  table.compare{width:100%;border-collapse:separate;border-spacing:0}
  table.compare thead{display:none}
  table.compare tr{display:block;border:1px solid rgba(255,255,255,.12);
                   border-radius:12px;padding:10px;margin:10px 0;
                   background:rgba(255,255,255,.02)}
  table.compare td{display:flex;gap:10px;justify-content:space-between;
                   padding:8px 0;border:none}
  table.compare td::before{content:attr(data-label);opacity:.7;font-weight:600;flex:0 0 48%}
}

/* CTA flottant */
@media (max-width:720px){.cta-fab{position:fixed;left:16px;right:16px;bottom:16px;z-index:30}}

/* Podiums en chips */
.podium{margin:10px 0 14px}
.podium-title{font-weight:600;opacity:.85;margin-bottom:6px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;
      border:1px solid rgba(255,255,255,.14);border-radius:999px;white-space:nowrap}
.chip .medal{font-size:14px;line-height:1}
@media (max-width:720px){.chip{padding:6px 9px;font-size:13px}}

/* === /ux:mobile-pack v1 === */
/* === theme:variables v1 === */
:root{
  --bg:#0a0e14; --text:#e8ecf1; --muted:rgba(255,255,255,.72);
  --card:rgba(255,255,255,.02); --border:rgba(255,255,255,.12);
  --radius:12px; --accent-a:#74d0ff; --accent-b:#3b82f6;
}
html{scroll-behavior:smooth;}
a:focus-visible,.btn:focus-visible{outline:2px solid var(--accent-a); outline-offset:2px;}
:target{scroll-margin-top:76px;} @media (max-width:720px){:target{scroll-margin-top:72px;}}
/* === /theme:variables v1 === */
/* === nav:active-premium v2 === */
nav.sub{position:sticky;top:0;z-index:10;background:rgba(10,14,20,.66);
  backdrop-filter:saturate(120%) blur(8px)}
nav.sub{position:relative;}
nav.sub .indicator{position:absolute;left:var(--ind-x,0);width:var(--ind-w,0);
  bottom:-2px;height:2px;background:linear-gradient(90deg,var(--accent-a),var(--accent-b));
  transform:scaleX(1);transform-origin:left;
  transition:transform .22s cubic-bezier(.4,0,.2,1), left .22s ease, width .22s ease;}
/* Hover/focus: petite preview */
nav.sub a:hover::after, nav.sub a:focus-visible::after{transform:scaleX(1)}
/* === /nav:active-premium v2 === */
/* === table:plus v1 === */
table.compare{width:100%;border-collapse:separate;border-spacing:0}
table.compare tbody tr:nth-child(odd){background:var(--card)}
table.compare td, table.compare th{padding:10px 12px;border-bottom:1px dashed rgba(255,255,255,.08)}
@media(min-width:721px){
  table.compare thead th{position:sticky;top:76px;background:var(--bg);z-index:2}
  .sortable thead th{cursor:pointer}
}
@media (max-width:720px){
  table.compare thead{display:none}
  table.compare tr{display:block;border:1px solid var(--border);border-radius:12px;padding:10px;margin:10px 0;background:var(--card)}
  table.compare td{display:flex;gap:10px;justify-content:space-between;padding:8px 0;border:none}
  table.compare td::before{content:attr(data-label);opacity:.7;font-weight:600;flex:0 0 48%}
}
/* === /table:plus v1 === */
/* == final:layout v1 == */
:root{
  --radius:12px;
}
h2{ font-size:clamp(22px,4.8vw,30px); margin:.9em 0 .35em; }
h3{ font-size:clamp(18px,4.2vw,22px); margin:.9em 0 .35em; }
.lead{ font-size:clamp(16px,1.8vw,18px); opacity:.9; }
.card{ background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius); padding:16px; }
.card + .card{ margin-top:12px; }
.card h3{ margin-top:6px; margin-bottom:10px; font-weight:700; }
.u.bullets{ list-style:none; padding-left:0; margin:.2rem 0; }
.u.bullets li{ margin:.35rem 0; line-height:1.38; display:list-item; }
.u.bullets li + li{ margin-top:.25rem; }

/* CTA boutons */
a .btn, .a_btn, .btn{ display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:12px 16px; border-radius:12px; }

/* Table : base compacte (desktop) */
table.compare{ border-spacing:0; }
table.compare th, table.compare td{ padding:10px 12px; }
table.compare tr{ background:rgba(255,255,255,.015); border-bottom:1px solid rgba(255,255,255,.06); }

/* Focus visible accessible */
:focus-visible, button:focus-visible{ outline:2px solid #74d0ff; outline-offset:2px; border-radius:6px; }

/* H2/H3 ancre sous nav sticky */
@media (max-width:720px){
  :target{ scroll-margin-top:76px; }
}
/* Nav secondaire sticky + compact mobile */
@media (max-width:720px){
  nav.sub{ position:sticky; top:0; backdrop-filter:saturate(120%) blur(8px);
           background:rgba(10,14,20,.6); padding:8px 10px; margin-bottom:8px; }
  nav.sub a{ padding:8px 10px; font-size:15px; }
}

/* Table reflow mobile => cartes empilées lisibles */
@media (max-width:720px){
  table.compare{ width:100%; border-collapse:separate; border-spacing:0; }
  table.compare thead{ display:none; }
  table.compare tr{ display:block; border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:10px; margin:10px 0; background:rgba(255,255,255,.02); }
  table.compare td{ display:flex; gap:10px; justify-content:space-between; padding:8px 0; border:none; }
  table.compare td + td{ border-top:1px dashed rgba(255,255,255,.08); }
  table.compare td::before{ content:attr(data-label); opacity:.7; font-weight:600; flex:0 0 48%; }
}

/* Sommaire mobile (fab) – flottant discret */
@media (max-width:720px){
  .cta-fab{ position:fixed; left:16px; right:16px; bottom:16px; z-index:30;
    box-shadow:0 10px 30px rgba(0,0,0,.35); }
  .hero{ padding-bottom:80px; } /* évite que le CTA masque le contenu */
}

/* Chips/podiums plus denses */
:root{ --chipPad:9px; --chipGap:6px; --border:rgba(255,255,255,.14); }
.podium{ margin:10px 0 14px; }
.podium .title{ font-weight:600; opacity:.85; margin-bottom:6px; }
.chips{ display:flex; flex-wrap:wrap; gap:var(--chipGap); margin:4px 0 12px; }
.chip{ display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid var(--border); border-radius:999px; white-space:nowrap; }
.chip .medal{ font-size:14px; line-height:1; }
@media (max-width:720px){
  .chip{ padding:6px 9px; font-size:13px; }
}
/* == final:theme v1 == */
:root{
  --accent-a:#74d0ff;   /* clair */
  --accent-b:#3b82f6;   /* foncé */
}
nav.sub a:is(:hover,:focus-visible)::after{ transform:scaleX(1); }
nav.sub a::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px;
  background:linear-gradient(90deg,var(--accent-a),var(--accent-b));
  transform:scaleX(0); transform-origin:left; transition:transform .22s cubic-bezier(.4,0,.2,1);
}
/* == addons:toc+cards v1 == */
:root{ --border:rgba(255,255,255,.14); }

.toc{ position:sticky; top:64px; z-index:2; padding:10px; margin:6px 0 12px;
      background:rgba(255,255,255,.02); border:1px solid var(--border); border-radius:12px; }
.toc a{ display:inline-block; margin:4px 8px 0 0; padding:4px 8px; border-radius:999px; border:1px solid var(--border); }
.toc a:focus-visible{ outline:2px solid #74d0ff; outline-offset:2px; }

@media (min-width:721px){
  .toc{ top:10px; background:transparent; border:none; padding:0; }
  .toc a{ border:none; padding:0; margin:0 12px 0 0; }
}

/* Cartes repliables sur mobile */
.card-toggle{ display:none; }
@media (max-width:720px){
  .card-toggle{ display:inline-flex; align-items:center; gap:6px; font-size:13px;
                padding:4px 8px; border:1px solid var(--border); border-radius:999px; }
  .card.is-collapsed .card-content{ display:none; }
}
/* == addons:a11y-perf-print v1 == */

/* Meilleure ancre sous nav sticky */
h2, h3{ scroll-margin-top:76px; }
@media (max-width:720px){ h2, h3{ scroll-margin-top:96px; } }

/* Réduction légère des espacements sur mobile pour compacter la lecture */
@media (max-width:720px){
  .grid{ gap:18px; }
  .card{ padding:14px 14px; }
  .bullets li{ margin:6px 0; }
}

/* Impression claire, lisible, sans chrome marketing */
@media print{
  :root{ color-scheme: light only; }
  html,body{ background:#fff !important; }
  *{ color:#000 !important; box-shadow:none !important; text-shadow:none !important; }
  .hero, nav, .nav, .toc, .cta-fab, .btn, .chips, .podium, footer{ display:none !important; }
  a[href^="http"]::after{ content:" (" attr(href) ")"; font-weight:normal; }
  section, article{ break-inside: avoid; }
  h1,h2,h3{ page-break-after: avoid; }
}
/* == extras:compact+secteurs v1 == */

/* Global compact on mobile */
@media (max-width:720px){
  body{ line-height:1.5; }
  .hero{ padding-block:18px; }
  .grid{ gap:16px; }
  .card{ padding:14px; border-radius:10px; }
  .card h3{ font-size:clamp(18px,3.8vw,20px); margin:.35em 0 .45em; }
  .lead{ font-size:clamp(15px,3.6vw,17px); opacity:.9; }
}

/* Listes plus denses (secteurs/architectures) */
.bullets li{ margin:6px 0; display:flex; gap:10px; align-items:flex-start; }
.bullets li::before{
  content:"✔"; font-weight:600; opacity:.85;
  transform:translateY(1px);
}

/* Tables compactes */
table.compare{ width:100%; border-collapse:separate; border-spacing:0; }
table.compare tr{ border:1px solid rgba(255,255,255,.12); border-left:none; border-right:none; }
table.compare th, table.compare td{ padding:8px 10px; vertical-align:top; }
table.compare td + td{ border-left:1px dashed rgba(255,255,255,.08); }

/* Mini badges optionnels (si .chip/.chips déjà en place) */
.chips{ gap:8px; }
.chip{ padding:6px 10px; border-radius:999px; white-space:nowrap; }
@media (max-width:720px){ .chip{ padding:5px 8px; font-size:13px; } }
/* == contact-pack v1 == */
.form{max-width:820px;margin:0 auto;}
.form .row{display:flex;gap:14px;flex-wrap:wrap;}
.form .field{flex:1 1 240px;display:flex;flex-direction:column;}
.form label{font-weight:600;margin:6px 2px;}
.form input,.form textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);
  border-radius:10px;color:inherit;padding:12px 12px;}
.form textarea{min-height:120px;resize:vertical;}
.form .hp{position:absolute!important;left:-9999px;top:-9999px;height:0;width:0;opacity:0}
.form .actions{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap;}
.form .msg{opacity:.9}
@media(max-width:720px){ .form input,.form textarea{padding:11px 10px} }
/* == contact: toast v1 == */
.toast{position:fixed;left:50%;bottom:16px;transform:translate(-50%,120%);opacity:0;
  background:rgba(10,14,20,.9);color:#fff;border:1px solid rgba(255,255,255,.12);
  padding:10px 14px;border-radius:12px;backdrop-filter:saturate(120%) blur(8px);
  z-index:9999;transition:transform .25s ease,opacity .25s;pointer-events:none}
.toast.show{transform:translate(-50%,0);opacity:1}
.toast.ok{border-color:#74d0ff}
.toast.bad{border-color:#ff6a6a}
button.is-busy{pointer-events:none;opacity:.6}
@media (max-width:720px){.toast{width:calc(100% - 32px)}}
/* == vpn: ui v1 == */
.vpn-chip{position:fixed; right:16px; bottom:16px; z-index:9998; padding:8px 12px; border-radius:999px;
  border:1px solid rgba(255,255,255,.14); background:rgba(10,14,20,.8); color:#fff; backdrop-filter:saturate(120%) blur(8px);}
.vpn-pane{position:fixed; right:16px; bottom:64px; width: min(420px,calc(100% - 32px)); max-height:60vh; overflow:auto; z-index:9999;
  background:rgba(10,14,20,.92); color:#fff; border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:12px;}
.vpn-pane h4{margin:.3rem 0 .5rem 0}
.vpn-list{display:flex; flex-direction:column; gap:6px}
.vpn-item{display:flex; justify-content:space-between; align-items:center; border:1px solid rgba(255,255,255,.12);
  border-radius:10px; padding:6px 8px; background:rgba(255,255,255,.03)}
.vpn-item small{opacity:.8}
.vpn-item button{padding:6px 10px; border-radius:8px; border:1px solid rgba(255,255,255,.18); background:transparent; color:#fff}
/* == contact: honeypot v1 == */
.hp{position:absolute !important; left:-9999px !important; opacity:0 !important;}
/* == contact: honeypot v1 == */
.hp{position:absolute !important; left:-9999px !important; opacity:0 !important;}
