/* tpl_polepositifs_hub v1.0.0 — coquille sombre néon du hub entreprise-locale.ca.
   Tokens --hub-* (consommés aussi par annuaire.css) + nav + footer + aurores ambiantes.
   CSS/SVG only, prefers-reduced-motion respecté, focus visible. */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Hanken+Grotesk:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap');

:root{
  --hub-void:#070b18;
  --hub-surface:#0e1426;
  --hub-surface-2:#141d35;
  --hub-line:rgba(255,255,255,.10);
  --hub-ink:#eaf0ff;
  --hub-ink-dim:#9aa6c8;
  --hub-amber:#f6a723;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hub-body{margin:0;background:var(--hub-void);color:var(--hub-ink);
  font-family:'Hanken Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased;
  min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}

/* aurores ambiantes (fond fixe, derrière tout) */
.hub-aurora{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(50% 40% at 15% 0%,rgba(124,92,255,.16),transparent 60%),
    radial-gradient(45% 40% at 100% 10%,rgba(31,200,232,.12),transparent 60%),
    radial-gradient(60% 50% at 80% 100%,rgba(208,75,255,.08),transparent 60%)}

/* skip link */
.hub-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--hub-amber);color:#1a1205;padding:10px 16px;border-radius:8px;font-weight:700;text-decoration:none}
.hub-skip:focus{left:16px}

/* nav */
.hub-nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(7,11,24,.72);border-bottom:1px solid var(--hub-line)}
.hub-nav-in{max-width:1180px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;gap:22px}
.hub-logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--hub-ink)}
.hub-logo-mark{width:26px;height:26px;border-radius:50%;flex:none;background:radial-gradient(circle at 35% 30%,#9b7bff,#2f9bff 55%,#1fc8e8);box-shadow:0 0 16px rgba(124,92,255,.6)}
.hub-logo-txt{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:19px;letter-spacing:-.01em;color:#fff}
.hub-logo-acc{color:var(--hub-amber)}
.hub-links{display:flex;align-items:center;gap:26px;margin-left:14px}
.hub-links a{color:var(--hub-ink-dim);text-decoration:none;font-size:15px;font-weight:600;transition:color .18s}
.hub-links a:hover{color:#fff}
.hub-cta{margin-left:auto;display:inline-flex;align-items:center;background:var(--hub-amber);color:#1a1205;font-weight:800;font-size:14.5px;padding:11px 20px;border-radius:11px;text-decoration:none;box-shadow:0 8px 24px rgba(246,167,35,.26);transition:transform .15s,filter .2s}
.hub-cta:hover{filter:brightness(1.07);transform:translateY(-1px)}

/* main */
.hub-main{position:relative;z-index:1;flex:1}

/* footer */
.hub-foot{position:relative;z-index:1;border-top:1px solid var(--hub-line);background:rgba(10,14,26,.6);margin-top:40px}
.hub-foot-in{max-width:1180px;margin:0 auto;padding:54px 28px 30px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
.hub-foot-brand .hub-logo-txt{font-size:20px}
.hub-foot-brand p{margin:12px 0 0;color:var(--hub-ink-dim);font-size:14.5px;max-width:34ch}
.hub-foot-col h4{font-family:'Space Grotesk',sans-serif;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin:0 0 14px}
.hub-foot-col a,.hub-foot-col span{display:block;color:var(--hub-ink-dim);text-decoration:none;font-size:14.5px;line-height:1.9}
.hub-foot-col a:hover{color:#fff}
.hub-foot-legal{max-width:1180px;margin:0 auto;padding:18px 28px 34px;border-top:1px solid var(--hub-line);color:#6b779b;font-size:13px}

/* focus visible (quality floor) */
.hub-body :focus-visible{outline:2px solid var(--hub-amber);outline-offset:3px;border-radius:6px}

@media(max-width:760px){
  .hub-links{display:none}
  .hub-foot-in{grid-template-columns:1fr;gap:26px}
}
@media(prefers-reduced-motion:reduce){.hub-cta,.hub-links a{transition:none}}
