/*
Theme Name:     Metadata Marketer Cyber-Noir
Theme URI:      https://metadatamarketer.com
Description:    Cyber-Noir child theme for The AI Profit Wire. Built on Hello Elementor with custom design system, typography, and Intelligence Report components.
Author:         Moe Sbaiti
Author URI:     https://metadatamarketer.com
Template:       hello-elementor
Version:        1.4.1
Text Domain:    mm-cyber-noir
*/

/* ============================================
1. DESIGN TOKENS / CSS VARIABLES (CONSOLIDATED)
============================================ */
:root {
  /* Backgrounds */
  --mm-bg-primary: #0a0a0a;
  --mm-bg-secondary: #111111;
  --mm-bg-tertiary: #1a1a2e;
  --mm-bg-card: #141414;
  --mm-bg-elevated: #1c1c1f;

  /* Accents */
  --mm-cyan: #00f0ff;
  --mm-cyan-dim: rgba(0, 240, 255, 0.6);
  --mm-cyan-faint: rgba(0, 240, 255, 0.12);
  --mm-cyan-ghost: rgba(0, 240, 255, 0.05);
  --mm-magenta: #ff006e;
  --mm-magenta-dim: rgba(255, 0, 110, 0.6);
  --mm-magenta-faint: rgba(255, 0, 110, 0.12);
  --mm-electric: #3a86ff;
  --mm-electric-dim: rgba(58, 134, 255, 0.6);

  /* ── Aliases for Session B components ── */
  --mm-text: var(--mm-text-primary);
  --mm-bg: var(--mm-bg-primary);
  --mm-bg-2: var(--mm-bg-secondary);
  --mm-border: var(--mm-border-soft);
  --mm-surface: var(--mm-bg-card);
  --mm-surface-2: var(--mm-bg-elevated);

  /* Text */
  --mm-text-primary: #f0f0f0;
  --mm-text-secondary: #a0a0a8;
  --mm-text-muted: #666670;
  --mm-text-dim: #444448;

  /* Borders */
  --mm-border-faint: rgba(255, 255, 255, 0.06);
  --mm-border-soft: rgba(255, 255, 255, 0.1);
  --mm-border-strong: rgba(255, 255, 255, 0.18);
  --mm-border-cyan: rgba(0, 240, 255, 0.2);
  --mm-border-cyan-strong: rgba(0, 240, 255, 0.4);

  /* Typography */
  --mm-font-display: "Space Grotesk", system-ui, sans-serif;
  --mm-font-body: "Outfit", system-ui, sans-serif;
  --mm-font-mono: "JetBrains Mono", "Fira Code", monospace;

  /* Spacing scale */
  --mm-space-1: 4px;
  --mm-space-2: 8px;
  --mm-space-3: 12px;
  --mm-space-4: 16px;
  --mm-space-5: 24px;
  --mm-space-6: 32px;
  --mm-space-7: 48px;
  --mm-space-8: 64px;
  --mm-space-9: 96px;

  /* Radius — Cyber-Noir prefers sharp edges */
  --mm-radius-sm: 2px;
  --mm-radius-md: 4px;
  --mm-radius-lg: 8px;

  /* Transitions */
  --mm-transition-fast: 150ms ease;
  --mm-transition-base: 250ms ease;
  --mm-transition-slow: 400ms ease;

  /* Score Colors */
  --mm-score-high: #00f0ff;
  --mm-score-mid: #ffd700;
  --mm-score-low: #ff006e;

  /* Sidebar Surfaces */
  --mm-sidebar-bg: rgba(20, 20, 20, 0.6);

  /* Wire Ticker */
  --mm-ticker-bg: #060606;
  --mm-ticker-height: 28px;
  --mm-ticker-height-mobile: 22px;

  /* Terminal Hero */
  --mm-terminal-bg: #0d0d0f;
  --mm-terminal-border: rgba(0, 240, 255, 0.15);
  --mm-terminal-prompt: #00f0ff;
  --mm-terminal-text: #d0d0d0;
  --mm-terminal-cursor: #00f0ff;

  /* Radar */
  --mm-radar-stroke: rgba(0, 240, 255, 0.6);
  --mm-radar-fill: rgba(0, 240, 255, 0.12);
  --mm-radar-grid: rgba(255, 255, 255, 0.06);

  /* Type Scale Additions */
  --mm-type-display-xl: clamp(44px, 6vw, 72px);
  --mm-type-display-lg: clamp(32px, 4.5vw, 52px);
  --mm-type-mono-data: clamp(36px, 5vw, 56px);
}

/* ============================================
2. RESET AND BASE STYLES
============================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

/* THE FIX: Apply grid directly to body */
body {
  background: var(--mm-bg-primary);
  color: var(--mm-text-primary);
  font-family: var(--mm-font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  overflow-x: hidden;
}

::selection {
  background: var(--mm-cyan);
  color: var(--mm-bg-primary);
}
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: var(--mm-bg-primary);
}
::-webkit-scrollbar-thumb {
  background: var(--mm-cyan-faint);
  border: 2px solid var(--mm-bg-primary);
}
::-webkit-scrollbar-thumb:hover {
  background: var(--mm-cyan-dim);
}

/* ============================================
3. TYPOGRAPHY
============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--mm-font-display);
  font-weight: 600;
  line-height: 1.2;
  color: var(--mm-text-primary);
  margin-top: 0;
  letter-spacing: -0.01em;
}
h1 {
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: var(--mm-space-5);
}
h2 {
  font-size: clamp(24px, 3.5vw, 36px);
  margin-bottom: var(--mm-space-4);
  margin-top: var(--mm-space-7);
}
h3 {
  font-size: clamp(20px, 2.5vw, 24px);
  margin-bottom: var(--mm-space-3);
  margin-top: var(--mm-space-6);
}
h4 {
  font-size: 18px;
  margin-bottom: var(--mm-space-3);
  margin-top: var(--mm-space-5);
}
p {
  margin-top: 0;
  margin-bottom: var(--mm-space-4);
  color: var(--mm-text-primary);
  line-height: 1.7;
}
a {
  color: var(--mm-cyan);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition:
    border-color var(--mm-transition-fast),
    opacity var(--mm-transition-fast);
}
a:hover {
  border-bottom-color: var(--mm-cyan);
  opacity: 0.85;
}
strong,
b {
  font-weight: 600;
  color: var(--mm-text-primary);
}
em,
i {
  font-style: italic;
  color: var(--mm-text-secondary);
}
code {
  font-family: var(--mm-font-mono);
  font-size: 0.9em;
  background: var(--mm-bg-secondary);
  color: var(--mm-cyan);
  padding: 2px 6px;
  border: 1px solid var(--mm-border-faint);
}
pre {
  font-family: var(--mm-font-mono);
  background: var(--mm-bg-secondary);
  border: 1px solid var(--mm-border-faint);
  padding: var(--mm-space-5);
  overflow-x: auto;
  font-size: 13px;
  line-height: 1.6;
  margin: var(--mm-space-5) 0;
}
pre code {
  background: none;
  border: none;
  padding: 0;
  color: var(--mm-text-primary);
}
blockquote {
  border-left: 2px solid var(--mm-cyan);
  margin: var(--mm-space-5) 0;
  padding: var(--mm-space-3) var(--mm-space-5);
  background: var(--mm-cyan-ghost);
  font-style: italic;
  color: var(--mm-text-secondary);
}
ul,
ol {
  margin-top: 0;
  margin-bottom: var(--mm-space-4);
  padding-left: var(--mm-space-5);
  color: var(--mm-text-primary);
}
li {
  margin-bottom: var(--mm-space-2);
  line-height: 1.7;
}
ul li::marker {
  color: var(--mm-cyan);
}
hr {
  border: none;
  border-top: 1px solid var(--mm-border-soft);
  margin: var(--mm-space-7) 0;
}

/* ============================================
4. UTILITY CLASSES
============================================ */
.mm-mono {
  font-family: var(--mm-font-mono);
}
.mm-display {
  font-family: var(--mm-font-display);
}
.mm-cyan {
  color: var(--mm-cyan);
}
.mm-magenta {
  color: var(--mm-magenta);
}
.mm-electric {
  color: var(--mm-electric);
}
.mm-text-secondary {
  color: var(--mm-text-secondary);
}
.mm-text-muted {
  color: var(--mm-text-muted);
}
.mm-uppercase {
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 12px;
}
.mm-tag {
  display: inline-block;
  font-family: var(--mm-font-mono);
  font-size: 11px;
  color: var(--mm-cyan);
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 4px 10px;
  border: 1px solid var(--mm-cyan-faint);
  background: var(--mm-cyan-ghost);
}

/* ============================================
5. LAYOUT CONTAINERS
============================================ */
.mm-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--mm-space-5);
}
.mm-container-narrow {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 var(--mm-space-5);
}
.mm-section {
  padding: var(--mm-space-9) 0;
  position: relative;
}
.mm-section-tight {
  padding: var(--mm-space-7) 0;
}

/* ============================================
6. BUTTONS
============================================ */
.mm-btn {
  display: inline-block;
  font-family: var(--mm-font-mono);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 14px 32px;
  border: 1px solid var(--mm-cyan);
  background: transparent;
  color: var(--mm-cyan);
  cursor: pointer;
  transition: all var(--mm-transition-base);
  text-decoration: none;
  position: relative;
  overflow: hidden;
}
.mm-btn:hover {
  background: var(--mm-cyan);
  color: var(--mm-bg-primary);
  border-bottom-color: var(--mm-cyan);
  box-shadow: 0 0 30px rgba(0, 240, 255, 0.25);
}
.mm-btn-primary {
  background: var(--mm-cyan);
  color: var(--mm-bg-primary);
}
.mm-btn-primary:hover {
  background: #33f5ff;
  border-color: #33f5ff;
  transform: translateY(-1px);
}
.mm-btn-secondary {
  border: 1px solid var(--mm-border-strong);
  color: var(--mm-text-primary);
}
.mm-btn-secondary:hover {
  border-color: var(--mm-cyan);
  color: var(--mm-cyan);
  background: transparent;
}

/* ============================================
7. THE HYPE CHECK SCORE CARD COMPONENT
============================================ */
.mm-hype-card {
  background: var(--mm-bg-card);
  border: 1px solid var(--mm-border-cyan);
  padding: var(--mm-space-6);
  margin: var(--mm-space-6) 0;
  position: relative;
  font-family: var(--mm-font-body);
}
.mm-hype-card::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  height: 2px;
  background: linear-gradient(90deg, var(--mm-cyan), var(--mm-magenta));
}
.mm-hype-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--mm-space-5);
  gap: var(--mm-space-4);
  flex-wrap: wrap;
}
.mm-hype-card-meta {
  flex: 1;
  min-width: 200px;
}
.mm-hype-card-tool {
  font-family: var(--mm-font-display);
  font-size: 24px;
  font-weight: 600;
  color: var(--mm-text-primary);
  margin: 0 0 4px;
  letter-spacing: -0.01em;
}
.mm-hype-card-category {
  font-family: var(--mm-font-mono);
  font-size: 10px;
  color: var(--mm-text-muted);
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.mm-hype-card-score-block {
  text-align: right;
  display: flex;
  align-items: baseline;
  gap: 2px;
}
.mm-hype-card-score-big {
  font-family: var(--mm-font-mono);
  font-size: 48px;
  font-weight: 600;
  line-height: 1;
  color: var(--mm-cyan);
}
.mm-hype-card-score-of {
  font-family: var(--mm-font-mono);
  font-size: 16px;
  color: var(--mm-text-muted);
}
.mm-hype-card-score-big.mid {
  color: #ffd700;
}
.mm-hype-card-score-big.low {
  color: var(--mm-magenta);
}
.mm-hype-bars {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: var(--mm-space-5);
}
.mm-hype-bar {
  display: flex;
  align-items: center;
  gap: 12px;
}
.mm-hype-bar-label {
  font-family: var(--mm-font-mono);
  font-size: 11px;
  color: var(--mm-text-secondary);
  min-width: 130px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.mm-hype-bar-track {
  flex: 1;
  height: 4px;
  background: var(--mm-border-faint);
  position: relative;
  overflow: hidden;
}
.mm-hype-bar-fill {
  height: 100%;
  background: var(--mm-cyan);
  transition: width 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 0 10px var(--mm-cyan-faint);
}
.mm-hype-bar-fill.cyan {
  background: var(--mm-cyan);
}
.mm-hype-bar-fill.magenta {
  background: var(--mm-magenta);
}
.mm-hype-bar-fill.electric {
  background: var(--mm-electric);
}
.mm-hype-bar-value {
  font-family: var(--mm-font-mono);
  font-size: 12px;
  color: var(--mm-text-primary);
  min-width: 32px;
  text-align: right;
  font-weight: 500;
}
.mm-hype-verdict {
  border-top: 1px solid var(--mm-border-faint);
  padding-top: var(--mm-space-4);
  margin-top: var(--mm-space-4);
}
.mm-hype-verdict-label {
  font-family: var(--mm-font-mono);
  font-size: 10px;
  color: var(--mm-text-muted);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.mm-hype-verdict-text {
  font-size: 15px;
  color: var(--mm-text-primary);
  line-height: 1.5;
  margin: 0;
}
.mm-hype-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: var(--mm-space-5);
  padding-top: var(--mm-space-4);
  border-top: 1px solid var(--mm-border-faint);
  font-family: var(--mm-font-mono);
  font-size: 10px;
  color: var(--mm-text-muted);
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* ============================================
8. INTELLIGENCE REPORT LAYOUT
============================================ */
.mm-report-hero {
  padding: var(--mm-space-8) 0 var(--mm-space-6);
  border-bottom: 1px solid var(--mm-border-faint);
  margin-bottom: var(--mm-space-7);
}
.mm-report-meta {
  display: flex;
  gap: var(--mm-space-5);
  font-family: var(--mm-font-mono);
  font-size: 11px;
  color: var(--mm-text-muted);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: var(--mm-space-4);
  flex-wrap: wrap;
}
.mm-report-meta span {
  display: flex;
  align-items: center;
  gap: 6px;
}
.mm-report-meta span::before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--mm-cyan);
  display: inline-block;
  flex-shrink: 0;
}
.mm-report-content {
  max-width: 760px;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.75;
}
.mm-report-content h2 {
  color: var(--mm-text-primary);
  margin-top: var(--mm-space-8);
  margin-bottom: var(--mm-space-4);
  padding-bottom: var(--mm-space-3);
  border-bottom: 1px solid var(--mm-border-faint);
  position: relative;
}
.mm-report-content h2::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 1px;
  background: var(--mm-cyan);
}
.mm-report-content h3 {
  color: var(--mm-text-primary);
  margin-top: var(--mm-space-6);
}

/* ============================================
9. AFFILIATE DISCLOSURE
============================================ */
.mm-disclosure {
  background: var(--mm-bg-secondary);
  border-left: 3px solid var(--mm-magenta);
  padding: var(--mm-space-4) var(--mm-space-5);
  margin: var(--mm-space-5) 0;
  font-size: 13px;
  color: var(--mm-text-secondary);
  font-family: var(--mm-font-mono);
  line-height: 1.6;
}

/* ============================================
10. BILLING WARNINGS
============================================ */
.mm-billing-warning {
  background: rgba(255, 0, 110, 0.05);
  border: 1px solid var(--mm-magenta-faint);
  padding: var(--mm-space-5) var(--mm-space-6);
  margin: var(--mm-space-6) 0;
  position: relative;
}
.mm-billing-warning::before {
  content: "BILLING WARNING";
  display: block;
  font-family: var(--mm-font-mono);
  font-size: 11px;
  color: var(--mm-magenta);
  letter-spacing: 2px;
  margin-bottom: var(--mm-space-3);
  font-weight: 600;
}

