body {
  background-color: var(--color-background);
  color: var(--color-text-primary);
  font-family: var(--font-body);
}

.font-display {
  font-family: var(--font-display);
}

html {
  scroll-behavior: smooth;
}

body.menu-open {
  overflow: hidden;
}

img {
  border-radius: 16px;
}

.section-rule {
  width: 60%;
  margin: 0 auto;
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--color-secondary) 60%, transparent);
}

.logo-mark {
  width: 56px;
  height: 56px;
  border-radius: 16px;
}

.hero-overlay {
  background: rgba(3, 30, 42, 0.22);
}

.metric-card,
.service-card,
.contact-card {
  border-radius: 24px;
  box-shadow: 0 8px 24px rgba(42, 62, 71, 0.12);
}

.form-input {
  border-radius: 12px;
}

.btn-brutalist,
.nav-link-pill,
.mobile-nav-link {
  background-color: var(--color-surface);
  color: var(--color-text-primary);
  border: 3px solid var(--color-primary);
  border-radius: 0;
  box-shadow: 3px 3px 0 var(--color-primary);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.btn-brutalist:hover,
.nav-link-pill:hover,
.mobile-nav-link:hover,
.btn-brutalist:focus-visible,
.nav-link-pill:focus-visible,
.mobile-nav-link:focus-visible {
  box-shadow: 0 0 0 var(--color-primary);
  transform: translate(3px, 3px);
  outline: none;
}

.pill-button {
  border-radius: 9999px;
}

.hero-link,
.footer-link,
.text-link {
  transition: color 0.2s ease, opacity 0.2s ease;
}

.hero-link:hover,
.footer-link:hover,
.text-link:hover {
  color: var(--color-accent);
}

.mobile-panel {
  display: none;
}

.mobile-panel.open {
  display: block;
}

.cookie-banner {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 50;
  border-radius: 24px;
  border: 1px solid color-mix(in srgb, var(--color-secondary) 30%, transparent);
  box-shadow: 0 8px 24px rgba(42, 62, 71, 0.12);
}

.cookie-banner[hidden] {
  display: none;
}

@media (min-width: 768px) {
  .cookie-banner {
    left: auto;
    right: 2rem;
    bottom: 2rem;
    width: min(28rem, calc(100vw - 4rem));
  }
}
