body.theme-overlay {
  background:
    radial-gradient(circle at top center, rgba(59, 130, 246, 0.12), transparent 28%),
    linear-gradient(180deg, #081120, #0a1324 42%, #08101d 100%);
  color: #f8fafc;
}

.theme-overlay .site-header {
  position: fixed;
  width: 100%;
  z-index: 50;
}

.theme-overlay .site-header .brand,
.theme-overlay .site-header .nav-list a {
  color: #f8fafc;
}

.theme-overlay .site-header.is-scrolled .brand,
.theme-overlay .site-header.is-scrolled .nav-list a {
  color: var(--color-text);
}

.theme-overlay .site-header:not(.is-scrolled) .menu-toggle {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(14px);
}

.theme-overlay .site-header:not(.is-scrolled) .menu-toggle span {
  background: #fff;
}

.overlay-hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  align-items: end;
  overflow: clip;
}

.overlay-image,
.overlay-scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.overlay-image {
  object-fit: cover;
  transform: scale(1.03);
}

.overlay-scrim {
  background:
    linear-gradient(180deg, rgba(8, 17, 32, 0.16), rgba(8, 17, 32, 0.82)),
    linear-gradient(90deg, rgba(8, 17, 32, 0.68), rgba(8, 17, 32, 0.18));
}

.overlay-content {
  position: relative;
  z-index: 1;
  padding-top: calc(var(--header-height) + var(--space-xl));
  padding-bottom: var(--space-4xl);
}

.theme-overlay .overlay-hero-content {
  max-width: 760px;
}

.theme-overlay .hero-copy,
.theme-overlay p,
.theme-overlay .footer {
  color: rgba(248, 250, 252, 0.82);
}

.theme-overlay .overlay-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 1.5rem 0 2rem;
}

.theme-overlay .overlay-tags span {
  padding: 0.65rem 0.95rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(10px);
  font-size: 0.92rem;
  font-weight: 600;
}

.theme-overlay .overlay-split {
  align-items: start;
  gap: clamp(2rem, 4vw, 4rem);
}

.theme-overlay .overlay-profile-card,
.theme-overlay .overlay-showcase-card {
  padding: 2rem;
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(12px);
}

.theme-overlay .profile-row + .profile-row {
  margin-top: 1.2rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.theme-overlay .profile-row strong {
  display: block;
  margin-bottom: 0.45rem;
  color: #ffffff;
}

.theme-overlay .section-header.narrow {
  max-width: 760px;
}

.theme-overlay .overlay-feature-card,
.theme-overlay .overlay-showcase-card,
.theme-overlay .overlay-cta,
.theme-overlay .case-card {
  position: relative;
  overflow: hidden;
}

.theme-overlay .overlay-feature-card::before,
.theme-overlay .overlay-showcase-card::before,
.theme-overlay .overlay-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(96, 165, 250, 0.12), transparent 45%);
  pointer-events: none;
}

.theme-overlay .overlay-feature-grid .card {
  min-height: 100%;
}

.theme-overlay .overlay-points {
  display: grid;
  gap: 0.95rem;
  margin-top: 1.5rem;
  padding-left: 0;
  list-style: none;
}

.theme-overlay .overlay-points li {
  padding: 1rem 1.1rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.cases-strip {
  background: rgba(255, 255, 255, 0.04);
}

.cases-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
}

.case-card {
  overflow: hidden;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: var(--shadow-md);
  transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}

.case-card img {
  width: 100%;
  min-height: 320px;
  object-fit: cover;
}

.case-card div {
  padding: var(--space-lg);
}

.theme-overlay .card:hover,
.theme-overlay .case-card:hover,
.theme-overlay .overlay-profile-card:hover,
.theme-overlay .overlay-showcase-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

@media (max-width: 980px) {
  .overlay-hero {
    min-height: auto;
    padding: 0;
  }

  .overlay-content {
    padding-top: calc(var(--header-height) + var(--space-2xl));
    padding-bottom: var(--space-3xl);
  }

  .cases-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .theme-overlay .site-header .nav-panel {
    background: rgba(8, 17, 32, 0.94);
  }

  .theme-overlay .site-header .nav-panel a {
    color: #f8fafc;
  }

  .case-card img {
    min-height: 220px;
  }

  .theme-overlay .overlay-tags {
    gap: 0.5rem;
  }

  .theme-overlay .overlay-tags span {
    font-size: 0.84rem;
    padding: 0.55rem 0.75rem;
  }

  .theme-overlay .overlay-profile-card,
  .theme-overlay .overlay-showcase-card {
    padding: 1.2rem;
  }
}