/* Shared button navigation for the home and legal pages; home hero styling. */
.hero.hero--home {
  min-height: clamp(360px, 35vw, 500px);
  padding: 64px 0 130px;
  --hero-overlay: linear-gradient(90deg, rgba(6, 33, 16, .50), rgba(6, 33, 16, .25) 55%, rgba(6, 33, 16, .08));
  background-position: center 40%;
}
.hero--home .hero-title { gap: 28px; }
.hero--home .hero-leaf { width: 120px; height: 120px; flex: 0 0 120px; }
.hero--home h1 { min-width: 0; font-size: clamp(3.25rem, 7vw, 6rem); line-height: 1.08; text-wrap: balance; }
.section.quick-section--primary { position: relative; height: 0; padding: 0; }
.quick-links.quick-links--primary {
  margin-top: 0;
  transform: translateY(calc(-100% - 24px));
  padding: 12px;
  gap: 24px;
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(0, 40, 16, .11);
}
.quick-links--primary .column, .quick-links--primary .action, .quick-links--primary .action p { display: flex; min-width: 0; }
.quick-links--primary .action, .quick-links--primary .action p { width: 100%; }
.quick-links--primary .action { border-radius: 5px; }
.quick-links--primary .action a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px;
  padding: 13px 14px;
  border-radius: 5px;
  font-size: .9375rem;
  line-height: 1.4;
  letter-spacing: .08em;
  transition: background-color .18s ease;
}
.quick-section--primary + .section { padding-top: 32px; }
@media (max-width: 980px) {
  .hero.hero--home { min-height: 340px; padding: 60px 0 130px; }
  .hero--home .hero-title { gap: 24px; }
  .hero--home .hero-leaf { width: 96px; height: 96px; flex-basis: 96px; }
  .quick-links.quick-links--primary { gap: 16px; padding: 12px; }
  .quick-links--primary .action a { font-size: .875rem; letter-spacing: .06em; }
}
@media (max-width: 600px) {
  .hero.hero--home { min-height: 280px; padding: 52px 0; background-position: 46% 40%; }
  .hero--home .hero-title { gap: 16px; }
  .hero--home .hero-leaf { width: 76px; height: 76px; flex-basis: 76px; }
  .hero--home h1 { font-size: clamp(2.6rem, 11vw, 3.25rem); line-height: 1.1; }
  .section.quick-section--primary { height: auto; display: flow-root; }
  .quick-links.quick-links--primary { grid-template-columns: 1fr; gap: 10px; padding: 10px; margin-top: 18px; transform: none; }
  .quick-links--primary .action a { min-height: 50px; padding: 12px; }
  .quick-section--primary + .section { padding-top: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .quick-links--primary .action a { transition: none; }
}

/* Keep the expanded navigation in reading order with enough room for each link. */
.site-header .brand { flex-shrink: 0; }
@media (min-width: 1151px) and (max-width: 1400px) {
  .site-header .header-inner { width: 88%; }
  .site-header .logo { width: 200px; }
  .site-header #hauptnavigation { gap: 15px; }
}
@media (max-width: 1150px) {
  .site-header .header-inner { flex-wrap: wrap; }
  .site-header .menu-toggle { display: block; }
  .site-header #hauptnavigation { display: none; width: 100%; padding: 0 0 20px; flex-direction: column; align-items: stretch; gap: 0; }
  .site-header #hauptnavigation.open { display: flex; }
  .site-header #hauptnavigation > a { padding: 10px 0; border-top: 1px solid #eee; }
}
