/* ===== durbyn custom theme — matches Durbyn.jl ===== */
:root {
  --brand: #2e7dd7;
  --ink: #0b1324;
  --muted: #6b7280;
  --bg: #ffffff;
  --card: #f8fafc;
}

/* Material theme color overrides */
[data-md-color-scheme="default"] {
  --md-primary-fg-color: #2e7dd7;
  --md-primary-fg-color--light: #5a9be6;
  --md-primary-fg-color--dark: #1b5faa;
  --md-accent-fg-color: #2e7dd7;
  --md-typeset-a-color: #2e7dd7;
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color: #2e7dd7;
  --md-primary-fg-color--light: #5a9be6;
  --md-primary-fg-color--dark: #1b5faa;
  --md-accent-fg-color: #5a9be6;
  --md-default-bg-color: #0b1324;
  --md-default-fg-color: #ebf0f6;
  --md-code-bg-color: #0f1a2b;
}

/* HERO */
.hero {
  padding: 3rem 0 2rem;
  text-align: center;
}

.hero .logo {
  width: 96px;
  height: 96px;
  border-radius: 20px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.hero h1 {
  font-size: 2.4rem;
  margin: 0.75rem 0 0.25rem;
}

.hero p {
  color: var(--muted);
  margin: 0 auto 1rem;
  max-width: 720px;
}

/* CTA buttons */
.cta-row {
  display: inline-flex;
  gap: 0.75rem;
  margin: 0.75rem 0 0;
}

.btn {
  padding: 0.6rem 1rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  text-decoration: none;
  font-weight: 500;
}

.btn.primary {
  background: var(--brand);
  color: white;
  border-color: var(--brand);
}

.btn.ghost {
  background: transparent;
}

/* BADGES */
.badges {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  margin-top: 0.75rem;
  filter: saturate(0.9);
}

/* GRID */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin: 1.25rem 0;
}

.card {
  background: var(--card);
  padding: 1rem;
  border-radius: 14px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.card h3 {
  margin-top: 0;
}

[data-md-color-scheme="slate"] .card {
  background: #0f1a2b;
  border-color: rgba(255, 255, 255, 0.06);
}

/* FOOTER */
.footer {
  opacity: 0.7;
  text-align: center;
  font-size: 0.9rem;
  padding: 1rem 0 0;
}