/* ============================================
11. CARDS AND GRIDS
============================================ */
.mm-card {
  background: var(--mm-bg-secondary);
  border: 1px solid var(--mm-border-faint);
  padding: var(--mm-space-5);
  transition: all var(--mm-transition-base);
}
.mm-card:hover {
  border-color: var(--mm-border-cyan);
  transform: translateY(-2px);
}
.mm-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--mm-space-5);
}
.mm-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--mm-space-6);
}
@media (max-width: 900px) {
  .mm-grid-3,
  .mm-grid-2 {
    grid-template-columns: 1fr;
  }
}

/* ============================================
12. FORMS AND INPUTS
============================================ */
input[type="text"],
input[type="email"],
input[type="search"],
textarea {
  background: var(--mm-bg-secondary);
  border: 1px solid var(--mm-border-soft);
  color: var(--mm-text-primary);
  font-family: var(--mm-font-body);
  font-size: 15px;
  padding: 14px 18px;
  width: 100%;
  outline: none;
  transition: border-color var(--mm-transition-fast);
}
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
  border-color: var(--mm-cyan);
}
input::placeholder,
textarea::placeholder {
  color: var(--mm-text-muted);
}

/* ============================================
13. SCANLINE OVERLAY (Optional atmosphere)
============================================ */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0, 0, 0, 0.02) 2px,
    rgba(0, 0, 0, 0.02) 4px
  );
  opacity: 0.4;
}

/* ============================================
14. RESPONSIVE — 768px BREAKPOINT
============================================ */
@media (max-width: 768px) {
  .mm-section {
    padding: var(--mm-space-7) 0;
  }
  .mm-hype-card {
    padding: var(--mm-space-5);
  }
  .mm-hype-card-tool {
    font-size: 20px;
  }
  .mm-hype-card-score-big {
    font-size: 36px;
  }
  .mm-hype-bar-label {
    min-width: 100px;
    font-size: 10px;
  }
  .mm-report-content {
    font-size: 16px;
  }
  .mm-grid-3,
  .mm-grid-2 {
    gap: var(--mm-space-4);
  }
  .mm-container,
  .mm-container-narrow {
    padding: 0 var(--mm-space-4);
  }
}

/* ============================================
15. RESPONSIVE — 480px BREAKPOINT
============================================ */
@media (max-width: 480px) {
  h1 {
    font-size: 28px;
  }
  h2 {
    font-size: 22px;
    margin-top: var(--mm-space-6);
  }
  h3 {
    font-size: 18px;
  }
  .mm-section {
    padding: var(--mm-space-6) 0;
  }
  .mm-hype-card {
    padding: var(--mm-space-4);
  }
  .mm-hype-card-header {
    flex-direction: column;
  }
  .mm-hype-card-score-block {
    text-align: left;
  }
  .mm-hype-card-score-big {
    font-size: 30px;
  }
  .mm-hype-card-tool {
    font-size: 18px;
  }
  .mm-hype-bar-label {
    min-width: 80px;
    font-size: 9px;
  }
  .mm-hype-bar-value {
    font-size: 11px;
  }
  .mm-btn {
    padding: 12px 20px;
    font-size: 12px;
  }
  .mm-container,
  .mm-container-narrow {
    padding: 0 var(--mm-space-3);
  }
  .mm-report-content {
    font-size: 15px;
  }
  .mm-billing-warning {
    padding: var(--mm-space-4);
  }
  .mm-grid-3,
  .mm-grid-2 {
    gap: var(--mm-space-3);
  }
}

/* ============================================
16. ELEMENTOR INTEGRATION OVERRIDES
============================================ */
.elementor-section,
.elementor-element {
  color: var(--mm-text-primary);
}
.elementor-heading-title {
  font-family: var(--mm-font-display) !important;
}
.elementor-button {
  font-family: var(--mm-font-mono) !important;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.mm-report-content a {
  color: var(--mm-cyan) !important;
  border-bottom: 1px solid transparent;
}
.mm-report-content a:hover {
  border-bottom-color: var(--mm-cyan) !important;
}

/* ---- Report hero & grid extensions ---- */
.mm-report-hero {
  padding: 140px 0 56px;
  border-bottom: 1px solid var(--mm-border-faint);
  position: relative;
}
.mm-report-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--mm-cyan), transparent);
  opacity: 0.3;
}
.mm-report-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}
.mm-report-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mm-font-mono);
  font-size: 11px;
  color: var(--mm-text-muted);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.mm-report-breadcrumb a {
  color: var(--mm-text-muted);
  border: none;
  transition: color 0.15s;
}
.mm-report-breadcrumb a:hover {
  color: var(--mm-cyan);
  opacity: 1;
}
.mm-report-breadcrumb .current {
  color: var(--mm-cyan);
}
.mm-report-breadcrumb span {
  color: var(--mm-text-dim);
}
.mm-report-tag {
  display: inline-block;
  font-family: var(--mm-font-mono);
  font-size: 10px;
  color: var(--mm-cyan);
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 6px 14px;
  border: 1px solid var(--mm-border-cyan);
  background: var(--mm-cyan-ghost);
  margin-bottom: 20px;
}
.mm-report-title {
  font-family: var(--mm-font-display);
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -1px;
  margin: 0 0 24px;
  color: var(--mm-text-primary);
}
.mm-report-title span {
  display: block;
  font-size: 0.55em;
  font-weight: 400;
  color: var(--mm-text-muted);
  letter-spacing: 0;
  margin-top: 8px;
  font-family: var(--mm-font-display);
}
.mm-report-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  font-family: var(--mm-font-mono);
  font-size: 11px;
  color: var(--mm-text-secondary);
  letter-spacing: 0.5px;
}
.mm-report-meta-item .k {
  color: var(--mm-text-muted);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-right: 6px;
  font-size: 10px;
}
.mm-report-meta-sep {
  color: var(--mm-text-dim);
}

/* ---- Two-column grid ---- */
.mm-report-body {
  padding: 56px 0 120px;
}
.mm-report-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 64px;
  align-items: start;
}
.mm-report-main {
  min-width: 0;
}
.mm-report-main > .mm-hype-card {
  margin-bottom: 24px;
}
.mm-disclosure-inline {
  font-family: var(--mm-font-mono);
  font-size: 11px;
  line-height: 1.6;
  color: var(--mm-text-secondary);
  letter-spacing: 0.3px;
  padding: 14px 18px;
  border-left: 2px solid var(--mm-cyan);
  background: var(--mm-cyan-ghost);
  margin: 0 0 48px;
}
.mm-report-content {
  font-size: 17px;
  line-height: 1.75;
  color: var(--mm-text-secondary);
}
.mm-report-content > *:first-child {
  margin-top: 0;
}
.mm-report-content h2 {
  font-family: var(--mm-font-display);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 600;
  color: var(--mm-text-primary);
  letter-spacing: -0.3px;
  margin: 64px 0 20px;
  padding-bottom: 14px;
  position: relative;
  border-bottom: 1px solid var(--mm-border-faint);
  scroll-margin-top: 100px;
}
.mm-report-content h2::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 56px;
  height: 1px;
  background: var(--mm-cyan);
}
.mm-report-content h3 {
  font-family: var(--mm-font-display);
  font-size: clamp(19px, 2.2vw, 22px);
  font-weight: 600;
  color: var(--mm-text-primary);
  margin: 40px 0 14px;
  scroll-margin-top: 100px;
}
.mm-report-content p {
  margin: 0 0 22px;
}
.mm-report-content a {
  color: var(--mm-cyan);
  border-bottom: 1px solid var(--mm-cyan-faint);
}
.mm-report-content a:hover {
  border-bottom-color: var(--mm-cyan);
  opacity: 0.85;
}
.mm-report-content strong {
  color: var(--mm-text-primary);
  font-weight: 600;
}
.mm-report-content ul,
.mm-report-content ol {
  padding-left: 24px;
  margin: 0 0 22px;
}
.mm-report-content li {
  margin-bottom: 10px;
}
.mm-report-content ul li::marker {
  color: var(--mm-cyan);
}
.mm-report-content blockquote {
  border-left: 2px solid var(--mm-cyan);
  margin: 32px 0;
  padding: 16px 24px;
  background: var(--mm-cyan-ghost);
  font-style: italic;
  color: var(--mm-text-primary);
}
.mm-report-content hr {
  border: none;
  border-top: 1px solid var(--mm-border-faint);
  margin: 56px 0;
}

/* ---- Final verdict block ---- */
.mm-final-verdict {
  margin-top: 72px;
  padding: 40px;
  position: relative;
  background: var(--mm-bg-secondary);
  border: 1px solid var(--mm-border-cyan);
}
.mm-final-verdict::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  height: 2px;
  background: linear-gradient(90deg, var(--mm-cyan), var(--mm-magenta));
}
.mm-final-verdict-label {
  font-family: var(--mm-font-mono);
  font-size: 10px;
  color: var(--mm-cyan);
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.mm-final-verdict-score {
  font-family: var(--mm-font-mono);
  font-size: 72px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 16px;
}
.mm-final-verdict-score.high {
  color: var(--mm-score-high);
}
.mm-final-verdict-score.mid {
  color: var(--mm-score-mid);
}
.mm-final-verdict-score.low {
  color: var(--mm-score-low);
}
.mm-final-verdict-score span {
  font-size: 20px;
  color: var(--mm-text-muted);
  margin-left: 6px;
}
.mm-final-verdict-text {
  font-size: 17px;
  line-height: 1.7;
  color: var(--mm-text-primary);
  margin: 0 0 28px;
  max-width: 620px;
}
.mm-final-verdict-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mm-font-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  background: var(--mm-cyan);
  color: var(--mm-bg-primary);
  padding: 14px 28px;
  border: none;
  transition: all 0.25s;
}
.mm-final-verdict-cta:hover {
  background: #1af7ff;
  box-shadow: 0 0 28px rgba(0, 240, 255, 0.4);
  opacity: 1;
  transform: translateY(-1px);
}

/* ---- STICKY SIDEBAR ---- */
.mm-report-sidebar {
  position: relative;
}
.mm-report-sidebar-inner {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.mm-sb-block {
  background: var(--mm-sidebar-bg);
  border: 1px solid var(--mm-border-faint);
  padding: 20px;
}
.mm-sb-label {
  font-family: var(--mm-font-mono);
  font-size: 9px;
  color: var(--mm-cyan);
  letter-spacing: 2.5px;
  text-transform: uppercase;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--mm-cyan-faint);
}
.mm-mini-radar {
  width: 100%;
  height: auto;
  display: block;
}
.mm-radar-grid-ring {
  fill: none;
  stroke: rgba(255, 255, 255, 0.06);
  stroke-width: 0.5;
}
.mm-radar-axis {
  stroke: rgba(255, 255, 255, 0.06);
  stroke-width: 0.5;
}
.mm-radar-shape {
  fill: rgba(0, 240, 255, 0.12);
  stroke: var(--mm-cyan);
  stroke-width: 1.2;
  filter: drop-shadow(0 0 8px rgba(0, 240, 255, 0.3));
}
.mm-radar-label {
  font-family: var(--mm-font-mono);
  font-size: 7.5px;
  fill: var(--mm-text-muted);
  letter-spacing: 1px;
}
.mm-radar-center {
  font-family: var(--mm-font-mono);
  font-size: 28px;
  font-weight: 600;
}
.mm-radar-center.high {
  fill: var(--mm-score-high);
}
.mm-radar-center.mid {
  fill: var(--mm-score-mid);
}
.mm-radar-center.low {
  fill: var(--mm-score-low);
}
.mm-sb-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  background: var(--mm-cyan);
  color: var(--mm-bg-primary) !important;
  font-family: var(--mm-font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  border: none;
  transition: all 0.25s;
  text-align: left;
}
.mm-sb-cta:hover {
  background: #1af7ff;
  opacity: 1;
  box-shadow: 0 0 24px rgba(0, 240, 255, 0.35);
}
.mm-sb-cta span {
  font-size: 14px;
}
.mm-sb-disclosure {
  font-family: var(--mm-font-mono);
  font-size: 9px;
  color: var(--mm-text-dim);
  letter-spacing: 0.5px;
  margin-top: 10px;
  text-align: center;
}

/* ── Automated report CTA: note + secondary link (see mm-report-cta.php) ── */
.mm-cta-note {
  font-family: var(--mm-font-mono);
  font-size: 11px;
  line-height: 1.6;
  color: var(--mm-text-muted);
  letter-spacing: 0.3px;
  margin: 14px auto 0;
  max-width: 46ch;
  text-align: center;
}
.mm-cta-secondary {
  margin: 10px 0 0;
  text-align: center;
}
.mm-cta-secondary a {
  font-family: var(--mm-font-mono);
  font-size: 11px;
  letter-spacing: 0.5px;
  color: var(--mm-text-dim);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.mm-cta-secondary a:hover {
  color: var(--mm-cyan);
}
/* Redirected CTAs point at a different tool, so flag them with the alert accent */
.mm-final-verdict-cta.mm-cta-redirected {
  border-color: var(--mm-magenta, #ff006e);
}
.mm-sb-toc ol {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: toc;
}
.mm-sb-toc li {
  counter-increment: toc;
  margin: 0;
  border-left: 1px solid var(--mm-border-faint);
  padding-left: 14px;
  position: relative;
  transition: border-color 0.2s;
}
.mm-sb-toc li::before {
  content: counter(toc, decimal-leading-zero);
  position: absolute;
  left: -1px;
  top: 10px;
  font-family: var(--mm-font-mono);
  font-size: 9px;
  color: var(--mm-text-dim);
  background: var(--mm-bg-primary);
  padding: 0 4px 0 2px;
}
.mm-sb-toc a {
  display: block;
  padding: 8px 0 8px 14px;
  font-size: 12px;
  color: var(--mm-text-muted);
  border: none;
  line-height: 1.5;
  transition: color 0.2s;
}
.mm-sb-toc a:hover,
.mm-sb-toc a.active {
  color: var(--mm-cyan);
  opacity: 1;
}
.mm-sb-toc li:has(a.active) {
  border-left-color: var(--mm-cyan);
}
.mm-sb-related {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--mm-border-faint);
  font-size: 13px;
  color: var(--mm-text-secondary);
  border-left: none;
  border-right: none;
  border-top: none;
  transition:
    color 0.2s,
    padding-left 0.2s;
}
.mm-sb-related:last-child {
  border-bottom: none;
}
.mm-sb-related:hover {
  color: var(--mm-cyan);
  opacity: 1;
  padding-left: 4px;
}
.mm-sb-related-title {
  font-weight: 500;
}
.mm-sb-related-score {
  font-family: var(--mm-font-mono);
  font-size: 12px;
  font-weight: 600;
}
.mm-sb-related-score.high {
  color: var(--mm-score-high);
}
.mm-sb-related-score.mid {
  color: var(--mm-score-mid);
}
.mm-sb-related-score.low {
  color: var(--mm-score-low);
}

/* ---- Responsive ---- */
@media (max-width: 1000px) {
  .mm-report-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .mm-report-sidebar-inner {
    position: static;
  }
  .mm-sb-toc {
    display: none;
  } /* ToC clutters mobile; h2s are still navigable */
}
@media (max-width: 780px) {
  .mm-report-hero {
    padding: 120px 0 40px;
  }
  .mm-report-hero-inner,
  .mm-report-grid {
    padding: 0 24px;
  }
  .mm-report-meta {
    gap: 10px;
  }
  .mm-report-meta-sep {
    display: none;
  }
  .mm-final-verdict {
    padding: 28px 24px;
  }
  .mm-final-verdict-score {
    font-size: 56px;
  }
}
@media (max-width: 480px) {
  .mm-report-hero-inner,
  .mm-report-grid {
    padding: 0 16px;
  }
  .mm-report-title {
    font-size: 30px;
  }
}

/* ============================================
   SECTION 15 — WIRE TICKER (global)
   ============================================ */
.mm-wire-ticker {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 310;
  height: var(--mm-ticker-height);
  background: var(--mm-ticker-bg);
  border-bottom: 1px solid rgba(0, 240, 255, 0.1);
  display: flex;
  align-items: stretch;
  font-family: var(--mm-font-mono);
  overflow: hidden;
}
.mm-wire-ticker-label {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  background: rgba(0, 240, 255, 0.08);
  border-right: 1px solid rgba(0, 240, 255, 0.18);
  font-size: 10px;
  letter-spacing: 2px;
  color: var(--mm-cyan);
  text-transform: uppercase;
  font-weight: 600;
}
.mm-wire-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mm-cyan);
  box-shadow: 0 0 8px var(--mm-cyan);
  animation: mm-wire-pulse 1.6s ease-in-out infinite;
}
@keyframes mm-wire-pulse {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.35;
    transform: scale(0.7);
  }
}
.mm-wire-ticker-viewport {
  flex: 1;
  overflow: hidden;
  position: relative;
}

