/* ═══ Frontier AI Weekly — Edition 1: The Platform Era ═══
   Design thesis: Hardware Race meets Breakthrough Week.
   Palette: deep graphite, silicon silver, copper accents, violet brand.
   Typography: Outfit (display), Inter (body), JetBrains Mono (data). */

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

:root {
  --bg-primary: #07070e;
  --bg-secondary: #0b0b15;
  --bg-surface: rgba(255,255,255,0.025);
  --bg-elevated: rgba(255,255,255,0.045);
  --text-primary: #e8e8f0;
  --text-secondary: #a8a8bc;
  --text-muted: #6a6a7e;
  --accent-violet: #8b5cf6;
  --accent-violet-dim: rgba(139,92,246,0.12);
  --accent-blue: #3b82f6;
  --accent-blue-dim: rgba(59,130,246,0.10);
  --accent-green: #17b26a;
  --accent-green-dim: rgba(23,178,106,0.10);
  --accent-copper: #c87533;
  --accent-copper-dim: rgba(200,117,51,0.12);
  --accent-amber: #d4760a;
  --accent-amber-dim: rgba(212,118,10,0.12);
  --accent-silver: #9ca3af;
  --glass: rgba(255,255,255,0.035);
  --glass-border: rgba(255,255,255,0.07);
  --glass-highlight: rgba(200,117,51,0.18);
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
  --font-display: 'Outfit', var(--font-sans);
  --ease-out-expo: cubic-bezier(0.16,1,0.3,1);
  --ease-spring: cubic-bezier(0.34,1.56,0.64,1);
  --section-pad: clamp(3rem,8vw,6rem) clamp(1.25rem,5vw,3rem);
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
  font-family: var(--font-sans);
  background: var(--bg-primary);
  color: var(--text-primary);
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-tap-highlight-color: transparent;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 10000;
  pointer-events: none;
  opacity: 0.032;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 256px 256px;
}

/* ── Ticker ──────────────────────────────────────────────── */
.ticker-strip {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 9999;
  height: 44px;
  padding-top: env(safe-area-inset-top);
  background: rgba(7,7,14,0.88);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  border-bottom: 1px solid rgba(200,117,51,0.18);
  overflow: hidden;
  display: flex;
  align-items: center;
}

.ticker-track {
  display: flex;
  width: max-content;
  animation: ticker-scroll 52s linear infinite;
}

.ticker-content {
  display: flex;
  align-items: center;
  white-space: nowrap;
  padding: 0 1.5rem;
  font-size: 0.7rem;
}

.ticker-item {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  color: var(--text-muted);
  font-family: var(--font-sans);
}

.ticker-label {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent-copper);
  font-weight: 600;
}

.ticker-divider {
  color: rgba(200,117,51,0.25);
  margin: 0 1rem;
  font-size: 0.4rem;
}

@keyframes ticker-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── Edition page shell ──────────────────────────────────── */
.edition-page {
  position: relative;
  min-height: 100dvh;
  min-height: 100vh;
  padding-top: calc(44px + env(safe-area-inset-top, 0px));
}

/* ── HERO ────────────────────────────────────────────────── */
.hero {
  position: relative;
  z-index: 1;
  min-height: calc(100dvh - 44px - env(safe-area-inset-top, 0px));
  min-height: calc(100vh - 44px - env(safe-area-inset-top, 0px));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 4rem clamp(1.5rem,6vw,5rem) 5rem;
  overflow: hidden;
}

.hero__grid-bg {
  position: absolute;
  inset: -20%;
  background-image:
    linear-gradient(rgba(200,117,51,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200,117,51,0.035) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 70% 65% at 30% 50%, black 0%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 70% 65% at 30% 50%, black 0%, transparent 80%);
  animation: grid-drift 30s ease-in-out infinite alternate;
}

