/* mb-networks.ca — shared page shell
   Extracted 2026-07-30 from duplicated per-page <style> blocks: design
   tokens, the base reset, the sticky nav, the theme-toggle button, and the
   footer were byte-identical (or near-identical, drift fixed here) across
   nearly all 29 pages. Page-specific content (hero, article typography,
   pricing, etc.) stays inline per page. Sibling to apps.mb-networks.ca's
   shared/css/app.css -- kept as a separate file since the two sites are on
   different Caddy vhosts, not because the token values differ. */

:root{
  --bg:#f4f2ed;--paper:#fff;--ink:#15131e;--ink-2:#38354a;
  --muted:#6e6b7e;--muted-2:#a09daf;
  --rule:#e0ddd5;--rule-2:#cac7bc;
  --amber:#0e7490;--amber-pale:#ecfeff;--amber-ring:#a5f3fc;
  --green:#15803d;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono","JetBrains Mono","Menlo",Consolas,monospace;
}
@media(prefers-color-scheme:dark){:root{
  --bg:#0f0e15;--paper:#16141f;--ink:#edeaf8;--ink-2:#b4b0c8;
  --muted:#948fa8;--muted-2:#7a7890;
  --rule:#201e2d;--rule-2:#2c2940;
  --amber:#22d3ee;--amber-pale:#0c2a33;--amber-ring:#155368;
  --green:#4ade80;
}}
@media(prefers-color-scheme:dark){
  .btn-contact-ghost{color:var(--bg);border-color:rgba(0,0,0,.4);font-weight:700}
  .btn-contact-ghost:hover{color:#000;border-color:rgba(0,0,0,.6)}
  .btn-amber{color:#0c0a12}
}
:root[data-theme="dark"]{
  --bg:#0f0e15;--paper:#16141f;--ink:#edeaf8;--ink-2:#b4b0c8;
  --muted:#948fa8;--muted-2:#7a7890;
  --rule:#201e2d;--rule-2:#2c2940;
  --amber:#22d3ee;--amber-pale:#0c2a33;--amber-ring:#155368;
  --green:#4ade80;
}
:root[data-theme="dark"] .btn-contact-ghost{color:var(--bg);border-color:rgba(0,0,0,.4);font-weight:700}
:root[data-theme="dark"] .btn-contact-ghost:hover{color:#000;border-color:rgba(0,0,0,.6)}
:root[data-theme="dark"] .btn-amber{color:#0c0a12}
:root[data-theme="light"]{
  --bg:#f4f2ed;--paper:#fff;--ink:#15131e;--ink-2:#38354a;
  --muted:#6e6b7e;--muted-2:#a09daf;
  --rule:#e0ddd5;--rule-2:#cac7bc;
  --amber:#0e7490;--amber-pale:#ecfeff;--amber-ring:#a5f3fc;
  --green:#15803d;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}

/* ---- Nav ---- */
.nav{
  position:sticky;top:0;z-index:100;
  background:var(--paper);border-bottom:1px solid var(--rule);
  padding:0 clamp(20px,5vw,80px);height:56px;
  display:flex;align-items:center;justify-content:space-between;
}
.nav-logo{display:flex;align-items:center;gap:9px;text-decoration:none}
.nav-logo-img{width:36px;height:36px;border-radius:6px;object-fit:cover;flex-shrink:0}
.logo-name{font-size:14px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.logo-name b{color:var(--amber);font-weight:700}
.nav-links{display:flex;align-items:center;gap:2px;list-style:none}
.nav-links a{display:block;padding:6px 11px;border-radius:6px;font-size:13.5px;color:var(--muted);text-decoration:none;transition:color .15s,background .15s}
.nav-links a:hover{color:var(--ink);background:var(--bg)}
.nav-links .nav-cta{margin-left:8px;padding:7px 15px;background:var(--ink);color:var(--paper)!important;border-radius:7px;font-weight:600;font-size:13.5px}
.nav-links .nav-cta:hover{opacity:.8;background:var(--ink)!important}
@media(max-width:580px){.nav-links{display:none}}

/* ---- Theme toggle ---- */
.theme-btn{position:fixed;top:14px;right:14px;z-index:999;background:var(--paper);border:1px solid var(--rule);border-radius:8px;width:34px;height:34px;font-size:16px;cursor:pointer;color:var(--ink);transition:border-color .15s,background .15s;padding:0;line-height:1;display:flex;align-items:center;justify-content:center}
.theme-btn:hover{border-color:var(--amber)}

/* ---- Footer ---- */
footer{background:var(--ink);color:var(--paper);border-top:1px solid rgba(255,255,255,0.07);padding:clamp(24px,3.5vh,40px) clamp(20px,5vw,80px);margin-top:auto}
.foot-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}
.foot-brand{font-size:13px;font-weight:700;letter-spacing:-.01em;opacity:.8}
.foot-copy{font-size:11px;opacity:.35;margin-top:2px}
.foot-nav{display:flex;gap:18px;list-style:none;flex-wrap:wrap}
.foot-nav a{font-size:12.5px;color:inherit;opacity:.45;text-decoration:none;transition:opacity .15s}
.foot-nav a:hover{opacity:.9}
.foot-fb{display:inline-flex;align-items:center;gap:5px}
.foot-fb svg{width:13px;height:13px;fill:currentColor;vertical-align:middle}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}
