.site-shell {
  background:
    radial-gradient(circle at 22% 10%, rgba(71, 180, 255, 0.18), transparent 32rem),
    linear-gradient(180deg, rgba(2, 7, 13, 0.2), var(--color-void) 36rem);
  min-height: 100vh;
}

.container {
  margin: 0 auto;
  max-width: var(--max-width);
  padding: 0 var(--space-5);
}

.section {
  border-top: 1px solid var(--color-line);
  padding: var(--space-7) 0;
}

.section-header {
  align-items: end;
  display: flex;
  gap: var(--space-5);
  justify-content: space-between;
  margin-bottom: var(--space-5);
}

.hero {
  background:
    linear-gradient(90deg, rgba(2, 7, 13, 0.88), rgba(2, 7, 13, 0.48), rgba(2, 7, 13, 0.92)),
    url("../images/backgrounds/hero.jpg") center / cover;
  border-bottom: 1px solid var(--color-line);
  min-height: 32rem;
  padding: var(--space-5) 0 var(--space-7);
}

.hero-grid {
  align-items: center;
  display: grid;
  gap: var(--space-7);
  grid-template-columns: minmax(0, 1fr) 23rem;
  min-height: 25rem;
}

.hero-brand {
  align-items: center;
  display: grid;
  gap: var(--space-5);
  grid-template-columns: 11rem minmax(0, 1fr);
}

.hero-mark {
  border: 1px solid rgba(71, 180, 255, 0.28);
  border-radius: 22%;
  box-shadow: var(--shadow-glow);
}

.hero-copy {
  border-left: 1px solid var(--color-line-strong);
  padding-left: var(--space-6);
}

.hero-copy p + p {
  margin-top: var(--space-5);
}

.grid {
  display: grid;
  gap: var(--space-5);
}

.product-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.two-column {
  align-items: start;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.45fr);
}

.page-hero {
  padding: var(--space-7) 0;
}

.page-hero-grid {
  align-items: center;
  display: grid;
  gap: var(--space-6);
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.85fr);
}