@keyframes grid-drift {
  0% { transform: translate(0,0) rotate(0deg); }
  100% { transform: translate(-1.5%,0.8%) rotate(0.4deg); }
}

.hero__glow {
  position: absolute;
  width: min(80vw,600px);
  height: min(80vw,600px);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200,117,51,0.16) 0%, rgba(139,92,246,0.06) 40%, transparent 65%);
  filter: blur(50px);
  top: 40%;
  left: 20%;
  transform: translate(-50%,-50%);
  pointer-events: none;
  z-index: -1;
}

.hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent-copper);
  border: 1px solid rgba(200,117,51,0.3);
  background: var(--accent-copper-dim);
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  margin-bottom: 1.5rem;
}

.hero__badge-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent-green);
  box-shadow: 0 0 12px var(--accent-green);
  animation: pulse-dot 2.4s ease-in-out infinite;
}

@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.9); }
}

.hero__kicker {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 1.5rem;
}

.hero__title {
  font-family: var(--font-display);
  font-weight: 900;
  line-height: 0.88;
  margin-bottom: 1.75rem;
}

.hero__title-line {
  display: block;
  font-size: clamp(3.5rem,15vw,9rem);
  letter-spacing: -0.05em;
  color: var(--text-primary);
}

.hero__title-line--accent {
  background: linear-gradient(135deg, #f5c06e 0%, #c87533 45%, #8b5cf6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 50px rgba(200,117,51,0.2));
}

.hero__subtitle {
  max-width: 44rem;
  font-size: clamp(0.95rem,2.2vw,1.15rem);
  line-height: 1.7;
  color: var(--text-secondary);
  margin-bottom: 2.5rem;
}

.hero__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1rem;
  width: 100%;
  max-width: 680px;
  margin-bottom: 2rem;
}

.hero__stat {
  border: 1px solid var(--glass-border);
  background: var(--glass);
  backdrop-filter: blur(8px);
  padding: 1rem 1.1rem;
  border-radius: 10px;
}

.hero__stat-value {
  display: block;
  font-family: var(--font-mono);
  font-size: clamp(1.2rem,3vw,1.6rem);
  font-weight: 700;
  color: var(--accent-copper);
  letter-spacing: -0.02em;
  margin-bottom: 0.25rem;
}

.hero__stat-label {
  display: block;
  font-size: 0.72rem;
  color: var(--text-muted);
  font-family: var(--font-mono);
  letter-spacing: 0.04em;
}

/* ── Source links ─────────────────────────────────────────── */
.source {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  text-decoration: none;
  border-bottom: 1px solid rgba(139,92,246,0.2);
  padding-bottom: 1px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  margin-right: 1rem;
  margin-top: 0.75rem;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.source:hover {
  color: var(--accent-violet);
  border-color: var(--accent-violet);
}

/* ── Section base ────────────────────────────────────────── */
.section {
  position: relative;
  z-index: 1;
}
.section__inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: var(--section-pad);
}
.section__label {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent-copper);
  margin-bottom: 0.75rem;
}
.section__title {
  font-family: var(--font-display);
  font-size: clamp(1.6rem,4.5vw,2.6rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  margin-bottom: 0.75rem;
  color: var(--text-primary);
}
.section__lead {
  max-width: 48rem;
  font-size: clamp(0.9rem,1.8vw,1.05rem);
  line-height: 1.7;
  color: var(--text-secondary);
  margin-bottom: 2.5rem;
}
.section__aside {
  max-width: 48rem;
  font-size: 0.88rem;
  line-height: 1.65;
  color: var(--text-muted);
  margin-top: 2rem;
  padding-left: 1rem;
  border-left: 2px solid var(--accent-violet-dim);
}

/* ── 1. Blueprint (Vera Rubin) ───────────────────────────── */
.section--blueprint {
  border-top: 1px solid rgba(200,117,51,0.1);
}
.blueprint-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px,1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}
.bp-card {
  border: 1px solid var(--glass-border);
  background: var(--glass);
  border-radius: 10px;
  padding: 1.4rem;
  transition: border-color 0.3s ease, transform 0.3s var(--ease-out-expo);
}
.bp-card:hover {
  border-color: rgba(200,117,51,0.25);
  transform: translateY(-2px);
}
.bp-card--highlight {
  border-color: rgba(200,117,51,0.3);
  background: linear-gradient(145deg, rgba(200,117,51,0.06), var(--glass));
}
.bp-card__icon {
  font-size: 1rem;
  color: var(--accent-copper);
  margin-bottom: 0.5rem;
}
.bp-card__title {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 0.5rem;
  letter-spacing: 0.02em;
}
.bp-card__spec {
  font-size: 0.82rem;
  line-height: 1.55;
  color: var(--text-muted);
}
.bp-card__tag {
  display: inline-block;
  margin-top: 0.75rem;
  font-family: var(--font-mono);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent-copper);
  background: var(--accent-copper-dim);
  padding: 0.25rem 0.55rem;
  border-radius: 4px;
}
.blueprint-aside {
  max-width: 48rem;
  font-size: 0.88rem;
  line-height: 1.65;
  color: var(--text-secondary);
  padding: 1.25rem 1.5rem;
  border-left: 3px solid var(--accent-copper);
  background: rgba(200,117,51,0.03);
  border-radius: 0 8px 8px 0;
}

