/* ═══ BLUESHIFT — Shared Styles ═══ */

*{margin:0;padding:0;box-sizing:border-box}

:root{
  --black:#050608;--deep:#080a10;--surface:#0c0f18;--surface2:#111622;
  --border:#1a2236;--border-hl:#243350;
  --cyan:#0cc0df;--cyan-dim:#0cc0df50;--cyan-glow:#0cc0df20;--cyan-faint:#0cc0df08;
  --gold:#e8c84a;--gold-dim:#e8c84a40;--gold-bg:#e8c84a15;
  --green:#34d399;--green-dim:#34d39940;--green-bg:#34d39920;
  --red-dim:#ff4d6a80;--red-bg:#ff4d6a15;--red-border:#ff4d6a30;
  --text:#d0d6e6;--text2:#a8b3cc;--text3:#7a8aaa;--white:#f0f2f8;
}

html{scroll-behavior:smooth}
body{background:var(--black);color:var(--text);font-family:'DM Sans',system-ui,sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-size:17px}

/* ── Nav (public pages: index, reports) ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px 40px;display:flex;align-items:center;justify-content:space-between;background:rgba(5,6,8,.94);backdrop-filter:blur(24px);border-bottom:1px solid var(--border)}
.nav-logo{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:13px;letter-spacing:5px;color:var(--cyan);text-decoration:none}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text2);text-decoration:none;transition:color .2s}
.nav-links a:hover{color:var(--cyan)}
.nav-cta{padding:9px 22px;background:transparent;color:var(--cyan)!important;border:1px solid var(--cyan);border-radius:4px;font-weight:600;transition:all .2s}
.nav-cta:hover{background:var(--cyan);color:var(--black)!important;box-shadow:0 0 24px var(--cyan-dim)}

/* ── Page layout ── */
.page{max-width:1080px;margin:0 auto;padding:100px 32px 80px}
.page-tag{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}
.page-title{font-size:36px;font-weight:700;color:var(--white);margin-bottom:6px}
.page-sub{font-size:18px;color:var(--text2);line-height:1.75;margin-bottom:28px;max-width:640px}

/* ── Footer ── */
footer{padding:36px 40px;border-top:1px solid var(--border);background:var(--deep);margin-top:64px}
.footer-inner{max-width:1000px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.footer-logo{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:11px;letter-spacing:4px;color:var(--text2)}
.footer-copy{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--text2)}
.footer-quote{font-family:'DM Sans',sans-serif;font-size:14px;color:var(--text2);font-style:italic}

/* ── Subscribe banner ── */
.subscribe-banner{margin-top:48px;padding:28px 32px;background:var(--surface);border:1px solid var(--border);border-radius:8px;border-left:3px solid var(--cyan);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.subscribe-banner-text{flex:1;min-width:240px}
.subscribe-banner-title{font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:600;color:var(--white);margin-bottom:4px}
.subscribe-banner-sub{font-size:14px;color:var(--text2);line-height:1.6}
.subscribe-banner-btn{padding:12px 28px;background:var(--cyan);color:var(--black);border:none;border-radius:4px;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none}
.subscribe-banner-btn:hover{box-shadow:0 0 24px var(--cyan-dim)}

/* ── Shared utility ── */
.empty{color:var(--text3);font-family:'IBM Plex Mono',monospace;font-size:15px;text-align:center;padding:48px 0}

/* ── Responsive base ── */
@media(max-width:768px){
  nav{padding:12px 16px}
  .nav-links{display:none}
  .page{padding:80px 16px 60px}
  .page-title{font-size:26px}
  .subscribe-banner{flex-direction:column;text-align:center}
  .footer-inner{flex-direction:column;gap:12px;text-align:center}
}