/* FADE ON LEFT SIDE (items disappearing) */
.mm-wire-ticker-viewport::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 48px;
  background: linear-gradient(90deg, #0a0a0a 0%, transparent 100%);
  z-index: 2;
  pointer-events: none;
}

/* FADE ON RIGHT SIDE (items appearing) */
.mm-wire-ticker-viewport::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 48px;
  background: linear-gradient(270deg, #0a0a0a 0%, transparent 100%);
  z-index: 2;
  pointer-events: none;
}
.mm-wire-ticker-track {
  display: flex;
  align-items: center;
  height: 100%;
  white-space: nowrap;
  width: max-content;
  animation: mm-wire-scroll 60s linear infinite;
  will-change: transform;
  /* START ITEMS OFF-SCREEN RIGHT */
  transform: translateX(100%);
}

.mm-wire-ticker-track:hover {
  animation-play-state: paused;
}
@keyframes mm-wire-scroll {
  from {
    /* Items enter from RIGHT side */
    transform: translateX(100%);
  }
  to {
    /* Items exit LEFT side (duplicated items loop seamlessly) */
    transform: translateX(-50%);
  }
}
.mm-wire-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  height: 100%;
  border: none;
  font-size: 11px;
  color: var(--mm-text-secondary);
  text-decoration: none;
  transition:
    color 0.15s,
    background 0.15s;
}
.mm-wire-item:hover {
  color: var(--mm-cyan);
  background: rgba(0, 240, 255, 0.04);
  opacity: 1;
}
.mm-wire-time {
  color: var(--mm-text-muted);
}
.mm-wire-sep {
  color: var(--mm-text-dim);
}
.mm-wire-type {
  font-weight: 600;
  letter-spacing: 1.2px;
  font-size: 10px;
}
.mm-wire-type.sig {
  color: var(--mm-cyan);
}
.mm-wire-type.hype {
  color: var(--mm-electric);
}
.mm-wire-type.warn {
  color: var(--mm-magenta);
}
.mm-wire-type.brk {
  color: #ffd700;
}
.mm-wire-type.res {
  color: #f59e0b;
}
.mm-wire-type.fund {
  color: #22c55e;
}
.mm-wire-type.ind {
  color: #a855f7;
}
.mm-wire-title {
  color: var(--mm-text-primary);
}
.mm-wire-score {
  font-size: 10px;
  color: var(--mm-cyan);
  padding: 2px 6px;
  border: 1px solid var(--mm-border-cyan);
  background: var(--mm-cyan-ghost);
}
.mm-wire-bullet {
  color: var(--mm-cyan-dim);
  font-size: 8px;
  padding: 0 4px;
}

/* Push nav and body below the ticker */
.mm-has-ticker #mm-nav {
  top: var(--mm-ticker-height);
}
.mm-has-ticker {
  padding-top: 0;
}
body.admin-bar.mm-has-ticker #mm-nav {
  top: calc(var(--mm-ticker-height) + 32px);
}
@media (max-width: 782px) {
  body.admin-bar.mm-has-ticker #mm-nav {
    top: calc(var(--mm-ticker-height-mobile) + 46px);
  }
}
@media (max-width: 900px) {
  .mm-wire-ticker {
    height: var(--mm-ticker-height-mobile);
  }
  .mm-wire-ticker-label {
    padding: 0 10px;
    font-size: 9px;
    letter-spacing: 1.5px;
  }
  .mm-wire-item {
    font-size: 10px;
    padding: 0 14px;
    gap: 8px;
  }
  .mm-has-ticker #mm-nav {
    top: var(--mm-ticker-height-mobile);
  }
}

/* ============================================
   SECTION 16 — TERMINAL HERO
   ============================================ */
.mm-terminal-hero {
  position: relative;
  padding: 140px 0 100px;
  border-bottom: 1px solid var(--mm-border-faint);
  overflow: hidden;
}
.mm-terminal-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(0, 240, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 240, 255, 0.025) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(
    ellipse 70% 70% at 50% 40%,
    black 40%,
    transparent 90%
  );
  -webkit-mask-image: radial-gradient(
    ellipse 70% 70% at 50% 40%,
    black 40%,
    transparent 90%
  );
}
.mm-terminal-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: start;
}

/* Terminal window */
.mm-terminal {
  background: var(--mm-terminal-bg);
  border: 1px solid var(--mm-terminal-border);
  outline: 1px solid rgba(255, 255, 255, 0.03);
  font-family: var(--mm-font-mono);
  position: relative;
}
.mm-terminal-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-bottom: 1px solid var(--mm-terminal-border);
  background: rgba(0, 0, 0, 0.4);
}
.mm-terminal-dots {
  display: flex;
  gap: 6px;
}
.mm-terminal-dots span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
}
.mm-terminal-dots span:nth-child(1) {
  background: rgba(255, 0, 110, 0.55);
}
.mm-terminal-dots span:nth-child(2) {
  background: rgba(255, 215, 0, 0.55);
}
.mm-terminal-dots span:nth-child(3) {
  background: rgba(0, 240, 255, 0.55);
}
.mm-terminal-path {
  font-size: 10px;
  letter-spacing: 1.5px;
  color: var(--mm-text-muted);
  text-transform: uppercase;
}
.mm-terminal-body {
  padding: 24px 22px 26px;
  font-size: 13.5px;
  line-height: 1.85;
  color: var(--mm-terminal-text);
  min-height: 168px;
}
.mm-terminal-line {
  display: block;
  opacity: 0;
}
.mm-terminal-line.show {
  opacity: 1;
}
.mm-terminal-prompt {
  color: var(--mm-terminal-prompt);
  margin-right: 8px;
}
.mm-terminal-arrow {
  color: var(--mm-cyan);
  margin-right: 8px;
}
.mm-terminal-cursor {
  display: inline-block;
  width: 8px;
  height: 14px;
  background: var(--mm-terminal-cursor);
  vertical-align: -2px;
  animation: mm-cursor-blink 1s steps(2) infinite;
}
@keyframes mm-cursor-blink {
  50% {
    opacity: 0;
  }
}

/* Hero copy below the terminal */
.mm-hero-copy {
  margin-top: 56px;
  grid-column: 1 / 2;
}
.mm-hero-tag {
  display: inline-block;
  font-family: var(--mm-font-mono);
  font-size: 10px;
  color: var(--mm-cyan);
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 5px 12px;
  border: 1px solid var(--mm-border-cyan);
  background: var(--mm-cyan-ghost);
  margin-bottom: 24px;
}
.mm-hero-h1 {
  font-family: var(--mm-font-display);
  font-size: var(--mm-type-display-xl);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -1.2px;
  color: var(--mm-text-primary);
  margin: 0 0 22px;
}
.mm-hero-h1 .mm-hero-h1-line2 {
  display: block;
  color: var(--mm-cyan);
  border-bottom: 1px solid var(--mm-border-cyan);
  padding-bottom: 6px;
  width: max-content;
  max-width: 100%;
}
.mm-hero-sub {
  font-size: 17px;
  color: var(--mm-text-secondary);
  line-height: 1.7;
  max-width: 560px;
  margin: 0 0 32px;
}
.mm-hero-ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.mm-hero-cta {
  font-family: var(--mm-font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 14px 28px;
  border: 1px solid transparent;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.mm-hero-cta.primary {
  background: var(--mm-cyan);
  color: var(--mm-bg-primary);
  border-color: var(--mm-cyan);
}
.mm-hero-cta.primary:hover {
  background: #1af7ff;
  box-shadow: 0 0 28px rgba(0, 240, 255, 0.4);
  opacity: 1;
}
.mm-hero-cta.ghost {
  background: transparent;
  color: var(--mm-text-primary);
  border-color: var(--mm-border-strong);
}
.mm-hero-cta.ghost:hover {
  border-color: var(--mm-cyan);
  color: var(--mm-cyan);
  opacity: 1;
}

/* Counter grid */
.mm-counter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid var(--mm-terminal-border);
  background: rgba(13, 13, 15, 0.6);
  align-self: start;
}
.mm-counter-cell {
  padding: 28px 22px;
  border-right: 1px solid var(--mm-terminal-border);
  border-bottom: 1px solid var(--mm-terminal-border);
  text-align: left;
}
.mm-counter-cell:nth-child(2n) {
  border-right: none;
}
.mm-counter-cell:nth-child(n + 3) {
  border-bottom: none;
}
.mm-counter-value {
  display: block;
  font-family: var(--mm-font-mono);
  font-size: var(--mm-type-mono-data);
  line-height: 1;
  color: var(--mm-cyan);
  font-weight: 500;
  margin-bottom: 10px;
  letter-spacing: -1px;
}
.mm-counter-label {
  font-family: var(--mm-font-mono);
  font-size: 9.5px;
  color: var(--mm-text-muted);
  text-transform: uppercase;
  letter-spacing: 2px;
}

/* Mobile */
@media (max-width: 900px) {
  .mm-terminal-hero {
    padding: 110px 0 70px;
  }
  .mm-terminal-hero-inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 0 24px;
  }
  .mm-hero-copy {
    margin-top: 32px;
  }
  .mm-terminal-body {
    font-size: 12px;
    min-height: 150px;
    padding: 20px 18px;
  }
  .mm-counter-cell {
    padding: 22px 18px;
  }
}
@media (max-width: 480px) {
  .mm-terminal-hero {
    padding: 96px 0 56px;
  }
  .mm-terminal-hero-inner {
    padding: 0 16px;
  }
  .mm-hero-h1 {
    letter-spacing: -0.6px;
  }
}

/* ============================================
   SECTION 17 — SCROLL TO TOP
   ============================================ */
.mm-scroll-top {
  position: fixed;
  right: 28px;
  bottom: 28px;
  z-index: 200;
  width: 46px;
  height: 46px;
  background: rgba(13, 13, 15, 0.85);
  color: var(--mm-cyan);
  border: 1px solid var(--mm-border-cyan);
  outline: 1px solid rgba(255, 255, 255, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--mm-font-mono);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  cursor: pointer;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition:
    opacity 0.25s,
    transform 0.25s,
    background 0.2s,
    box-shadow 0.2s,
    border-color 0.2s;
}
.mm-scroll-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.mm-scroll-top:hover {
  background: rgba(0, 240, 255, 0.08);
  border-color: var(--mm-cyan);
  box-shadow: 0 0 22px rgba(0, 240, 255, 0.28);
}
.mm-scroll-top svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
}
@media (max-width: 600px) {
  .mm-scroll-top {
    right: 18px;
    bottom: 18px;
    width: 42px;
    height: 42px;
  }
}

/* ============================================
   PRINT STYLES
   ============================================ */
@media print {
  #mm-nav,
  .mm-footer,
  .mm-report-sidebar,
  .mm-final-verdict-cta {
    display: none !important;
  }
  body {
    background: white;
    color: black;
  }
  .mm-report-grid {
    grid-template-columns: 1fr;
  }
  .mm-report-content,
  .mm-report-content * {
    color: black !important;
  }
  .mm-hype-card,
  .mm-final-verdict {
    border: 1px solid #000;
    page-break-inside: avoid;
  }
}

/* ============================================================
   18. SECTION SHELL (shared by Session B sections)
   ============================================================ */
.mm-section-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}
.mm-section-head {
  margin-bottom: 48px;
  max-width: 720px;
}
.mm-section-kicker {
  font-family: var(--mm-font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  color: var(--mm-cyan);
  margin-bottom: 14px;
  text-transform: uppercase;
}
.mm-section-h2 {
  font-family: var(--mm-font-display);
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.05;
  color: var(--mm-text);
  margin: 0 0 14px;
  letter-spacing: -0.01em;
}
.mm-section-sub {
  font-family: var(--mm-font-body);
  font-size: 16px;
  line-height: 1.55;
  color: var(--mm-text-dim);
  margin: 0;
  max-width: 620px;
}

/* ============================================================
   19. HYPE CHECK SHOWCASE
   ============================================================ */
.mm-hype-showcase {
  padding: 96px 0;
  background: var(--mm-bg);
  border-top: 1px solid var(--mm-border);
}
.mm-hype-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border: 1px solid var(--mm-border);
  background: var(--mm-surface);
  margin-bottom: 32px;
}
.mm-hype-tab {
  flex: 1 1 0;
  min-width: 140px;
  padding: 18px 20px;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--mm-border);
  font-family: var(--mm-font-mono);
  font-size: 12px;
  color: var(--mm-text-dim);
  text-align: left;
  cursor: pointer;
  transition:
    background 0.15s,
    color 0.15s;
  display: flex;
  flex-direction: column;
  gap: 6px;
  letter-spacing: 0.04em;
}
.mm-hype-tab:last-child {
  border-right: 0;
}
.mm-hype-tab:hover {
  background: var(--mm-surface-2);
  color: var(--mm-text);
}
.mm-hype-tab.is-active {
  background: var(--mm-surface-2);
  color: var(--mm-text);
  box-shadow: inset 0 -2px 0 var(--mm-cyan);
}
.mm-hype-tab-name {
  font-family: var(--mm-font-display);
  font-size: 15px;
  letter-spacing: 0;
}
.mm-hype-tab-score {
  font-family: var(--mm-font-mono);
  font-size: 18px;
  color: var(--mm-cyan);
  font-weight: 600;
}
.mm-hype-tab.is-active .mm-hype-tab-score {
  color: var(--mm-cyan);
}

.mm-hype-stage {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 48px;
  align-items: center;
  border: 1px solid var(--mm-border);
  background: var(--mm-surface);
  padding: 48px;
}
.mm-hype-radar-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}
.mm-hype-radar {
  width: 100%;
  max-width: 380px;
  height: auto;
}
.mm-radar-grid-ring {
  fill: none;
  stroke: var(--mm-border);
  stroke-width: 1;
}
.mm-radar-axis {
  stroke: var(--mm-border);
  stroke-width: 1;
}
.mm-radar-label {
  font-family: var(--mm-font-mono);
  font-size: 9px;
  fill: var(--mm-text-dim);
  letter-spacing: 0.1em;
}
.mm-radar-shape {
  fill: rgba(0, 240, 255, 0.12);
  stroke: var(--mm-cyan);
  stroke-width: 1.5;
  transition:
    points 0.5s ease,
    d 0.5s ease;
}

