/* CHARGED white + green brand layer.
   Loaded after charged.css / charged.min.css so production and local builds
   share the same visual direction without duplicating the base stylesheet. */

:root {
  --ch-bg: #ffffff;
  --ch-surface: #ffffff;
  --ch-surface-2: #f3f8f5;
  --ch-ink: #10261d;
  --ch-ink-muted: #52685f;
  --ch-ink-subtle: #71857c;
  --ch-border: rgba(9, 71, 48, 0.14);
  --ch-border-strong: rgba(15, 122, 77, 0.34);
  --ch-accent: #0f7a4d;
  --ch-accent-bright: #14945e;
  --ch-accent-dim: rgba(20, 148, 94, 0.11);
  --ch-accent-glow: rgba(20, 148, 94, 0.24);
  --ch-secondary: #2b7a5b;
  --ch-secondary-dim: rgba(43, 122, 91, 0.12);
  --ch-navy: #052d22;
  --ch-navy-soft: #08382a;
  --ch-panel: #0a3d2e;
  --ch-shadow: 0 16px 40px rgba(5, 45, 34, 0.08);
  --ch-shadow-hover: 0 22px 50px rgba(5, 45, 34, 0.13);
}

[data-theme="dark"] {
  --ch-bg: #071d16;
  --ch-surface: #0a2a20;
  --ch-surface-2: #0d3428;
  --ch-ink: #f2f8f5;
  --ch-ink-muted: #b7c9c0;
  --ch-ink-subtle: #8eaaa0;
  --ch-border: rgba(105, 194, 151, 0.18);
  --ch-border-strong: rgba(105, 194, 151, 0.38);
  --ch-accent: #69c297;
  --ch-accent-bright: #7dd6aa;
  --ch-accent-dim: rgba(105, 194, 151, 0.12);
  --ch-accent-glow: rgba(125, 214, 170, 0.22);
  --ch-secondary: #87c9a9;
  --ch-secondary-dim: rgba(135, 201, 169, 0.13);
  --ch-navy: #041a13;
  --ch-navy-soft: #06251b;
  --ch-panel: #0a2a20;
}

.ch-header {
  background: rgba(5, 45, 34, 0.96);
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

.ch-header.is-scrolled {
  box-shadow: 0 10px 30px rgba(5, 45, 34, 0.2);
}

[data-theme="dark"] .ch-header {
  background: rgba(4, 26, 19, 0.97);
}

.ch-logo__mark {
  background: #ffffff;
  border-color: rgba(125, 214, 170, 0.45);
  box-shadow: none;
}

.ch-logo__mark svg {
  color: #0f7a4d;
}

.ch-logo__text,
.ch-logo,
.ch-nav a:hover {
  color: #ffffff;
}

.ch-nav a {
  color: rgba(255, 255, 255, 0.72);
}

.ch-nav a[aria-current="page"] {
  color: #9be1bb;
}

.ch-icon-btn,
.ch-nav-toggle {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
}

.ch-icon-btn:hover {
  border-color: rgba(155, 225, 187, 0.62);
  background: rgba(155, 225, 187, 0.12);
}

.ch-mobile-nav {
  background: #063526;
}

.ch-mobile-nav a {
  color: rgba(255, 255, 255, 0.82);
}

.ch-btn--primary {
  background: #0f7a4d;
  border-color: #0f7a4d;
  color: #ffffff;
}

.ch-btn--primary:hover,
.ch-btn--primary:focus-visible {
  background: #0a6340;
  border-color: #0a6340;
  color: #ffffff;
  box-shadow: 0 10px 28px rgba(15, 122, 77, 0.22);
}

.ch-hero--light {
  background: linear-gradient(145deg, #ffffff 0%, #f6fbf8 58%, #edf7f1 100%);
}

.ch-hero--light .ch-hero__glow {
  background: radial-gradient(circle, rgba(20, 148, 94, 0.16), transparent 68%);
}

.ch-hero--light .ch-hero__mesh {
  opacity: 0.45;
}

.ch-card,
.ch-subscribe-block,
.ch-schedule__item {
  border-color: var(--ch-border);
}

.ch-badge,
.ch-eyebrow,
.ch-kicker,
.ch-link-arrow,
.ch-archive-more a {
  color: var(--ch-accent);
}

.ch-section--surface {
  background: #f3f8f5;
}

.ch-cta-band,
.ch-footer {
  background: #052d22;
}

/* Homepage social proof carousel */
.ch-proof {
  overflow: hidden;
  background: #ffffff;
  border-block: 1px solid var(--ch-border);
  padding: 1.4rem 0 1.55rem;
}

.ch-proof__label {
  margin: 0 0 1rem;
  text-align: center;
  color: var(--ch-ink-muted);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ch-proof__viewport {
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent, #000 9%, #000 91%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 9%, #000 91%, transparent);
}

.ch-proof__track {
  width: max-content;
  display: flex;
  align-items: center;
  gap: clamp(2.2rem, 6vw, 5.5rem);
  padding-inline: 2rem;
  animation: ch-proof-scroll 24s linear infinite;
  will-change: transform;
}

.ch-proof__brand {
  flex: 0 0 auto;
  color: #244a3a;
  font-family: var(--font-ui);
  font-size: clamp(1rem, 2.4vw, 1.35rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  white-space: nowrap;
  opacity: 0.78;
}

.ch-proof__brand--nvidia {
  letter-spacing: 0.06em;
}

@keyframes ch-proof-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 1.1rem)); }
}

@media (prefers-reduced-motion: reduce) {
  .ch-proof__viewport {
    overflow-x: auto;
    mask-image: none;
    -webkit-mask-image: none;
  }

  .ch-proof__track {
    animation: none;
  }
}

@media (max-width: 640px) {
  .ch-proof {
    padding-block: 1.1rem 1.25rem;
  }

  .ch-proof__label {
    padding-inline: 1.25rem;
    font-size: 0.68rem;
  }

  .ch-proof__track {
    gap: 2.2rem;
  }
}
