:root {
  --accent: #fd6f19;
  --bs-primary: var(--accent);
}

[data-bs-theme="light"] {
  --bs-body-bg: #fdfbf7;
}

.btn-primary {
  --bs-btn-bg: var(--accent);
  --bs-btn-border-color: var(--accent);
  --bs-btn-hover-bg: color-mix(in srgb, var(--accent) 85%, black);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--accent) 80%, black);
  --bs-btn-active-bg: color-mix(in srgb, var(--accent) 75%, black);
  --bs-btn-active-border-color: color-mix(in srgb, var(--accent) 70%, black);
  --bs-btn-disabled-bg: var(--accent);
  --bs-btn-disabled-border-color: var(--accent);
  --bs-btn-focus-shadow-rgb: 253, 111, 25;
}

.lang-switch {
  border: 1px solid var(--bs-border-color);
  border-radius: 999px;
  padding: 2px;
  gap: 2px;
}

.lang-switch .btn {
  border: none;
  border-radius: 999px;
}

.lang-switch .btn.active {
  background-color: var(--bs-primary);
  color: var(--bs-body-bg);
  box-shadow: none;
}

.pillar-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background-color: var(--bs-border-color);
}

.pillar-tile {
  position: relative;
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
  text-decoration: none;
  padding: 3rem 2rem;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.pillar-tile:hover,
.pillar-tile:focus-visible {
  background-color: var(--bs-secondary-bg);
  transform: scale(1.02);
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  .pillar-tile {
    transition: none;
  }
}

@media (max-width: 575.98px) {
  .pillar-grid {
    grid-template-columns: 1fr;
  }
}

.hero-photo {
  width: 100%;
  max-height: 28rem;
  object-fit: cover;
}

.feature-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.feature-card:hover,
.feature-card:focus-within {
  transform: translateY(-6px);
  box-shadow: var(--bs-box-shadow);
}

@media (prefers-reduced-motion: reduce) {
  .feature-card {
    transition: none;
  }
}