.mm-hype-rail {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.mm-hype-rail-head {
  border-bottom: 1px solid var(--mm-border);
  padding-bottom: 18px;
}
.mm-hype-rail-name {
  font-family: var(--mm-font-display);
  font-size: 28px;
  color: var(--mm-text);
  margin-bottom: 4px;
}
.mm-hype-rail-cat {
  font-family: var(--mm-font-mono);
  font-size: 11px;
  color: var(--mm-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 14px;
}
.mm-hype-rail-overall {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.mm-hype-rail-overall-num {
  font-family: var(--mm-font-mono);
  font-size: 48px;
  font-weight: 700;
  color: var(--mm-cyan);
  line-height: 1;
}
.mm-hype-rail-overall-num.mid {
  color: var(--mm-magenta);
}
.mm-hype-rail-overall-num.low {
  color: #ff4444;
}
.mm-hype-rail-overall-of {
  font-family: var(--mm-font-mono);
  font-size: 18px;
  color: var(--mm-text-dim);
}
.mm-hype-rail-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mm-hype-rail-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--mm-font-mono);
  font-size: 13px;
  padding: 8px 0;
  border-bottom: 1px dashed var(--mm-border);
}
.mm-hype-rail-list .k {
  color: var(--mm-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 11px;
}
.mm-hype-rail-list .v {
  color: var(--mm-text);
  font-size: 15px;
  font-weight: 600;
}
.mm-hype-rail-verdict {
  font-family: var(--mm-font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--mm-text-dim);
  margin: 0;
  padding: 14px 16px;
  border-left: 2px solid var(--mm-cyan);
  background: var(--mm-surface-2);
}
.mm-hype-rail-cta {
  font-family: var(--mm-font-mono);
  font-size: 12px;
  color: var(--mm-cyan);
  text-decoration: none;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 12px 0;
  border-top: 1px solid var(--mm-border);
  transition: color 0.15s;
}
.mm-hype-rail-cta:hover {
  color: #fff;
}

@media (max-width: 860px) {
  .mm-hype-stage {
    grid-template-columns: 1fr;
    padding: 28px;
    gap: 32px;
  }
  .mm-hype-tab {
    min-width: 50%;
    border-bottom: 1px solid var(--mm-border);
  }
}

/* ============================================================
   20. WIRE FEED
   ============================================================ */
.mm-wire-feed {
  padding: 96px 0;
  background: var(--mm-bg-2);
  border-top: 1px solid var(--mm-border);
}
.mm-feed {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--mm-border);
  background: var(--mm-surface);
  font-family: var(--mm-font-mono);
}
.mm-feed-row {
  border-bottom: 1px solid var(--mm-border);
}
.mm-feed-row:last-child {
  border-bottom: 0;
}
.mm-feed-link {
  display: grid;
  grid-template-columns: 90px 130px 1fr 70px;
  gap: 20px;
  align-items: center;
  padding: 18px 24px;
  text-decoration: none;
  color: var(--mm-text);
  transition: background 0.12s;
}
.mm-feed-link:hover {
  background: var(--mm-surface-2);
}
.mm-feed-time {
  font-size: 12px;
  color: var(--mm-text-dim);
  letter-spacing: 0.05em;
}
.mm-feed-type {
  font-size: 10px;
  letter-spacing: 0.12em;
  padding: 4px 8px;
  border: 1px solid currentColor;
  text-align: center;
  justify-self: start;
}
.mm-feed-type.sig {
  color: var(--mm-cyan);
}
.mm-feed-type.hype {
  color: var(--mm-cyan);
}
.mm-feed-type.warn {
  color: var(--mm-magenta);
}
.mm-feed-type.brk {
  color: #ffb84d;
}
.mm-feed-title {
  font-family: var(--mm-font-body);
  font-size: 15px;
  color: var(--mm-text);
  line-height: 1.4;
}
.mm-feed-score {
  font-size: 13px;
  color: var(--mm-cyan);
  text-align: right;
  font-weight: 600;
}
.mm-feed-score.empty {
  color: var(--mm-border);
}
.mm-feed-foot {
  margin-top: 24px;
  text-align: center;
}
.mm-feed-more {
  font-family: var(--mm-font-mono);
  font-size: 12px;
  color: var(--mm-cyan);
  text-decoration: none;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 12px 24px;
  border: 1px solid var(--mm-border);
  display: inline-block;
  transition:
    background 0.15s,
    color 0.15s;
}
.mm-feed-more:hover {
  background: var(--mm-cyan);
  color: var(--mm-bg);
}

@media (max-width: 760px) {
  .mm-feed-link {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 16px 18px;
  }
  .mm-feed-time {
    font-size: 11px;
  }
  .mm-feed-type {
    justify-self: start;
  }
  .mm-feed-score {
    text-align: left;
  }
}

/* ============================================================
   21. PIPELINE TIMELINE
   ============================================================ */
.mm-pipeline {
  padding: 96px 0;
  background: var(--mm-bg);
  border-top: 1px solid var(--mm-border);
}
.mm-pipeline-track {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  border: 1px solid var(--mm-border);
  background: var(--mm-surface);
}
.mm-pipeline-step {
  position: relative;
  border-right: 1px solid var(--mm-border);
  padding: 0;
}
.mm-pipeline-step:last-child {
  border-right: 0;
}
.mm-pipeline-head {
  width: 100%;
  background: transparent;
  border: 0;
  padding: 28px 22px 18px;
  text-align: left;
  cursor: default;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mm-pipeline-num {
  font-family: var(--mm-font-mono);
  font-size: 11px;
  color: var(--mm-cyan);
  letter-spacing: 0.15em;
}
.mm-pipeline-step.is-magenta .mm-pipeline-num {
  color: var(--mm-magenta);
}
.mm-pipeline-key {
  font-family: var(--mm-font-display);
  font-size: 18px;
  color: var(--mm-text);
  letter-spacing: -0.01em;
}
.mm-pipeline-sub {
  font-family: var(--mm-font-mono);
  font-size: 11px;
  color: var(--mm-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.mm-pipeline-body {
  padding: 0 22px 28px;
  font-family: var(--mm-font-body);
  font-size: 13px;
  line-height: 1.55;
  color: var(--mm-text-dim);
}
.mm-pipeline-step.is-magenta {
  box-shadow: inset 0 -2px 0 var(--mm-magenta);
}
.mm-pipeline-step:not(.is-magenta) {
  box-shadow: inset 0 -2px 0 var(--mm-cyan);
}

@media (max-width: 860px) {
  .mm-pipeline-track {
    grid-template-columns: 1fr;
  }
  .mm-pipeline-step {
    border-right: 0;
    border-bottom: 1px solid var(--mm-border);
  }
  .mm-pipeline-step:last-child {
    border-bottom: 0;
  }
  .mm-pipeline-head {
    cursor: pointer;
    padding: 20px 22px;
  }
  .mm-pipeline-body {
    max-height: 0;
    overflow: hidden;
    padding: 0 22px;
    transition:
      max-height 0.25s ease,
      padding 0.25s ease;
  }
  .mm-pipeline-head[aria-expanded="true"] + .mm-pipeline-body {
    max-height: 200px;
    padding: 0 22px 22px;
  }
}

/* ============================================================
   22. ABOUT MOE
   ============================================================ */
.mm-about {
  padding: 96px 0;
  background: var(--mm-bg-2);
  border-top: 1px solid var(--mm-border);
}
.mm-about-inner {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 64px;
  align-items: center;
}
.mm-about-photo-wrap {
  position: relative;
  aspect-ratio: 1/1;
  background: var(--mm-surface);
}
.mm-about-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(0.15) contrast(1.05);
}
.mm-bracket {
  position: absolute;
  width: 22px;
  height: 22px;
  border: 2px solid var(--mm-cyan);
}
.mm-bracket.tl {
  top: -2px;
  left: -2px;
  border-right: 0;
  border-bottom: 0;
}
.mm-bracket.tr {
  top: -2px;
  right: -2px;
  border-left: 0;
  border-bottom: 0;
}
.mm-bracket.bl {
  bottom: -2px;
  left: -2px;
  border-right: 0;
  border-top: 0;
}
.mm-bracket.br {
  bottom: -2px;
  right: -2px;
  border-left: 0;
  border-top: 0;
}
.mm-about-para {
  font-family: var(--mm-font-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--mm-text);
  margin: 18px 0 24px;
}
.mm-about-quote {
  font-family: var(--mm-font-display);
  font-size: 20px;
  line-height: 1.4;
  color: var(--mm-cyan);
  margin: 0 0 24px;
  padding: 18px 22px;
  border-left: 2px solid var(--mm-magenta);
  background: var(--mm-surface);
  font-style: normal;
}
.mm-about-quote-mark {
  font-family: var(--mm-font-display);
  font-size: 32px;
  color: var(--mm-magenta);
  margin-right: 6px;
  line-height: 0;
  vertical-align: -6px;
}
.mm-about-cta {
  font-family: var(--mm-font-mono);
  font-size: 12px;
  color: var(--mm-cyan);
  text-decoration: none;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 12px 20px;
  border: 1px solid var(--mm-border);
  display: inline-block;
  transition:
    background 0.15s,
    color 0.15s;
}
.mm-about-cta:hover {
  background: var(--mm-cyan);
  color: var(--mm-bg);
}

@media (max-width: 860px) {
  .mm-about-inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .mm-about-photo-wrap {
    max-width: 280px;
  }
}

/* ============================================================
   23. SUBSCRIBE MODULE
   ============================================================ */
.mm-subscribe {
  padding: 96px 0 120px;
  background: var(--mm-bg);
  border-top: 1px solid var(--mm-border);
}
.mm-subscribe-card {
  max-width: 760px;
  margin: 0 auto;
  border: 1px solid var(--mm-border);
  background: var(--mm-surface);
}
.mm-subscribe-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 18px;
  border-bottom: 1px solid var(--mm-border);
  background: var(--mm-surface-2);
}
.mm-subscribe-path {
  font-family: var(--mm-font-mono);
  font-size: 11px;
  color: var(--mm-text-dim);
  letter-spacing: 0.06em;
}
.mm-subscribe-body {
  padding: 48px;
}
.mm-subscribe-h2 {
  font-family: var(--mm-font-display);
  font-size: clamp(26px, 3.2vw, 36px);
  color: var(--mm-text);
  margin: 8px 0 12px;
  line-height: 1.1;
}
.mm-subscribe-sub {
  font-family: var(--mm-font-body);
  font-size: 15px;
  color: var(--mm-text-dim);
  margin: 0 0 28px;
}
.mm-subscribe-form {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--mm-border);
  background: var(--mm-bg);
  padding: 6px 6px 6px 16px;
  margin-bottom: 28px;
}
.mm-subscribe-prompt {
  font-family: var(--mm-font-mono);
  color: var(--mm-cyan);
  font-size: 14px;
  margin-right: 10px;
}
.mm-subscribe-input {
  flex: 1;
  background: transparent;
  border: 0;
  outline: 0;
  color: var(--mm-text);
  font-family: var(--mm-font-mono);
  font-size: 14px;
  padding: 14px 0;
}
.mm-subscribe-input::placeholder {
  color: var(--mm-text-dim);
  opacity: 0.7;
}
.mm-subscribe-btn {
  background: var(--mm-cyan);
  color: var(--mm-bg);
  border: 0;
  padding: 14px 22px;
  font-family: var(--mm-font-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  font-weight: 700;
  transition: background 0.15s;
}
.mm-subscribe-btn:hover {
  background: #fff;
}
.mm-subscribe-list {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mm-subscribe-list li {
  font-family: var(--mm-font-mono);
  font-size: 13px;
  color: var(--mm-text);
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.mm-sub-mark {
  color: var(--mm-cyan);
  font-weight: 700;
}
.mm-subscribe-foot {
  font-family: var(--mm-font-mono);
  font-size: 11px;
  color: var(--mm-text-dim);
  letter-spacing: 0.06em;
  padding-top: 18px;
  border-top: 1px dashed var(--mm-border);
}

@media (max-width: 660px) {
  .mm-subscribe-body {
    padding: 28px 22px;
  }
  .mm-subscribe-form {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 12px;
  }
  .mm-subscribe-prompt {
    display: none;
  }
  .mm-subscribe-btn {
    width: 100%;
  }
}

/* ===== PORTED VISUAL UPGRADES (Append to style.css) ===== */

/* 1. Canvas particle system container */
.mm-terminal-hero {
  position: relative;
  overflow: hidden;
}
#mm-hero-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  opacity: 0.6;
  pointer-events: none;
}
.mm-terminal-hero-inner {
  position: relative;
  z-index: 1;
}

/* 2. Hype Check bar fill animation (data-w attribute pattern) */
.mm-hype-bar-fill {
  height: 100%;
  width: 0;
  transition: width 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.mm-hype-bar-fill.c {
  background: var(--mm-cyan);
  box-shadow: 0 0 8px rgba(0, 240, 255, 0.4);
}
.mm-hype-bar-fill.m {
  background: var(--mm-magenta);
  box-shadow: 0 0 8px rgba(255, 0, 110, 0.4);
}
.mm-hype-bar-fill.e {
  background: var(--mm-electric);
  box-shadow: 0 0 8px rgba(58, 134, 255, 0.4);
}

/* 3. Subscribe card animated border-flow */
.mm-subscribe-card {
  position: relative;
}
.mm-subscribe-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  background: linear-gradient(
    90deg,
    var(--mm-cyan),
    var(--mm-magenta),
    var(--mm-cyan)
  );
  background-size: 200% 100%;
  animation: mm-border-flow 3s linear infinite;
  z-index: -1;
  border-radius: inherit;
}
@keyframes mm-border-flow {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 200% 50%;
  }
}

/* About photo scan line animation */
.mm-about-scan {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--mm-cyan), transparent);
  opacity: 0.6;
  animation: mm-scan-down 5s ease-in-out infinite;
  z-index: 2;
  pointer-events: none;
}
@keyframes mm-scan-down {
  0% {
    top: 0;
    opacity: 0.6;
  }
  80% {
    top: 100%;
    opacity: 0.3;
  }
  100% {
    top: 100%;
    opacity: 0;
  }
}

/* ============================================
   24. GLOBAL: WIRE TICKER, NAV, FOOTER
   Append this to the bottom of style.css
   ============================================ */

/* ---- Wire Ticker Global ---- */
.mm-wire-ticker {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 310;
  height: var(--mm-ticker-height);
  background: var(--mm-ticker-bg);
  border-bottom: 1px solid rgba(0, 240, 255, 0.1);
  display: flex;
  align-items: stretch;
  font-family: var(--mm-font-mono);
  overflow: hidden;
}
.mm-wire-ticker-label {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  background: rgba(0, 240, 255, 0.08);
  border-right: 1px solid rgba(0, 240, 255, 0.18);
  font-size: 10px;
  letter-spacing: 2px;
  color: var(--mm-cyan);
  text-transform: uppercase;
  font-weight: 600;
}
.mm-wire-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mm-cyan);
  box-shadow: 0 0 8px var(--mm-cyan);
  animation: mm-wire-pulse 1.6s ease-in-out infinite;
}
@keyframes mm-wire-pulse {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.35;
    transform: scale(0.7);
  }
}
.mm-wire-ticker-viewport {
  flex: 1;
  overflow: hidden;
  position: relative;
}
.mm-wire-ticker-track {
  display: flex;
  align-items: center;
  height: 100%;
  white-space: nowrap;
  width: max-content;
  animation: mm-wire-scroll 90s linear infinite;
}
@keyframes mm-wire-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.mm-wire-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  height: 100%;
  border: none;
  font-size: 11px;
  color: var(--mm-text-secondary);
  text-decoration: none;
  transition:
    color 0.15s,
    background 0.15s;
}
.mm-wire-item:hover {
  color: var(--mm-cyan);
  background: rgba(0, 240, 255, 0.04);
  opacity: 1;
}
.mm-wire-time {
  color: var(--mm-text-muted);
}
.mm-wire-sep {
  color: var(--mm-text-dim);
}
.mm-wire-type {
  font-weight: 600;
  letter-spacing: 1.2px;
  font-size: 10px;
}
.mm-wire-type.sig {
  color: var(--mm-cyan);
}
.mm-wire-type.hype {
  color: var(--mm-electric);
}
.mm-wire-type.warn {
  color: var(--mm-magenta);
}
.mm-wire-type.brk {
  color: #ffd700;
}
.mm-wire-title {
  color: var(--mm-text-primary);
}
.mm-wire-score {
  font-size: 10px;
  color: var(--mm-cyan);
  padding: 2px 6px;
  border: 1px solid var(--mm-border-cyan);
  background: var(--mm-cyan-ghost);
}
.mm-wire-bullet {
  color: var(--mm-cyan-dim);
  font-size: 8px;
  padding: 0 4px;
}
.mm-has-ticker #mm-nav {
  top: var(--mm-ticker-height);
}
.mm-has-ticker {
  padding-top: 0;
}
body.admin-bar.mm-has-ticker #mm-nav {
  top: calc(var(--mm-ticker-height) + 32px);
}
@media (max-width: 782px) {
  body.admin-bar.mm-has-ticker #mm-nav {
    top: calc(var(--mm-ticker-height-mobile) + 46px);
  }
}
@media (max-width: 900px) {
  .mm-wire-ticker {
    height: var(--mm-ticker-height-mobile);
  }
  .mm-wire-ticker-label {
    padding: 0 10px;
    font-size: 9px;
    letter-spacing: 1.5px;
  }
  .mm-wire-item {
    font-size: 10px;
    padding: 0 14px;
    gap: 8px;
  }
  .mm-has-ticker #mm-nav {
    top: var(--mm-ticker-height-mobile);
  }
}