/* ── 2. Dossier (GPT-5.4) ───────────────────────────────── */
.section--dossier {
  background: linear-gradient(180deg, transparent 0%, rgba(59,130,246,0.02) 50%, transparent 100%);
}
.dossier-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 700px) {
  .dossier-grid { grid-template-columns: 1fr; }
}
.dossier-card {
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  overflow: hidden;
}
.dossier-card--primary {
  background: linear-gradient(145deg, rgba(59,130,246,0.06), var(--bg-surface));
  border-color: rgba(59,130,246,0.2);
}
.dossier-card--secondary {
  background: var(--glass);
}
.dossier-card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--glass-border);
}
.dossier-card__model {
  font-family: var(--font-mono);
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--accent-blue);
  letter-spacing: 0.04em;
}
.dossier-card__status {
  font-family: var(--font-mono);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent-green);
}
.dossier-card__specs {
  list-style: none;
  padding: 1rem 1.25rem;
}
.dossier-card__specs li {
  display: flex;
  justify-content: space-between;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  font-size: 0.82rem;
}
.dossier-card__specs li span {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 0.72rem;
}
.dossier-card__specs li strong {
  color: var(--text-primary);
  font-weight: 600;
  text-align: right;
}
.dossier-card__note {
  padding: 1rem 1.25rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: var(--text-muted);
}
.dossier-stack {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* ── 3. Metrics (Anthropic) ──────────────────────────────── */
.section--metrics {
  border-top: 1px solid rgba(139,92,246,0.08);
}
.metric-rail {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px,1fr));
  gap: 1rem;
  margin-bottom: 2.5rem;
}
.metric-block {
  background: var(--glass);
  border: 1px solid var(--glass-border);
  border-radius: 10px;
  padding: 1.25rem;
  text-align: center;
}
.metric-block__value {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(1.6rem,4vw,2.2rem);
  font-weight: 800;
  color: var(--accent-violet);
  letter-spacing: -0.03em;
  margin-bottom: 0.3rem;
}
.metric-block__label {
  display: block;
  font-size: 0.72rem;
  color: var(--text-muted);
  margin-bottom: 0.3rem;
}
.metric-block__delta {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.6rem;
  color: var(--accent-green);
  letter-spacing: 0.04em;
}

