/* =========================================
NEWSPLICITY DESIGN SYSTEM (NDS) - BRUTALIST
========================================= */
:root {
  /* Primitives */
  --nsp-cream: #F4EDDC;
  --nsp-charcoal: #2A2A2A;
  --nsp-black: #111111;
  --nsp-white: #ffffff;
  --nsp-acid: #BBFF27;
  /* Semantic Layer */
  --color-canvas: var(--nsp-black);
  --color-surface: var(--nsp-charcoal);
  --color-accent: var(--nsp-acid);
  /* Typography */
  --font-head: "Satoshi", sans-serif;
  --font-body: "Lato", sans-serif;
  --font-mono: "JetBrains Mono", monospace;
  --font-ui: "Inter", sans-serif;
  /* Metrics */
  --border-width: 2px;
  --shadow-hard: 6px 6px 0px var(--nsp-black);
}

/* Base Reset */
amp-story {
  color: var(--nsp-cream);
  font-family: var(--font-body);
}

/* Slide Themes (The "Poster" System) */
.slide-dark {
  background-color: var(--nsp-black);
  color: var(--nsp-cream);
}

.slide-acid {
  background-color: var(--nsp-acid);
  color: var(--nsp-black);
}

.slide-acid h1,
.slide-acid p,
.slide-acid .type-mono {
  color: var(--nsp-black);
}

.slide-acid .badge--outline {
  border-color: var(--nsp-black);
  color: var(--nsp-black);
}

.slide-cream {
  background-color: var(--nsp-cream);
  color: var(--nsp-black);
}

.slide-cream h1,
.slide-cream p {
  color: var(--nsp-black);
}

.slide-charcoal {
  background-color: var(--nsp-charcoal);
  color: var(--nsp-cream);
}

/* Typography Hierarchy */
h1 {
  margin-bottom: 2rem;
  font-weight: 900;
  font-size: 3em;
  line-height: 0.9;
  font-family: var(--font-head);
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

p {
  max-width: 90%;
  font-weight: 400;
  font-size: 1.25em;
  line-height: 1.4;
  font-family: var(--font-body);
}

.type-mono {
  font-size: 0.85rem;
  font-family: var(--font-mono);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.highlight {
  color: var(--color-accent);
}

.slide-acid .highlight {
  color: var(--nsp-white);
  /* Invert highlight on acid background */
}

/* Components */
.badge {
  display: inline-block;
  margin-bottom: 1.5rem;
  border: 2px solid currentColor;
  padding: 4px 8px;
  font-weight: 700;
  font-size: 0.75rem;
  font-family: var(--font-mono);
  text-transform: uppercase;
}

.btn {
  display: inline-block;
  box-shadow: var(--shadow-hard);
  border: 4px solid var(--nsp-black);
  background: var(--nsp-white);
  padding: 20px 40px;
  color: var(--nsp-black);
  font-weight: 900;
  font-size: 1.2rem;
  font-family: var(--font-head);
  text-decoration: none;
  text-transform: uppercase;
}

/* Visual Artifacts */
.terminal-box {
  margin-top: 2rem;
  border: 2px dashed currentColor;
  padding: 2rem;
  font-family: var(--font-mono);
}

.divider {
  margin: 2rem 0;
  background: currentColor;
  width: 60px;
  height: 8px;
}

.big-number {
  display: block;
  font-weight: 900;
  font-size: 5rem;
  line-height: 0.8;
  font-family: var(--font-head);
}

.stat-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 2px solid currentColor;
  padding: 1rem 0;
}

/* Layout Utility */
.padding-std {
  padding: 40px;
}

.center-content {
  align-content: center;
}

.bottom-content {
  align-content: end;
}

/* Video Elements */
amp-video {
  width: 100%;
  height: 100%;
}

amp-video video {
  object-fit: cover;
}

amp-video [fallback] {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
  padding: 20px;
  height: 100%;
  color: #fff;
  text-align: center;
}

.i-amphtml-story-desktop-one-panel.i-amphtml-story-system-layer {
  margin-top: 0px !important;
}