/* ---- Navigation ---- */
#mm-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 300;
  background: rgba(8, 8, 8, 0.96);
  border-bottom: 1px solid rgba(0, 240, 255, 0.08);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: top 0.3s ease;
}
#mm-nav::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--mm-cyan) 30%,
    var(--mm-magenta) 70%,
    transparent
  );
  opacity: 0.6;
}
.mm-nav-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.mm-nav-logo {
  display: flex;
  align-items: center;
  border: none;
}
.mm-nav-logo img {
  height: 40px;
  width: auto;
  object-fit: contain;
  display: block;
}
.mm-nav-logo:hover {
  opacity: 0.8;
}
.mm-nav-links {
  display: flex;
  gap: 36px;
  align-items: center;
  flex: 1;
  justify-content: center;
}
.mm-nav-links a {
  font-family: var(--mm-font-mono);
  font-size: 11px;
  color: var(--mm-text-muted);
  text-transform: uppercase;
  letter-spacing: 2px;
  border: none;
  transition: color 0.2s;
  position: relative;
  padding-bottom: 2px;
}
.mm-nav-links a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--mm-cyan);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s;
}
.mm-nav-links a[aria-current="page"] {
  color: var(--mm-cyan);
}
.mm-nav-links a[aria-current="page"]::after {
  transform: scaleX(1);
}
.mm-nav-links a:hover {
  color: var(--mm-cyan);
  opacity: 1;
}
.mm-nav-links a:hover::after {
  transform: scaleX(1);
}
.mm-nav-cta {
  font-family: var(--mm-font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  background: var(--mm-cyan);
  color: var(--mm-bg-primary);
  border: none;
  padding: 11px 26px;
  transition: all 0.25s;
  white-space: nowrap;
  flex-shrink: 0;
}
.mm-nav-cta:hover {
  background: #1af7ff;
  box-shadow: 0 0 24px rgba(0, 240, 255, 0.4);
  opacity: 1;
}
.mm-burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
  flex-shrink: 0;
}
.mm-burger span {
  display: block;
  height: 1px;
  background: var(--mm-text-secondary);
  transition: all 0.3s;
  transform-origin: center;
}
.mm-burger span:nth-child(1) {
  width: 20px;
}
.mm-burger span:nth-child(2) {
  width: 14px;
}
.mm-burger span:nth-child(3) {
  width: 20px;
}
.mm-burger.is-open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
  background: var(--mm-cyan);
  width: 20px;
}
.mm-burger.is-open span:nth-child(2) {
  opacity: 0;
}
.mm-burger.is-open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
  background: var(--mm-cyan);
  width: 20px;
}
.mm-mobile-nav {
  position: fixed;
  inset: 0;
  z-index: 250;
  background: rgba(6, 6, 6, 0.99);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 0.35s;
  display: none;
}
.mm-mobile-nav::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--mm-cyan),
    var(--mm-magenta),
    transparent
  );
}
.mm-mobile-nav.is-open {
  display: flex;
  opacity: 1;
}
.mm-mobile-nav-brand {
  margin-bottom: 48px;
  opacity: 0.6;
}
.mm-mobile-nav-brand img {
  height: 36px;
  width: auto;
}
.mm-mobile-nav a {
  font-family: var(--mm-font-mono);
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: var(--mm-text-secondary);
  padding: 20px 48px;
  width: 100%;
  text-align: center;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  transition:
    color 0.2s,
    background 0.2s;
}
.mm-mobile-nav a:first-of-type {
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}
.mm-mobile-nav a:hover {
  color: var(--mm-cyan);
  background: rgba(0, 240, 255, 0.04);
}
.mm-mobile-nav-cta {
  margin: 40px 32px 0;
  width: calc(100% - 64px);
  background: var(--mm-cyan);
  color: var(--mm-bg-primary);
  font-family: var(--mm-font-mono);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 18px;
  text-align: center;
  border: none;
  display: block;
  transition: background 0.2s;
}
.mm-mobile-nav-cta:hover {
  background: #1af7ff;
  opacity: 1;
}
body.admin-bar #mm-nav {
  top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar #mm-nav {
    top: 46px;
  }
}
@media (max-width: 900px) {
  .mm-nav-links,
  .mm-nav-cta {
    display: none;
  }
  .mm-nav-inner {
    padding: 16px 24px;
  }
  .mm-burger {
    display: flex;
  }
}

/* ---- Footer ---- */
.mm-footer {
  background: #080808;
  position: relative;
  overflow: hidden;
}
.mm-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(0, 240, 255, 0.012) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 240, 255, 0.012) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(
    ellipse 80% 60% at 20% 0%,
    black 30%,
    transparent 80%
  );
  -webkit-mask-image: radial-gradient(
    ellipse 80% 60% at 20% 0%,
    black 30%,
    transparent 80%
  );
}
.mm-footer-accent {
  height: 1px;
  background: linear-gradient(
    90deg,
    var(--mm-cyan) 0%,
    var(--mm-magenta) 50%,
    transparent 100%
  );
  opacity: 0.6;
}
.mm-footer-main {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 72px 40px 60px;
  display: grid;
  grid-template-columns: 2.2fr 1fr 1fr 1fr;
  gap: 56px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.mm-footer-brand {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.mm-footer-logo {
  height: 38px;
  width: auto;
  object-fit: contain;
  max-width: 200px;
}
.mm-footer-tagline {
  font-size: 13px;
  color: var(--mm-text-muted);
  line-height: 1.7;
  max-width: 270px;
  margin: 0;
}
.mm-footer-sign {
  font-family: var(--mm-font-mono);
  font-size: 10px;
  color: var(--mm-cyan);
  letter-spacing: 2.5px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 4px;
}
.mm-footer-sign::before {
  content: "";
  width: 14px;
  height: 1px;
  background: var(--mm-cyan);
  flex-shrink: 0;
}
.mm-footer-social {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
}
.mm-footer-social a {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mm-font-mono);
  font-size: 10px;
  color: var(--mm-text-muted);
  letter-spacing: 1px;
  text-transform: uppercase;
  border: none;
  padding: 9px 12px;
  background: rgba(255, 255, 255, 0.025);
  outline: 1px solid rgba(255, 255, 255, 0.05);
  transition: all 0.2s;
  max-width: 220px;
}
.mm-footer-social a svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.mm-footer-social a:hover {
  color: var(--mm-cyan);
  outline-color: rgba(0, 240, 255, 0.2);
  background: rgba(0, 240, 255, 0.05);
  opacity: 1;
}
.mm-footer-col-label {
  font-family: var(--mm-font-mono);
  font-size: 9px;
  color: var(--mm-cyan);
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0, 240, 255, 0.1);
}
.mm-footer-col a {
  display: flex;
  align-items: center;
  font-size: 13px;
  color: var(--mm-text-muted);
  margin-bottom: 12px;
  border: none;
  transition:
    color 0.15s,
    padding-left 0.15s;
  padding-left: 0;
}
.mm-footer-col a::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--mm-text-dim);
  flex-shrink: 0;
  margin-right: 10px;
  transition:
    background 0.15s,
    transform 0.15s;
}
.mm-footer-col a:hover {
  color: var(--mm-text-primary);
  padding-left: 4px;
}
.mm-footer-col a:hover::before {
  background: var(--mm-cyan);
  transform: scale(1.4);
}
.mm-footer-bottom {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 40px max(24px, env(safe-area-inset-bottom));
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.mm-footer-copy {
  font-family: var(--mm-font-mono);
  font-size: 10px;
  color: var(--mm-text-dim);
  letter-spacing: 0.3px;
}
.mm-footer-legal {
  display: flex;
  gap: 24px;
}
.mm-footer-legal a {
  font-family: var(--mm-font-mono);
  font-size: 10px;
  color: var(--mm-text-dim);
  text-transform: uppercase;
  letter-spacing: 1px;
  border: none;
  transition: color 0.15s;
}
.mm-footer-legal a:hover {
  color: var(--mm-text-secondary);
}
@media (max-width: 900px) {
  .mm-footer-main {
    grid-template-columns: 1fr 1fr;
    padding: 48px 24px 40px;
    gap: 40px;
  }
  .mm-footer-brand {
    grid-column: 1 / -1;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px 48px;
  }
  .mm-footer-social {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 0;
  }
  .mm-footer-bottom {
    padding: 18px 24px 24px;
  }
}
@media (max-width: 600px) {
  .mm-footer-main {
    grid-template-columns: 1fr;
  }
  .mm-footer-brand {
    flex-direction: column;
  }
}
@media (max-width: 480px) {
  .mm-footer-main {
    padding: 40px 16px 32px;
  }
  .mm-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 16px max(24px, env(safe-area-inset-bottom));
  }
}

/* ============================================
   25. FINAL LAUNCH-DAY MOBILE OPTIMIZATIONS
   ============================================ */

/* 1. Header Desktop Alignment (Perfect Centering) */
@media (min-width: 901px) {
  .mm-nav-inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
  }
  .mm-nav-logo {
    justify-self: start;
  }
  .mm-nav-cta {
    justify-self: end;
    flex-shrink: 0;
  }
}

/* 2. Mobile Menu Overlap Prevention */
.mm-mobile-nav {
  padding-top: 80px;
}

/* 3. Force Terminal Text to Wrap */
.mm-terminal-body {
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: pre-wrap;
}

/* 4. Strip Apple Default Styling from Inputs */
.mm-subscribe-input {
  -webkit-appearance: none;
  border-radius: 0;
}

/* 5. Prevent Breadcrumbs from Breaking the Screen */
.mm-report-breadcrumb,
.mm-page-breadcrumb {
  flex-wrap: wrap;
}

/* 6. About Moe Mobile Alignment: Strict Left-Align for Cyber-Noir Aesthetic */
@media (max-width: 860px) {
  .mm-about-photo-wrap {
    margin: 0; /* Keeps image flush left to match text */
    width: 100%;
    max-width: 340px;
  }
  .mm-about-copy {
    text-align: left; /* Enforces terminal-style left alignment */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .mm-about-quote {
    width: 100%;
  }
}

/* 7. Mobile Footer Optimization (Thumb-Friendly Targets) */
@media (max-width: 600px) {
  .mm-footer-tagline {
    max-width: 100%; /* Prevents awkward narrow text wrapping */
  }
  .mm-footer-social {
    width: 100%;
  }
  .mm-footer-social a {
    max-width: 100%; /* Forces social buttons to full width for easy tapping */
    justify-content: flex-start; /* Keeps text/icon left-aligned inside the button */
  }
  .mm-footer-col {
    margin-bottom: 12px; /* Adds breathing room between footer link columns */
  }
}

/* 8. Strict Micro-Device Formatting (Screens under 480px) */
@media (max-width: 480px) {
  /* Stack Hero CTAs */
  .mm-hero-ctas {
    flex-direction: column;
    width: 100%;
  }
  .mm-hero-cta {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  /* Align Hype Check header elements */
  .mm-hype-card-header {
    align-items: flex-start;
  }
  .mm-hype-card-score-block {
    margin-top: 12px;
  }

  /* Stack Footer Legal Links safely */
  .mm-footer-legal {
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 12px;
  }
}

/* 9. Prevent Terminal Counters from Overflowing on iPhone SE */
@media (max-width: 380px) {
  .mm-counter-value {
    font-size: 28px;
  }
  .mm-counter-cell {
    padding: 16px 12px;
  }
}

/* ============================================================
   MM CYBER-NOIR OVERRIDES v1.0
   Append this block to the END of style.css.
   These rules fix: ticker sizing, body stacking math, breakpoint
   collisions, mobile overlap, admin-bar edge cases, hype card
   mobile alignment, micro-device overflow.
   Nothing above is deleted. Later rules win the cascade.
   ============================================================ */

:root {
  --mm-ticker-height: 36px;
  --mm-ticker-height-mobile: 28px;
  --mm-nav-height: 68px;
  --mm-nav-height-mobile: 58px;
  --mm-z-ticker: 1002;
  --mm-z-nav: 1001;
  --mm-z-mobile-nav: 1003;
}

/* ---- Ticker: make it an actual wire bar ---- */
.mm-wire-ticker {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--mm-ticker-height);
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0;
  font-size: 11px;
  line-height: 1;
  color: var(--mm-cyan, #00f0ff);
  background: #000;
  border-bottom: 1px solid var(--mm-border-cyan, rgba(0, 240, 255, 0.25));
  z-index: var(--mm-z-ticker);
  overflow: hidden;
  font-family: "JetBrains Mono", "Fira Code", monospace;
}
.mm-wire-ticker-label {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  height: 100%;
  font-weight: 700;
  letter-spacing: 2px;
  background: rgba(0, 240, 255, 0.06);
  border-right: 1px solid var(--mm-border-cyan, rgba(0, 240, 255, 0.25));
  white-space: nowrap;
}
.mm-wire-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ff006e;
  box-shadow: 0 0 8px #ff006e;
  animation: mm-pulse 1.6s ease-in-out infinite;
}
@keyframes mm-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
.mm-wire-ticker-viewport {
  flex: 1 1 auto;
  overflow: hidden;
  height: 100%;
}
.mm-wire-ticker-track {
  display: inline-flex;
  align-items: center;
  height: 100%;
  white-space: nowrap;
  animation: mm-ticker-scroll 90s linear infinite;
  will-change: transform;
}
@keyframes mm-ticker-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.mm-wire-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  color: #b0b0b0;
  text-decoration: none;
  height: 100%;
}
.mm-wire-item:hover {
  color: #fff;
  background: rgba(0, 240, 255, 0.04);
}
.mm-wire-time {
  color: var(--mm-cyan, #00f0ff);
  font-weight: 600;
}
.mm-wire-sep {
  color: rgba(255, 255, 255, 0.2);
}
.mm-wire-type {
  font-weight: 700;
  letter-spacing: 1px;
  padding: 2px 6px;
  border-radius: 2px;
  font-size: 10px;
}
.mm-wire-type.sig {
  color: var(--mm-cyan, #00f0ff);
  background: rgba(0, 240, 255, 0.08);
}
.mm-wire-type.hype {
  color: #3a86ff;
  background: rgba(58, 134, 255, 0.1);
}
.mm-wire-type.warn {
  color: #ff006e;
  background: rgba(255, 0, 110, 0.1);
}
.mm-wire-type.brk {
  color: #fff;
  background: #ff006e;
}
.mm-wire-title {
  color: #e0e0e0;
}
.mm-wire-score {
  color: var(--mm-cyan, #00f0ff);
  font-weight: 700;
  padding-left: 6px;
}
.mm-wire-bullet {
  color: rgba(0, 240, 255, 0.3);
  font-size: 6px;
  padding: 0 10px;
}

/* ---- Body / nav stacking math (authoritative) ---- */
body.mm-has-ticker {
  padding-top: 0; /* Removed. Heroes handle spacing now. */
}
body.mm-has-ticker #mm-nav {
  top: var(--mm-ticker-height);
  min-height: var(--mm-nav-height);
  z-index: var(--mm-z-nav);
}
body.admin-bar.mm-has-ticker #mm-nav {
  top: calc(var(--mm-ticker-height) + 32px);
}

/* ── Minimal padding to prevent content hiding under nav ── */
body.mm-has-ticker {
  padding-top: var(--mm-nav-height); /* Just nav height, not ticker+nav */
}

body.admin-bar.mm-has-ticker {
  padding-top: calc(var(--mm-nav-height) + 32px);
}

/* ---- Tablet (<=1024px): kill sidebar, single column ---- */
@media (max-width: 1024px) {
  .mm-report-grid {
    grid-template-columns: 1fr !important;
    gap: 40px;
  }
  .mm-report-sidebar-inner {
    position: static;
  }
  .mm-sb-toc {
    display: none;
  }
}

/* ---- Tablet portrait (<=768px) ---- */
@media (max-width: 768px) {
  :root {
    --mm-ticker-height: var(--mm-ticker-height-mobile);
    --mm-nav-height: var(--mm-nav-height-mobile);
  }
  body.admin-bar.mm-has-ticker {
    padding-top: calc(
      var(--mm-ticker-height-mobile) + var(--mm-nav-height-mobile) + 46px
    );
  }
  body.admin-bar.mm-has-ticker #mm-nav {
    top: calc(var(--mm-ticker-height-mobile) + 46px);
  }

  .mm-wire-ticker {
    font-size: 10px;
    gap: 10px;
  }
  .mm-wire-ticker-label {
    padding: 0 10px;
    font-size: 9px;
    letter-spacing: 1.5px;
  }
  .mm-wire-item {
    padding: 0 12px;
    gap: 8px;
  }

  .mm-report-hero {
    padding: 100px 0 36px;
  }
  .mm-report-hero-inner,
  .mm-report-grid {
    padding: 0 20px;
  }
  .mm-report-meta-sep {
    display: none;
  }
  .mm-report-meta {
    gap: 10px;
  }
  .mm-final-verdict {
    padding: 28px 22px;
  }
  .mm-final-verdict-score {
    font-size: 56px;
  }

  .mm-hype-card {
    padding: 22px 18px;
  }
  .mm-hype-card-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .mm-hype-card-score-block {
    margin-top: 0;
  }
  .mm-hype-card-score-big {
    font-size: 58px;
  }
  .mm-hype-card-tool {
    font-size: 24px;
  }

  .mm-footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }
  .mm-footer-brand {
    grid-column: 1 / -1;
  }
}