.anthropic-updates { margin-top: 2rem; }
.subsection-title {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1rem;
  letter-spacing: -0.01em;
}
.update-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px,1fr));
  gap: 1rem;
}
.update-card {
  background: var(--glass);
  border: 1px solid var(--glass-border);
  border-radius: 10px;
  padding: 1.25rem;
}
.update-card__date {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent-violet);
  margin-bottom: 0.5rem;
}
.update-card h4 {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.4rem;
}
.update-card p {
  font-size: 0.82rem;
  line-height: 1.55;
  color: var(--text-muted);
}

/* ── 4. Agents ───────────────────────────────────────────── */
.section--agents {
  background: linear-gradient(180deg, transparent 0%, rgba(23,178,106,0.015) 50%, transparent 100%);
}
.agent-flow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin-bottom: 2.5rem;
  padding: 1.5rem 0;
}
.agent-node {
  flex: 1 1 160px;
  min-width: 140px;
  padding: 1rem;
  border-radius: 10px;
  text-align: center;
}
.agent-node--trigger {
  border: 1px solid rgba(59,130,246,0.25);
  background: var(--accent-blue-dim);
}
.agent-node--process {
  border: 1px solid rgba(139,92,246,0.25);
  background: var(--accent-violet-dim);
}
.agent-node--gate {
  border: 1px solid rgba(212,118,10,0.25);
  background: var(--accent-amber-dim);
}
.agent-node--output {
  border: 1px solid rgba(23,178,106,0.25);
  background: var(--accent-green-dim);
}
.agent-node__label {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--text-primary);
  margin-bottom: 0.3rem;
}
.agent-node__detail {
  display: block;
  font-size: 0.68rem;
  color: var(--text-muted);
}
.agent-connector {
  width: 28px;
  height: 2px;
  background: linear-gradient(90deg, var(--glass-border), rgba(200,117,51,0.25));
  flex-shrink: 0;
}
@media (max-width: 700px) {
  .agent-flow { flex-direction: column; }
  .agent-connector { width: 2px; height: 20px; }
}

.agent-lineup {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px,1fr));
  gap: 1rem;
}
.agent-product {
  border: 1px solid var(--glass-border);
  background: var(--glass);
  border-radius: 10px;
  padding: 1.25rem;
}
.agent-product h4 {
  font-family: var(--font-mono);
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--accent-green);
  margin-bottom: 0.5rem;
}
.agent-product p {
  font-size: 0.82rem;
  line-height: 1.55;
  color: var(--text-muted);
}

/* ── 5. Ecosystem (Open Models) ──────────────────────────── */
.section--ecosystem {
  border-top: 1px solid rgba(200,117,51,0.08);
}
.eco-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px,1fr));
  gap: 1.25rem;
}
.eco-card {
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color 0.3s ease;
}
.eco-card:hover { border-color: rgba(200,117,51,0.2); }
.eco-card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.85rem 1.25rem;
  background: rgba(255,255,255,0.02);
  border-bottom: 1px solid var(--glass-border);
}
.eco-card__name {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--accent-copper);
}
.eco-card__license {
  font-family: var(--font-mono);
  font-size: 0.55rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent-green);
  background: var(--accent-green-dim);
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
}
.eco-card__body {
  padding: 1.1rem 1.25rem;
}
.eco-card__body p {
  font-size: 0.82rem;
  line-height: 1.6;
  color: var(--text-muted);
}