/* ---- Phone (<=480px) ---- */
@media (max-width: 480px) {
  .mm-report-hero-inner,
  .mm-report-grid {
    padding: 0 16px;
  }
  .mm-report-title {
    font-size: 28px;
    line-height: 1.15;
  }
  .mm-hero-ctas {
    flex-direction: column;
    width: 100%;
  }
  .mm-hero-cta {
    width: 100%;
    justify-content: center;
  }
  .mm-footer-main {
    grid-template-columns: 1fr;
  }
  .mm-footer-legal {
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 12px;
  }
  .mm-final-verdict-score {
    font-size: 48px;
  }
  .mm-hype-card-score-big {
    font-size: 52px;
  }
  .mm-wire-score {
    display: none;
  }
}

/* ---- iPhone SE / micro (<=380px) ---- */
@media (max-width: 380px) {
  .mm-wire-ticker-label span:not(.mm-wire-dot) {
    display: none;
  }
  .mm-wire-ticker-label::after {
    content: "WIRE";
  }
  .mm-counter-value {
    font-size: 28px;
  }
  .mm-counter-cell {
    padding: 16px 12px;
  }
  .mm-report-title {
    font-size: 24px;
  }
}

/* ---- Accessibility: reduce motion ---- */
@media (prefers-reduced-motion: reduce) {
  .mm-wire-ticker-track {
    animation: none;
  }
  .mm-wire-dot {
    animation: none;
  }
}

/* ---- Mobile nav focus trap visuals ---- */
.mm-mobile-nav:focus-within a:focus,
.mm-mobile-nav a:focus-visible {
  outline: 2px solid var(--mm-cyan, #00f0ff);
  outline-offset: 2px;
}

/* ---- Main landmark a11y ---- */
.mm-report-main:focus {
  outline: none;
}
.mm-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background: #00f0ff;
  color: #000;
  padding: 10px 16px;
  font-family: "JetBrains Mono", monospace;
  font-weight: 700;
  z-index: 9999;
}
.mm-skip-link:focus {
  left: 8px;
  top: 8px;
}

/* BUG FIX: page.php inner page z-index correction */
.mm-inner-page #mm-nav {
  z-index: var(--mm-z-nav) !important;
}
.mm-inner-page .mm-mobile-nav {
  z-index: var(--mm-z-mobile-nav) !important;
}

/* ============================================================
   26. ACCESSIBILITY STYLES (Skip Link)
   ============================================================ */
.mm-skip-link {
  position: absolute;
  top: -9999px; /* Hide off-screen by default */
  left: -9999px;
  background: var(--mm-cyan);
  color: var(--mm-bg-primary);
  padding: 12px 18px;
  font-family: var(--mm-font-mono);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  z-index: 99999;
  transition:
    top 0.2s ease,
    left 0.2s ease;
  clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%);
}

.mm-skip-link:focus {
  top: 8px; /* Bring into view on focus */
  left: 8px;
}

/* Adjust position when admin bar is active */
body.admin-bar .mm-skip-link:focus {
  top: 40px; /* 32px admin bar + 8px margin */
}
@media (max-width: 782px) {
  body.admin-bar .mm-skip-link:focus {
    top: 54px; /* 46px mobile admin bar + 8px margin */
  }
}

/* ============================================================
   HERO SECTION GRIDS (Headers Only)
   ============================================================ */
.mm-page-hero,
.mm-report-hero {
  background-color: var(--mm-bg-primary);
  background-image:
    linear-gradient(rgba(0, 240, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 240, 255, 0.05) 1px, transparent 1px);
  background-size: 56px 56px;
  background-position: center top;
}

/* ============================================================
   MM CYBER-NOIR OVERRIDES v1.1 (FINAL FIXES)
   ============================================================ */

:root {
  --mm-ticker-height: 36px;
  --mm-ticker-height-mobile: 28px;
  --mm-nav-height: 80px; /* INCREASED from 68px for more breathing room */
  --mm-nav-height-mobile: 68px; /* INCREASED from 58px */
  --mm-z-ticker: 1002;
  --mm-z-nav: 1001;
  --mm-z-mobile-nav: 1003;
}

/* ---- Ticker ---- */
.mm-wire-ticker {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--mm-ticker-height);
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0;
  font-size: 11px;
  line-height: 1;
  color: var(--mm-cyan);
  background: #000;
  border-bottom: 1px solid var(--mm-border-cyan);
  z-index: var(--mm-z-ticker);
  overflow: hidden;
  font-family: "JetBrains Mono", monospace;
}
.mm-wire-ticker-label {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  height: 100%;
  font-weight: 700;
  letter-spacing: 2px;
  background: rgba(0, 240, 255, 0.06);
  border-right: 1px solid var(--mm-border-cyan);
  white-space: nowrap;
}
/* Force Live Wire Ticker Dot to Magenta/Red */
.mm-wire-dot,
.hp-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: var(--mm-magenta) !important;
  box-shadow: 0 0 8px var(--mm-magenta) !important;
  animation: mm-pulse 1.6s ease-in-out infinite;
}
@keyframes mm-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
.mm-wire-ticker-viewport {
  flex: 1 1 auto;
  overflow: hidden;
  height: 100%;
}
.mm-wire-ticker-track {
  display: inline-flex;
  align-items: center;
  height: 100%;
  white-space: nowrap;
  animation: mm-ticker-scroll 90s linear infinite;
  will-change: transform;
}
@keyframes mm-ticker-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.mm-wire-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  color: #b0b0b0;
  text-decoration: none;
  height: 100%;
}
.mm-wire-item:hover {
  color: #fff;
  background: rgba(0, 240, 255, 0.04);
  opacity: 1;
}
.mm-wire-time {
  color: var(--mm-cyan);
  font-weight: 600;
}
.mm-wire-sep {
  color: rgba(255, 255, 255, 0.2);
}
.mm-wire-type {
  font-weight: 700;
  letter-spacing: 1px;
  padding: 2px 6px;
  border-radius: 2px;
  font-size: 10px;
}
.mm-wire-type.sig {
  color: var(--mm-cyan);
  background: rgba(0, 240, 255, 0.08);
}
.mm-wire-type.hype {
  color: #3a86ff;
  background: rgba(58, 134, 255, 0.1);
}
.mm-wire-type.warn {
  color: #ff006e;
  background: rgba(255, 0, 110, 0.1);
}
.mm-wire-type.brk {
  color: #fff;
  background: #ff006e;
}
.mm-wire-title {
  color: #e0e0e0;
}
.mm-wire-score {
  color: var(--mm-cyan);
  font-weight: 700;
  padding-left: 6px;
}
.mm-wire-bullet {
  color: rgba(0, 240, 255, 0.3);
  font-size: 6px;
  padding: 0 10px;
}

/* ---- CORRECTED Body Padding Math ---- */
/* Total height = Nav + Ticker. This completely fixes the Hero overlap/gap issue */
body.mm-has-ticker {
  padding-top: calc(var(--mm-nav-height) + var(--mm-ticker-height)) !important;
}
body.mm-has-ticker #mm-nav {
  top: var(--mm-ticker-height);
  min-height: var(--mm-nav-height);
  z-index: var(--mm-z-nav);
}
body.admin-bar.mm-has-ticker #mm-nav {
  top: calc(var(--mm-ticker-height) + 32px);
}

/* ---- Footer Logo Alignment (Desktop) ---- */
@media (min-width: 901px) {
  .mm-footer-brand {
    align-items: flex-start !important;
    text-align: left !important;
  }
  .mm-footer-logo {
    height: 48px;
    margin-left: 0 !important;
    margin-right: auto !important;
    display: block;
  }
}

/* ---- Tablet (<=1024px) ---- */
@media (max-width: 1024px) {
  .mm-report-grid {
    grid-template-columns: 1fr !important;
    gap: 40px;
  }
  .mm-report-sidebar-inner {
    position: static;
  }
  .mm-sb-toc {
    display: none;
  }
}

/* ---- Tablet portrait & Mobile (<=768px) ---- */
@media (max-width: 768px) {
  body.mm-has-ticker {
    padding-top: calc(
      var(--mm-nav-height-mobile) + var(--mm-ticker-height-mobile)
    ) !important;
  }
  body.admin-bar.mm-has-ticker {
    padding-top: calc(
      var(--mm-nav-height-mobile) + var(--mm-ticker-height-mobile) + 46px
    ) !important;
  }
  body.admin-bar.mm-has-ticker #mm-nav {
    top: calc(var(--mm-ticker-height-mobile) + 46px);
  }

  .mm-wire-ticker {
    font-size: 10px;
    gap: 10px;
  }
  .mm-wire-ticker-label {
    padding: 0 10px;
    font-size: 9px;
    letter-spacing: 1.5px;
  }
  .mm-wire-item {
    padding: 0 12px;
    gap: 8px;
  }

  /* Inner Pages Hero Padding */
  .mm-report-hero {
    padding: 48px 0 5px !important;
  }
  .mm-page-hero {
    padding: 48px 0 48px !important;
  }
  .mm-report-hero-inner,
  .mm-report-grid {
    padding: 0 20px;
  }
  .mm-report-meta-sep {
    display: none;
  }
  .mm-report-meta {
    gap: 10px;
  }
  .mm-final-verdict {
    padding: 28px 22px;
  }
  .mm-final-verdict-score {
    font-size: 56px;
  }

  .mm-hype-card {
    padding: 22px 18px;
  }
  .mm-hype-card-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .mm-hype-card-score-block {
    margin-top: 0;
  }
  .mm-hype-card-score-big {
    font-size: 58px;
  }
  .mm-hype-card-tool {
    font-size: 24px;
  }

  /* Stack Footer Socials */
  .mm-footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }
  .mm-footer-brand {
    grid-column: 1 / -1;
    align-items: flex-start;
  }
  .mm-footer-social {
    flex-direction: column !important;
    align-items: flex-start;
  }
  .mm-footer-social a {
    max-width: 100%;
  }
}

/* ---- Phone (<=480px) ---- */
@media (max-width: 480px) {
  .mm-report-hero-inner,
  .mm-report-grid {
    padding: 0 16px;
  }
  .mm-report-title {
    font-size: 28px;
    line-height: 1.15;
  }
  .mm-footer-main {
    grid-template-columns: 1fr;
  }
  .mm-footer-legal {
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 12px;
  }
  .mm-final-verdict-score {
    font-size: 48px;
  }
  .mm-hype-card-score-big {
    font-size: 52px;
  }
  .mm-wire-score {
    display: none;
  }
}

/* ---- iPhone SE / micro (<=380px) ---- */
@media (max-width: 380px) {
  .mm-wire-ticker-label span:not(.mm-wire-dot) {
    display: none;
  }
  .mm-wire-ticker-label::after {
    content: "WIRE";
  }
  .mm-counter-value {
    font-size: 28px;
  }
  .mm-counter-cell {
    padding: 16px 12px;
  }
  .mm-report-title {
    font-size: 24px;
  }
}

/* ---- Accessibility: reduce motion ---- */
@media (prefers-reduced-motion: reduce) {
  .mm-wire-ticker-track,
  .mm-wire-dot {
    animation: none;
  }
}
.mm-mobile-nav:focus-within a:focus,
.mm-mobile-nav a:focus-visible {
  outline: 2px solid var(--mm-cyan);
  outline-offset: 2px;
}
.mm-report-main:focus {
  outline: none;
}
.mm-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--mm-cyan);
  color: #000;
  padding: 12px 18px;
  font-family: "JetBrains Mono", monospace;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  z-index: 99999;
  clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%);
}
.mm-skip-link:focus {
  left: 8px;
  top: 8px;
}
body.admin-bar .mm-skip-link:focus {
  top: 40px;
}
@media (max-width: 782px) {
  body.admin-bar .mm-skip-link:focus {
    top: 54px;
  }
}

/* ============================================================
   MOBILE STICKY CTA (THE MISSING FIX)
   ============================================================ */
.mm-mobile-sticky-cta {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--mm-cyan);
  z-index: 299;
  padding: 16px 20px max(16px, env(safe-area-inset-bottom));
  text-align: center;
  transform: translateY(150%); /* Hides it below screen */
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.6);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.mm-mobile-sticky-cta.is-visible {
  transform: translateY(0);
}
.mm-mobile-sticky-cta a {
  color: #000 !important;
  font-family: var(--mm-font-mono);
  font-weight: 700;
  font-size: 13.5px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
}
@media (max-width: 768px) {
  /* Mobile sticky subscribe bar disabled July 2026.
     Reappeared on every scroll-up and read as nagging.
     To re-enable, set this back to display: block and restore
     the sticky CTA scroll listener in mm-theme.js. */
  .mm-mobile-sticky-cta {
    display: none;
  }
  /* Pushes scroll-to-top button up when sticky CTA is visible */
  body.has-sticky-cta .mm-scroll-top,
  body.has-sticky-cta .hp-stt {
    bottom: calc(76px + env(safe-area-inset-bottom)) !important;
  }
}

/* ── Nav default: sit flush at top when no ticker is present ── */
#mm-nav,
#mm-nav.scrolled {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  transform: none !important;
  transition:
    background 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease !important;
  z-index: var(--mm-z-nav) !important;
}

/* ── Nav with ticker: push below the ticker bar ── */
body.mm-has-ticker #mm-nav,
body.mm-has-ticker #mm-nav.scrolled {
  top: var(--mm-ticker-height) !important;
}

body.admin-bar #mm-nav,
body.admin-bar #mm-nav.scrolled {
  top: 32px !important;
}

body.admin-bar.mm-has-ticker #mm-nav,
body.admin-bar.mm-has-ticker #mm-nav.scrolled {
  top: calc(var(--mm-ticker-height) + 32px) !important;
}

@media (max-width: 782px) {
  body.mm-has-ticker #mm-nav,
  body.mm-has-ticker #mm-nav.scrolled {
    top: var(--mm-ticker-height-mobile) !important;
  }
  body.admin-bar #mm-nav,
  body.admin-bar #mm-nav.scrolled {
    top: 46px !important;
  }
  body.admin-bar.mm-has-ticker #mm-nav,
  body.admin-bar.mm-has-ticker #mm-nav.scrolled {
    top: calc(var(--mm-ticker-height-mobile) + 46px) !important;
  }
}

/* Inner Page Hero Padding — body.mm-has-ticker already provides ticker+nav offset */
/* Hero just needs breathing room since body handles the clearance */
.mm-page-hero,
.mm-report-hero {
  padding-top: 24px !important;
}

/* Homepage hero manages its own clearance via internal 160px padding.
   Reset body offset so the hero padding is the single source of truth. */
@media (min-width: 769px) {
  body.home-page.mm-has-ticker {
    padding-top: 0 !important;
  }
}

/* Mobile inner pages: body.mm-has-ticker already provides 96px offset, just add breathing room */
@media (max-width: 768px) {
  .int-hero,
  .mm-page-hero,
  .mm-report-hero {
    padding-top: 24px !important;
  }
}

/* Smooth repositioning of scroll-to-top buttons when sticky CTA slides in/out.
   Without this, the button snaps to its new bottom position instantly. */
.mm-scroll-top,
.hp-stt {
  transition:
    bottom 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.3s ease,
    transform 0.3s ease !important;
}

/* ============================================================
   INTELLIGENCE REPORT FEATURED IMAGE
   ============================================================ */
.mm-report-featured {
  position: relative;
  max-height: 400px;
  overflow: hidden;
  border-bottom: 1px solid var(--mm-border-faint);
}

.mm-report-thumb {
  width: 100%;
  height: 400px;
  object-fit: cover;
  object-position: center top;
  display: block;
  filter: grayscale(25%) contrast(1.05) brightness(0.9);
  transition: filter 0.5s ease;
}

.mm-report-featured:hover .mm-report-thumb {
  filter: grayscale(0%) contrast(1) brightness(1);
}

.mm-report-thumb-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(10, 10, 10, 0.15) 0%,
    transparent 35%,
    transparent 55%,
    rgba(10, 10, 10, 0.7) 85%,
    var(--mm-bg-primary) 100%
  );
  pointer-events: none;
}

@media (max-width: 768px) {
  .mm-report-featured {
    max-height: 240px;
  }
  .mm-report-thumb {
    height: 240px;
  }
}

/* ============================================================
   NAVIGATION SEARCH — ICON + FULL-SCREEN OVERLAY
   ============================================================ */

/* ---- Search trigger icon (desktop nav) ---- */
.mm-search-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  padding: 0;
  color: var(--mm-text-muted);
  cursor: pointer;
  transition: color var(--mm-transition-fast);
  flex-shrink: 0;
  /* Thin left separator so it reads as a distinct nav element */
  border-left: 1px solid var(--mm-border-faint);
  padding-left: 20px;
  margin-left: 4px;
}
.mm-search-trigger:hover {
  color: var(--mm-cyan);
  border-left-color: var(--mm-border-cyan);
}
.mm-search-trigger.is-active {
  color: var(--mm-cyan);
}
/* Hide on mobile — search accessible via mobile nav button */
@media (max-width: 900px) {
  .mm-search-trigger {
    display: none;
  }
}

/* ---- Mobile nav search button ---- */
.mm-mobile-search-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: var(--mm-font-mono);
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: var(--mm-text-secondary);
  padding: 20px 48px;
  width: 100%;
  text-align: center;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  background: transparent;
  cursor: pointer;
  transition:
    color 0.2s,
    background 0.2s;
}
.mm-mobile-search-link:hover {
  color: var(--mm-cyan);
  background: rgba(0, 240, 255, 0.04);
}

/* ---- Full-screen search overlay ---- */
.mm-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(6, 6, 6, 0.97);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 24px;
  /* Hidden state */
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
/* Faint grid atmosphere */
.mm-search-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(var(--mm-cyan-ghost) 1px, transparent 1px),
    linear-gradient(90deg, var(--mm-cyan-ghost) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity: 0.4;
}
/* Radial glow */
.mm-search-overlay::after {
  content: "";
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 400px;
  background: radial-gradient(
    ellipse,
    rgba(0, 240, 255, 0.06) 0%,
    transparent 65%
  );
  pointer-events: none;
}
/* Open state */
.mm-search-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

.mm-search-overlay-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 640px;
  text-align: center;
}

/* Eyebrow label */
.mm-search-eyebrow {
  font-family: var(--mm-font-mono);
  font-size: 9px;
  color: var(--mm-cyan);
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.mm-search-eyebrow::before,
.mm-search-eyebrow::after {
  content: "";
  width: 32px;
  height: 1px;
  background: var(--mm-cyan);
  opacity: 0.3;
  flex-shrink: 0;
}

/* Label (screen reader, positioned above) */
.mm-search-label {
  display: block;
  font-family: var(--mm-font-display);
  font-size: clamp(20px, 3vw, 28px);
  font-weight: 700;
  color: var(--mm-text-primary);
  letter-spacing: -0.02em;
  margin-bottom: 28px;
  line-height: 1.2;
}

/* Search input wrapper */
.mm-search-field-wrap {
  display: flex;
  border: 1px solid var(--mm-border-cyan);
  background: var(--mm-bg-secondary);
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  margin-bottom: 14px;
}
.mm-search-field-wrap:focus-within {
  border-color: var(--mm-border-cyan-strong);
  box-shadow: 0 0 32px rgba(0, 240, 255, 0.1);
}

.mm-search-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-family: var(--mm-font-mono);
  font-size: clamp(16px, 2.5vw, 22px);
  color: var(--mm-text-primary);
  padding: 18px 24px;
  caret-color: var(--mm-cyan);
  min-width: 0;
}
.mm-search-input::placeholder {
  color: var(--mm-text-dim);
}

.mm-search-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--mm-cyan);
  color: #000;
  border: none;
  padding: 0 28px;
  cursor: pointer;
  transition: background 0.2s;
  flex-shrink: 0;
}
.mm-search-submit:hover {
  background: #1af7ff;
}

/* Hint text */
.mm-search-hint {
  font-family: var(--mm-font-mono);
  font-size: 9.5px;
  color: var(--mm-text-dim);
  letter-spacing: 1px;
  margin-bottom: 36px;
}

/* Quick access shortcuts */
.mm-search-shortcuts {
  border-top: 1px solid var(--mm-border-faint);
  padding-top: 24px;
}
.mm-search-shortcuts-label {
  font-family: var(--mm-font-mono);
  font-size: 8.5px;
  color: var(--mm-text-dim);
  letter-spacing: 2.5px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 14px;
}
.mm-search-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}
.mm-search-links a {
  font-family: var(--mm-font-mono);
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--mm-text-muted);
  border: 1px solid var(--mm-border-faint);
  padding: 7px 14px;
  transition:
    color 0.2s,
    border-color 0.2s,
    background 0.2s;
  clip-path: polygon(0 0, calc(100% - 5px) 0, 100% 5px, 100% 100%, 0 100%);
}
.mm-search-links a:hover {
  color: var(--mm-cyan);
  border-color: var(--mm-border-cyan);
  background: var(--mm-cyan-ghost);
}

/* Close button (top-right of overlay) */
.mm-search-close {
  position: absolute;
  top: 32px;
  right: 32px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--mm-text-muted);
  cursor: pointer;
  transition:
    color 0.2s,
    border-color 0.2s,
    background 0.2s;
  clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 0 100%);
  z-index: 2;
}
.mm-search-close:hover {
  color: var(--mm-cyan);
  border-color: var(--mm-border-cyan);
  background: var(--mm-cyan-ghost);
}

@media (max-width: 480px) {
  .mm-search-close {
    top: 16px;
    right: 16px;
  }
  .mm-search-input {
    font-size: 16px;
    padding: 14px 16px;
  }
  .mm-search-submit {
    padding: 0 20px;
  }
  .mm-search-label {
    font-size: 18px;
  }
}

/* ============================================================
   NAV LAYOUT CONSISTENCY
   Overrides the grid-based centering added in section 25 so
   all templates (homepage, page.php, intelligence, single)
   use the same flex layout.  page.php is the reference.
   ============================================================ */
@media (min-width: 901px) {
  .mm-nav-inner {
    display: flex !important;
    grid-template-columns: unset !important;
    justify-content: space-between !important;
    padding: 18px 40px !important;
    gap: 24px !important;
  }
  .mm-nav-links {
    flex: 1 !important;
    justify-content: center !important;
    margin-left: 0 !important;
  }
  .mm-nav-logo {
    justify-self: unset !important;
  }
  .mm-nav-cta {
    justify-self: unset !important;
    flex-shrink: 0 !important;
  }
}

/* Default body top-padding when no ticker is active */
body:not(.home-page):not(.mm-has-ticker) {
  padding-top: 68px; /* concrete nav height — no CSS var risk */
}
@media (max-width: 900px) {
  body:not(.home-page):not(.mm-has-ticker) {
    padding-top: 58px;
  }
}

/* Prevent Safari/Mobile from swallowing clicks on the SVG paths */
.mm-search-trigger svg,
.mm-mobile-search-link svg {
  pointer-events: none;
}

/* ============================================================
   iOS SAFARI BULLETPROOFING
   ============================================================ */

/* 1. Prevent Safari from auto-zooming when tapping the subscribe box */
.hp-sub-in,
.mm-subscribe-input {
  font-size: 16px !important;
}

/* 2. Smooth momentum scrolling inside overlays & prevent background bounce */
.mm-mobile-nav,
.mm-search-overlay {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* 3. Prevent Safari/Mobile from swallowing taps on the SVG icons */
.mm-search-trigger svg,
.mm-mobile-search-link svg,
.mm-burger svg {
  pointer-events: none;
}

/* ============================================================
   INTELLIGENCE REPORT UPGRADES (Sticky Sidebar & Mobile ToC)
   ============================================================ */

/* 1. Fix Sticky Sidebar on Desktop */
.mm-report-grid {
  align-items: stretch !important; /* Allows sidebar track to reach the bottom of the article */
}
.mm-report-sidebar {
  height: 100%; /* Ensure parent takes full height */
}
.mm-report-sidebar-inner {
  position: sticky;
  top: 140px; /* Gives enough clearance below the top nav + ticker */
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-bottom: 40px; /* Breathing room at the bottom of scroll */
}

/* 2. Mobile Table of Contents (Expandable Accordion) */
.mm-mobile-toc {
  display: none; /* Hidden on desktop */
  background: var(--mm-bg-secondary);
  border: 1px solid var(--mm-border-cyan);
  margin: 0 0 32px 0;
  border-radius: 2px;
}
.mm-mobile-toc summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  cursor: pointer;
  font-family: var(--mm-font-mono);
  font-size: 11px;
  color: var(--mm-cyan);
  letter-spacing: 2px;
  text-transform: uppercase;
  list-style: none; /* Hide default arrow */
}
.mm-mobile-toc summary::-webkit-details-marker {
  display: none;
}
.mm-mobile-toc[open] summary svg {
  transform: rotate(180deg);
}
.mm-mobile-toc summary svg {
  transition: transform 0.2s ease;
}
.mm-mobile-toc ol {
  margin: 0;
  padding: 0 20px 20px 20px;
  list-style: none;
  counter-reset: mtoc;
}
.mm-mobile-toc li {
  counter-increment: mtoc;
  position: relative;
  padding-left: 24px;
  margin-bottom: 12px;
  border: none;
}
.mm-mobile-toc li::before {
  content: counter(mtoc, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 2px;
  font-family: var(--mm-font-mono);
  font-size: 10px;
  color: var(--mm-cyan);
}
.mm-mobile-toc a {
  font-size: 14px;
  color: var(--mm-text-secondary) !important; /* Override standard link color */
  text-decoration: none;
  line-height: 1.5;
  display: block;
  border: none !important;
}
.mm-mobile-toc a:hover,
.mm-mobile-toc a.active {
  color: var(--mm-cyan) !important;
}

/* 3. Activation Breakpoints */
@media (max-width: 1024px) {
  .mm-mobile-toc {
    display: block; /* Show on tablets & mobile */
  }
  .mm-report-sidebar {
    display: none !important; /* Completely hide desktop sidebar to avoid double ToC */
  }
}

/* ============================================================
   INTELLIGENCE REPORT UPGRADES - PART 2
   (Targeted Sticky TOC & Mobile Spacing Fixes)
   ============================================================ */

/* 1. Desktop: Make ONLY the Table of Contents Sticky */
@media (min-width: 1025px) {
  /* Remove the sticky behavior from the entire sidebar wrapper */
  .mm-report-sidebar-inner {
    position: static !important;
    height: 100%;
  }

  /* Apply sticky behavior exclusively to the TOC */
  .mm-sb-toc {
    position: sticky !important;
    top: 120px !important; /* Clearance below header/ticker */
    z-index: 10;

    /* Make background solid to prevent the "More Reports" block from bleeding through as it scrolls underneath */
    background: var(--mm-bg-card) !important;

    /* Ensure it doesn't extend past the bottom of a short screen */
    max-height: calc(100vh - 140px);
    overflow-y: auto;

    /* Clean scrollbar for the TOC */
    scrollbar-width: thin;
    scrollbar-color: var(--mm-cyan-faint) transparent;
  }

  /* Webkit scrollbar styling for the sticky TOC */
  .mm-sb-toc::-webkit-scrollbar {
    width: 4px;
  }
  .mm-sb-toc::-webkit-scrollbar-track {
    background: transparent;
  }
  .mm-sb-toc::-webkit-scrollbar-thumb {
    background: var(--mm-cyan-faint);
    border-radius: 4px;
  }
}

/* 2. Mobile: Remove Excess Padding Above Hype Check Card */
@media (max-width: 768px) {
  .mm-report-body {
    padding-top: 24px !important; /* Reduced from 56px */
  }

  .mm-report-main > .mm-hype-card:first-child {
    margin-top: 0 !important; /* Removes the default 32px top margin */
  }

  /* Tighten up the space between the mobile TOC and the article */
  .mm-mobile-toc {
    margin-bottom: 24px !important;
  }
}

/* ============================================================
   INTELLIGENCE REPORT UPGRADES - PART 3
   (Animated Glowing Bars on single.php)
   ============================================================ */

/* 1. Track Adjustments (Slimmer & Overflow Visible) */
.mm-animated-card .mm-hype-bar-track {
  overflow: visible !important; /* Allows the glowing dot to shine outside the bounds */
  background: rgba(255, 255, 255, 0.05);
  height: 3px; /* Matches the sleek homepage aesthetic */
  border-radius: 2px;
  margin-top: 4px;
}

/* 2. The Fill Line */
.mm-animated-card .mm-hype-bar-fill {
  position: relative;
  height: 100%;
  border-radius: 2px;
}

/* 3. The Glowing Dot */
.mm-animated-card .mm-hype-bar-fill::after {
  content: "";
  position: absolute;
  right: -3px;
  top: -2px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: inherit;
  box-shadow:
    0 0 10px currentColor,
    0 0 20px currentColor;
}

/* 4. Set CurrentColor for Shadows */
.mm-animated-card .mm-hype-bar-fill.cyan {
  color: var(--mm-cyan);
  box-shadow: 0 0 8px rgba(0, 240, 255, 0.4);
}
.mm-animated-card .mm-hype-bar-fill.magenta {
  color: var(--mm-magenta);
  box-shadow: 0 0 8px rgba(255, 0, 110, 0.4);
}
.mm-animated-card .mm-hype-bar-fill.electric {
  color: var(--mm-electric);
  box-shadow: 0 0 8px rgba(58, 134, 255, 0.4);
}

/* ============================================================
   27. SHARE TERMINAL (EPIC SOCIAL SHARE)
   ============================================================ */
.mm-share-terminal {
  margin: 48px 0;
  padding: 32px 36px;
  background: rgba(0, 240, 255, 0.02);
  border: 1px solid var(--mm-border-cyan);
  position: relative;
  overflow: hidden;
}
.mm-share-terminal::before {
  content: '';
  position: absolute;
  top: 0; 
  left: 0; 
  width: 4px; 
  height: 100%;
  background: var(--mm-cyan);
  box-shadow: 0 0 16px var(--mm-cyan);
}
.mm-share-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px;
}
.mm-share-pulse {
  width: 8px; 
  height: 8px;
  background: var(--mm-magenta);
  border-radius: 50%;
  box-shadow: 0 0 10px var(--mm-magenta);
  animation: mm-pulse 1.5s infinite;
}
.mm-share-label {
  font-family: var(--mm-font-mono);
  font-size: 11px;
  letter-spacing: 3px;
  color: var(--mm-cyan);
  text-transform: uppercase;
  font-weight: 700;
}
.mm-share-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(0, 240, 255, 0.3), transparent);
}
.mm-share-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.mm-share-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px;
  background: var(--mm-bg-primary);
  border: 1px solid var(--mm-border-soft);
  color: var(--mm-text-primary);
  font-family: var(--mm-font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
  outline: none;
}
.mm-share-btn svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  transition: transform 0.25s;
}
.mm-share-btn.copy svg {
  fill: none;
}
/* Hover States with distinct Cyber-Noir glows */
.mm-share-btn:hover {
  transform: translateY(-2px);
}
.mm-share-btn:hover svg {
  transform: scale(1.15);
}
.mm-share-btn.x:hover {
  border-color: #fff;
  color: #fff;
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 8px 24px rgba(255, 255, 255, 0.1);
}
.mm-share-btn.in:hover {
  border-color: #0a66c2;
  color: #0a66c2;
  background: rgba(10, 102, 194, 0.05);
  box-shadow: 0 8px 24px rgba(10, 102, 194, 0.2);
}
.mm-share-btn.copy:hover {
  border-color: var(--mm-cyan);
  color: var(--mm-cyan);
  background: rgba(0, 240, 255, 0.05);
  box-shadow: 0 8px 24px rgba(0, 240, 255, 0.15);
}