/* ── 6. Policy (EU AI Act timeline) ──────────────────────── */
.section--policy {
  background: linear-gradient(180deg, transparent, rgba(212,118,10,0.015) 50%, transparent);
}
.timeline-strip {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin-bottom: 2.5rem;
  padding: 1rem 0;
}
.timeline-node {
  flex: 1 1 180px;
  padding: 1rem 1.25rem;
  border-radius: 8px;
  border: 1px solid var(--glass-border);
  background: var(--glass);
  text-align: center;
}
.timeline-node--pushed {
  border-color: rgba(212,118,10,0.3);
  background: var(--accent-amber-dim);
}
.timeline-node__date {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--accent-amber);
  margin-bottom: 0.3rem;
}
.timeline-node__event {
  display: block;
  font-size: 0.78rem;
  color: var(--text-secondary);
  line-height: 1.45;
}
.timeline-node__tag {
  display: inline-block;
  margin-top: 0.4rem;
  font-family: var(--font-mono);
  font-size: 0.52rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-amber);
  background: rgba(212,118,10,0.15);
  padding: 0.15rem 0.45rem;
  border-radius: 3px;
}
.timeline-bar {
  width: 32px;
  height: 2px;
  background: rgba(212,118,10,0.2);
  flex-shrink: 0;
}
@media (max-width: 700px) {
  .timeline-strip { flex-direction: column; }
  .timeline-bar { width: 2px; height: 16px; }
}

.policy-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
@media (max-width: 640px) { .policy-split { grid-template-columns: 1fr; } }
.policy-block {
  border-radius: 10px;
  padding: 1.25rem;
}
.policy-block--delay {
  background: var(--glass);
  border: 1px solid var(--glass-border);
}
.policy-block--ban {
  background: linear-gradient(145deg, rgba(212,118,10,0.05), var(--glass));
  border: 1px solid rgba(212,118,10,0.2);
}
.policy-block h3 {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}
.policy-block p {
  font-size: 0.82rem;
  line-height: 1.6;
  color: var(--text-muted);
}

/* ── 7. Document (U.S. Policy) ───────────────────────────── */
.section--document {
  border-top: 1px solid rgba(255,255,255,0.04);
}
.doc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px,1fr));
  gap: 1rem;
}
.doc-block {
  border: 1px solid var(--glass-border);
  background: var(--glass);
  border-radius: 8px;
  padding: 1.25rem;
}
.doc-block--highlight {
  border-color: rgba(212,118,10,0.25);
  background: linear-gradient(145deg, rgba(212,118,10,0.04), var(--glass));
}
.doc-block__type {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.55rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-silver);
  background: rgba(156,163,175,0.08);
  padding: 0.2rem 0.5rem;
  border-radius: 3px;
  margin-bottom: 0.6rem;
}
.doc-block h4 {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.4rem;
}
.doc-block p {
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--text-muted);
}

/* ── 8. Research (Safety triad) ──────────────────────────── */
.section--research {
  background: linear-gradient(180deg, transparent, rgba(139,92,246,0.015) 50%, transparent);
}
.research-triad {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px,1fr));
  gap: 1.25rem;
  margin-bottom: 2rem;
}
.paper-card {
  border: 1px solid var(--glass-border);
  background: var(--glass);
  border-radius: 10px;
  padding: 1.25rem;
  border-top: 3px solid var(--accent-violet);
}
.paper-card__tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.55rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent-violet);
  background: var(--accent-violet-dim);
  padding: 0.2rem 0.5rem;
  border-radius: 3px;
  margin-bottom: 0.6rem;
}
.paper-card__title {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}
.paper-card__thesis {
  font-size: 0.82rem;
  line-height: 1.6;
  color: var(--text-muted);
}
.research-aside {
  max-width: 48rem;
  font-size: 0.85rem;
  line-height: 1.65;
  color: var(--text-secondary);
  padding: 1rem 1.25rem;
  border-left: 3px solid var(--accent-violet);
  background: rgba(139,92,246,0.03);
  border-radius: 0 8px 8px 0;
}

/* ── 9. Funding radar ────────────────────────────────────── */
.section--funding {
  border-top: 1px solid rgba(23,178,106,0.08);
}
.funding-table {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.funding-row {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr 0.8fr 1.2fr 2fr;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  align-items: center;
  font-size: 0.8rem;
  color: var(--text-muted);
  min-width: 640px;
}
.funding-row--header {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
  border-bottom: 1px solid rgba(200,117,51,0.15);
}
.funding-row__company {
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--text-primary);
}
.funding-row__amount {
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--accent-green);
}