/* Epic Mobile Optimization (Stacks neatly into big thumb targets) */
@media (max-width: 768px) {
  .mm-share-terminal {
    margin: 32px 0;
    padding: 24px 20px;
  }
}
@media (max-width: 600px) {
  .mm-share-actions {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .mm-share-btn {
    padding: 18px;
    font-size: 12px; /* Slightly larger text on mobile for readability */
  }
}

/* ============================================================
   ABOVE-THE-FOLD & MID-ARTICLE CTA  (Sept 14 2026)
   See mm-report-cta.php for the logic behind when each renders.

   Built mobile-first. The whole reason this exists is that
   .mm-report-sidebar is display:none below 1024px, which left
   the top 80% of every Intelligence Report with no conversion
   path on a phone.
   ============================================================ */

/* ── 1. The above-the-fold box ───────────────────────────── */
.mm-atf-cta {
  position: relative;
  background: var(--mm-bg-card);
  border: 1px solid var(--mm-border-cyan);
  padding: 22px 20px 20px;
  margin: 0 0 32px;
  overflow: hidden;
}

/* Scanline texture, consistent with the sidebar terminal widget */
.mm-atf-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0, 240, 255, 0.02) 2px,
    rgba(0, 240, 255, 0.02) 4px
  );
}

.mm-atf-cta > * {
  position: relative;
  z-index: 1;
}

/* Target-lock corner brackets */
.mm-atf-cta-bracket {
  position: absolute;
  width: 12px;
  height: 12px;
  border: 2px solid var(--mm-cyan);
  opacity: 0.45;
  z-index: 2;
}
.mm-atf-cta-bracket.tl {
  top: 6px;
  left: 6px;
  border-right: none;
  border-bottom: none;
}
.mm-atf-cta-bracket.br {
  bottom: 6px;
  right: 6px;
  border-left: none;
  border-top: none;
}

/* Below-threshold box swaps the accent to the alert colour */
.mm-atf-cta.is-capture {
  border-color: rgba(255, 0, 110, 0.25);
}
.mm-atf-cta.is-capture .mm-atf-cta-bracket {
  border-color: var(--mm-magenta, #ff006e);
}
.mm-atf-cta.is-capture::after {
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(255, 0, 110, 0.02) 2px,
    rgba(255, 0, 110, 0.02) 4px
  );
}

.mm-atf-cta-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(0, 240, 255, 0.12);
}
.mm-atf-cta.is-capture .mm-atf-cta-head {
  border-bottom-color: rgba(255, 0, 110, 0.14);
}

.mm-atf-cta-verdict {
  font-family: var(--mm-font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mm-cyan);
}
.mm-atf-cta.is-capture .mm-atf-cta-verdict {
  color: var(--mm-magenta, #ff006e);
}

.mm-atf-cta-score {
  font-family: var(--mm-font-display);
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
}
.mm-atf-cta-score span {
  font-size: 12px;
  color: var(--mm-text-muted);
  font-weight: 400;
}
.mm-atf-cta-score.is-low {
  color: var(--mm-score-low, #ff006e);
}

.mm-atf-cta-line {
  margin: 0 0 16px;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--mm-text-secondary, #b8b8c0);
}

/* The button. Full width on mobile, which is the entire point. */
.mm-atf-cta-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 16px 18px;
  background: var(--mm-cyan);
  color: var(--mm-bg-primary) !important;
  font-family: var(--mm-font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  text-decoration: none !important;
  border: none;
  transition: background 0.2s ease, box-shadow 0.2s ease;
  /* Comfortable thumb target on a phone */
  min-height: 52px;
  box-sizing: border-box;
}
.mm-atf-cta-btn:hover,
.mm-atf-cta-btn:focus-visible {
  background: #1af7ff;
  box-shadow: 0 0 24px rgba(0, 240, 255, 0.35);
  color: var(--mm-bg-primary) !important;
}
.mm-atf-cta-arrow {
  font-size: 15px;
  flex: 0 0 auto;
}

.mm-atf-cta-note {
  margin: 12px 0 0;
  font-family: var(--mm-font-mono);
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: 0.3px;
  color: var(--mm-text-muted);
}

.mm-atf-cta-disc {
  margin: 10px 0 0;
  font-family: var(--mm-font-mono);
  font-size: 9.5px;
  letter-spacing: 0.4px;
  color: var(--mm-text-dim);
}

/* ── 2. Inline email capture (sub-threshold reports) ─────── */
.mm-atf-form {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mm-atf-form-in {
  width: 100%;
  padding: 15px 16px;
  background: #080808;
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
  font-family: var(--mm-font-mono);
  font-size: 14px; /* 14px+ stops iOS Safari zooming the viewport on focus */
  letter-spacing: 0.5px;
  box-sizing: border-box;
  min-height: 52px;
  border-radius: 0;
  -webkit-appearance: none;
}
.mm-atf-form-in::placeholder {
  color: var(--mm-text-dim);
}
.mm-atf-form-in:focus {
  outline: none;
  border-color: var(--mm-cyan);
  box-shadow: 0 0 0 1px rgba(0, 240, 255, 0.25);
}

.mm-atf-form-btn {
  width: 100%;
  padding: 16px 18px;
  min-height: 52px;
  background: var(--mm-cyan);
  color: var(--mm-bg-primary);
  font-family: var(--mm-font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
.mm-atf-form-btn:hover:not(:disabled) {
  background: #1af7ff;
  box-shadow: 0 0 24px rgba(0, 240, 255, 0.35);
}
.mm-atf-form-btn:disabled {
  opacity: 0.6;
  cursor: default;
}

.mm-atf-cta-msg {
  margin: 14px 0 0;
  font-family: var(--mm-font-mono);
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.3px;
}
.mm-atf-cta-msg.is-ok {
  color: var(--mm-cyan);
}
.mm-atf-cta-msg.is-err {
  color: var(--mm-magenta, #ff006e);
}

.mm-atf-cta-alt {
  margin: 14px 0 0;
  font-family: var(--mm-font-mono);
  font-size: 11px;
  letter-spacing: 0.3px;
  color: var(--mm-text-muted);
}
.mm-atf-cta-alt a {
  color: var(--mm-text-secondary, #b8b8c0);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.mm-atf-cta-alt a:hover {
  color: var(--mm-cyan);
}

/* ── 3. Mid-article strip ────────────────────────────────── */
.mm-inline-cta {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 36px 0;
  padding: 20px;
  background: var(--mm-bg-secondary);
  border: 1px solid var(--mm-border-cyan);
  border-left: 3px solid var(--mm-cyan);
}
.mm-inline-cta.is-muted {
  border-color: rgba(255, 255, 255, 0.08);
  border-left-color: var(--mm-text-muted);
}

.mm-inline-cta-kicker {
  display: block;
  margin-bottom: 8px;
  font-family: var(--mm-font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mm-cyan);
}
.mm-inline-cta.is-muted .mm-inline-cta-kicker {
  color: var(--mm-text-muted);
}

.mm-inline-cta-text {
  margin: 0 !important;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--mm-text-secondary, #b8b8c0);
}

.mm-inline-cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 15px 18px;
  min-height: 52px;
  box-sizing: border-box;
  background: var(--mm-cyan);
  color: var(--mm-bg-primary) !important;
  font-family: var(--mm-font-mono);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none !important;
  border: none !important;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
.mm-inline-cta-btn:hover,
.mm-inline-cta-btn:focus-visible {
  background: #1af7ff;
  box-shadow: 0 0 24px rgba(0, 240, 255, 0.35);
  color: var(--mm-bg-primary) !important;
}
.mm-inline-cta-btn.is-ghost {
  background: transparent;
  color: var(--mm-cyan) !important;
  border: 1px solid var(--mm-border-cyan) !important;
}
.mm-inline-cta-btn.is-ghost:hover {
  background: rgba(0, 240, 255, 0.08);
  color: var(--mm-cyan) !important;
  box-shadow: none;
}

/* ── 4. Desktop refinements ──────────────────────────────── */
@media (min-width: 700px) {
  .mm-atf-cta {
    padding: 26px 26px 24px;
  }
  .mm-atf-cta-score {
    font-size: 26px;
  }
  .mm-atf-cta-line {
    font-size: 15px;
  }

  /* Email + button sit side by side once there is room */
  .mm-atf-form {
    flex-direction: row;
    align-items: stretch;
  }
  .mm-atf-form-in {
    flex: 1 1 auto;
  }
  .mm-atf-form-btn {
    width: auto;
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .mm-inline-cta {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 24px;
  }
  .mm-inline-cta-body {
    flex: 1 1 auto;
  }
  .mm-inline-cta-btn {
    width: auto;
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

/* On desktop the sidebar already carries a CTA. Soften the top box so the
   page does not read as two identical buttons stacked next to each other. */
@media (min-width: 1025px) {
  .mm-atf-cta {
    margin-bottom: 36px;
  }
  .mm-atf-cta-btn {
    justify-content: center;
    gap: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mm-atf-cta-btn,
  .mm-atf-form-btn,
  .mm-inline-cta-btn {
    transition: none;
  }
}

/* ============================================================
   CTA FIXES  (Sept 14 2026, post-deploy)
   ============================================================ */

/* ── 1. Mid-article button text was invisible ──────────────
   The inline CTA is injected INTO the_content, so it lands inside
   .mm-report-content. That container carries:

       .mm-report-content a { color: var(--mm-cyan) !important; }

   Specificity (0,1,1) with !important, against .mm-inline-cta-btn
   at (0,1,0) with !important. The container rule wins, so the button
   rendered cyan text on a cyan background: a solid bar with no
   readable label.

   Fixed by raising specificity above (0,1,1) rather than piling on
   more !important. The link underline that .mm-report-content adds
   to every anchor is removed here too. */
.mm-inline-cta a.mm-inline-cta-btn,
.mm-report-content .mm-inline-cta a.mm-inline-cta-btn {
  color: var(--mm-bg-primary) !important;
  border: none !important;
  border-bottom: none !important;
  text-decoration: none !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 52px;
  box-sizing: border-box;
  padding: 15px 18px;
  background: var(--mm-cyan);
  font-family: var(--mm-font-mono);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  line-height: 1.2;
}

.mm-inline-cta a.mm-inline-cta-btn:hover,
.mm-report-content .mm-inline-cta a.mm-inline-cta-btn:hover {
  background: #1af7ff;
  color: var(--mm-bg-primary) !important;
  box-shadow: 0 0 24px rgba(0, 240, 255, 0.35);
}

/* Ghost variant, same specificity problem, same fix */
.mm-inline-cta a.mm-inline-cta-btn.is-ghost,
.mm-report-content .mm-inline-cta a.mm-inline-cta-btn.is-ghost {
  background: transparent;
  color: var(--mm-cyan) !important;
  border: 1px solid var(--mm-border-cyan) !important;
}
.mm-inline-cta a.mm-inline-cta-btn.is-ghost:hover,
.mm-report-content .mm-inline-cta a.mm-inline-cta-btn.is-ghost:hover {
  background: rgba(0, 240, 255, 0.08);
  color: var(--mm-cyan) !important;
  box-shadow: none;
}

/* The strip also sits inside prose, so neutralise inherited paragraph
   spacing and make sure the kicker is not restyled as body copy. */
.mm-report-content .mm-inline-cta {
  margin: 36px 0;
}
.mm-report-content .mm-inline-cta .mm-inline-cta-text {
  margin: 0 !important;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--mm-text-secondary, #b8b8c0);
}

@media (min-width: 700px) {
  .mm-inline-cta a.mm-inline-cta-btn,
  .mm-report-content .mm-inline-cta a.mm-inline-cta-btn {
    width: auto;
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

/* ── 2. Affiliate disclosure was unreadable ────────────────
   It used --mm-text-dim (#444448) on the #141414 card, roughly a
   1.9:1 contrast ratio. An FTC disclosure nobody can physically read
   is not a disclosure. Raised to a legible tone while staying quiet
   enough to sit under the button. */
.mm-atf-cta-disc {
  color: #8b8b95;
  font-size: 10px;
}

/* ── 3. Unscored state ─────────────────────────────────────
   Research pieces, industry news, pillar pages and long articles are
   not tool reviews and carry no Hype Score. They get the neutral cyan
   treatment, never the magenta alert accent, which per the brand
   system is reserved for genuine warnings. */
.mm-atf-cta.is-unscored {
  border-color: var(--mm-border-cyan);
}
.mm-atf-cta.is-unscored .mm-atf-cta-bracket {
  border-color: var(--mm-cyan);
}
.mm-atf-cta.is-unscored .mm-atf-cta-verdict {
  color: var(--mm-cyan);
}

.mm-atf-cta.is-capture.is-neutral {
  border-color: var(--mm-border-cyan);
}
.mm-atf-cta.is-capture.is-neutral .mm-atf-cta-bracket {
  border-color: var(--mm-cyan);
}
.mm-atf-cta.is-capture.is-neutral .mm-atf-cta-verdict {
  color: var(--mm-cyan);
}
.mm-atf-cta.is-capture.is-neutral .mm-atf-cta-head {
  border-bottom-color: rgba(0, 240, 255, 0.12);
}
.mm-atf-cta.is-capture.is-neutral::after {
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0, 240, 255, 0.02) 2px,
    rgba(0, 240, 255, 0.02) 4px
  );
}

/* ── 4. Head row with no score ─────────────────────────────
   The score was removed from the top box, so the header is now a
   single label. Keep it left-aligned instead of stranded by
   space-between. */
.mm-atf-cta-head:has(> :only-child) {
  justify-content: flex-start;
}