/* ── 10. Split (Google vs Microsoft) ─────────────────────── */
.section--split {
  background: linear-gradient(180deg, transparent, rgba(59,130,246,0.01) 50%, transparent);
}
.split-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
@media (max-width: 700px) { .split-grid { grid-template-columns: 1fr; } }
.split-panel {
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  padding: 1.5rem;
}
.split-panel--google {
  border-top: 3px solid var(--accent-blue);
}
.split-panel--microsoft {
  border-top: 3px solid var(--accent-violet);
}
.split-panel h3 {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: var(--text-primary);
}
.split-panel__items { display: flex; flex-direction: column; gap: 1rem; }
.split-item {
  padding: 0.85rem;
  background: var(--bg-surface);
  border-radius: 8px;
}
.split-item h4 {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.3rem;
}
.split-item p {
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--text-muted);
}

/* ── 11. Contrarian ──────────────────────────────────────── */
.section--contrarian {
  border-top: 1px solid rgba(212,118,10,0.1);
}
.contrarian-quote {
  font-family: var(--font-display);
  font-size: clamp(1.15rem,3vw,1.6rem);
  font-weight: 700;
  font-style: italic;
  color: var(--accent-copper);
  border-left: 4px solid var(--accent-copper);
  padding: 1rem 1.5rem;
  margin-bottom: 2rem;
  max-width: 42rem;
  line-height: 1.45;
}
.contrarian-body {
  max-width: 48rem;
}
.contrarian-body p {
  font-size: 0.92rem;
  line-height: 1.7;
  color: var(--text-secondary);
  margin-bottom: 1rem;
}
.contrarian-body strong {
  color: var(--text-primary);
}

/* ── 12. Lookahead (Week Ahead) ──────────────────────────── */
.section--lookahead {
  background: linear-gradient(180deg, transparent, rgba(200,117,51,0.015) 50%, transparent);
}
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px,1fr));
  gap: 1rem;
}
.calendar-card {
  border: 1px solid var(--glass-border);
  background: var(--glass);
  border-radius: 10px;
  padding: 1.25rem;
  transition: border-color 0.3s ease;
}
.calendar-card:hover { border-color: rgba(200,117,51,0.2); }
.calendar-card__day {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent-copper);
  background: var(--accent-copper-dim);
  padding: 0.2rem 0.55rem;
  border-radius: 4px;
  margin-bottom: 0.6rem;
}
.calendar-card h4 {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.35rem;
}
.calendar-card p {
  font-size: 0.78rem;
  line-height: 1.55;
  color: var(--text-muted);
}

/* ── Footer ──────────────────────────────────────────────── */
.site-footer {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 3rem 1.5rem calc(3rem + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(255,255,255,0.05);
}
.site-footer__brand {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.site-footer__pulse {
  display: inline-block;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--accent-violet);
  box-shadow: 0 0 14px rgba(139,92,246,0.45);
  animation: footer-pulse 2.8s ease-in-out infinite;
}
@keyframes footer-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}
.site-footer__regen {
  font-size: 0.82rem;
  color: var(--text-muted);
  line-height: 1.6;
  max-width: 28rem;
  margin: 0 auto 1rem;
}
.site-footer__session {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-violet);
  margin-bottom: 0.35rem;
}
.site-footer__timestamp {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  color: #505060;
  letter-spacing: 0.04em;
  margin-bottom: 1.25rem;
}

/* ── Scroll-reveal helper ────────────────────────────────── */
.anim-reveal { will-change: transform, opacity; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 480px) {
  .hero__stats {
    grid-template-columns: 1fr 1fr;
  }
  .hero {
    align-items: center;
    text-align: center;
  }
  .hero__stats {
    justify-items: center;
  }
}
@media (max-width: 360px) {
  .hero__stats {
    grid-template-columns: 1fr;
  }
}
