.skip-link {
  position: fixed;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 10000;
  padding: 0.75rem 1rem;
  color: #fff;
  background: #212529;
  border: 2px solid #fff;
  border-radius: 0.25rem;
  transform: translateY(-150%);
}

.skip-link:focus {
  color: #fff;
  transform: translateY(0);
}

:root {
  --hub-text-size: clamp(1.0625rem, 1rem + 0.2vw, 1.125rem);
  --hub-text-line-height: 1.65;
  --hub-heading-line-height: 1.15;
  --hub-content-width: 68ch;
  --hub-section-space: clamp(3rem, 6vw, 6rem);
}

body {
  font-size: var(--hub-text-size);
  line-height: var(--hub-text-line-height);
  text-rendering: optimizeLegibility;
}

h1,
.h1 {
  font-size: clamp(2.25rem, 1.55rem + 3vw, 4.5rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

h2,
.h2 {
  font-size: clamp(1.75rem, 1.35rem + 1.6vw, 3rem);
  line-height: var(--hub-heading-line-height);
  letter-spacing: -0.025em;
}

h3,
.h3 {
  font-size: clamp(1.375rem, 1.15rem + 0.9vw, 2rem);
  line-height: 1.25;
}

h4,
.h4,
h5,
.h5,
h6,
.h6 {
  line-height: 1.3;
}

p,
li {
  max-width: var(--hub-content-width);
}

.lead {
  max-width: 60ch;
  font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.3rem);
  line-height: 1.6;
}

.hub-eyebrow {
  margin-bottom: 0.75rem;
  color: var(--bs-primary);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hub-intro {
  max-width: 58ch;
  margin-inline: auto;
  font-size: clamp(1.125rem, 1.05rem + 0.35vw, 1.35rem);
  line-height: 1.6;
}

.hub-hero-title {
  max-width: 13ch;
  margin: 0;
  color: #fff;
  text-wrap: balance;
}

.hub-home-hero {
  position: relative;
  display: grid;
  min-height: 100svh;
  margin: 0;
  overflow: visible;
  background-position: center;
  background-size: cover;
}

.hub-home-hero__overlay {
  display: grid;
  align-items: center;
  width: 100%;
  min-height: inherit;
  padding: clamp(6rem, 10vh, 7.5rem) 0 clamp(2.5rem, 5vh, 4rem);
}

.hub-home-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(15rem, 0.85fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.hub-home-hero__copy {
  max-width: 44rem;
}

.hub-home-hero__copy .hub-intro {
  max-width: 44ch;
  margin: 1.25rem 0 0;
}

.hub-home-hero__brand {
  display: flex;
  width: clamp(14rem, 24vw, 18.5rem);
  aspect-ratio: 1;
  padding:
    clamp(0.15rem, 0.35vw, 0.3rem)
    clamp(0.4rem, 0.8vw, 0.65rem)
    clamp(0.7rem, 1.3vw, 1rem);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: #090b0a;
  border: 3px solid var(--bs-primary);
  border-radius: 50%;
  box-shadow:
    0 1.5rem 4rem rgba(0, 0, 0, 0.35),
    inset 0 0 0 1px rgba(255, 255, 255, 0.06);
  justify-self: center;
}

.hub-home-hero__tree {
  display: block;
  width: clamp(4.7rem, 8.5vw, 7rem);
  height: auto;
  margin-bottom: 0.4rem;
}

.hub-home-hero__wordmark {
  display: block;
  width: min(100%, 12.5rem);
  height: auto;
}

.hub-home-hero__eyebrow.hub-eyebrow {
  display: block;
  max-width: 100%;
  margin-top: 0.8rem;
  margin-bottom: 0;
  color: #e2cc71;
  font-size: clamp(0.46rem, 0.68vw, 0.55rem);
  letter-spacing: 0;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
}

.hub-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.75rem;
  margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

.hub-home-hero__actions .btn {
  min-width: 10.5rem;
}

.hub-entrypoints {
  padding-block: clamp(3.5rem, 7vw, 6rem);
  background: #f5f4f0;
}

.hub-entrypoints__header {
  max-width: 46rem;
  margin: 0 auto clamp(2rem, 4vw, 3rem);
  text-align: center;
}

.hub-entrypoints__header p {
  margin-inline: auto;
}

.hub-entrypoints__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.75rem, 2vw, 1.25rem);
}

.hub-entrypoint {
  display: flex;
  min-height: 7.5rem;
  padding: clamp(1rem, 2vw, 1.35rem);
  align-items: center;
  gap: 0.9rem;
  color: var(--bs-secondary);
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 1rem;
  box-shadow: 0 0.75rem 2rem rgba(29, 36, 31, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.hub-entrypoint__icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), 0.12);
  border-radius: 50%;
  place-items: center;
  flex: 0 0 3rem;
  font-size: 1.3rem;
}

.hub-entrypoint__content {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
}

.hub-entrypoint__content strong {
  font-size: 1.05rem;
  line-height: 1.3;
}

.hub-entrypoint__content > span {
  margin-top: 0.15rem;
  color: #59615c;
  font-size: 0.875rem;
  line-height: 1.35;
}

.hub-entrypoint__arrow {
  color: var(--bs-primary);
  font-size: 0.9rem;
  transition: transform 0.2s ease;
}

.hub-entrypoint:hover,
.hub-entrypoint:focus-visible {
  color: var(--bs-secondary);
  border-color: var(--bs-primary);
  box-shadow: 0 1rem 2.5rem rgba(29, 36, 31, 0.13);
  transform: translateY(-0.25rem);
}

.hub-entrypoint:hover .hub-entrypoint__arrow,
.hub-entrypoint:focus-visible .hub-entrypoint__arrow {
  transform: translateX(0.2rem);
}

.hub-split {
  padding-block: clamp(4.5rem, 9vw, 8rem);
  color: var(--bs-body-color);
  background: #fff;
}

.hub-split--soft {
  background: #f5f4f0;
}

.hub-split__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.hub-split__content {
  max-width: 36rem;
}

.hub-split__content h2 {
  margin-bottom: 1.25rem;
  text-wrap: balance;
}

.hub-split__content > p:not(.hub-eyebrow) {
  margin-bottom: 0;
  color: #414844;
}

.hub-split__media {
  position: relative;
  min-height: clamp(20rem, 38vw, 34rem);
  margin: 0;
  overflow: hidden;
  background: #e9e7e1;
  border-radius: clamp(1rem, 2vw, 1.75rem);
}

.hub-split__media img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hub-split__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.75rem;
}

.hub-overview-section {
  padding-block: clamp(4.5rem, 9vw, 8rem);
  background: #fff;
}

.hub-overview__header {
  max-width: 52rem;
  margin: 0 auto clamp(2.5rem, 5vw, 4.5rem);
  text-align: center;
}

.hub-overview__header p {
  margin-inline: auto;
}

.hub-overview__header h2 {
  margin-bottom: 1.25rem;
  text-wrap: balance;
}

.hub-overview__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.hub-overview__card {
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: #f7f6f2;
  border: 1px solid rgba(57, 77, 64, 0.12);
  border-radius: 1.25rem;
}

.hub-overview__card-icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  margin-bottom: 1.25rem;
  place-items: center;
  color: var(--bs-secondary);
  font-size: 1.35rem;
  background: rgba(var(--bs-primary-rgb), 0.2);
  border-radius: 50%;
}

.hub-overview__card h3 {
  margin-bottom: 1rem;
  font-size: clamp(1.25rem, 1.15rem + 0.35vw, 1.55rem);
}

.hub-overview__list {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hub-overview__list li {
  position: relative;
  padding-left: 1.25rem;
  line-height: 1.45;
}

.hub-overview__list li::before {
  position: absolute;
  top: 0.65em;
  left: 0;
  width: 0.4rem;
  height: 0.4rem;
  content: "";
  background: var(--bs-primary);
  border-radius: 50%;
  transform: translateY(-50%);
}

.hub-overview__link-button {
  display: inline;
  padding: 0;
  color: var(--bs-link-color);
  text-align: left;
  text-decoration: underline;
  background: transparent;
  border: 0;
}

.hub-overview__contact {
  display: flex;
  gap: 2rem;
  align-items: center;
  justify-content: space-between;
  margin-top: clamp(2rem, 5vw, 4rem);
  padding: clamp(1.5rem, 4vw, 3rem);
  color: #fff;
  background: var(--bs-secondary);
  border-radius: 1.25rem;
}

.hub-overview__contact .hub-eyebrow {
  margin-bottom: 0.35rem;
}

.hub-overview__contact h3,
.hub-overview__contact address {
  margin-bottom: 0;
}

.hub-overview__actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.hub-overview__actions .btn-outline-secondary {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.65);
}

.hub-payments-section,
.hub-more,
.hub-news,
.hub-location-section {
  padding-block: clamp(4.5rem, 9vw, 8rem);
}

.hub-payments-section {
  background: #f5f4f0;
}

.hub-payments__header,
.hub-more__header,
.hub-news__header {
  max-width: 50rem;
  margin: 0 auto clamp(2.5rem, 5vw, 4rem);
  text-align: center;
}

.hub-payments__header p,
.hub-more__header p,
.hub-news__header p {
  margin-inline: auto;
}

.hub-payments__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hub-payments__list li {
  display: flex;
  min-height: 8rem;
  padding: 1rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  color: var(--bs-secondary);
  text-align: center;
  background: #fff;
  border: 1px solid rgba(57, 77, 64, 0.1);
  border-radius: 1rem;
}

.hub-payments__list i {
  color: var(--bs-primary);
  font-size: 2.25rem;
}

.hub-payments__list img {
  width: 2.25rem;
  height: 2.25rem;
  object-fit: contain;
}

.hub-payments__list span {
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.3;
}

.hub-booking-section {
  padding-block: clamp(3rem, 6vw, 5rem);
  color: #fff;
  background: var(--bs-secondary);
}

.hub-booking {
  display: flex;
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  justify-content: space-between;
}

.hub-booking > div:first-child {
  max-width: 42rem;
}

.hub-booking h2,
.hub-booking p {
  color: #fff;
}

.hub-booking__actions {
  display: flex;
  min-width: min(100%, 19rem);
  flex: 0 0 auto;
  flex-direction: column;
  gap: 0.75rem;
}

.hub-more {
  background: #fff;
}

.hub-more__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.hub-more__card {
  display: flex;
  min-height: 22rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  flex-direction: column;
  color: var(--bs-body-color);
  text-decoration: none;
  background: #f7f6f2;
  border: 1px solid rgba(57, 77, 64, 0.12);
  border-radius: 1.25rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.hub-more__card > i {
  margin-bottom: 2rem;
  color: var(--bs-primary);
  font-size: 2rem;
}

.hub-more__card h3 {
  font-size: clamp(1.35rem, 1.2rem + 0.5vw, 1.7rem);
}

.hub-more__card p {
  color: #414844;
}

.hub-more__card > span {
  margin-top: auto;
  color: var(--bs-secondary);
  font-weight: 700;
}

.hub-more__card > span i {
  margin-left: 0.35rem;
}

.hub-more__card:hover,
.hub-more__card:focus-visible {
  color: var(--bs-body-color);
  border-color: var(--bs-primary);
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.1);
  transform: translateY(-0.25rem);
}

.hub-news {
  background: #f5f4f0;
}

.hub-news__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 2rem);
}

.hub-news-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(29, 36, 31, 0.08);
  border-radius: 1.25rem;
  box-shadow: 0 0.8rem 2.5rem rgba(29, 36, 31, 0.07);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.hub-news-card:hover,
.hub-news-card:focus-within {
  box-shadow: 0 1rem 3rem rgba(29, 36, 31, 0.12);
  transform: translateY(-0.25rem);
}

.hub-news-card__link {
  display: flex;
  height: 100%;
  color: var(--bs-body-color);
  flex-direction: column;
  text-decoration: none;
}

.hub-news-card__link:hover {
  color: var(--bs-body-color);
}

.hub-news-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.hub-news-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 300ms ease;
}

.hub-news-card:hover .hub-news-card__image {
  transform: scale(1.025);
}

.hub-news-card__body {
  display: flex;
  padding: clamp(1.25rem, 3vw, 2rem);
  flex: 1;
  flex-direction: column;
}

.hub-news-card__date {
  margin-bottom: 0.65rem;
  color: #687069;
  font-size: 0.875rem;
}

.hub-news-card h3 {
  margin-bottom: 0.8rem;
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.65rem);
}

.hub-news-card__more {
  margin-top: auto;
  padding-top: 0.75rem;
  color: var(--bs-primary);
  font-weight: 700;
}

.hub-news__actions {
  display: flex;
  justify-content: center;
  margin-top: clamp(2rem, 4vw, 3rem);
}

.hub-location-section {
  background: #fff;
}

.hub-location-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.hub-location-section__content {
  max-width: 34rem;
}

.hub-location-section__content address {
  margin: 1.5rem 0;
}

.hub-location-section__map {
  min-height: clamp(24rem, 42vw, 34rem);
  overflow: hidden;
  background: #e9e7e1;
  border-radius: 1.25rem;
}

.hub-location-section__map iframe {
  width: 100%;
  height: 100%;
  min-height: inherit;
  border: 0;
}

.hub-footer {
  color: rgba(255, 255, 255, 0.82);
  background: #111512;
}

.hub-footer .bootscore-footer {
  padding: clamp(4rem, 8vw, 7rem) 0 2rem;
  background: transparent;
}

.hub-footer a {
  color: #fff;
  text-decoration-color: rgba(255, 255, 255, 0.45);
  text-underline-offset: 0.2em;
}

.hub-footer a:hover {
  color: var(--bs-primary);
}

.hub-footer__brand {
  display: flex;
  gap: 2rem;
  align-items: flex-end;
  justify-content: space-between;
}

.hub-footer__brand > a {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
}

.hub-footer__brand img {
  width: clamp(3.5rem, 6vw, 5rem);
  height: auto;
}

.hub-footer__brand > a span {
  display: flex;
  flex-direction: column;
}

.hub-footer__brand > a strong {
  color: #fff;
  font-size: 1.4rem;
}

.hub-footer__brand > a small {
  color: var(--bs-primary);
}

.hub-footer__brand-content {
  display: flex;
  max-width: 35rem;
  flex-direction: column;
  align-items: flex-end;
  gap: 1rem;
}

.hub-footer__brand-content > p {
  max-width: 35rem;
  margin: 0;
  text-align: right;
}

.hub-footer__social {
  width: 100%;
}

.hub-footer__social-title {
  display: block;
  margin-bottom: 0.65rem;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.hub-footer__social-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
}

.hub-footer__social-link {
  display: flex;
  min-width: 0;
  min-height: 5.75rem;
  padding: 0.8rem 0.55rem;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.5rem;
  color: #fff !important;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
  background: rgba(255, 255, 255, 0.075);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 0.9rem;
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.hub-footer__social-link i {
  display: grid;
  width: 2.65rem;
  height: 2.65rem;
  color: #fff;
  font-size: 1.4rem;
  border-radius: 50%;
  place-items: center;
}

.hub-footer__social-link:hover,
.hub-footer__social-link:focus-visible {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.13);
  border-color: rgba(255, 255, 255, 0.32);
  transform: translateY(-2px);
}

.hub-footer__social-link--facebook i {
  background: #1877f2;
}

.hub-footer__social-link--instagram i {
  background: linear-gradient(135deg, #833ab4, #e1306c 55%, #fcb045);
}

.hub-footer__social-link--youtube i {
  background: #ff0033;
}

.hub-footer__social-link--whatsapp i {
  background: #25d366;
}

.hub-footer__divider {
  margin: clamp(2.5rem, 5vw, 4rem) 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.hub-footer__tourism {
  display: grid;
  grid-template-columns: minmax(16rem, .75fr) minmax(0, 1.25fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
  padding: 2rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.hub-footer__tourism h2 {
  margin-bottom: .55rem;
  color: #fff;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
}

.hub-footer__tourism p:last-child {
  margin-bottom: 0;
  color: rgba(255, 255, 255, .72);
}

.hub-footer__tourism nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
}

.hub-footer__tourism nav a {
  display: flex;
  gap: .75rem;
  min-width: 0;
  min-height: 5.5rem;
  padding: .9rem;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .18);
  text-decoration: none;
}

.hub-footer__tourism nav a:hover,
.hub-footer__tourism nav a:focus-visible {
  border-color: #bba136;
  background: rgba(187, 161, 54, .08);
}

.hub-footer__tourism nav i {
  flex: 0 0 auto;
  color: #bba136;
  font-size: 1.2rem;
}

.hub-footer__tourism nav span,
.hub-footer__tourism nav strong,
.hub-footer__tourism nav small {
  display: block;
  min-width: 0;
}

.hub-footer__tourism nav small {
  margin-top: .2rem;
  color: rgba(255, 255, 255, .62);
  font-size: .7rem;
}

@media (max-width: 991.98px) {
  .hub-footer__tourism {
    grid-template-columns: 1fr;
  }

  .hub-footer__tourism nav {
    grid-template-columns: 1fr;
  }
}

.hub-footer__top-widget {
  margin-bottom: 2rem;
}

.hub-footer__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(2rem, 4vw, 4rem);
}

.hub-footer__column h2,
.hub-footer__column h3,
.hub-footer__column h4,
.hub-footer__column h5,
.hub-footer__column .widget-title {
  margin-bottom: 1.25rem;
  color: #fff !important;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.hub-footer__column ul {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hub-footer__column p,
.hub-footer__column address,
.hub-footer__column li {
  font-size: 0.95rem;
  line-height: 1.65;
}

.hub-footer__quick-link {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: center;
  margin-top: 1.25rem;
  padding: 0.9rem;
  color: #fff !important;
  border: 1px solid rgba(var(--bs-primary-rgb), 0.55);
  border-radius: 0.9rem;
  background: rgba(var(--bs-primary-rgb), 0.12);
  text-decoration: none !important;
  transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.hub-footer__quick-link:hover,
.hub-footer__quick-link:focus-visible {
  color: #fff !important;
  border-color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), 0.2);
  transform: translateY(-2px);
}

.hub-footer__quick-link-icon {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  color: #202820;
  border-radius: 50%;
  background: var(--bs-primary);
}

.hub-footer__quick-link strong,
.hub-footer__quick-link small {
  display: block;
}

.hub-footer__quick-link small {
  margin-top: 0.1rem;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.75rem;
}

.hub-footer__legal-nav {
  margin-top: clamp(2.5rem, 5vw, 4rem);
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.hub-footer__help {
  display: flex;
  gap: clamp(1.5rem, 4vw, 3rem);
  margin-top: clamp(2.5rem, 5vw, 4rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  color: #fff;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1rem;
}

.hub-footer__help > div {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

.hub-footer__help-icon {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
  flex: 0 0 2.75rem;
}

.hub-footer__help h2 {
  margin-bottom: 0.35rem;
  color: #fff;
  font-size: 1.2rem;
}

.hub-footer__help p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.9375rem;
}

.hub-footer__help .btn {
  flex: 0 0 auto;
  white-space: nowrap;
}

.hub-footer__legal-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hub-footer__legal-menu a {
  font-size: 0.875rem;
}

.hub-footer__bottom {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  margin-top: 1.5rem;
}

.hub-footer__bottom small,
.hub-footer__bottom a {
  font-size: 0.875rem;
}

.hub-footer__theme {
  display: inline-flex;
  gap: .75rem;
  align-items: center;
}

.hub-footer__theme > span {
  color: rgba(255, 255, 255, .72);
  font-size: .8rem;
}

.hub-footer__theme .form-check-input {
  border-color: rgba(255, 255, 255, .55);
}

.hub-header-club {
  gap: .45rem;
  align-items: center;
  margin-right: .65rem;
  padding: .55rem .75rem;
  color: #394d40;
  border: 1px solid rgba(57, 77, 64, .28);
  border-radius: .65rem;
  font-size: .84rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}

.hub-header-club i {
  color: #bba136;
}

.hub-header-club:hover,
.hub-header-club:focus-visible {
  color: #26382d;
  border-color: #bba136;
  background: rgba(187, 161, 54, .12);
}

.hub-location {
  display: block;
  margin-top: 0.75rem;
  color: var(--bs-primary);
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.2rem);
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* Einheitliches Seitensystem */
.hub-page-hero {
  position: relative;
  padding-block: clamp(7rem, 9vw, 8.75rem) clamp(3.5rem, 6vw, 5.5rem);
  background:
    radial-gradient(circle at 10% 15%, rgba(var(--bs-primary-rgb), 0.14), transparent 24rem),
    #f7f5ef;
}

.hub-page-hero::after {
  position: absolute;
  right: 0.5rem;
  bottom: -10rem;
  width: min(24rem, calc(100% - 1rem));
  height: 24rem;
  content: "";
  border: 1px solid rgba(var(--bs-primary-rgb), 0.2);
  border-radius: 50%;
  pointer-events: none;
}

.hub-page-hero .container {
  position: relative;
  z-index: 1;
}

.hub-page-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(20rem, 1.05fr);
  gap: clamp(2.5rem, 6vw, 5.5rem);
  align-items: center;
}

.hub-page-hero__grid--text-only {
  grid-template-columns: minmax(0, 48rem);
  justify-content: center;
  text-align: center;
}

.hub-page-hero__content {
  max-width: 40rem;
}

.hub-page-hero__breadcrumb {
  display: flex;
  gap: 0.55rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
  color: #687069;
  align-items: center;
  flex-wrap: wrap;
  font-size: 0.8125rem;
  font-weight: 650;
}

.hub-page-hero__breadcrumb a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.hub-page-hero__breadcrumb a:hover {
  color: var(--bs-primary);
}

.hub-eyebrow {
  display: block;
  margin-bottom: 0.75rem;
  color: var(--bs-primary);
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-transform: uppercase;
}

.hub-page-hero .entry-title {
  max-width: 16ch;
  margin: 0;
  color: #1d241f;
  font-size: clamp(2.35rem, 5vw, 4.6rem);
  line-height: 1;
  text-wrap: balance;
}

.hub-page-hero__grid--text-only .entry-title {
  margin-inline: auto;
}

.hub-page-hero__grid--text-only .hub-page-hero__breadcrumb {
  justify-content: center;
}

.hub-page-hero__intro {
  max-width: 40rem;
  margin: 1.25rem 0 0;
  color: #4e5650;
  font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.3rem);
  line-height: 1.65;
}

.hub-page-hero__grid--text-only .hub-page-hero__intro {
  margin-inline: auto;
}

.hub-page-hero__media {
  min-height: clamp(20rem, 34vw, 29rem);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: clamp(1.25rem, 3vw, 2rem);
  box-shadow: 0 1.5rem 4rem rgba(26, 34, 28, 0.16);
}

.hub-page-hero__image {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.hub-page-hero__media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.hub-page-section {
  padding-block: clamp(4rem, 8vw, 7rem);
}

.hub-page-section--soft {
  background: #f7f5ef;
}

.hub-page-section--dark {
  color: #fff;
  background: #202820;
}

.hub-page-section--dark :where(h2, h3, p) {
  color: inherit;
}

.hub-page-section__content {
  max-width: 52rem;
}

.hub-page-section__content > :last-child {
  margin-bottom: 0;
}

.hub-visit {
  padding-block: clamp(4rem, 8vw, 7rem);
  background: #f7f5ef;
}

.hub-visit__header {
  max-width: 48rem;
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.hub-visit__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.hub-visit-card {
  display: flex;
  min-height: 18rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(29, 36, 31, 0.08);
  border-radius: 1rem;
  box-shadow: 0 0.8rem 2.5rem rgba(29, 36, 31, 0.07);
}

.hub-visit-card > i {
  margin-bottom: 1.25rem;
  color: var(--bs-primary);
  font-size: 1.6rem;
}

.hub-visit-card h3 {
  font-size: 1.25rem;
}

.hub-visit-card p {
  font-size: 0.975rem;
  line-height: 1.65;
}

.hub-visit-card__link {
  margin-top: auto;
  color: var(--bs-primary);
  font-weight: 750;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.hub-page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}

.hub-reservation__header,
.hub-menu-page__header {
  max-width: 48rem;
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.hub-reservation__embed,
.hub-menu-page__embed,
.hub-card-topup__embed {
  min-height: 24rem;
  padding: clamp(1rem, 3vw, 2rem);
  background: #f7f5ef;
  border: 1px solid rgba(29, 36, 31, 0.08);
  border-radius: 1.25rem;
}

.hub-reservation__loading,
.hub-menu-page__loading,
.hub-card-topup__loading {
  display: flex;
  min-height: 20rem;
  gap: 0.85rem;
  color: #59615c;
  align-items: center;
  justify-content: center;
}

.hub-reservation__loading i,
.hub-menu-page__loading i,
.hub-card-topup__loading i {
  color: var(--bs-primary);
  font-size: 1.5rem;
}

.hub-card-topup__note {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  margin: 0 0 0.85rem;
  color: var(--club-muted, var(--topup-muted, #59615c));
  font-size: 0.9rem;
  line-height: 1.55;
}

.hub-card-topup__note i {
  margin-top: 0.2em;
  color: var(--bs-primary);
}

.hub-card-topup__embed {
  min-height: 30rem;
  box-shadow: 0 1.5rem 4rem rgba(20, 30, 22, 0.09);
}

.hub-card-topup__embed iframe {
  width: 100%;
  background: #fff;
  border-radius: 0.75rem;
}

.hub-card-topup__error {
  margin: 0;
  padding: 1rem;
  color: #842029;
  border: 1px solid #f5c2c7;
  border-radius: 0.75rem;
  background: #f8d7da;
}

.hub-card-topup__fallback {
  margin: 0.85rem 0 0;
  color: var(--club-muted, var(--topup-muted, #59615c));
  font-size: 0.9rem;
  text-align: center;
}

.hub-card-topup__fallback a,
.hub-card-topup__error a {
  font-weight: 700;
  text-underline-offset: 0.18em;
}

.hub-reservation__alternative,
.hub-menu-page__alternative {
  display: flex;
  gap: 1.5rem;
  margin-top: 1.25rem;
  padding: clamp(1.25rem, 3vw, 1.75rem);
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border: 1px solid rgba(29, 36, 31, 0.1);
  border-radius: 1rem;
}

.hub-reservation__alternative div,
.hub-menu-page__alternative div {
  display: flex;
  flex-direction: column;
}

.hub-reservation__alternative span,
.hub-menu-page__alternative span {
  color: #59615c;
  font-size: 0.9375rem;
}

.hub-reservation__content,
.hub-menu-page__content {
  margin-top: clamp(2rem, 5vw, 4rem);
}

.hub-section-heading {
  padding-top: clamp(1rem, 3vw, 2rem);
}

/* Alte Inhaltsmodule erscheinen wie die neuen luftigen Split-Bereiche. */
.hub-legacy-section {
  position: relative;
  min-height: clamp(31rem, 56vw, 43rem);
  padding-block: clamp(4rem, 9vw, 8rem);
  background-color: #fff;
  background-position: right center !important;
  background-size: 50% 100% !important;
  background-repeat: no-repeat !important;
}

.hub-legacy-section--reverse {
  background-position: left center !important;
}

.hub-legacy-section--reverse .row {
  justify-content: flex-end;
}

.hub-legacy-section .row {
  align-items: center;
  min-height: clamp(23rem, 39vw, 31rem);
}

.hub-legacy-section .col-12 {
  padding: clamp(1.5rem, 4vw, 3.5rem);
  background: rgba(255, 255, 255, 0.96);
  border-radius: 1.25rem;
  box-shadow: 0 1rem 3rem rgba(26, 34, 28, 0.09);
}

.site-content > section:not(.hub-page-section, .hub-legacy-section, .hub-split, .hub-overview, .hub-payments, .hub-more, .hub-location-section) {
  padding-block: clamp(3.5rem, 7vw, 6rem);
}

.site-content .card {
  border: 1px solid rgba(29, 36, 31, 0.08);
  border-radius: 1rem;
  box-shadow: 0 0.8rem 2.5rem rgba(29, 36, 31, 0.07) !important;
}

.site-content .card-body {
  padding: clamp(1.25rem, 3vw, 2rem);
}

.site-content :where(iframe, .meetings-iframe-container) {
  max-width: 100%;
  border-radius: 1rem;
}

.site-content :where(.sectionlieferant, .sectionwirinerle) {
  padding-block: clamp(4rem, 8vw, 7rem);
}

.site-content :where(.sectionlieferant, .sectionwirinerle) .col-12 {
  padding: clamp(1.5rem, 4vw, 3rem);
  background: rgba(255, 255, 255, 0.96);
  border-radius: 1.25rem;
}

.site-content ul:not([class]) li + li {
  margin-top: 0.55rem;
}

/* Klare Hauptnavigation */
#masthead .hub-header {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid rgba(29, 36, 31, 0.08);
  box-shadow: 0 0.35rem 1.5rem rgba(29, 36, 31, 0.06);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

#nav-main {
  min-height: 5rem;
  padding-block: 0.55rem;
}

.hub-header__inner {
  display: flex;
  gap: clamp(0.75rem, 2vw, 1.5rem);
  align-items: center;
  flex-wrap: nowrap;
}

.hub-header__brand {
  display: flex;
  gap: 0.65rem;
  margin: 0;
  padding: 0.35rem 0;
  align-items: center;
  flex: 0 0 auto;
}

.hub-header__tree {
  display: block;
  width: 2.35rem;
  height: 2.55rem;
  object-fit: contain;
}

.hub-header__wordmark {
  display: block;
  width: clamp(6.75rem, 9vw, 7.8rem);
  height: auto;
  transition: filter 180ms ease;
}

.header-actions {
  gap: 0.25rem;
  margin-left: auto;
  flex: 0 0 auto;
}

.header-actions > :empty {
  display: none;
}

.hub-header__menu-toggle,
.top-nav-search-md {
  display: inline-flex;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  align-items: center;
  justify-content: center;
  border-color: rgba(57, 77, 64, 0.25);
  border-radius: 0.75rem;
}

#bootscore-navbar {
  align-items: center;
  gap: 0.15rem;
}

#bootscore-navbar > .menu-item > .nav-link {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  padding: 0.7rem 0.8rem;
  color: #263029;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  border-radius: 0.65rem;
}

#bootscore-navbar > .menu-item > .nav-link:hover,
#bootscore-navbar > .menu-item > .nav-link:focus-visible,
#bootscore-navbar > .current-menu-item > .nav-link,
#bootscore-navbar > .current-menu-ancestor > .nav-link {
  color: #1d241f;
  background: rgba(var(--bs-primary-rgb), 0.14);
}

.hub-menu-icon {
  width: 1.2em;
  color: var(--bs-primary);
  text-align: center;
  flex: 0 0 1.2em;
}

#bootscore-navbar .dropdown-item {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  min-height: 3.15rem;
  padding: 0.7rem 0.85rem;
  font-size: 0.9375rem;
  font-weight: 650;
  line-height: 1.3;
  white-space: normal;
  text-decoration: none;
  border-radius: 0.7rem;
}

#bootscore-navbar .dropdown-item:hover,
#bootscore-navbar .dropdown-item:focus-visible,
#bootscore-navbar .current-menu-item > .dropdown-item {
  background: rgba(var(--bs-primary-rgb), 0.12);
}

.hub-header-booking {
  gap: .45rem;
  align-items: center;
  min-height: 0;
  padding: .55rem .75rem;
  color: #263029;
  border: 1px solid #bba136;
  border-radius: .65rem;
  background: #bba136;
  box-shadow: none;
  font-size: .84rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.hub-header-booking:hover,
.hub-header-booking:focus-visible {
  color: #fff;
  border-color: #394d40;
  background: #394d40;
}

.hub-mobile-actions {
  display: grid;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(29, 36, 31, 0.12);
}

@media (min-width: 992px) {
  #offcanvas-navbar {
    min-width: 0;
    flex: 1 1 auto;
  }

  #offcanvas-navbar .offcanvas-body {
    justify-content: flex-end;
    padding: 0;
  }

  #bootscore-navbar .dropdown-menu {
    left: 50%;
    display: grid;
    width: min(42rem, calc(100vw - 3rem));
    padding: 0.8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.15rem;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(29, 36, 31, 0.1);
    border-radius: 1rem;
    box-shadow: 0 1.25rem 3rem rgba(29, 36, 31, 0.16);
    transform: translateX(-50%);
  }

  #bootscore-navbar .dropdown-menu:not(.show) {
    display: none;
  }

  #bootscore-navbar > .menu-item:last-child .dropdown-menu {
    right: 0;
    left: auto;
    transform: none;
  }
}

/* Compact, clearly sectioned main-menu dropdowns. */
#bootscore-navbar .dropdown-menu > li {
  min-width: 0;
}

#bootscore-navbar .hub-nav-group-start {
  margin-top: .55rem !important;
  padding-top: .8rem;
  border-top: 1px solid rgba(57, 77, 64, .15);
}

#bootscore-navbar .hub-nav-group-start:first-child {
  margin-top: 0 !important;
  padding-top: .25rem;
  border-top: 0;
}

#bootscore-navbar .hub-nav-group-start::before {
  display: none !important;
}

#bootscore-navbar .hub-nav-section-title {
  display: block;
  margin: 0 .7rem .3rem;
  color: #657068;
  font-size: .67rem;
  line-height: 1.2;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: .11em;
}

#bootscore-navbar .dropdown-menu .dropdown-item {
  min-height: 0;
  padding: .48rem .72rem;
  border: 0;
  border-radius: .45rem;
  background: transparent;
  font-size: .88rem;
  line-height: 1.25;
  box-shadow: none;
}

#bootscore-navbar .dropdown-menu .dropdown-item:hover,
#bootscore-navbar .dropdown-menu .dropdown-item:focus-visible,
#bootscore-navbar .dropdown-menu .current-menu-item > .dropdown-item {
  color: #26382d;
  background: rgba(187, 161, 54, .12);
}

#bootscore-navbar .hub-nav-featured > .dropdown-item {
  color: #26382d;
  border: 0;
  background: transparent;
  font-weight: 800;
}

@media (min-width: 992px) {
  #bootscore-navbar .dropdown-menu {
    width: min(31rem, calc(100vw - 3rem));
    grid-template-columns: 1fr;
    gap: 0;
    padding: .75rem;
  }

  #bootscore-navbar .dropdown-menu > .hub-nav-group-start {
    grid-column: 1;
  }
}

@media (max-width: 991.98px) {
  #masthead .hub-header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    z-index: 1050;
  }

  #nav-main {
    min-height: 4.25rem;
    padding-block: 0.4rem;
  }

  .hub-header__inner {
    gap: 0.5rem;
  }

  .hub-header__brand {
    gap: 0.3rem;
    margin-right: auto;
  }

  .hub-header__tree {
    width: 2rem;
    height: 2.15rem;
  }

  .hub-header__wordmark {
    width: 6.6rem;
  }

  .top-nav-widget,
  .top-nav-search-lg {
    display: none;
  }

  #offcanvas-navbar {
    position: fixed !important;
    inset: 0 0 0 auto !important;
    width: min(94vw, 26rem);
    height: 100vh !important;
    height: 100dvh !important;
    max-height: none !important;
    color: #263029;
    background: #f7f6f2;
    border-left: 0;
    box-shadow: -1rem 0 3rem rgba(29, 36, 31, 0.18);
    z-index: 2000;
  }

  #offcanvas-navbar .offcanvas-header {
    min-height: 5rem;
    padding: 0.75rem 1rem;
    background: #fff;
    border-bottom: 1px solid rgba(29, 36, 31, 0.1);
  }

  #offcanvas-navbar .offcanvas-body {
    display: flex;
    min-height: 0;
    padding: 0.85rem 1rem 1rem;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  .hub-mobile-menu__brand {
    display: inline-flex;
    gap: 0.65rem;
    min-width: 0;
    align-items: center;
    color: #1d241f;
    text-decoration: none;
  }

  .hub-mobile-menu__brand img {
    width: 2.15rem;
    height: 2.35rem;
    object-fit: contain;
  }

  .hub-mobile-menu__brand span {
    display: grid;
    line-height: 1.15;
  }

  .hub-mobile-menu__brand strong {
    font-size: 1rem;
  }

  .hub-mobile-menu__brand small {
    margin-top: 0.2rem;
    color: #657068;
    font-size: 0.75rem;
  }

  .hub-mobile-menu__header .btn-close {
    width: 2.5rem;
    height: 2.5rem;
    margin: 0;
    padding: 0.65rem;
    border-radius: 50%;
    background-color: rgba(29, 36, 31, 0.07);
    opacity: 0.85;
  }

  #bootscore-navbar {
    align-items: stretch;
    gap: 0.35rem;
  }

  #bootscore-navbar > .menu-item > .nav-link {
    min-height: 3.5rem;
    padding: 0.85rem 0.9rem;
    font-size: 1rem;
    background: #fff;
    border: 1px solid rgba(29, 36, 31, 0.09);
    border-radius: 0.85rem;
    box-shadow: 0 0.2rem 0.7rem rgba(29, 36, 31, 0.035);
  }

  #bootscore-navbar > .menu-item > .dropdown-toggle {
    padding-right: 0.75rem;
  }

  #bootscore-navbar > .menu-item > .dropdown-toggle::after {
    display: none;
  }

  #bootscore-navbar .dropdown-menu {
    position: static;
    display: block !important;
    margin: 0.35rem 0 0.55rem;
    padding: 0.4rem;
    background: rgba(255, 255, 255, 0.66);
    border: 1px solid rgba(29, 36, 31, 0.08);
    border-radius: 0.85rem;
    box-shadow: none;
    transform: none !important;
  }

  #bootscore-navbar .dropdown-item {
    min-height: 3rem;
    padding: 0.65rem 0.75rem;
    color: #354039;
    border-radius: 0.65rem;
  }

  #bootscore-navbar .dropdown-menu > .hub-nav-group-start {
    position: relative;
    margin-top: 1.65rem;
  }

  #bootscore-navbar .dropdown-menu > .hub-nav-group-start::before {
    position: absolute;
    bottom: calc(100% + .35rem);
    left: .75rem;
    color: #68736b;
    font-size: .68rem;
    line-height: 1;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: .1em;
    white-space: nowrap;
  }

  #bootscore-navbar .dropdown-menu > .hub-nav-group-quick,
  #bootscore-navbar .dropdown-menu > .hub-nav-group-planning {
    margin-top: 1.15rem;
  }

  #bootscore-navbar .hub-nav-group-quick::before {
    content: "Auf einen Blick";
  }

  #bootscore-navbar .hub-nav-group-areas::before {
    content: "Unsere Bereiche";
  }

  #bootscore-navbar .hub-nav-group-menus::before {
    content: "Speise- & Getränkekarten";
  }

  #bootscore-navbar .hub-nav-group-groups::before {
    content: "Für Gruppen";
  }

  #bootscore-navbar .hub-nav-group-planning::before {
    content: "Location & Planung";
  }

  #bootscore-navbar .hub-nav-group-occasions::before {
    content: "Private Anlässe";
  }

  #bootscore-navbar .hub-nav-group-business::before {
    content: "Für Unternehmen";
  }

  #bootscore-navbar .hub-nav-featured > .dropdown-item {
    color: #26382d;
    border: 1px solid rgba(187, 161, 54, .42);
    background: rgba(187, 161, 54, .1);
    font-weight: 800;
  }

  #bootscore-navbar #menu-item-1003 > .dropdown-item::before {
    margin-right: .55rem;
    color: #b09425;
    content: "\f274";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
  }

  #bootscore-navbar #menu-item-1724 > .dropdown-item::before {
    margin-right: .55rem;
    color: #b09425;
    content: "\f017";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
  }

  .hub-mobile-actions {
    position: sticky;
    bottom: -1px;
    z-index: 2;
    margin-top: auto;
    padding: 1.25rem 0 calc(0.75rem + env(safe-area-inset-bottom));
    background: linear-gradient(to bottom, rgba(247, 246, 242, 0), #f7f6f2 1.15rem);
    border-top: 0;
  }

  .hub-mobile-actions .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3.15rem;
    border-radius: 0.8rem;
  }
}

/* Dark Mode: bS Dark Mode steuert die Auswahl, Bootstrap 5.3 die Farbvariablen. */
.hub-color-mode {
  display: flex;
  align-items: center;
}

.hub-color-mode .dark-mode-switch {
  min-height: 0;
  margin: 0;
  padding: 0;
}

.hub-color-mode .form-check-input {
  width: 2.8rem;
  height: 1.5rem;
  margin: 0;
  border-color: rgba(57, 77, 64, 0.4);
  box-shadow: none;
}

.hub-color-mode .form-check-input:focus-visible {
  outline: 3px solid #005fcc !important;
  outline-offset: 3px;
}

html[data-bs-theme="dark"] {
  --hub-surface: #1d241f;
  --hub-surface-soft: #252e28;
  --hub-surface-raised: #2d3730;
  --hub-text: #edf1ed;
  --hub-text-muted: #c3cbc4;
  --hub-border: rgba(255, 255, 255, 0.13);
}

html[data-bs-theme="dark"] body {
  color: var(--hub-text);
  background: #171d19;
}

html[data-bs-theme="dark"] :where(.hub-page-hero, .hub-payments-section, .hub-news, .hub-page-section--soft) {
  background-color: var(--hub-surface-soft);
  background-image: none;
}

html[data-bs-theme="dark"] .hub-entrypoints {
  background-color: var(--hub-surface-soft);
}

html[data-bs-theme="dark"] .hub-visit {
  background-color: var(--hub-surface-soft);
}

html[data-bs-theme="dark"] :where(.hub-split, .hub-page-section, .hub-location-section) {
  color: var(--hub-text);
  background-color: var(--hub-surface);
}

html[data-bs-theme="dark"] :where(
  .hub-page-hero .entry-title,
  .hub-page-hero__intro,
  .hub-split h2,
  .hub-split p,
  .hub-page-section h2,
  .hub-page-section h3,
  .hub-page-section p,
  .hub-news__header h2,
  .hub-news__header p,
  .hub-payments__header h2,
  .hub-payments__header p,
  .hub-more__header h2,
  .hub-more__header p
) {
  color: inherit;
}

html[data-bs-theme="dark"] .hub-page-hero .entry-title {
  color: var(--hub-text);
}

html[data-bs-theme="dark"] .hub-page-hero__breadcrumb {
  color: var(--hub-text-muted);
}

html[data-bs-theme="dark"] :where(
  .hub-news-card,
  .hub-more__card,
  .hub-overview__card,
  .hub-payments__list li,
  .hub-entrypoint,
  .hub-visit-card,
  .hub-reservation__embed,
  .hub-reservation__alternative,
  .hub-menu-page__embed,
  .hub-menu-page__alternative,
  .hub-card-topup__embed,
  .site-content .card,
  .hub-legacy-section .col-12,
  .site-content .sectionlieferant .col-12,
  .site-content .sectionwirinerle .col-12
) {
  color: var(--hub-text);
  background-color: var(--hub-surface-raised);
  border-color: var(--hub-border);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.18) !important;
}

html[data-bs-theme="dark"] :where(
  .hub-entrypoint,
  .hub-entrypoint:hover,
  .hub-entrypoint:focus-visible,
  .hub-news-card__link,
  .hub-news-card__link:hover,
  .hub-more__card,
  .hub-more__card:hover,
  .hub-more__card:focus-visible
) {
  color: var(--hub-text);
}

html[data-bs-theme="dark"] :where(.hub-news-card__date, .text-muted) {
  color: var(--hub-text-muted) !important;
}

html[data-bs-theme="dark"] .hub-entrypoint__content > span {
  color: var(--hub-text-muted);
}

html[data-bs-theme="dark"] :where(
  .hub-reservation__loading,
  .hub-reservation__alternative span,
  .hub-menu-page__loading,
  .hub-menu-page__alternative span,
  .hub-card-topup__loading,
  .hub-card-topup__note,
  .hub-card-topup__fallback
) {
  color: var(--hub-text-muted);
}

html[data-bs-theme="dark"] :where(.hub-legacy-section, .hub-legacy-section--reverse) {
  background-color: var(--hub-surface);
}

html[data-bs-theme="dark"] #masthead .fixed-top {
  background-color: rgba(23, 29, 25, 0.96) !important;
  border-color: var(--hub-border);
}

html[data-bs-theme="dark"] #masthead :where(.nav-link, .btn-outline-secondary),
html[data-bs-theme="dark"] #bootscore-navbar > .menu-item > .nav-link {
  color: var(--hub-text);
}

html[data-bs-theme="dark"] #bootscore-navbar .dropdown-menu {
  background: rgba(37, 46, 40, 0.99);
  border-color: var(--hub-border);
}

html[data-bs-theme="dark"] #bootscore-navbar .dropdown-item {
  color: var(--hub-text);
}

html[data-bs-theme="dark"] .hub-header__wordmark {
  filter: invert(1);
}

@media (max-width: 991.98px) {
  html[data-bs-theme="dark"] #offcanvas-navbar {
    color: var(--hub-text);
    background: #1d241f;
  }

  html[data-bs-theme="dark"] #offcanvas-navbar .offcanvas-header {
    background: #252e28;
    border-color: var(--hub-border);
  }

  html[data-bs-theme="dark"] .hub-mobile-menu__brand,
  html[data-bs-theme="dark"] #bootscore-navbar > .menu-item > .nav-link,
  html[data-bs-theme="dark"] #bootscore-navbar .dropdown-item {
    color: var(--hub-text);
  }

  html[data-bs-theme="dark"] .hub-mobile-menu__brand small {
    color: var(--hub-text-muted);
  }

  html[data-bs-theme="dark"] .hub-mobile-menu__header .btn-close {
    filter: invert(1);
    background-color: rgba(255, 255, 255, 0.08);
  }

  html[data-bs-theme="dark"] #bootscore-navbar > .menu-item > .nav-link {
    background: var(--hub-surface-soft);
    border-color: var(--hub-border);
    box-shadow: none;
  }

  html[data-bs-theme="dark"] #bootscore-navbar .dropdown-menu {
    background: rgba(45, 55, 48, 0.75);
    border-color: var(--hub-border);
  }

  html[data-bs-theme="dark"] .hub-mobile-actions {
    background: linear-gradient(to bottom, rgba(29, 36, 31, 0), #1d241f 1rem);
  }
}

html[data-bs-theme="dark"] .hub-location-section__map {
  background-color: var(--hub-surface-raised);
}

html[data-bs-theme="dark"] .hub-page-hero__media,
html[data-bs-theme="dark"] .hub-split__media {
  box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.3);
}

@media (max-width: 767.98px) {
  .hub-page-hero {
    padding-block: 6.25rem 3.5rem;
  }

  .hub-page-hero__grid {
    grid-template-columns: 1fr;
  }

  .hub-page-hero__media {
    min-height: clamp(17rem, 72vw, 23rem);
  }

  .hub-page-actions .btn {
    flex: 1 1 100%;
  }

  .hub-visit__grid {
    grid-template-columns: 1fr;
  }

  .hub-visit-card {
    min-height: 0;
  }

  .hub-reservation__alternative,
  .hub-menu-page__alternative {
    align-items: flex-start;
    flex-direction: column;
  }

  .hub-reservation__alternative .btn,
  .hub-menu-page__alternative .btn {
    width: 100%;
  }

  .hub-legacy-section,
  .hub-legacy-section--reverse {
    min-height: 0;
    padding-top: clamp(17rem, 78vw, 27rem);
    background-position: top center !important;
    background-size: 100% clamp(15rem, 70vw, 25rem) !important;
  }

  .hub-legacy-section .row {
    min-height: 0;
  }

  .hub-legacy-section .col-12 {
    padding-inline: 0.25rem;
    background: #fff;
    border-radius: 0;
    box-shadow: none !important;
  }

  html[data-bs-theme="dark"] .hub-legacy-section .col-12 {
    background: var(--hub-surface);
  }

  .hub-home-hero {
    min-height: 100svh;
  }

  .hub-home-hero__overlay {
    padding: 5.5rem 0 2rem;
  }

  .hub-home-hero__layout {
    grid-template-columns: 1fr;
    gap: 1.35rem;
  }

  .hub-home-hero__copy {
    text-align: center;
  }

  .hub-home-hero__copy .hub-hero-title {
    max-width: 16ch;
    margin-inline: auto;
    font-size: clamp(2rem, 9vw, 2.75rem);
  }

  .hub-home-hero__copy .hub-intro {
    margin: 0.9rem auto 0;
    font-size: 1rem;
    line-height: 1.5;
  }

  .hub-home-hero__brand {
    width: 11rem;
    padding: 0.2rem 0.45rem 0.8rem;
    order: -1;
    justify-self: center;
  }

  .hub-home-hero__tree {
    width: 4.5rem;
  }

  .hub-home-hero__wordmark {
    width: 8.75rem;
  }

  .hub-home-hero__actions {
    justify-content: center;
    width: min(100%, 22rem);
    margin: 1.15rem auto 0;
  }

  .hub-home-hero__actions .btn {
    flex: 1 1 100%;
  }

  .hub-entrypoints__grid {
    grid-template-columns: 1fr;
  }

  .hub-entrypoint {
    min-height: 6.25rem;
  }

  .hub-split {
    padding-block: clamp(3.5rem, 12vw, 5rem);
  }

  .hub-split__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .hub-split__content {
    max-width: none;
  }

  .hub-split__media {
    min-height: clamp(17rem, 70vw, 25rem);
  }

  .hub-split__grid > .hub-split__media:first-child {
    order: 2;
  }

  .hub-split__actions .btn {
    flex: 1 1 12rem;
  }

  .hub-overview__grid {
    grid-template-columns: 1fr;
  }

  .hub-overview__contact {
    align-items: flex-start;
    flex-direction: column;
  }

  .hub-overview__actions {
    width: 100%;
  }

  .hub-overview__actions .btn {
    flex: 1 1 12rem;
  }

  .hub-payments__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-payments__list li {
    min-height: 7rem;
  }

  .hub-booking {
    align-items: flex-start;
    flex-direction: column;
  }

  .hub-booking__actions {
    width: 100%;
  }

  .hub-more__grid,
  .hub-news__grid,
  .hub-location-section__grid {
    grid-template-columns: 1fr;
  }

  .hub-more__card {
    min-height: 18rem;
  }

  .hub-location-section__map {
    min-height: 22rem;
  }

  .hub-footer__brand {
    align-items: flex-start;
    flex-direction: column;
  }

  .hub-footer__brand-content {
    width: 100%;
    align-items: flex-start;
  }

  .hub-footer__brand-content > p {
    text-align: left;
  }

  .hub-footer__social-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-footer__social-link {
    min-height: 5.5rem;
    font-size: 0.8125rem;
  }

  .hub-footer__grid {
    grid-template-columns: 1fr;
  }

  .hub-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .hub-footer__help,
  .hub-footer__help > div {
    align-items: flex-start;
    flex-direction: column;
  }

  .hub-footer__help .btn {
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .hub-visit__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-entrypoints__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-news__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-news-card:last-child {
    grid-column: 1 / -1;
    max-width: calc(50% - 0.5rem);
    justify-self: center;
  }

  .hub-overview__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-payments__list,
  .hub-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Erle entdecken */
.hub-discover {
  --hub-discover-ink: #202820;
  --hub-discover-muted: #647067;
  color: var(--hub-discover-ink);
  background: #fff;
}

.hub-discover__intro,
.hub-discover__section {
  padding-block: clamp(4rem, 8vw, 7rem);
}

.hub-discover__intro {
  background: linear-gradient(135deg, #f7f5ef 0%, #fff 68%);
}

.hub-discover__intro-grid,
.hub-discover__split {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
}

.hub-discover h2 {
  max-width: 19ch;
  margin-bottom: 1.25rem;
  font-size: clamp(2rem, 4vw, 3.35rem);
}

.hub-discover__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.75rem;
}

.hub-discover__quick {
  padding: clamp(1.5rem, 4vw, 2.5rem);
  background: #202820;
  color: #fff;
  border-radius: 1.4rem;
  box-shadow: 0 1.5rem 4rem rgba(32, 40, 32, 0.16);
}

.hub-discover__quick-icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  margin-bottom: 1.25rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
}

.hub-discover__quick h2 {
  margin-bottom: 1rem;
  font-size: 1.45rem;
}

.hub-discover__quick ul {
  display: grid;
  gap: 0.85rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hub-discover__quick li {
  padding-top: 0.85rem;
  color: rgba(255, 255, 255, 0.78);
  border-top: 1px solid rgba(255, 255, 255, 0.13);
  line-height: 1.45;
}

.hub-discover__quick strong {
  color: #fff;
}

.hub-discover__jump {
  position: sticky;
  top: 5rem;
  z-index: 20;
  background: rgba(255, 255, 255, 0.94);
  border-block: 1px solid rgba(32, 40, 32, 0.1);
  backdrop-filter: blur(12px);
}

.hub-discover__jump .container {
  display: flex;
  gap: 0.35rem;
  padding-block: 0.65rem;
  overflow-x: auto;
  scrollbar-width: none;
}

.hub-discover__jump .container::-webkit-scrollbar {
  display: none;
}

.hub-discover__jump a {
  display: inline-flex;
  min-height: 2.75rem;
  padding: 0.65rem 0.85rem;
  align-items: center;
  gap: 0.5rem;
  color: #354039;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 0.7rem;
}

.hub-discover__jump a:hover,
.hub-discover__jump a:focus-visible {
  color: #202820;
  background: rgba(var(--bs-primary-rgb), 0.15);
}

.hub-discover__section {
  scroll-margin-top: 9rem;
}

.hub-discover__section--soft {
  background: #f7f5ef;
}

.hub-discover__section-head {
  max-width: 52rem;
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.hub-discover__section-head > p:last-child {
  max-width: 46rem;
  color: var(--hub-discover-muted);
}

.hub-discover__feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.hub-discover__feature {
  display: flex;
  gap: 1.25rem;
  min-height: 18rem;
  padding: clamp(1.35rem, 3vw, 2rem);
  background: #fff;
  border: 1px solid rgba(32, 40, 32, 0.1);
  border-radius: 1.2rem;
}

.hub-discover__feature--primary {
  background: rgba(var(--bs-primary-rgb), 0.1);
  border-color: rgba(var(--bs-primary-rgb), 0.35);
}

.hub-discover__feature-icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
  flex: 0 0 3rem;
}

.hub-discover__feature h3,
.hub-discover__activity-grid h3,
.hub-discover__nearby-grid h3 {
  margin-bottom: 0.75rem;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
}

.hub-discover__feature p {
  color: var(--hub-discover-muted);
}

.hub-discover__feature a,
.hub-discover__activity-grid a,
.hub-discover__hub-card a {
  font-weight: 700;
  text-decoration: none;
}

.hub-discover__tag {
  display: inline-block;
  margin-bottom: 0.55rem;
  color: #6b5a1c;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hub-discover__meta {
  font-size: 0.875rem;
  font-weight: 700;
}

.hub-discover__activity-grid,
.hub-discover__nearby-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.hub-discover__activity-grid article {
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 1rem 3rem rgba(32, 40, 32, 0.07);
}

.hub-discover__activity-grid article > i {
  margin-bottom: 1.25rem;
  color: var(--bs-primary);
  font-size: 2rem;
}

.hub-discover__activity-grid p {
  color: var(--hub-discover-muted);
}

.hub-discover__checklist {
  display: grid;
  gap: 0.8rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}

.hub-discover__checklist li {
  position: relative;
  padding-left: 1.8rem;
}

.hub-discover__checklist li::before {
  position: absolute;
  left: 0;
  color: var(--bs-primary);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f00c";
}

.hub-discover__hub-card {
  overflow: hidden;
  background: #202820;
  color: #fff;
  border-radius: 1.35rem;
  box-shadow: 0 1.5rem 4rem rgba(32, 40, 32, 0.18);
}

.hub-discover__hub-card img {
  width: 100%;
  height: 16rem;
  object-fit: cover;
}

.hub-discover__hub-card > div {
  padding: clamp(1.5rem, 4vw, 2.25rem);
}

.hub-discover__hub-card h3 {
  font-size: 1.5rem;
}

.hub-discover__hub-card p {
  color: rgba(255, 255, 255, 0.76);
}

.hub-discover__section--dark {
  color: #fff;
  background: #202820;
}

.hub-discover__section--dark .hub-discover__section-head > p:last-child {
  color: rgba(255, 255, 255, 0.72);
}

.hub-discover__nearby-grid article {
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 1.1rem;
}

.hub-discover__nearby-grid article > span {
  display: block;
  margin-bottom: 2rem;
  color: var(--bs-primary);
  font-size: 0.8rem;
  font-weight: 800;
}

.hub-discover__nearby-grid p {
  color: rgba(255, 255, 255, 0.72);
}

.hub-discover__official-link {
  display: inline-flex;
  margin-top: 2rem;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.hub-discover__timeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hub-discover__timeline li {
  position: relative;
  padding: 0 1rem;
}

.hub-discover__timeline li::before {
  position: absolute;
  top: 1.25rem;
  right: 50%;
  left: -50%;
  height: 2px;
  background: rgba(var(--bs-primary-rgb), 0.4);
  content: "";
}

.hub-discover__timeline li:first-child::before {
  display: none;
}

.hub-discover__timeline li > span {
  position: relative;
  z-index: 1;
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 1rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  font-weight: 800;
  place-items: center;
}

.hub-discover__timeline strong {
  display: block;
  margin-bottom: 0.45rem;
}

.hub-discover__timeline p {
  color: var(--hub-discover-muted);
  font-size: 0.9rem;
}

.hub-discover__final-cta {
  display: flex;
  gap: 2rem;
  margin-top: clamp(3rem, 6vw, 5rem);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  align-items: center;
  justify-content: space-between;
  background: #f7f5ef;
  border-radius: 1.25rem;
}

.hub-discover__final-cta h2 {
  margin-bottom: 0.35rem;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
}

.hub-discover__final-cta p {
  margin: 0;
}

html[data-bs-theme="dark"] .hub-discover {
  --hub-discover-ink: var(--hub-text);
  --hub-discover-muted: var(--hub-text-muted);
  background: var(--hub-surface);
}

html[data-bs-theme="dark"] :where(.hub-discover__intro, .hub-discover__section--soft, .hub-discover__final-cta) {
  background: var(--hub-surface-soft);
}

html[data-bs-theme="dark"] .hub-discover__jump {
  background: rgba(29, 36, 31, 0.95);
  border-color: var(--hub-border);
}

html[data-bs-theme="dark"] .hub-discover__jump a {
  color: var(--hub-text);
}

html[data-bs-theme="dark"] :where(.hub-discover__feature, .hub-discover__activity-grid article) {
  color: var(--hub-text);
  background: var(--hub-surface-raised);
  border-color: var(--hub-border);
}

html[data-bs-theme="dark"] .hub-discover__feature--primary {
  background: rgba(var(--bs-primary-rgb), 0.14);
}

@media (max-width: 991.98px) {
  .hub-discover__jump {
    top: 4.25rem;
  }

  .hub-discover__feature-grid,
  .hub-discover__activity-grid,
  .hub-discover__nearby-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-discover__nearby-grid article:last-child {
    grid-column: 1 / -1;
  }

  .hub-discover__timeline {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .hub-discover__timeline li {
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    gap: 1rem;
    padding: 0;
  }

  .hub-discover__timeline li::before {
    top: -1rem;
    bottom: 50%;
    left: 1.25rem;
    width: 2px;
    height: auto;
  }
}

@media (max-width: 767.98px) {
  .hub-discover__intro-grid,
  .hub-discover__split,
  .hub-discover__feature-grid,
  .hub-discover__activity-grid,
  .hub-discover__nearby-grid {
    grid-template-columns: 1fr;
  }

  .hub-discover__feature,
  .hub-discover__final-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .hub-discover__feature {
    min-height: 0;
  }

  .hub-discover__nearby-grid article:last-child {
    grid-column: auto;
  }

  .hub-discover__final-cta {
    display: flex;
  }

  .hub-discover__actions,
  .hub-discover__actions .btn {
    width: 100%;
  }

  .hub-discover__actions .btn {
    justify-content: center;
  }
}

/* HUB Kundenkarte */
.hub-customer-card {
  color: #202820;
  background: #fff;
}

.hub-customer-card__intro,
.hub-customer-card__section,
.hub-customer-card__wallet {
  padding-block: clamp(4rem, 8vw, 7rem);
}

.hub-customer-card__intro {
  background: linear-gradient(135deg, #f7f5ef 0%, #fff 72%);
}

.hub-customer-card__intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.85fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
}

.hub-customer-card__intro-copy h2,
.hub-customer-card__section-head h2,
.hub-customer-card__support h2 {
  max-width: 20ch;
  margin-bottom: 1.1rem;
  font-size: clamp(2rem, 4vw, 3.25rem);
}

.hub-customer-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
  align-items: center;
}

.hub-customer-card__external-note {
  margin: 1rem 0 0;
  color: #647067;
  font-size: 0.875rem;
}

.hub-customer-card__media {
  position: relative;
  margin: 0;
  padding: 0.75rem;
  background: #fff;
  border-radius: 1.5rem;
  box-shadow: 0 1.5rem 4rem rgba(32, 40, 32, 0.14);
  transform: rotate(1.5deg);
}

.hub-customer-card__media::before {
  position: absolute;
  inset: -0.5rem 1.5rem 1rem -0.5rem;
  z-index: -1;
  background: rgba(var(--bs-primary-rgb), 0.28);
  border-radius: inherit;
  content: "";
}

.hub-customer-card__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 1rem;
}

.hub-customer-card__section--soft {
  background: #f7f5ef;
}

.hub-customer-card__section-head {
  max-width: 50rem;
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.hub-customer-card__section-head > p:last-child {
  max-width: 44rem;
  color: #647067;
}

.hub-customer-card__benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.hub-customer-card__benefits article {
  padding: clamp(1.35rem, 3vw, 2rem);
  background: #fff;
  border: 1px solid rgba(32, 40, 32, 0.1);
  border-radius: 1.15rem;
}

.hub-customer-card__benefits article > span,
.hub-customer-card__type-icon,
.hub-customer-card__wallet-icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  margin-bottom: 1.25rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
}

.hub-customer-card__benefits h3,
.hub-customer-card__types h3,
.hub-customer-card__steps h3 {
  margin-bottom: 0.65rem;
  font-size: 1.25rem;
}

.hub-customer-card__benefits p,
.hub-customer-card__types p,
.hub-customer-card__steps p {
  margin-bottom: 0;
  color: #647067;
}

.hub-customer-card__types {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.hub-customer-card__types article {
  display: flex;
  gap: 1.25rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  background: #fff;
  border-radius: 1.25rem;
  box-shadow: 0 1rem 3rem rgba(32, 40, 32, 0.07);
}

.hub-customer-card__type-icon {
  margin: 0;
  flex: 0 0 3.25rem;
}

.hub-customer-card__types ul {
  display: grid;
  gap: 0.5rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.hub-customer-card__types li {
  position: relative;
  padding-left: 1.6rem;
}

.hub-customer-card__types li::before {
  position: absolute;
  left: 0;
  color: var(--bs-primary);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f00c";
}

.hub-customer-card__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hub-customer-card__steps li {
  position: relative;
  padding: clamp(1.5rem, 4vw, 2.25rem);
  background: #fff;
  border: 1px solid rgba(32, 40, 32, 0.1);
  border-radius: 1.15rem;
}

.hub-customer-card__steps li > span {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 2rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  font-weight: 800;
  place-items: center;
}

.hub-customer-card__wallet {
  padding-top: 0;
}

.hub-customer-card__wallet-box {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.5rem;
  padding: clamp(1.5rem, 5vw, 3.5rem);
  color: #fff;
  background: #202820;
  border-radius: 1.4rem;
  align-items: start;
}

.hub-customer-card__wallet-icon {
  margin: 0;
}

.hub-customer-card__wallet-box h2 {
  max-width: 24ch;
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
}

.hub-customer-card__wallet-box p:last-child {
  max-width: 48rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
}

.hub-customer-card__support {
  display: flex;
  gap: clamp(2rem, 5vw, 4rem);
  padding: clamp(1.5rem, 5vw, 3rem);
  align-items: center;
  justify-content: space-between;
  background: rgba(var(--bs-primary-rgb), 0.11);
  border: 1px solid rgba(var(--bs-primary-rgb), 0.3);
  border-radius: 1.25rem;
}

.hub-customer-card__support > div:first-child {
  max-width: 48rem;
}

.hub-customer-card__support h2 {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.hub-customer-card__support .hub-customer-card__actions {
  min-width: min(100%, 15rem);
  align-items: stretch;
  flex-direction: column;
  flex: 0 0 auto;
}

.hub-customer-card__support .btn {
  justify-content: center;
}

html[data-bs-theme="dark"] .hub-customer-card {
  color: var(--hub-text);
  background: var(--hub-surface);
}

html[data-bs-theme="dark"] :where(.hub-customer-card__intro, .hub-customer-card__section--soft) {
  background: var(--hub-surface-soft);
}

html[data-bs-theme="dark"] :where(
  .hub-customer-card__benefits article,
  .hub-customer-card__types article,
  .hub-customer-card__steps li,
  .hub-customer-card__media
) {
  color: var(--hub-text);
  background: var(--hub-surface-raised);
  border-color: var(--hub-border);
}

html[data-bs-theme="dark"] :where(
  .hub-customer-card__external-note,
  .hub-customer-card__section-head > p:last-child,
  .hub-customer-card__benefits p,
  .hub-customer-card__types p,
  .hub-customer-card__steps p
) {
  color: var(--hub-text-muted);
}

html[data-bs-theme="dark"] .hub-customer-card__support {
  background: rgba(var(--bs-primary-rgb), 0.12);
}

@media (max-width: 991.98px) {
  .hub-customer-card__benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-customer-card__support {
    align-items: flex-start;
    flex-direction: column;
  }

  .hub-customer-card__support .hub-customer-card__actions {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .hub-customer-card__intro-grid,
  .hub-customer-card__types,
  .hub-customer-card__steps,
  .hub-customer-card__benefits {
    grid-template-columns: 1fr;
  }

  .hub-customer-card__intro-copy {
    text-align: left;
  }

  .hub-customer-card__actions,
  .hub-customer-card__actions .btn {
    width: 100%;
  }

  .hub-customer-card__actions .btn {
    justify-content: center;
  }

  .hub-customer-card__media {
    transform: none;
  }

  .hub-customer-card__types article {
    align-items: flex-start;
    flex-direction: column;
  }

  .hub-customer-card__wallet-box {
    grid-template-columns: 1fr;
  }
}

/* Lieferanten und Geschäftspartner */
.hub-partners {
  color: #202820;
  background: #fff;
}

.hub-partners__intro,
.hub-partners__section,
.hub-partners__cta {
  padding-block: clamp(4rem, 8vw, 7rem);
}

.hub-partners__intro {
  background: linear-gradient(135deg, #f7f5ef 0%, #fff 70%);
}

.hub-partners__intro-grid,
.hub-partners__expect-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(20rem, 0.9fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
}

.hub-partners h2 {
  max-width: 20ch;
  margin-bottom: 1.2rem;
  font-size: clamp(2rem, 4vw, 3.25rem);
}

.hub-partners__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.75rem;
}

.hub-partners__promise {
  padding: clamp(1.5rem, 4vw, 2.5rem);
  color: #fff;
  background: #202820;
  border-radius: 1.4rem;
  box-shadow: 0 1.5rem 4rem rgba(32, 40, 32, 0.17);
}

.hub-partners__promise-icon,
.hub-partners__value-grid article > span {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  margin-bottom: 1.25rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
}

.hub-partners__promise h2 {
  font-size: clamp(1.65rem, 3vw, 2.25rem);
}

.hub-partners__promise > p:not(.hub-eyebrow) {
  color: rgba(255, 255, 255, 0.76);
}

.hub-partners__promise ul {
  display: grid;
  gap: 0.75rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}

.hub-partners__promise li {
  padding-top: 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.hub-partners__section--soft {
  background: #f7f5ef;
}

.hub-partners__section-head {
  max-width: 52rem;
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.hub-partners__section-head > p:last-child,
.hub-partners__section-head--split > p {
  color: #647067;
}

.hub-partners__section-head--split {
  display: grid;
  max-width: none;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.65fr);
  gap: 2rem;
  align-items: end;
}

.hub-partners__section-head--split h2 {
  margin-bottom: 0;
}

.hub-partners__value-grid,
.hub-partners__fit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.hub-partners__value-grid article,
.hub-partners__fit-grid article {
  padding: clamp(1.35rem, 3vw, 2rem);
  background: #fff;
  border: 1px solid rgba(32, 40, 32, 0.1);
  border-radius: 1.15rem;
}

.hub-partners__value-grid h3,
.hub-partners__fit-grid h3 {
  margin-bottom: 0.65rem;
  font-size: 1.2rem;
}

.hub-partners__value-grid p,
.hub-partners__fit-grid p {
  margin: 0;
  color: #647067;
}

.hub-partners__fit-grid article > i {
  margin-bottom: 1.3rem;
  color: var(--bs-primary);
  font-size: 2rem;
}

.hub-partners__growth-note {
  display: flex;
  gap: 0.85rem;
  max-width: 60rem;
  margin: 1.5rem auto 0;
  padding: 1rem 1.25rem;
  color: #4d562f;
  background: rgba(var(--bs-primary-rgb), 0.15);
  border-radius: 0.85rem;
  align-items: flex-start;
}

.hub-partners__growth-note i {
  margin-top: 0.2rem;
  color: var(--bs-primary);
}

.hub-partners__growth-note p {
  margin: 0;
  font-size: 0.9rem;
}

.hub-partners__groups {
  display: grid;
  gap: clamp(3rem, 6vw, 5rem);
}

.hub-partners__group {
  min-width: 0;
}

.hub-partners__group-head {
  display: flex;
  max-width: 52rem;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.hub-partners__group-head > span {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  flex: 0 0 auto;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: var(--bs-primary);
  font-size: 1.15rem;
}

.hub-partners__group-head h3 {
  margin: 0 0 0.35rem;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
}

.hub-partners__group-head p {
  margin: 0;
  color: #647067;
  line-height: 1.6;
}

.hub-partners__logo-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.85rem;
}

.hub-partners__logo-card {
  position: relative;
  min-width: 0;
  padding: 1.35rem 1rem 1rem;
  text-align: center;
  background: #fff;
  border: 1px solid rgba(32, 40, 32, 0.1);
  border-radius: 1rem;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.hub-partners__logo-card:hover {
  box-shadow: 0 1rem 2.5rem rgba(32, 40, 32, 0.09);
  transform: translateY(-3px);
}

.hub-partners__local {
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  padding: 0.28rem 0.5rem;
  color: #fff;
  border-radius: 999px;
  background: #3fa535;
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.035em;
  line-height: 1;
  text-transform: uppercase;
}

.hub-partners__logo {
  display: flex;
  height: 6.5rem;
  margin-bottom: 0.9rem;
  padding: 0.5rem;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 0.7rem;
}

.hub-partners__logo img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 5rem;
  object-fit: contain;
}

.hub-partners__logo-placeholder {
  display: grid;
  width: 4rem;
  height: 4rem;
  color: #202820;
  background: rgba(var(--bs-primary-rgb), 0.2);
  border: 2px solid var(--bs-primary);
  border-radius: 50%;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  place-items: center;
}

.hub-partners__logo-card h3 {
  margin-bottom: 0.35rem;
  font-size: 0.95rem;
}

.hub-partners__logo-card p {
  margin: 0;
  color: #647067;
  font-size: 0.75rem;
  line-height: 1.4;
}

.hub-partners__section--dark {
  color: #fff;
  background: #202820;
}

.hub-partners__section--dark p {
  color: rgba(255, 255, 255, 0.72);
}

.hub-partners__expect-grid {
  align-items: start;
}

.hub-partners__expect-list {
  display: grid;
  gap: 0.75rem;
}

.hub-partners__expect-list article {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.15rem;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0.9rem;
}

.hub-partners__expect-list article > span {
  color: var(--bs-primary);
  font-size: 0.8rem;
  font-weight: 800;
}

.hub-partners__expect-list h3 {
  margin-bottom: 0.35rem;
  font-size: 1.1rem;
}

.hub-partners__expect-list p {
  margin: 0;
  font-size: 0.9rem;
}

.hub-partners__cta {
  padding-top: 0;
}

.hub-partners__cta-box {
  display: flex;
  gap: clamp(2rem, 5vw, 4rem);
  padding: clamp(1.5rem, 5vw, 3rem);
  align-items: center;
  justify-content: space-between;
  background: rgba(var(--bs-primary-rgb), 0.12);
  border: 1px solid rgba(var(--bs-primary-rgb), 0.3);
  border-radius: 1.3rem;
}

.hub-partners__cta-box > div:first-child {
  max-width: 48rem;
}

.hub-partners__cta-box h2 {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.hub-partners__cta-box .hub-partners__actions {
  min-width: min(100%, 17rem);
  align-items: stretch;
  flex-direction: column;
  flex: 0 0 auto;
}

.hub-partners__cta-box .btn {
  justify-content: center;
}

.hub-partners__contact-note {
  margin: 0.9rem 0 0;
  color: #647067;
  font-size: 0.85rem;
  text-align: center;
}

html[data-bs-theme="dark"] .hub-partners {
  color: var(--hub-text);
  background: var(--hub-surface);
}

html[data-bs-theme="dark"] :where(.hub-partners__intro, .hub-partners__section--soft) {
  background: var(--hub-surface-soft);
}

html[data-bs-theme="dark"] :where(
  .hub-partners__value-grid article,
  .hub-partners__fit-grid article,
  .hub-partners__logo-card
) {
  color: var(--hub-text);
  background: var(--hub-surface-raised);
  border-color: var(--hub-border);
}

html[data-bs-theme="dark"] :where(
  .hub-partners__section-head > p:last-child,
  .hub-partners__value-grid p,
  .hub-partners__fit-grid p,
  .hub-partners__logo-card p,
  .hub-partners__contact-note
) {
  color: var(--hub-text-muted);
}

html[data-bs-theme="dark"] .hub-partners__growth-note {
  color: var(--hub-text);
}

@media (max-width: 1199.98px) {
  .hub-partners__logo-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .hub-partners__value-grid,
  .hub-partners__fit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .hub-partners__cta-box {
    align-items: flex-start;
    flex-direction: column;
  }

  .hub-partners__cta-box .hub-partners__actions {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .hub-partners__intro-grid,
  .hub-partners__expect-grid,
  .hub-partners__section-head--split {
    grid-template-columns: 1fr;
  }

  .hub-partners__value-grid,
  .hub-partners__fit-grid {
    grid-template-columns: 1fr;
  }

  .hub-partners__logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-partners__actions,
  .hub-partners__actions .btn {
    width: 100%;
  }

  .hub-partners__actions .btn {
    justify-content: center;
  }
}

/* About HUB Erle */
.hub-about {
  --about-ink: #202820;
  --about-green: #394d40;
  --about-green-dark: #22342a;
  --about-gold: #bba136;
  color: var(--about-ink);
}

.hub-about :where(h2, h3) {
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

.hub-about h2 {
  font-size: clamp(2rem, 4vw, 3.5rem);
}

.hub-about h3 {
  font-size: clamp(1.25rem, 2vw, 1.7rem);
}

.hub-about p {
  max-width: 70ch;
}

.hub-about-intro {
  padding: clamp(3.5rem, 8vw, 7rem) 0;
  background:
    radial-gradient(circle at 85% 10%, rgba(187, 161, 54, .22), transparent 28rem),
    linear-gradient(135deg, #f8f6ed, #fff 58%);
}

.hub-about-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr);
  align-items: center;
  gap: clamp(2.5rem, 8vw, 7rem);
}

.hub-about-intro__content h2 {
  max-width: 12ch;
  margin-bottom: 1.25rem;
  font-size: clamp(3rem, 7vw, 6rem);
}

.hub-about-intro__lead {
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-weight: 500;
}

.hub-about-intro__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.75rem;
}

.hub-about-intro__actions .btn {
  border-radius: 999px;
}

.hub-about-facts {
  overflow: hidden;
  border: 1px solid rgba(57, 77, 64, .15);
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 1.2rem 3.5rem rgba(34, 52, 42, .12);
}

.hub-about-facts div {
  padding: 1.4rem 1.6rem;
}

.hub-about-facts div + div {
  border-top: 1px solid #e5e8e5;
}

.hub-about-facts span,
.hub-about-facts strong {
  display: block;
}

.hub-about-facts span {
  margin-bottom: .25rem;
  color: #657068;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.hub-about-section {
  padding: clamp(4.5rem, 8vw, 7rem) 0;
}

.hub-about-heading {
  max-width: 52rem;
  margin-bottom: 2.5rem;
}

.hub-about-heading > p:last-child {
  color: #626c65;
  font-size: 1.15rem;
}

.hub-about-values,
.hub-audience-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.hub-about-values article,
.hub-audience-grid article {
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid #e0e5e1;
  border-radius: 1rem;
  background: #fff;
}

.hub-about-values i,
.hub-audience-grid i {
  margin-bottom: 1rem;
  color: var(--about-gold);
  font-size: 1.8rem;
}

.hub-about-values p,
.hub-audience-grid p {
  margin-bottom: 0;
  color: #626c65;
}

.hub-about-section--craft {
  background: var(--about-green-dark);
  color: #fff;
}

.hub-about-section--craft :where(h2, h3) {
  color: #fff;
}

.hub-about-craft {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(3rem, 8vw, 7rem);
}

.hub-about-craft__content p:not(.hub-eyebrow) {
  color: rgba(255, 255, 255, .82);
}

.hub-craft-details {
  display: grid;
  gap: 1rem;
}

.hub-craft-details article {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  padding: 1.5rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .07);
}

.hub-craft-details__number {
  display: grid;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  place-items: center;
  background: var(--about-gold);
  color: #111;
  font-weight: 800;
}

.hub-craft-details p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, .78);
}

.hub-about-section--areas {
  background: #f5f3eb;
}

.hub-area-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.hub-area-grid a {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 8rem;
  padding: 1.5rem;
  border: 1px solid #ddd9ca;
  border-radius: 1rem;
  background: #fff;
  color: var(--about-ink);
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease;
}

.hub-area-grid a:hover {
  border-color: var(--about-gold);
  transform: translateY(-2px);
}

.hub-area-grid i {
  flex: 0 0 2.8rem;
  color: var(--about-gold);
  font-size: 1.8rem;
  text-align: center;
}

.hub-area-grid span,
.hub-area-grid strong,
.hub-area-grid small {
  display: block;
}

.hub-area-grid small {
  margin-top: .2rem;
  color: #626c65;
}

.hub-about-wedding {
  background:
    linear-gradient(90deg, rgba(23, 35, 28, .96), rgba(23, 35, 28, .76)),
    url("/wp-content/uploads/Blumen-zur-Hochzeit-2048x1152.jpg") center / cover no-repeat;
  color: #fff;
}

.hub-about-wedding :where(h2, h3) {
  color: #fff;
}

.hub-about-wedding__grid,
.hub-lovestyle__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 7rem);
}

.hub-about-wedding__content > p:not(.hub-eyebrow),
.hub-about-wedding__list {
  color: rgba(255, 255, 255, .84);
}

.hub-about-wedding__list {
  display: grid;
  gap: .65rem;
  margin: 1.5rem 0;
  padding: 0;
  list-style: none;
}

.hub-about-wedding__list i {
  margin-right: .6rem;
  color: var(--about-gold);
}

.hub-wedding-route {
  padding: 1.5rem;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, .09);
  backdrop-filter: blur(10px);
}

.hub-wedding-route > div {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border-radius: .8rem;
  background: rgba(255, 255, 255, .09);
}

.hub-wedding-route > div > span {
  display: grid;
  flex: 0 0 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  place-items: center;
  background: var(--about-gold);
  color: #111;
  font-weight: 800;
}

.hub-wedding-route p,
.hub-wedding-route strong {
  display: block;
  margin: 0;
}

.hub-wedding-route > i {
  display: block;
  margin: .6rem 0;
  color: var(--about-gold);
  text-align: center;
}

.hub-lovestyle {
  background: #fbf7f5;
}

.hub-lovestyle__badges {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin: 1.5rem 0;
}

.hub-lovestyle__badges span {
  padding: .55rem .8rem;
  border: 1px solid #eadbd4;
  border-radius: 999px;
  background: #fff;
  font-size: .9rem;
  font-weight: 700;
}

.hub-lovestyle__badges i {
  margin-right: .35rem;
  color: var(--about-gold);
}

.hub-lovestyle__note {
  padding: clamp(1.75rem, 4vw, 3rem);
  border: 1px solid #eadbd4;
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 1rem 3rem rgba(60, 35, 30, .08);
}

.hub-lovestyle__note > i {
  margin-bottom: 1rem;
  color: var(--about-gold);
  font-size: 2.4rem;
}

.hub-about-team {
  text-align: center;
}

.hub-about-team .hub-about-heading,
.hub-about-team__closing {
  margin-right: auto;
  margin-left: auto;
}

.hub-team-roles {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .75rem;
  margin: 2rem 0;
}

.hub-team-roles span {
  padding: .8rem 1rem;
  border: 1px solid #dfe5e0;
  border-radius: 999px;
  background: #fff;
  font-weight: 700;
}

.hub-team-roles i {
  margin-right: .45rem;
  color: var(--about-gold);
}

.hub-about-team__closing {
  max-width: 50rem !important;
  font-size: 1.2rem;
  font-weight: 600;
}

.hub-about-final {
  padding: clamp(3rem, 6vw, 5rem) 0;
  background: var(--about-green-dark);
  color: #fff;
}

.hub-about-final .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.hub-about-final h2 {
  color: #fff;
}

.hub-about-final p:last-child {
  margin-bottom: 0;
}

/* Bürgergenossenschaft Erle and HUB Erle: ownership and operation */
.hub-civic {
  --civic-green: #3fa535;
  --civic-ink: #182019;
  --civic-muted: #5e6860;
  color: var(--civic-ink);
  background: #fff;
}

.hub-civic h1,
.hub-civic h2,
.hub-civic h3 {
  text-wrap: balance;
}

.hub-civic p {
  text-wrap: pretty;
}

.hub-civic-hero {
  position: relative;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(10, 18, 12, 0.94), rgba(10, 18, 12, 0.72) 58%, rgba(10, 18, 12, 0.4)),
    url("/wp-content/uploads/HUB-Erle-januar-2026-wir-in-erle-Gemeinschaftshaus.jpg") center / cover no-repeat;
}

.hub-civic-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(17rem, 0.75fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: center;
  min-height: clamp(38rem, 76vh, 52rem);
  padding-block: clamp(5rem, 10vw, 8rem);
}

.hub-civic-hero__content {
  max-width: 48rem;
}

.hub-civic-hero h1 {
  max-width: 13ch;
  margin-bottom: 1.25rem;
  color: #fff;
  font-size: clamp(2.8rem, 6.5vw, 5.75rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.hub-civic-hero__content > p:not(.hub-eyebrow) {
  max-width: 44rem;
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  line-height: 1.7;
}

.hub-civic-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}

.hub-civic-hero__logos {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.8rem;
  justify-items: center;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.2);
}

.hub-civic-hero__logos div {
  display: grid;
  width: 100%;
  min-height: 6rem;
  place-items: center;
}

.hub-civic-hero__logos img {
  width: min(100%, 15rem);
  max-height: 5.5rem;
  object-fit: contain;
}

.hub-civic-hero__logos > span {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: var(--civic-green);
  font-size: 1.35rem;
  font-weight: 800;
}

.hub-civic-nav {
  border-bottom: 1px solid rgba(24, 32, 25, 0.1);
  background: #fff;
  box-shadow: 0 0.5rem 2rem rgba(20, 30, 22, 0.06);
}

.hub-civic-nav .container {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.hub-civic-nav a {
  display: grid;
  min-height: 4.75rem;
  place-items: center;
  padding: 0.85rem;
  color: var(--civic-ink);
  text-align: center;
  text-decoration: none;
  border-inline-end: 1px solid rgba(24, 32, 25, 0.08);
  font-weight: 700;
}

.hub-civic-nav a:first-child {
  border-inline-start: 1px solid rgba(24, 32, 25, 0.08);
}

.hub-civic-nav a:hover {
  color: #fff;
  background: var(--civic-green);
}

.hub-civic-section {
  padding-block: clamp(4.5rem, 8vw, 8rem);
  scroll-margin-top: 6rem;
}

.hub-civic-section--soft {
  background: #f3f5f1;
}

.hub-civic-heading {
  max-width: 54rem;
  margin: 0 auto clamp(2.5rem, 6vw, 4.5rem);
  text-align: center;
}

.hub-civic-heading h2,
.hub-civic-split h2,
.hub-civic-success h2,
.hub-civic-zeitgeist h2,
.hub-civic-person h2,
.hub-civic-thanks h2 {
  margin-bottom: 1.1rem;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.hub-civic-heading > p:last-child,
.hub-civic-split > div:first-child > p:last-child,
.hub-civic-success__copy p,
.hub-civic-zeitgeist > div > p,
.hub-civic-person p,
.hub-civic-thanks > p:not(.hub-eyebrow) {
  color: var(--civic-muted);
  font-size: clamp(1rem, 1.4vw, 1.16rem);
  line-height: 1.75;
}

.hub-civic-roles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.hub-civic-role {
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid rgba(24, 32, 25, 0.12);
  border-radius: 1.25rem;
}

.hub-civic-role--owner {
  border-top: 0.4rem solid var(--civic-green);
  background: #f7faf6;
}

.hub-civic-role--operator {
  border-top: 0.4rem solid var(--bs-primary);
  background: #fffdf7;
}

.hub-civic-role__top {
  display: flex;
  min-height: 5.5rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.hub-civic-role__top img {
  width: min(54%, 14rem);
  max-height: 5rem;
  object-fit: contain;
  object-position: left center;
}

.hub-civic-role__top span {
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  background: rgba(24, 32, 25, 0.08);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hub-civic-role h3 {
  font-size: clamp(1.45rem, 2.5vw, 2rem);
}

.hub-civic-role > p {
  color: var(--civic-muted);
  line-height: 1.7;
}

.hub-civic-role ul,
.hub-civic-zeitgeist ul {
  display: grid;
  gap: 0.7rem;
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
}

.hub-civic-role li,
.hub-civic-zeitgeist li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.65rem;
  line-height: 1.55;
}

.hub-civic-role li i,
.hub-civic-zeitgeist li i {
  margin-top: 0.3em;
  color: var(--civic-green);
}

.hub-civic-role > a {
  margin-top: auto;
  font-weight: 750;
  text-decoration: none;
}

.hub-civic-separation {
  display: flex;
  max-width: 58rem;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 1.5rem auto 0;
  padding: 1rem 1.25rem;
  color: var(--civic-muted);
  border-radius: 0.75rem;
  background: #f3f5f1;
  line-height: 1.6;
}

.hub-civic-separation i {
  margin-top: 0.25em;
  color: var(--civic-green);
}

.hub-civic-split,
.hub-civic-success,
.hub-civic-zeitgeist,
.hub-civic-person {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: start;
}

.hub-civic-benefits {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(24, 32, 25, 0.14);
}

.hub-civic-benefits article {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  padding-block: 1.25rem;
  border-bottom: 1px solid rgba(24, 32, 25, 0.14);
}

.hub-civic-benefits i {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: var(--civic-green);
}

.hub-civic-benefits h3 {
  margin: 0 0 0.35rem;
  font-size: 1.2rem;
}

.hub-civic-benefits p {
  margin: 0;
  color: var(--civic-muted);
  line-height: 1.6;
}

.hub-civic-tasks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.hub-civic-tasks article {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(24, 32, 25, 0.1);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 0.75rem 2rem rgba(20, 30, 22, 0.05);
}

.hub-civic-tasks span {
  display: block;
  margin-bottom: 1rem;
  color: var(--civic-green);
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.hub-civic-tasks h3 {
  font-size: 1.18rem;
}

.hub-civic-tasks p {
  margin: 0;
  color: var(--civic-muted);
  font-size: 0.92rem;
  line-height: 1.6;
}

.hub-civic-section--success {
  color: #fff;
  background: #172219;
}

.hub-civic-section--success h2 {
  color: #fff;
}

.hub-civic-section--success .hub-civic-success__copy p {
  color: rgba(255, 255, 255, 0.72);
}

.hub-civic-success__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.hub-civic-success__facts div {
  display: flex;
  min-height: 10rem;
  flex-direction: column;
  justify-content: center;
  padding: 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.06);
}

.hub-civic-success__facts strong {
  color: var(--civic-green);
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1;
}

.hub-civic-success__facts span {
  margin-top: 0.7rem;
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.45;
}

.hub-civic-section--zeitgeist {
  background: #f3f5f1;
}

.hub-civic-zeitgeist {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
}

.hub-civic-zeitgeist figure {
  margin: 0;
}

.hub-civic-zeitgeist img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 1.25rem;
  object-fit: cover;
  box-shadow: 0 1.5rem 4rem rgba(20, 30, 22, 0.12);
}

.hub-civic-person {
  grid-template-columns: auto 1fr;
  max-width: 66rem;
  margin-inline: auto;
  gap: clamp(1.5rem, 4vw, 3rem);
}

.hub-civic-person__icon {
  display: grid;
  width: clamp(4rem, 8vw, 6rem);
  height: clamp(4rem, 8vw, 6rem);
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: var(--bs-primary);
  font-size: clamp(1.4rem, 3vw, 2rem);
}

.hub-civic-section--thanks {
  color: #fff;
  text-align: center;
  background: var(--civic-green);
}

.hub-civic-thanks {
  max-width: 62rem;
  margin-inline: auto;
}

.hub-civic-thanks > img {
  width: min(100%, 16rem);
  max-height: 6rem;
  margin-bottom: 2rem;
  padding: 0.75rem;
  border-radius: 0.75rem;
  background: #fff;
  object-fit: contain;
}

.hub-civic-thanks h2,
.hub-civic-thanks > p:not(.hub-eyebrow) {
  color: #fff;
}

.hub-civic-thanks .hub-civic-actions {
  justify-content: center;
}

/* Impressum: readable legal information with clearly separated promotion */
.hub-legal {
  --legal-ink: #19201b;
  --legal-muted: #5e6861;
  color: var(--legal-ink);
  background: #fff;
}

.hub-legal h1,
.hub-legal h2 {
  text-wrap: balance;
}

.hub-legal-hero {
  padding-block: clamp(4rem, 8vw, 7rem);
  background:
    radial-gradient(circle at 85% 20%, rgba(var(--bs-primary-rgb), 0.14), transparent 28rem),
    #f3f5f1;
}

.hub-legal-hero .container {
  max-width: 68rem;
}

.hub-legal-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-bottom: 2rem;
  color: var(--legal-muted);
  font-size: 0.9rem;
}

.hub-legal-breadcrumb a {
  color: inherit;
}

.hub-legal-hero h1 {
  margin-bottom: 1rem;
  font-size: clamp(2.75rem, 7vw, 5.5rem);
  line-height: 1;
  letter-spacing: -0.045em;
}

.hub-legal-hero > .container > p:last-child {
  max-width: 48rem;
  margin: 0;
  color: var(--legal-muted);
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  line-height: 1.7;
}

.hub-legal-section {
  padding-block: clamp(3.5rem, 7vw, 6.5rem);
}

.hub-legal-section--soft {
  background: #f3f5f1;
}

.hub-legal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
  gap: 1.25rem;
  align-items: stretch;
}

.hub-legal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.hub-legal-card {
  min-width: 0;
  padding: clamp(1.5rem, 4vw, 2.75rem);
  border: 1px solid rgba(25, 32, 27, 0.11);
  border-radius: 1.1rem;
  background: #fff;
  box-shadow: 0 0.75rem 2.5rem rgba(20, 30, 22, 0.05);
}

.hub-legal-card--primary {
  border-top: 0.35rem solid var(--bs-primary);
}

.hub-legal-card--location {
  color: #fff;
  border-color: #1a211c;
  background: #1a211c;
}

.hub-legal-card--location h2,
.hub-legal-card--location p,
.hub-legal-card--location address {
  color: #fff;
}

.hub-legal-card--location > i,
.hub-legal-grid .hub-legal-card > i {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  margin-bottom: 1.25rem;
  color: #fff;
  border-radius: 50%;
  background: var(--bs-primary);
  font-size: 1.15rem;
}

.hub-legal-card h2,
.hub-legal-text h2 {
  margin-bottom: 1rem;
  font-size: clamp(1.35rem, 2.5vw, 2rem);
  line-height: 1.2;
}

.hub-legal-card address {
  margin: 0;
  color: var(--legal-ink);
  font-style: normal;
  line-height: 1.7;
}

.hub-legal-card p {
  color: var(--legal-muted);
  line-height: 1.7;
}

.hub-legal-card--location > p:last-child {
  margin-top: 1.5rem;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.9rem;
}

.hub-legal-data {
  display: grid;
  gap: 0;
  margin: 1.75rem 0 0;
}

.hub-legal-data > div {
  display: grid;
  grid-template-columns: minmax(8.5rem, 0.7fr) minmax(0, 1.3fr);
  gap: 1rem;
  padding-block: 0.85rem;
  border-top: 1px solid rgba(25, 32, 27, 0.11);
}

.hub-legal-data dt {
  color: var(--legal-muted);
  font-size: 0.88rem;
  font-weight: 650;
}

.hub-legal-data dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  font-weight: 750;
}

.hub-legal-text {
  display: grid;
  max-width: 62rem;
  gap: clamp(2.5rem, 6vw, 4.5rem);
  margin-inline: auto;
}

.hub-legal-text article {
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
  border-bottom: 1px solid rgba(25, 32, 27, 0.12);
}

.hub-legal-text article:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.hub-legal-text article > p:not(.hub-eyebrow, .hub-legal-note) {
  color: var(--legal-muted);
  line-height: 1.75;
}

.hub-legal-note {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding: 1rem 1.25rem;
  color: var(--legal-muted);
  border-radius: 0.75rem;
  background: #f3f5f1;
  font-size: 0.92rem;
  line-height: 1.6;
}

.hub-legal-note i {
  margin-top: 0.25em;
  color: var(--bs-primary);
}

.hub-legal-promo {
  padding-block: clamp(4rem, 8vw, 7rem);
  color: #fff;
  background: var(--bs-primary);
}

.hub-legal-promo .container {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) auto;
  gap: 2rem;
  align-items: center;
}

.hub-legal-promo h2 {
  max-width: 22ch;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.08;
}

.hub-legal-promo p:not(.hub-eyebrow) {
  max-width: 48rem;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.7;
}

.hub-legal-promo__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.75rem;
}

.hub-reservation__terms {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-top: 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(var(--bs-primary-rgb), 0.25);
  border-radius: 0.75rem;
  background: rgba(var(--bs-primary-rgb), 0.08);
  font-size: 0.92rem;
  line-height: 1.6;
}

.hub-reservation__terms i {
  margin-top: 0.25em;
  color: var(--bs-primary);
}

/* AGB: readable rules for restaurant, events, rooms and weddings */
.hub-terms {
  --terms-ink: #19201b;
  --terms-muted: #5e6861;
  color: var(--terms-ink);
  background: #fff;
}

.hub-terms h1,
.hub-terms h2,
.hub-terms h3 {
  text-wrap: balance;
}

.hub-terms-hero {
  padding-block: clamp(4rem, 8vw, 7rem);
  background: radial-gradient(circle at 82% 18%, rgba(var(--bs-primary-rgb), 0.16), transparent 28rem), #f3f5f1;
}

.hub-terms-hero .container {
  max-width: 72rem;
}

.hub-terms-hero h1 {
  max-width: 16ch;
  margin-bottom: 1.25rem;
  font-size: clamp(2.65rem, 6.5vw, 5.25rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.hub-terms-hero > .container > p:not(.hub-eyebrow, .hub-terms-version) {
  max-width: 58rem;
  color: var(--terms-muted);
  font-size: clamp(1.05rem, 1.7vw, 1.25rem);
  line-height: 1.7;
}

.hub-terms-version {
  margin: 1.5rem 0 0;
  color: var(--terms-muted);
  font-size: 0.88rem;
  font-weight: 700;
}

.hub-terms-summary {
  padding-block: clamp(4rem, 7vw, 6rem);
}

.hub-terms-summary > .container > header {
  max-width: 54rem;
  margin: 0 auto 2.5rem;
  text-align: center;
}

.hub-terms-summary h2,
.hub-terms-review h2 {
  margin-bottom: 1rem;
  font-size: clamp(1.85rem, 4vw, 3.25rem);
  line-height: 1.1;
}

.hub-terms-summary > .container > header > p:last-child {
  color: var(--terms-muted);
  font-size: 1.05rem;
  line-height: 1.7;
}

.hub-terms-summary__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.hub-terms-summary__grid article {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(25, 32, 27, 0.11);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 0.75rem 2.5rem rgba(20, 30, 22, 0.05);
}

.hub-terms-summary__grid i {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  margin-bottom: 1.15rem;
  color: #fff;
  border-radius: 50%;
  background: var(--bs-primary);
}

.hub-terms-summary__grid h3 {
  font-size: 1.13rem;
}

.hub-terms-summary__grid p {
  margin: 0;
  color: var(--terms-muted);
  font-size: 0.9rem;
  line-height: 1.65;
}

.hub-terms-warning {
  display: flex;
  max-width: 62rem;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 2rem auto 0;
  padding: 1rem 1.25rem;
  color: #564817;
  border: 1px solid #ead78c;
  border-radius: 0.75rem;
  background: #fff9df;
  line-height: 1.6;
}

.hub-terms-warning i {
  margin-top: 0.25em;
}

.hub-terms-nav {
  position: sticky;
  z-index: 20;
  top: var(--hub-header-height, 0);
  border-block: 1px solid rgba(25, 32, 27, 0.1);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 0.5rem 1.5rem rgba(20, 30, 22, 0.05);
  backdrop-filter: blur(0.75rem);
}

.hub-terms-nav .container {
  display: grid;
  grid-template-columns: repeat(6, max-content);
  justify-content: center;
  overflow-x: auto;
}

.hub-terms-nav a {
  padding: 1.1rem 1rem;
  color: var(--terms-ink);
  text-decoration: none;
  white-space: nowrap;
  font-size: 0.88rem;
  font-weight: 750;
}

.hub-terms-content {
  padding-block: clamp(4rem, 8vw, 7rem);
}

.hub-terms-layout {
  display: grid;
  grid-template-columns: minmax(14rem, 0.28fr) minmax(0, 0.72fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.hub-terms-aside {
  position: sticky;
  top: calc(var(--hub-header-height, 0px) + 5.5rem);
  display: grid;
  gap: 1.5rem;
  padding: 1.5rem;
  border-radius: 1rem;
  background: #f3f5f1;
}

.hub-terms-aside div {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.hub-terms-aside strong {
  margin-bottom: 0.35rem;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hub-terms-aside span,
.hub-terms-aside a {
  color: var(--terms-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.hub-terms-sections {
  min-width: 0;
}

.hub-terms-sections > section {
  padding-block: clamp(2.5rem, 5vw, 4.25rem);
  scroll-margin-top: 10rem;
  border-bottom: 1px solid rgba(25, 32, 27, 0.12);
}

.hub-terms-sections > section:first-child {
  padding-top: 0;
}

.hub-terms-sections > section:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.hub-terms-number {
  display: block;
  margin-bottom: 0.75rem;
  color: var(--bs-primary);
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.1em;
}

.hub-terms-sections h2 {
  margin-bottom: 1.25rem;
  font-size: clamp(1.5rem, 3vw, 2.35rem);
  line-height: 1.15;
}

.hub-terms-sections p {
  color: var(--terms-muted);
  line-height: 1.78;
}

.hub-terms-sections p strong {
  color: var(--terms-ink);
}

.hub-terms-table {
  max-width: 100%;
  margin: 1.5rem 0;
  overflow-x: auto;
  border: 1px solid rgba(25, 32, 27, 0.12);
  border-radius: 0.75rem;
}

.hub-terms-table table {
  width: 100%;
  min-width: 34rem;
  border-collapse: collapse;
}

.hub-terms-table th,
.hub-terms-table td {
  padding: 0.9rem 1rem;
  text-align: left;
  border-bottom: 1px solid rgba(25, 32, 27, 0.1);
}

.hub-terms-table th {
  color: #fff;
  background: #1b221d;
}

.hub-terms-table td:last-child {
  color: var(--terms-ink);
  font-weight: 800;
}

.hub-terms-table tr:last-child td {
  border-bottom: 0;
}

.hub-terms-review {
  padding-block: clamp(3.5rem, 7vw, 6rem);
  color: #fff;
  background: var(--bs-primary);
}

.hub-terms-review .container {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(1.25rem, 4vw, 3rem);
  align-items: center;
}

.hub-terms-review > .container > i {
  display: grid;
  width: 4.5rem;
  height: 4.5rem;
  place-items: center;
  color: var(--bs-primary);
  border-radius: 50%;
  background: #fff;
  font-size: 1.5rem;
}

.hub-terms-review h2,
.hub-terms-review p {
  color: #fff;
}

.hub-terms-review p:last-child {
  margin: 0;
  line-height: 1.7;
}

html[data-bs-theme="dark"] .hub-terms {
  color: #f3f5f2;
  background: #151916;
}

html[data-bs-theme="dark"] :where(.hub-terms-hero, .hub-terms-aside) {
  background: #1d241f;
}

html[data-bs-theme="dark"] .hub-terms-summary__grid article {
  border-color: rgba(255, 255, 255, 0.12);
  background: #222923;
}

html[data-bs-theme="dark"] .hub-terms-nav {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(21, 25, 22, 0.96);
}

html[data-bs-theme="dark"] :where(
  .hub-terms-hero > .container > p:not(.hub-eyebrow, .hub-terms-version),
  .hub-terms-version,
  .hub-terms-summary > .container > header > p:last-child,
  .hub-terms-summary__grid p,
  .hub-terms-aside span,
  .hub-terms-aside a,
  .hub-terms-sections p
) {
  color: #c5cbc6;
}

html[data-bs-theme="dark"] :where(.hub-terms-nav a, .hub-terms-sections p strong, .hub-terms-table td:last-child) {
  color: #f3f5f2;
}

html[data-bs-theme="dark"] .hub-legal {
  color: #f3f5f2;
  background: #151916;
}

html[data-bs-theme="dark"] :where(.hub-legal-hero, .hub-legal-section--soft) {
  background: #1b211c;
}

html[data-bs-theme="dark"] .hub-legal-card {
  border-color: rgba(255, 255, 255, 0.12);
  background: #222923;
}

html[data-bs-theme="dark"] :where(
  .hub-legal-hero > .container > p:last-child,
  .hub-legal-card p,
  .hub-legal-card address,
  .hub-legal-data dt,
  .hub-legal-text article > p:not(.hub-eyebrow, .hub-legal-note),
  .hub-legal-note
) {
  color: #c5cbc6;
}

html[data-bs-theme="dark"] .hub-legal-note {
  background: #222923;
}

@media (max-width: 991.98px) {
  .hub-terms-summary__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-terms-nav .container {
    justify-content: start;
  }

  .hub-terms-layout {
    grid-template-columns: 1fr;
  }

  .hub-terms-aside {
    position: static;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hub-terms-review .container {
    grid-template-columns: auto 1fr;
  }

  .hub-terms-review .btn {
    grid-column: 2;
    justify-self: start;
  }

  .hub-legal-layout,
  .hub-legal-promo .container {
    grid-template-columns: 1fr;
  }

  .hub-legal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-legal-promo__actions {
    justify-content: flex-start;
  }

  .hub-civic-hero__inner,
  .hub-civic-split,
  .hub-civic-success,
  .hub-civic-zeitgeist {
    grid-template-columns: 1fr;
  }

  .hub-civic-hero__logos {
    grid-template-columns: 1fr auto 1fr;
  }

  .hub-civic-nav .container {
    grid-template-columns: repeat(5, max-content);
    justify-content: start;
    overflow-x: auto;
  }

  .hub-civic-nav a {
    min-width: 10rem;
  }

  .hub-civic-tasks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .hub-terms-summary__grid,
  .hub-terms-aside,
  .hub-terms-review .container {
    grid-template-columns: 1fr;
  }

  .hub-terms-review .btn {
    grid-column: auto;
    width: 100%;
    justify-content: center;
  }

  .hub-legal-grid {
    grid-template-columns: 1fr;
  }

  .hub-legal-data > div {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .hub-legal-promo__actions,
  .hub-legal-promo__actions .btn {
    width: 100%;
  }

  .hub-legal-promo__actions .btn {
    justify-content: center;
  }

  .hub-civic-hero__inner {
    min-height: auto;
    padding-block: 4.5rem;
  }

  .hub-civic-hero h1 {
    font-size: clamp(2.65rem, 13vw, 3.75rem);
  }

  .hub-civic-hero__logos,
  .hub-civic-roles,
  .hub-civic-tasks,
  .hub-civic-success__facts {
    grid-template-columns: 1fr;
  }

  .hub-civic-actions,
  .hub-civic-actions .btn {
    width: 100%;
  }

  .hub-civic-actions .btn {
    justify-content: center;
  }

  .hub-civic-person {
    grid-template-columns: 1fr;
  }
}

/* Final navigation cascade: compact lists with real section headings. */
#bootscore-navbar .dropdown-menu > .hub-nav-group-start {
  position: relative;
  margin-top: .55rem !important;
  padding-top: .8rem;
  border-top: 1px solid rgba(57, 77, 64, .15);
}

#bootscore-navbar .dropdown-menu > .hub-nav-group-start:first-child {
  margin-top: 0 !important;
  padding-top: .25rem;
  border-top: 0;
}

#bootscore-navbar .dropdown-menu > .hub-nav-group-start::before {
  display: none !important;
}

#bootscore-navbar .dropdown-menu .hub-nav-section-title {
  display: block;
  margin: 0 .7rem .3rem;
  color: #657068;
  font-size: .67rem;
  line-height: 1.2;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: .11em;
}

#bootscore-navbar .dropdown-menu .dropdown-item,
#bootscore-navbar .dropdown-menu .hub-nav-featured > .dropdown-item {
  min-height: 0;
  padding: .48rem .72rem;
  color: #354039;
  border: 0;
  border-radius: .45rem;
  background: transparent;
  box-shadow: none;
  font-size: .88rem;
  line-height: 1.25;
}

#bootscore-navbar .dropdown-menu .hub-nav-featured > .dropdown-item {
  color: #26382d;
  font-weight: 800;
}

#bootscore-navbar .dropdown-menu .hub-nav-item-meta {
  display: block;
  margin-top: .18rem;
  color: #758078;
  font-size: .68rem;
  line-height: 1.25;
  font-weight: 500;
}

.hub-nav-live-status {
  display: block;
  margin-top: .25rem;
  color: #9a8123;
  text-transform: none;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: 0;
}

#bootscore-navbar .dropdown-menu .hub-nav-menu-current {
  color: #26382d !important;
  background: rgba(187, 161, 54, .17) !important;
  box-shadow: inset 3px 0 0 #bba136 !important;
  font-weight: 800 !important;
}

.hub-nav-live-badge {
  display: inline-block;
  margin-left: .55rem;
  padding: .18rem .4rem;
  color: #fff;
  border-radius: 999px;
  background: #394d40;
  font-size: .62rem;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .04em;
}

@media (min-width: 992px) {
  #bootscore-navbar .dropdown-menu {
    width: min(31rem, calc(100vw - 3rem));
    grid-template-columns: 1fr;
    gap: 0;
    padding: .75rem;
  }

  #bootscore-navbar .dropdown-menu > .hub-nav-group-start {
    grid-column: 1;
  }
}

/* Transparent trust signals: own promises and clearly separated network logos */
.hub-trust {
  padding-block: clamp(4.5rem, 8vw, 7.5rem);
  color: #1b211d;
  background: #f5f4ef;
}

.hub-trust__header {
  max-width: 52rem;
  margin: 0 auto clamp(2.5rem, 5vw, 4.5rem);
  text-align: center;
}

.hub-trust__header h2 {
  margin-bottom: 1rem;
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.hub-trust__header > p:last-child {
  color: #5f6962;
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  line-height: 1.7;
}

.hub-trust__promises {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
}

.hub-trust-seal {
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  align-items: center;
  padding: clamp(1.35rem, 2.3vw, 2rem) 1.1rem;
  text-align: center;
  border: 1px solid rgba(27, 33, 29, 0.12);
  border-radius: 10rem 10rem 1.25rem 1.25rem;
  background: #fff;
  box-shadow: 0 0.75rem 2.25rem rgba(25, 35, 28, 0.06);
}

.hub-trust-seal__icon {
  display: grid;
  width: 4.25rem;
  height: 4.25rem;
  flex: 0 0 auto;
  place-items: center;
  margin-bottom: 1.25rem;
  color: #fff;
  border: 0.35rem solid rgba(var(--bs-primary-rgb), 0.2);
  border-radius: 50%;
  outline: 2px solid var(--bs-primary);
  outline-offset: 0.2rem;
  background: var(--bs-primary);
  font-size: 1.35rem;
}

.hub-trust-seal h3 {
  margin-bottom: 0.65rem;
  font-size: clamp(1.05rem, 1.45vw, 1.25rem);
  line-height: 1.2;
  text-wrap: balance;
}

.hub-trust-seal p {
  margin-bottom: 1.2rem;
  color: #5f6962;
  font-size: 0.9rem;
  line-height: 1.6;
}

.hub-trust-seal small {
  margin-top: auto;
  color: #727a74;
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  line-height: 1.4;
  text-transform: uppercase;
}

.hub-trust__network {
  display: grid;
  grid-template-columns: minmax(15rem, 0.75fr) minmax(0, 1.65fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  margin-top: clamp(3.5rem, 7vw, 6rem);
  padding: clamp(1.5rem, 4vw, 3.5rem);
  border-radius: 1.25rem;
  background: #fff;
}

.hub-trust__network-copy h3 {
  margin-bottom: 0.85rem;
  font-size: clamp(1.6rem, 3vw, 2.5rem);
  line-height: 1.1;
}

.hub-trust__network-copy > p:last-child {
  margin-bottom: 0;
  color: #5f6962;
  line-height: 1.65;
}

.hub-trust__logos {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
}

.hub-trust__logos figure {
  display: flex;
  min-width: 0;
  margin: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  text-align: center;
}

.hub-trust__logos img {
  width: 100%;
  height: 4.75rem;
  padding: 0.45rem;
  object-fit: contain;
  filter: saturate(0.92);
}

.hub-trust__logos figcaption {
  color: #667068;
  font-size: 0.7rem;
  line-height: 1.35;
}

.hub-trust__legal {
  display: flex;
  max-width: 55rem;
  align-items: flex-start;
  justify-content: center;
  gap: 0.55rem;
  margin: 1.5rem auto 0;
  color: #667068;
  font-size: 0.8rem;
  line-height: 1.55;
  text-align: center;
}

.hub-trust__legal i {
  margin-top: 0.2em;
  color: var(--bs-primary);
}

html[data-bs-theme="dark"] .hub-trust {
  color: #f4f5f2;
  background: #151916;
}

html[data-bs-theme="dark"] :where(.hub-trust-seal, .hub-trust__network) {
  border-color: rgba(255, 255, 255, 0.12);
  background: #202621;
}

html[data-bs-theme="dark"] :where(
  .hub-trust__header > p:last-child,
  .hub-trust-seal p,
  .hub-trust-seal small,
  .hub-trust__network-copy > p:last-child,
  .hub-trust__logos figcaption,
  .hub-trust__legal
) {
  color: #c2c9c3;
}

html[data-bs-theme="dark"] .hub-trust__logos img {
  padding: 0.6rem;
  border-radius: 0.5rem;
  background: #fff;
}

@media (max-width: 991.98px) {
  .hub-trust__promises {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hub-trust__network {
    grid-template-columns: 1fr;
  }

  .hub-about-intro__grid,
  .hub-about-craft,
  .hub-about-wedding__grid,
  .hub-lovestyle__grid {
    grid-template-columns: 1fr;
  }

  .hub-about-values,
  .hub-audience-grid,
  .hub-area-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

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

  .hub-trust-seal {
    border-radius: 1.25rem;
  }

  .hub-trust__logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-about-values,
  .hub-audience-grid,
  .hub-area-grid {
    grid-template-columns: 1fr;
  }

  .hub-about-intro__actions,
  .hub-about-intro__actions .btn {
    width: 100%;
  }

  .hub-about-intro__actions .btn {
    justify-content: center;
  }

  .hub-craft-details article {
    grid-template-columns: 1fr;
  }

  .hub-about-final .container {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Jobs: human-first recruiting page */
.hub-jobs {
  --jobs-ink: #171717;
  --jobs-muted: #5d625f;
  --jobs-surface: #f5f4ef;
  --jobs-primary: var(--bs-primary, #8baa31);
  color: var(--jobs-ink);
  background: #fff;
}

.hub-jobs h1,
.hub-jobs h2,
.hub-jobs h3 {
  text-wrap: balance;
}

.hub-jobs p {
  text-wrap: pretty;
}

.hub-jobs-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(34rem, 72vh, 48rem);
  display: grid;
  align-items: center;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(8, 12, 9, 0.92) 0%, rgba(8, 12, 9, 0.72) 50%, rgba(8, 12, 9, 0.28) 100%),
    url("/wp-content/uploads/hub-erle-job-raesfeld-erle-muensterland-dorf-erle-restaurant-koch-kellner-service-reinigung-1.jpg") center / cover no-repeat;
}

.hub-jobs-hero__inner {
  padding-block: clamp(5rem, 10vw, 8rem);
}

.hub-jobs-hero__content {
  width: min(100%, 47rem);
}

.hub-jobs-hero h1 {
  max-width: 12ch;
  margin: 0 0 1.25rem;
  color: #fff;
  font-size: clamp(2.75rem, 6.5vw, 5.75rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.hub-jobs-hero__content > p:not(.hub-eyebrow, .hub-jobs-hero__note) {
  max-width: 42rem;
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
  line-height: 1.65;
}

.hub-jobs-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}

.hub-jobs-hero__note {
  margin: 1rem 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.95rem;
}

.hub-jobs-nav {
  position: relative;
  z-index: 2;
  border-bottom: 1px solid rgba(23, 23, 23, 0.1);
  background: #fff;
  box-shadow: 0 0.5rem 2rem rgba(15, 25, 18, 0.07);
}

.hub-jobs-nav .container {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.hub-jobs-nav a {
  display: flex;
  min-height: 5.25rem;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 1rem;
  color: var(--jobs-ink);
  text-align: center;
  text-decoration: none;
  border-right: 1px solid rgba(23, 23, 23, 0.08);
}

.hub-jobs-nav a:first-child {
  border-left: 1px solid rgba(23, 23, 23, 0.08);
}

.hub-jobs-nav a:hover {
  color: #000;
  background: var(--jobs-surface);
}

.hub-jobs-nav i {
  color: var(--jobs-primary);
  font-size: 1.25rem;
}

.hub-jobs-section {
  padding-block: clamp(4.5rem, 8vw, 8rem);
  scroll-margin-top: 6rem;
}

.hub-jobs-heading {
  max-width: 49rem;
  margin: 0 auto clamp(2rem, 5vw, 4rem);
  text-align: center;
}

.hub-jobs-heading h2,
.hub-jobs-manifesto h2,
.hub-jobs-tech h2,
.hub-jobs-models h2,
.hub-team-call h2,
.hub-jobs-final h2 {
  margin-bottom: 1.25rem;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.hub-jobs-heading > p:last-child,
.hub-jobs-manifesto p,
.hub-jobs-tech__content > p,
.hub-jobs-models > div:first-child > p:last-child,
.hub-team-call > p {
  color: var(--jobs-muted);
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  line-height: 1.75;
}

.hub-jobs-manifesto,
.hub-jobs-tech,
.hub-jobs-models,
.hub-application-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: start;
}

.hub-jobs-principles,
.hub-benefit-grid,
.hub-role-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(2.5rem, 6vw, 5rem);
}

.hub-jobs-principles {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hub-jobs-principles article,
.hub-benefit-card,
.hub-role-grid article,
.hub-application-options article {
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid rgba(23, 23, 23, 0.1);
  border-radius: 1rem;
  background: #fff;
}

.hub-jobs-principles i,
.hub-benefit-card > i,
.hub-role-grid > article > i,
.hub-application-options i {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  margin-bottom: 1.25rem;
  color: #fff;
  border-radius: 50%;
  background: var(--jobs-primary);
  font-size: 1.2rem;
}

.hub-jobs-principles h3,
.hub-benefit-card h3,
.hub-role-grid h3,
.hub-tech-list h3,
.hub-application-options h3,
.hub-application-form h3 {
  margin-bottom: 0.65rem;
  font-size: clamp(1.15rem, 1.7vw, 1.4rem);
}

.hub-jobs-principles p,
.hub-benefit-card p,
.hub-role-grid p,
.hub-tech-list p,
.hub-application-options p {
  margin-bottom: 0;
  color: var(--jobs-muted);
  line-height: 1.65;
}

.hub-jobs-section--benefits,
.hub-jobs-section--models {
  background: var(--jobs-surface);
}

.hub-benefit-card--highlight {
  color: #fff;
  border-color: var(--jobs-primary);
  background: var(--jobs-primary);
}

.hub-benefit-card--highlight > i {
  color: var(--jobs-primary);
  background: #fff;
}

.hub-benefit-card--highlight p {
  color: rgba(255, 255, 255, 0.9);
}

.hub-jobs-tariff-note {
  max-width: 60rem;
  margin: 2rem auto 0;
  color: var(--jobs-muted);
  font-size: 0.95rem;
  line-height: 1.65;
  text-align: center;
}

.hub-jobs-section--tech {
  color: #fff;
  background: #141814;
}

.hub-jobs-section--tech h2,
.hub-jobs-section--tech h3 {
  color: #fff;
}

.hub-jobs-section--tech .hub-jobs-tech__content > p,
.hub-jobs-section--tech .hub-tech-list p {
  color: rgba(255, 255, 255, 0.72);
}

.hub-tech-list {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.hub-tech-list article {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  padding-block: 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.hub-tech-list i {
  width: 2rem;
  padding-top: 0.2rem;
  color: var(--jobs-primary);
  text-align: center;
  font-size: 1.2rem;
}

.hub-role-grid article {
  display: flex;
  min-height: 100%;
  flex-direction: column;
}

.hub-role-grid a {
  margin-top: auto;
  padding-top: 1.25rem;
  font-weight: 700;
  text-decoration: none;
}

.hub-model-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.hub-model-tags span {
  padding: 0.75rem 1rem;
  color: var(--jobs-ink);
  border: 1px solid rgba(23, 23, 23, 0.12);
  border-radius: 999px;
  background: #fff;
  font-weight: 700;
}

.hub-jobs-section--team-call {
  padding-block: clamp(4rem, 7vw, 6rem);
}

.hub-team-call {
  max-width: 55rem;
  margin-inline: auto;
  text-align: center;
}

.hub-team-call .btn {
  margin-top: 1rem;
}

.hub-jobs-application {
  background: var(--jobs-surface);
}

.hub-application-options {
  display: grid;
  gap: 1rem;
}

.hub-application-options article {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 1rem;
  align-items: center;
}

.hub-application-options i {
  grid-row: 1 / span 2;
  margin: 0;
}

.hub-application-options h3,
.hub-application-options p {
  margin: 0;
}

.hub-application-form {
  min-width: 0;
  padding: clamp(1.5rem, 4vw, 3rem);
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 1.25rem 4rem rgba(15, 25, 18, 0.1);
}

.hub-application-form > h3 {
  margin-bottom: 1.5rem;
}

.hub-jobs-final {
  padding-block: clamp(4.5rem, 9vw, 8rem);
  color: #fff;
  text-align: center;
  background: var(--jobs-primary);
}

.hub-jobs-final h2 {
  color: #fff;
}

.hub-jobs-final p:not(.hub-eyebrow) {
  margin-bottom: 2rem;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
}

@media (max-width: 991.98px) {
  .hub-jobs-hero {
    min-height: 38rem;
    background-position: 62% center;
  }

  .hub-jobs-nav .container {
    grid-template-columns: repeat(5, max-content);
    justify-content: start;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  .hub-jobs-nav a {
    min-height: 4.5rem;
    white-space: nowrap;
  }

  .hub-jobs-manifesto,
  .hub-jobs-tech,
  .hub-jobs-models,
  .hub-application-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .hub-jobs-principles,
  .hub-benefit-grid,
  .hub-role-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .hub-jobs-hero {
    min-height: auto;
    background:
      linear-gradient(rgba(8, 12, 9, 0.78), rgba(8, 12, 9, 0.86)),
      url("/wp-content/uploads/hub-erle-job-raesfeld-erle-muensterland-dorf-erle-restaurant-koch-kellner-service-reinigung-1.jpg") 60% center / cover no-repeat;
  }

  .hub-jobs-hero__inner {
    padding-block: 4.5rem;
  }

  .hub-jobs-hero h1 {
    font-size: clamp(2.6rem, 13vw, 3.75rem);
  }

  .hub-jobs-actions,
  .hub-jobs-actions .btn,
  .hub-team-call .btn {
    width: 100%;
  }

  .hub-jobs-actions .btn,
  .hub-team-call .btn {
    justify-content: center;
  }

  .hub-jobs-principles,
  .hub-benefit-grid,
  .hub-role-grid {
    grid-template-columns: 1fr;
  }

  .hub-application-options article {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .hub-application-options i {
    grid-row: auto;
    margin-bottom: 0.75rem;
  }
}

/* HUB Club */
.hub-club {
  --club-ink: #191f1b;
  --club-muted: #5e6861;
  color: var(--club-ink);
  background: #fff;
}

.hub-club h1,
.hub-club h2,
.hub-club h3 {
  text-wrap: balance;
}

.hub-club-hero {
  padding-block: clamp(4.5rem, 9vw, 8rem);
  color: #fff;
  background:
    radial-gradient(circle at 78% 18%, rgba(var(--bs-primary-rgb), 0.35), transparent 25rem),
    #18201a;
}

.hub-club-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.hub-club-hero h1 {
  max-width: 12ch;
  margin-bottom: 1.25rem;
  color: #fff;
  font-size: clamp(3rem, 7vw, 6rem);
  line-height: 0.95;
  letter-spacing: -0.05em;
}

.hub-club-hero__content > p:not(.hub-eyebrow, .hub-club-hero__note) {
  max-width: 44rem;
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(1.05rem, 1.7vw, 1.25rem);
  line-height: 1.7;
}

.hub-club-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}

.hub-club-hero__note {
  display: flex;
  max-width: 40rem;
  align-items: flex-start;
  gap: 0.6rem;
  margin: 1.25rem 0 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
  line-height: 1.55;
}

.hub-club-hero__note i {
  margin-top: 0.25em;
  color: var(--bs-primary);
}

.hub-club-hero__media {
  margin: 0;
}

.hub-club-hero__media img {
  width: 100%;
  border-radius: 1.25rem;
  transform: rotate(2deg);
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.28);
}

.hub-club-nav {
  border-bottom: 1px solid rgba(25, 31, 27, 0.1);
  background: #fff;
  box-shadow: 0 0.5rem 2rem rgba(20, 30, 22, 0.06);
}

.hub-club-nav .container {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.hub-club-nav a {
  display: flex;
  min-height: 5rem;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 1rem;
  color: var(--club-ink);
  text-align: center;
  text-decoration: none;
  border-inline-end: 1px solid rgba(25, 31, 27, 0.08);
  font-weight: 700;
}

.hub-club-nav a:first-child {
  border-inline-start: 1px solid rgba(25, 31, 27, 0.08);
}

.hub-club-nav i {
  color: var(--bs-primary);
}

.hub-club-section {
  padding-block: clamp(4.5rem, 8vw, 8rem);
  scroll-margin-top: 6rem;
}

.hub-club-section--soft {
  background: #f3f5f1;
}

.hub-club-intro,
.hub-club-upcoming,
.hub-club-rules {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: start;
}

.hub-club-intro h2,
.hub-club-heading h2,
.hub-club-upcoming h2,
.hub-club-rules h2,
.hub-club-final h2 {
  margin-bottom: 1.15rem;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.hub-club-intro > div:last-child p,
.hub-club-heading > p:last-child,
.hub-club-upcoming__copy > p:not(.hub-eyebrow),
.hub-club-rules li {
  color: var(--club-muted);
  font-size: clamp(1rem, 1.4vw, 1.13rem);
  line-height: 1.75;
}

.hub-club-heading {
  max-width: 54rem;
  margin: 0 auto clamp(2.5rem, 6vw, 4rem);
  text-align: center;
}

.hub-club-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.hub-club-benefits article {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(1.35rem, 3vw, 2rem);
  border: 1px solid rgba(25, 31, 27, 0.11);
  border-radius: 1rem;
  background: #fff;
}

.hub-club-benefits article > span {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  margin-bottom: 1.25rem;
  color: #fff;
  border-radius: 50%;
  background: var(--bs-primary);
}

.hub-club-benefits h3 {
  font-size: 1.2rem;
}

.hub-club-benefits p {
  color: var(--club-muted);
  font-size: 0.92rem;
  line-height: 1.65;
}

.hub-club-benefits strong {
  align-self: flex-start;
  margin-top: auto;
  padding: 0.35rem 0.6rem;
  color: #fff;
  border-radius: 999px;
  background: #3fa535;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hub-club-benefits strong.hub-club-coming {
  color: #27210c;
  background: #f1d66f;
}

.hub-club-section--topup {
  background: #fff;
}

.hub-club-topup {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(26rem, 1.2fr);
  gap: clamp(2.5rem, 7vw, 6rem);
  align-items: start;
}

.hub-club-topup__copy h2 {
  margin-bottom: 1.15rem;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.hub-club-topup__copy > p:not(.hub-eyebrow, .hub-club-topup__registration) {
  color: var(--club-muted);
  font-size: clamp(1rem, 1.4vw, 1.13rem);
  line-height: 1.75;
}

.hub-club-topup__facts {
  display: grid;
  gap: 1rem;
  margin: 2rem 0;
  padding: 0;
  list-style: none;
}

.hub-club-topup__facts li {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: 0.9rem;
  align-items: start;
  color: var(--club-muted);
  line-height: 1.55;
}

.hub-club-topup__facts i {
  display: grid;
  width: 2.6rem;
  height: 2.6rem;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: var(--bs-primary);
}

.hub-club-topup__facts strong {
  display: block;
  margin-bottom: 0.15rem;
  color: var(--club-ink);
}

.hub-club-topup__registration {
  padding: 1rem 1.1rem;
  border-inline-start: 0.25rem solid var(--bs-primary);
  background: #f3f5f1;
  line-height: 1.65;
}

.hub-club-topup__registration a {
  font-weight: 700;
  text-underline-offset: 0.18em;
}

.hub-club-section--upcoming {
  color: #fff;
  background: #1a211c;
}

.hub-club-section--upcoming h2 {
  color: #fff;
}

.hub-club-section--upcoming .hub-club-upcoming__copy > p:not(.hub-eyebrow) {
  color: rgba(255, 255, 255, 0.72);
}

.hub-club-upcoming__ideas {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.hub-club-upcoming__ideas article {
  display: grid;
  grid-template-columns: 2.75rem 1fr;
  gap: 1rem;
  padding-block: 1.2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.hub-club-upcoming__ideas i {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: var(--bs-primary);
}

.hub-club-upcoming__ideas h3 {
  margin: 0 0 0.3rem;
  color: #fff;
  font-size: 1.15rem;
}

.hub-club-upcoming__ideas p {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.55;
}

.hub-club-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hub-club-steps li {
  padding: 1.5rem;
  border-top: 0.25rem solid var(--bs-primary);
  border-radius: 0.85rem;
  background: #f3f5f1;
}

.hub-club-steps > li > span {
  display: block;
  margin-bottom: 1rem;
  color: var(--bs-primary);
  font-size: 1.6rem;
  font-weight: 850;
}

.hub-club-steps h3 {
  font-size: 1.1rem;
}

.hub-club-steps p {
  margin: 0;
  color: var(--club-muted);
  font-size: 0.9rem;
  line-height: 1.6;
}

.hub-club-actions--center {
  justify-content: center;
  margin-top: 2.5rem;
}

.hub-club-section--rules {
  background: #f3f5f1;
}

.hub-club-rules ul {
  display: grid;
  gap: 0.9rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hub-club-rules li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
}

.hub-club-rules li i {
  margin-top: 0.35em;
  color: #3fa535;
}

.hub-club-final {
  padding-block: clamp(4.5rem, 9vw, 8rem);
  color: #fff;
  text-align: center;
  background: var(--bs-primary);
}

.hub-club-final h2,
.hub-club-final p {
  color: #fff;
}

.hub-club-final p:not(.hub-eyebrow) {
  margin-bottom: 2rem;
  font-size: 1.15rem;
}

html[data-bs-theme="dark"] .hub-club {
  color: #f3f5f2;
  background: #151916;
}

html[data-bs-theme="dark"] :where(.hub-club-section--soft, .hub-club-section--rules) {
  background: #1b211c;
}

html[data-bs-theme="dark"] .hub-club-section--topup {
  background: #151916;
}

html[data-bs-theme="dark"] :where(.hub-club-benefits article, .hub-club-steps li) {
  border-color: rgba(255, 255, 255, 0.12);
  background: #222923;
}

html[data-bs-theme="dark"] :where(
  .hub-club-intro > div:last-child p,
  .hub-club-heading > p:last-child,
  .hub-club-rules li,
  .hub-club-benefits p,
  .hub-club-steps p,
  .hub-club-topup__copy > p:not(.hub-eyebrow, .hub-club-topup__registration),
  .hub-club-topup__facts li
) {
  color: #c5cbc6;
}

html[data-bs-theme="dark"] .hub-club-topup__facts strong {
  color: #f3f5f2;
}

html[data-bs-theme="dark"] .hub-club-topup__registration {
  background: #222923;
}

@media (min-width: 992px) {
  #bootscore-navbar .dropdown-menu > .hub-nav-group-start {
    position: relative;
    grid-column: 1;
    margin-top: 1.65rem;
  }

  #bootscore-navbar .dropdown-menu > .hub-nav-group-start::before {
    position: absolute;
    bottom: calc(100% + .35rem);
    left: .75rem;
    color: #68736b;
    content: "";
    font-size: .68rem;
    line-height: 1;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: .1em;
    white-space: nowrap;
  }

  #bootscore-navbar .dropdown-menu > .hub-nav-group-quick,
  #bootscore-navbar .dropdown-menu > .hub-nav-group-planning {
    margin-top: 1.15rem;
  }

  #bootscore-navbar .hub-nav-group-quick::before { content: "Auf einen Blick"; }
  #bootscore-navbar .hub-nav-group-areas::before { content: "Unsere Bereiche"; }
  #bootscore-navbar .hub-nav-group-menus::before { content: "Speise- & Getränkekarten"; }
  #bootscore-navbar .hub-nav-group-groups::before { content: "Für Gruppen"; }
  #bootscore-navbar .hub-nav-group-planning::before { content: "Location & Planung"; }
  #bootscore-navbar .hub-nav-group-occasions::before { content: "Private Anlässe"; }
  #bootscore-navbar .hub-nav-group-business::before { content: "Für Unternehmen"; }

  #bootscore-navbar .hub-nav-featured > .dropdown-item {
    color: #26382d;
    border: 1px solid rgba(187, 161, 54, .42);
    background: rgba(187, 161, 54, .1);
    font-weight: 800;
  }

  #bootscore-navbar #menu-item-1003 > .dropdown-item::before,
  #bootscore-navbar #menu-item-1724 > .dropdown-item::before {
    margin-right: .55rem;
    color: #b09425;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
  }

  #bootscore-navbar #menu-item-1003 > .dropdown-item::before { content: "\f274"; }
  #bootscore-navbar #menu-item-1724 > .dropdown-item::before { content: "\f017"; }
}

@media (max-width: 991.98px) {
  .hub-club-hero__grid,
  .hub-club-intro,
  .hub-club-upcoming,
  .hub-club-rules,
  .hub-club-topup {
    grid-template-columns: 1fr;
  }

  .hub-club-nav .container {
    grid-template-columns: repeat(5, max-content);
    justify-content: start;
    overflow-x: auto;
  }

  .hub-club-nav a {
    white-space: nowrap;
  }

  .hub-club-benefits,
  .hub-club-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .hub-club-hero__media img {
    transform: none;
  }

  .hub-club-benefits,
  .hub-club-steps {
    grid-template-columns: 1fr;
  }

  .hub-club-actions,
  .hub-club-actions .btn {
    width: 100%;
  }

  .hub-club-actions .btn {
    justify-content: center;
  }
}

/* Kundenkarte aufladen */
.hub-topup {
  --topup-ink: #19201b;
  --topup-muted: #5d6860;
  color: var(--topup-ink);
  background: #fff;
}

.hub-topup :where(h1, h2, h3) {
  text-wrap: balance;
}

.hub-topup .hub-eyebrow {
  color: #6b5a12;
}

.hub-topup .btn-outline-primary {
  --bs-btn-color: #394d40;
  --bs-btn-border-color: #394d40;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #394d40;
  --bs-btn-hover-border-color: #394d40;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #2b3b31;
  --bs-btn-active-border-color: #2b3b31;
}

.hub-topup-hero {
  padding-block: clamp(2.5rem, 6vw, 5.5rem);
  background:
    radial-gradient(circle at 82% 12%, rgba(var(--bs-primary-rgb), 0.2), transparent 24rem),
    #f3f5f1;
}

.hub-topup-breadcrumb {
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.hub-topup-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  color: var(--topup-muted);
  font-size: 0.875rem;
  list-style: none;
}

.hub-topup-breadcrumb li + li::before {
  margin-inline-end: 0.45rem;
  color: var(--bs-primary);
  content: "/";
}

.hub-topup-breadcrumb a {
  color: inherit;
  text-underline-offset: 0.18em;
}

.hub-topup-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(22rem, 0.7fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.hub-topup-hero h1 {
  max-width: 13ch;
  margin-bottom: 1.25rem;
  font-size: clamp(2.8rem, 6vw, 5.5rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
}

.hub-topup-hero__content > p:not(.hub-eyebrow, .hub-topup-hero__trust) {
  max-width: 45rem;
  color: var(--topup-muted);
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  line-height: 1.7;
}

.hub-topup-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}

.hub-topup-hero__trust {
  display: flex;
  max-width: 43rem;
  gap: 0.65rem;
  align-items: flex-start;
  margin: 1.25rem 0 0;
  color: var(--topup-muted);
  font-size: 0.9rem;
  line-height: 1.55;
}

.hub-topup-hero__trust i {
  margin-top: 0.2em;
  color: var(--bs-primary);
}

.hub-topup-steps {
  padding: clamp(1.5rem, 4vw, 2.5rem);
  color: #fff;
  border-radius: 1.25rem;
  background: #19201b;
  box-shadow: 0 1.75rem 4rem rgba(20, 30, 22, 0.16);
}

.hub-topup-steps h2 {
  margin-bottom: 1.5rem;
  color: #fff;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  line-height: 1.15;
}

.hub-topup-steps .hub-eyebrow {
  color: #e2ca70;
}

.hub-topup-steps ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hub-topup-steps li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 0.85rem;
  padding-block: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.hub-topup-steps li > span {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  color: #241f0c;
  border-radius: 50%;
  background: var(--bs-primary);
  font-weight: 800;
}

.hub-topup-steps strong,
.hub-topup-steps small {
  display: block;
}

.hub-topup-steps small {
  margin-top: 0.2rem;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.5;
}

.hub-topup-form,
.hub-topup-help {
  padding-block: clamp(4.5rem, 8vw, 8rem);
  scroll-margin-top: 6rem;
}

.hub-topup-heading {
  max-width: 54rem;
  margin: 0 auto clamp(2.25rem, 5vw, 3.5rem);
  text-align: center;
}

.hub-topup-heading h2 {
  margin-bottom: 1rem;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.hub-topup-heading > p:last-child {
  color: var(--topup-muted);
  font-size: clamp(1rem, 1.4vw, 1.13rem);
  line-height: 1.7;
}

.hub-topup-form__shell {
  max-width: 64rem;
  margin-inline: auto;
}

.hub-topup-help {
  background: #f3f5f1;
}

.hub-topup-help__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.hub-topup-help__grid article {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(1.35rem, 3vw, 2rem);
  border: 1px solid rgba(25, 31, 27, 0.11);
  border-radius: 1rem;
  background: #fff;
}

.hub-topup-help__grid article > span {
  display: grid;
  width: 3.1rem;
  height: 3.1rem;
  place-items: center;
  margin-bottom: 1.2rem;
  color: #241f0c;
  border-radius: 50%;
  background: var(--bs-primary);
}

.hub-topup-help__grid h3 {
  font-size: 1.2rem;
}

.hub-topup-help__grid p {
  color: var(--topup-muted);
  line-height: 1.65;
}

.hub-topup-help__grid > article > a:last-child {
  margin-top: auto;
  color: #6b5a12;
  font-weight: 750;
  text-underline-offset: 0.2em;
}

.hub-topup .hub-card-topup__fallback a {
  color: #6b5a12;
}

html[data-bs-theme="dark"] .hub-topup {
  color: #f3f5f2;
  background: #151916;
}

html[data-bs-theme="dark"] .hub-topup-hero,
html[data-bs-theme="dark"] .hub-topup-help {
  background:
    radial-gradient(circle at 82% 12%, rgba(var(--bs-primary-rgb), 0.12), transparent 24rem),
    #1b211c;
}

html[data-bs-theme="dark"] .hub-topup-help__grid article {
  border-color: rgba(255, 255, 255, 0.12);
  background: #222923;
}

html[data-bs-theme="dark"] .hub-topup .hub-eyebrow,
html[data-bs-theme="dark"] .hub-topup-help__grid > article > a:last-child,
html[data-bs-theme="dark"] .hub-topup .hub-card-topup__fallback a {
  color: #e2ca70;
}

html[data-bs-theme="dark"] .hub-topup .btn-outline-primary {
  --bs-btn-color: #f3f5f2;
  --bs-btn-border-color: rgba(255, 255, 255, 0.72);
  --bs-btn-hover-color: #182019;
  --bs-btn-hover-bg: #f3f5f2;
  --bs-btn-hover-border-color: #f3f5f2;
}

html[data-bs-theme="dark"] :where(
  .hub-topup-breadcrumb,
  .hub-topup-hero__content > p:not(.hub-eyebrow, .hub-topup-hero__trust),
  .hub-topup-hero__trust,
  .hub-topup-heading > p:last-child,
  .hub-topup-help__grid p
) {
  color: #c5cbc6;
}

@media (max-width: 991.98px) {
  .hub-topup-hero__grid {
    grid-template-columns: 1fr;
  }

  .hub-topup-help__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-topup-help__grid article:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 575.98px) {
  .hub-topup-actions,
  .hub-topup-actions .btn {
    width: 100%;
  }

  .hub-topup-actions .btn {
    justify-content: center;
  }

  .hub-topup-help__grid {
    grid-template-columns: 1fr;
  }

  .hub-topup-help__grid article:last-child {
    grid-column: auto;
  }
}

/* Öffnungszeiten */
.hub-hours {
  --hours-ink: #182019;
  --hours-muted: #5d675f;
  --hours-accent-text: #6b5a12;
  color: var(--hours-ink);
  background: #fff;
}

.hub-hours h1,
.hub-hours h2,
.hub-hours h3 {
  text-wrap: balance;
}

.hub-hours-hero {
  padding-block: clamp(4.5rem, 9vw, 8rem);
  color: #fff;
  background:
    radial-gradient(circle at 85% 15%, rgba(var(--bs-primary-rgb), 0.32), transparent 25rem),
    #172019;
}

.hub-hours-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(19rem, 0.9fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.hub-hours-hero h1 {
  max-width: 12ch;
  margin-bottom: 1.25rem;
  color: #fff;
  font-size: clamp(3rem, 7vw, 6rem);
  line-height: 0.96;
  letter-spacing: -0.05em;
}

.hub-hours-hero__content > p:not(.hub-eyebrow) {
  max-width: 46rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1.05rem, 1.7vw, 1.25rem);
  line-height: 1.7;
}

.hub-hours-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}

.hub-hours .btn-outline-primary {
  --bs-btn-color: #394d40;
  --bs-btn-border-color: #394d40;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #394d40;
  --bs-btn-hover-border-color: #394d40;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #2b3b31;
  --bs-btn-active-border-color: #2b3b31;
}

.hub-hours-hero__summary {
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(0.75rem);
}

.hub-hours-status {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 1.25rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hub-hours-status span {
  width: 0.65rem;
  height: 0.65rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #72c775;
  box-shadow: 0 0 0 0.3rem rgba(114, 199, 117, 0.14);
}

.hub-hours-hero__summary dl {
  margin: 0;
}

.hub-hours-hero__summary dt {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding-top: 1rem;
  margin-bottom: 0.3rem;
  color: rgba(255, 255, 255, 0.66);
  font-size: 0.83rem;
}

.hub-hours-hero__summary dt i {
  width: 1.1rem;
  color: var(--bs-primary);
  text-align: center;
}

.hub-hours-hero__summary dd {
  margin: 0 0 0 1.75rem;
  padding-bottom: 1rem;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  font-weight: 750;
}

.hub-hours-hero__closed {
  margin: 1.25rem 0 0;
  color: #fff;
}

.hub-hours-nav {
  border-bottom: 1px solid rgba(24, 32, 25, 0.1);
  background: #fff;
  box-shadow: 0 0.5rem 2rem rgba(20, 30, 22, 0.06);
}

.hub-hours-nav .container {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hub-hours-nav a {
  display: flex;
  min-height: 5rem;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 1rem;
  color: var(--hours-ink);
  text-align: center;
  text-decoration: none;
  border-inline-end: 1px solid rgba(24, 32, 25, 0.08);
  font-weight: 750;
}

.hub-hours-nav a:first-child {
  border-inline-start: 1px solid rgba(24, 32, 25, 0.08);
}

.hub-hours-nav a:hover {
  color: var(--hours-accent-text);
}

.hub-hours-nav i {
  color: var(--bs-primary);
}

.hub-hours-section {
  padding-block: clamp(4.5rem, 8vw, 8rem);
  scroll-margin-top: 6rem;
}

.hub-hours-section--soft {
  background: #f3f5f1;
}

.hub-hours-section:not(.hub-hours-section--visit) .hub-eyebrow {
  color: var(--hours-accent-text);
}

.hub-hours-heading {
  max-width: 55rem;
  margin: 0 auto clamp(2.5rem, 6vw, 4rem);
  text-align: center;
}

.hub-hours-heading h2,
.hub-hours-visit h2,
.hub-hours-final h2 {
  margin-bottom: 1.15rem;
  font-size: clamp(2.1rem, 4.5vw, 4rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.hub-hours-heading > p:last-child,
.hub-hours-visit > div:first-child > p:not(.hub-eyebrow),
.hub-hours-final > .container > p:not(.hub-eyebrow) {
  color: var(--hours-muted);
  font-size: clamp(1rem, 1.4vw, 1.13rem);
  line-height: 1.75;
}

.hub-hours-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.hub-hours-card {
  position: relative;
  min-height: 100%;
  padding: clamp(1.5rem, 3.5vw, 2.5rem);
  border: 1px solid rgba(24, 32, 25, 0.11);
  border-radius: 1rem;
  background: #fff;
}

.hub-hours-card--primary {
  color: #fff;
  border-color: #1d2a20;
  background: #1d2a20;
}

.hub-hours-card__icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  margin-bottom: 1.5rem;
  color: #1d241f;
  border-radius: 50%;
  background: var(--bs-primary);
}

.hub-hours-card__days {
  margin-bottom: 0.45rem;
  color: var(--hours-muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.hub-hours-card--primary .hub-hours-card__days {
  color: rgba(255, 255, 255, 0.65);
}

.hub-hours-card h3 {
  margin-bottom: 0.7rem;
  font-size: clamp(1.3rem, 2.5vw, 1.7rem);
}

.hub-hours-card--primary h3 {
  color: #fff;
}

.hub-hours-card__time {
  margin-bottom: 1rem;
  color: var(--hours-ink);
  font-size: clamp(1.8rem, 4vw, 3.25rem);
  font-weight: 850;
  line-height: 1;
  letter-spacing: -0.045em;
}

.hub-hours-card--primary .hub-hours-card__time {
  color: var(--bs-primary);
}

.hub-hours-card > p:last-child {
  max-width: 41rem;
  margin-bottom: 0;
  color: var(--hours-muted);
  line-height: 1.65;
}

.hub-hours-card--primary > p:last-child {
  color: rgba(255, 255, 255, 0.72);
}

.hub-hours-card--closed {
  background: #f6f3eb;
}

.hub-hours-menus {
  border-top: 1px solid rgba(24, 32, 25, 0.13);
}

.hub-hours-menus article {
  display: grid;
  grid-template-columns: minmax(11rem, 0.36fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  padding-block: clamp(1.6rem, 3vw, 2.5rem);
  border-bottom: 1px solid rgba(24, 32, 25, 0.13);
}

.hub-hours-menus__time {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
}

.hub-hours-menus__time span {
  color: var(--hours-muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.hub-hours-menus__time strong {
  font-size: clamp(1.45rem, 3vw, 2rem);
  letter-spacing: -0.035em;
}

.hub-hours-menus h3 {
  margin-bottom: 0.5rem;
  font-size: clamp(1.35rem, 2.5vw, 1.8rem);
}

.hub-hours-menus p {
  margin-bottom: 0.75rem;
  color: var(--hours-muted);
  line-height: 1.65;
}

.hub-hours-menus a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #394d40;
  font-weight: 750;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
}

.hub-hours-drinks {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1.25rem;
  align-items: center;
  margin-top: 2rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: 1rem;
  background: #fff;
}

.hub-hours-drinks > i {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: #1d2a20;
}

.hub-hours-drinks h3 {
  margin-bottom: 0.25rem;
  font-size: 1.2rem;
}

.hub-hours-drinks p {
  margin: 0;
  color: var(--hours-muted);
  line-height: 1.55;
}

.hub-hours-section--visit {
  color: #fff;
  background: #1a211c;
}

.hub-hours-visit {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(19rem, 1.1fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.hub-hours-visit h2 {
  color: #fff;
}

.hub-hours-visit > div:first-child > p:not(.hub-eyebrow) {
  color: rgba(255, 255, 255, 0.72);
}

.hub-hours-visit address {
  margin-top: 1.5rem;
  color: #fff;
  font-style: normal;
  line-height: 1.7;
}

.hub-hours-visit > div:first-child > p:last-child a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #fff;
  font-size: 1.15rem;
  font-weight: 750;
}

.hub-hours-visit__notice {
  padding: clamp(1.5rem, 4vw, 2.5rem);
  color: var(--hours-ink);
  border-radius: 1.25rem;
  background: #fff;
}

.hub-hours-visit__notice > span {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  margin-bottom: 1.5rem;
  color: #1d241f;
  border-radius: 50%;
  background: var(--bs-primary);
  font-size: 1.25rem;
}

.hub-hours-visit__notice h3 {
  font-size: clamp(1.5rem, 3vw, 2rem);
}

.hub-hours-visit__notice p {
  color: var(--hours-muted);
  line-height: 1.7;
}

.hub-hours-faq {
  max-width: 58rem;
  margin-inline: auto;
  border-top: 1px solid rgba(24, 32, 25, 0.13);
}

.hub-hours-faq details {
  border-bottom: 1px solid rgba(24, 32, 25, 0.13);
}

.hub-hours-faq summary {
  padding-block: 1.35rem;
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  font-weight: 750;
  cursor: pointer;
}

.hub-hours-faq details p {
  max-width: 48rem;
  padding: 0 2rem 1.35rem 0;
  color: var(--hours-muted);
  line-height: 1.7;
}

.hub-hours-help {
  display: flex;
  max-width: 58rem;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin: 2.5rem auto 0;
  padding: 1.25rem;
  border-radius: 0.85rem;
  background: #f3f5f1;
}

.hub-hours-help p {
  margin: 0;
  color: var(--hours-muted);
  line-height: 1.6;
}

.hub-hours-help .btn {
  flex: 0 0 auto;
}

.hub-hours-final {
  padding-block: clamp(4.5rem, 9vw, 8rem);
  text-align: center;
  background: var(--bs-primary);
}

.hub-hours-final h2 {
  max-width: 18ch;
  margin-inline: auto;
  color: #1b211d;
}

.hub-hours-final .hub-eyebrow {
  color: #1b211d;
}

.hub-hours-final > .container > p:not(.hub-eyebrow) {
  color: #282f2a;
}

.hub-hours-actions--center {
  justify-content: center;
}

html[data-bs-theme="dark"] .hub-hours {
  color: #f2f5f2;
  background: #151916;
}

html[data-bs-theme="dark"] .hub-hours .btn-outline-primary {
  --bs-btn-color: #dfcf7d;
  --bs-btn-border-color: #dfcf7d;
  --bs-btn-hover-color: #171b18;
  --bs-btn-hover-bg: #dfcf7d;
  --bs-btn-hover-border-color: #dfcf7d;
}

html[data-bs-theme="dark"] .hub-hours-nav,
html[data-bs-theme="dark"] .hub-hours-section--soft {
  background: #1b211c;
}

html[data-bs-theme="dark"] .hub-hours-nav {
  border-color: rgba(255, 255, 255, 0.12);
}

html[data-bs-theme="dark"] .hub-hours-nav a {
  color: #f2f5f2;
  border-color: rgba(255, 255, 255, 0.1);
}

html[data-bs-theme="dark"] :where(.hub-hours-card, .hub-hours-drinks, .hub-hours-visit__notice) {
  color: #f2f5f2;
  border-color: rgba(255, 255, 255, 0.12);
  background: #222923;
}

html[data-bs-theme="dark"] .hub-hours-card--primary {
  background: #263229;
}

html[data-bs-theme="dark"] :where(
  .hub-hours-heading > p:last-child,
  .hub-hours-card__days,
  .hub-hours-card > p:last-child,
  .hub-hours-menus p,
  .hub-hours-menus__time span,
  .hub-hours-drinks p,
  .hub-hours-visit__notice p,
  .hub-hours-faq details p,
  .hub-hours-help p
) {
  color: #c4cbc5;
}

html[data-bs-theme="dark"] .hub-hours-card__time {
  color: #f2f5f2;
}

html[data-bs-theme="dark"] .hub-hours-card--primary .hub-hours-card__time {
  color: var(--bs-primary);
}

html[data-bs-theme="dark"] :where(.hub-hours-menus, .hub-hours-menus article, .hub-hours-faq, .hub-hours-faq details) {
  border-color: rgba(255, 255, 255, 0.14);
}

html[data-bs-theme="dark"] .hub-hours-help {
  background: #222923;
}

html[data-bs-theme="dark"] .hub-hours-section:not(.hub-hours-section--visit) .hub-eyebrow,
html[data-bs-theme="dark"] .hub-hours-menus a {
  color: #dfcf7d;
}

@media (max-width: 991.98px) {
  .hub-hours-hero__grid,
  .hub-hours-visit {
    grid-template-columns: 1fr;
  }

  .hub-hours-nav .container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-hours-nav a:nth-child(2) {
    border-inline-end: 0;
  }

  .hub-hours-nav a:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(24, 32, 25, 0.08);
  }
}

@media (max-width: 767.98px) {
  .hub-hours-overview {
    grid-template-columns: 1fr;
  }

  .hub-hours-menus article {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .hub-hours-drinks {
    grid-template-columns: auto 1fr;
  }

  .hub-hours-drinks .btn {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 575.98px) {
  .hub-hours-actions,
  .hub-hours-actions .btn,
  .hub-hours-help,
  .hub-hours-help .btn {
    width: 100%;
  }

  .hub-hours-actions .btn,
  .hub-hours-help .btn {
    justify-content: center;
    text-align: center;
  }

  .hub-hours-help {
    align-items: stretch;
    flex-direction: column;
  }

  .hub-hours-nav a {
    min-height: 4.5rem;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.8rem 0.5rem;
    font-size: 0.86rem;
  }

  .hub-hours-hero__summary dd {
    margin-left: 0;
  }
}

/* Restaurant: Küche, Herkunft, Bewertungen und Besuchsplanung */
.hub-restaurant {
  --hub-restaurant-ink: #202820;
  --hub-restaurant-muted: #586159;
  --hub-restaurant-soft: #f7f5ef;
  --hub-restaurant-card: #fff;
  --hub-restaurant-border: rgba(29, 36, 31, 0.1);
  --hub-restaurant-accent-text: #806b19;
  color: var(--hub-restaurant-ink);
  background: var(--hub-restaurant-card);
}

.hub-restaurant :where(#kueche, #herkunft, #bewertungen, #besuch) {
  scroll-margin-top: 7rem;
}

.hub-restaurant .btn {
  display: inline-flex;
  gap: 0.55rem;
  align-items: center;
  justify-content: center;
}

.hub-restaurant .hub-eyebrow {
  color: var(--hub-restaurant-accent-text);
}

.hub-restaurant .btn-outline-primary {
  --bs-btn-color: var(--hub-restaurant-accent-text);
  --bs-btn-border-color: var(--hub-restaurant-accent-text);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #665511;
  --bs-btn-hover-border-color: #665511;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #665511;
  --bs-btn-active-border-color: #665511;
}

.hub-restaurant-nav {
  background: var(--hub-restaurant-card);
  border-block: 1px solid var(--hub-restaurant-border);
}

.hub-restaurant-nav .container {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 62rem;
}

.hub-restaurant-nav a {
  display: flex;
  min-height: 4.75rem;
  gap: 0.65rem;
  padding: 1rem;
  color: var(--hub-restaurant-ink);
  align-items: center;
  justify-content: center;
  border-inline-end: 1px solid var(--hub-restaurant-border);
  font-size: 0.9375rem;
  font-weight: 750;
  text-decoration: none;
}

.hub-restaurant-nav a:first-child {
  border-inline-start: 1px solid var(--hub-restaurant-border);
}

.hub-restaurant-nav a i {
  color: var(--hub-restaurant-accent-text);
}

.hub-restaurant-nav a:hover {
  color: #5b4b0f;
  background: var(--hub-restaurant-soft);
}

.hub-restaurant-section {
  padding-block: clamp(4.5rem, 8vw, 7.5rem);
}

.hub-restaurant-section--soft {
  background: var(--hub-restaurant-soft);
}

.hub-restaurant-heading {
  max-width: 48rem;
  margin-bottom: clamp(2rem, 5vw, 3.75rem);
}

.hub-restaurant-heading h2,
.hub-restaurant-menus h2,
.hub-restaurant-outdoor h2,
.hub-restaurant-final h2 {
  max-width: 20ch;
  margin-bottom: 1.25rem;
  color: var(--hub-restaurant-ink);
  font-size: clamp(2rem, 3.8vw, 3.5rem);
  line-height: 1.08;
  text-wrap: balance;
}

.hub-restaurant-heading > p:last-child,
.hub-restaurant-heading--split > p,
.hub-restaurant-lead {
  color: var(--hub-restaurant-muted);
  font-size: clamp(1.0625rem, 1rem + 0.25vw, 1.2rem);
  line-height: 1.75;
}

.hub-restaurant-heading--split {
  display: grid;
  max-width: none;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.7fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
}

.hub-restaurant-heading--split > div h2 {
  margin-bottom: 0;
}

.hub-restaurant-heading--split > p {
  margin: 0;
}

.hub-restaurant-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(19rem, 0.75fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}

.hub-restaurant-intro .hub-restaurant-heading {
  max-width: 51rem;
  margin-bottom: 0;
}

.hub-restaurant-intro .hub-restaurant-heading > p:not(.hub-eyebrow) {
  max-width: 47rem;
  color: var(--hub-restaurant-muted);
  line-height: 1.75;
}

.hub-restaurant-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2rem;
}

.hub-restaurant-promise {
  padding: clamp(1.75rem, 4vw, 3rem);
  color: #fff;
  background: #202820;
  border-radius: 1.5rem;
  box-shadow: 0 1.5rem 4rem rgba(29, 36, 31, 0.16);
}

.hub-restaurant-promise h2 {
  max-width: 17ch;
  margin-bottom: 2rem;
  color: #fff;
  font-size: clamp(1.6rem, 2.5vw, 2.25rem);
  line-height: 1.18;
}

.hub-restaurant-promise ul {
  display: grid;
  gap: 1.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hub-restaurant-promise li {
  display: grid;
  grid-template-columns: 2.8rem 1fr;
  gap: 1rem;
  align-items: start;
}

.hub-restaurant-promise li > span {
  display: grid;
  width: 2.8rem;
  height: 2.8rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
}

.hub-restaurant-promise strong,
.hub-restaurant-promise small {
  display: block;
}

.hub-restaurant-promise small {
  margin-top: 0.25rem;
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.9375rem !important;
  line-height: 1.55;
}

.hub-restaurant-offer {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.hub-restaurant-offer article {
  position: relative;
  min-height: 22rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: var(--hub-restaurant-card);
  border: 1px solid var(--hub-restaurant-border);
  border-radius: 1.25rem;
  box-shadow: 0 0.8rem 2.5rem rgba(29, 36, 31, 0.06);
}

.hub-restaurant-offer__icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  margin-bottom: 2rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
}

.hub-restaurant-offer__number {
  position: absolute;
  top: 1.75rem;
  right: 1.75rem;
  margin: 0;
  color: #8d938e;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.hub-restaurant-offer h3 {
  color: var(--hub-restaurant-ink);
  font-size: 1.3rem;
  line-height: 1.25;
}

.hub-restaurant-offer article > p:not(.hub-restaurant-offer__number) {
  color: var(--hub-restaurant-muted);
  font-size: 0.975rem;
  line-height: 1.7;
}

.hub-restaurant-offer__links {
  display: flex;
  gap: 0.5rem 1rem;
  margin-top: 1.25rem;
  flex-wrap: wrap;
}

.hub-restaurant-offer__links a,
.hub-restaurant-text-link,
.hub-restaurant-visit__grid article > a,
.hub-restaurant-menus__hours a {
  color: var(--hub-restaurant-accent-text);
  font-weight: 750;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.hub-restaurant-note {
  display: flex;
  gap: 0.7rem;
  margin: 1.5rem 0 0;
  color: var(--hub-restaurant-muted);
  align-items: flex-start;
  font-size: 0.9375rem;
  line-height: 1.6;
}

.hub-restaurant-note i {
  margin-top: 0.25rem;
  color: var(--hub-restaurant-accent-text);
}

.hub-restaurant-partners {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.hub-restaurant-partner {
  position: relative;
  display: grid;
  min-height: 14rem;
  padding: 1.5rem;
  grid-template-columns: 3.5rem 1fr;
  gap: 0.4rem 1rem;
  align-content: end;
  background: var(--hub-restaurant-soft);
  border: 1px solid var(--hub-restaurant-border);
  border-radius: 1rem;
}

.hub-restaurant-partner__badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  padding: 0.35rem 0.6rem;
  color: #54470f;
  background: rgba(var(--bs-primary-rgb), 0.2);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hub-restaurant-partner__badge--neutral {
  color: #4f5751;
  background: rgba(79, 87, 81, 0.1);
}

.hub-restaurant-partner__initial {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
  grid-row: span 2;
  font-weight: 850;
  letter-spacing: 0.04em;
}

.hub-restaurant-partner h3 {
  margin: 0;
  color: var(--hub-restaurant-ink);
  font-size: 1.15rem;
}

.hub-restaurant-partner p {
  margin: 0;
  color: var(--hub-restaurant-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.hub-restaurant-inline-cta {
  display: flex;
  gap: 2rem;
  margin-top: clamp(1.5rem, 4vw, 2.5rem);
  padding: clamp(1.5rem, 3vw, 2rem);
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--hub-restaurant-border);
  border-radius: 1rem;
}

.hub-restaurant-inline-cta strong {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 1.1rem;
}

.hub-restaurant-inline-cta p {
  margin: 0;
  color: var(--hub-restaurant-muted);
}

.hub-restaurant-inline-cta .btn {
  flex: 0 0 auto;
}

.hub-restaurant-menus {
  padding-block: clamp(4rem, 7vw, 6rem);
  color: #fff;
  background: #202820;
}

.hub-restaurant-menus__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.72fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.hub-restaurant-menus h2 {
  color: #fff;
}

.hub-restaurant-menus__grid > div > p:not(.hub-eyebrow) {
  max-width: 44rem;
  color: rgba(255, 255, 255, 0.76);
  font-size: 1.0625rem;
  line-height: 1.7;
}

.hub-restaurant-menus__hours {
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  gap: 1rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 1.25rem;
}

.hub-restaurant-menus__hours > span {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
}

.hub-restaurant-menus__hours strong {
  display: block;
  margin-bottom: 0.45rem;
  font-size: 1.05rem;
}

.hub-restaurant-menus__hours p:not(.hub-eyebrow) {
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.65;
}

.hub-restaurant-menus__hours a {
  color: #dfcf7d;
}

.hub-restaurant-rating {
  display: grid;
  max-width: 70rem;
  margin-inline: auto;
  padding: clamp(1.5rem, 4vw, 3rem);
  grid-template-columns: auto auto minmax(8rem, 1fr) auto;
  gap: 0.75rem clamp(1.5rem, 4vw, 3rem);
  align-items: center;
  background: var(--hub-restaurant-card);
  border: 1px solid var(--hub-restaurant-border);
  border-radius: 1.5rem;
  box-shadow: 0 1rem 3rem rgba(29, 36, 31, 0.08);
}

.hub-restaurant-rating__source {
  display: flex;
  grid-row: 1 / span 2;
  gap: 0.75rem;
  align-items: center;
}

.hub-restaurant-rating__source > span {
  display: grid;
  width: 3rem;
  height: 3rem;
  color: #fff;
  background: #4285f4;
  border-radius: 50%;
  place-items: center;
  font-size: 1.25rem;
  font-weight: 850;
}

.hub-restaurant-rating__score {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
}

.hub-restaurant-rating__score strong {
  color: var(--hub-restaurant-ink);
  font-size: clamp(2.4rem, 5vw, 4rem);
  line-height: 0.95;
}

.hub-restaurant-rating__score span {
  margin-top: 0.35rem;
  color: var(--hub-restaurant-muted);
  font-size: 0.875rem;
  font-weight: 700;
}

.hub-restaurant-rating__stars {
  display: flex;
  gap: 0.25rem;
  color: #8a7116;
  font-size: clamp(1.1rem, 2vw, 1.4rem);
}

.hub-restaurant-rating__star-partial {
  color: transparent;
  background: linear-gradient(90deg, #8a7116 60%, #d7d1bc 60%);
  background-clip: text;
  -webkit-background-clip: text;
}

.hub-restaurant-rating > p {
  margin: 0;
  color: var(--hub-restaurant-muted);
  grid-column: 2 / 4;
  font-size: 0.9rem;
  line-height: 1.6;
}

.hub-restaurant-rating > .btn {
  grid-row: 1 / span 2;
  grid-column: 4;
}

.hub-restaurant-visit__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.hub-restaurant-visit__grid article {
  display: flex;
  min-height: 20rem;
  padding: clamp(1.4rem, 3vw, 2rem);
  flex-direction: column;
  background: var(--hub-restaurant-card);
  border: 1px solid var(--hub-restaurant-border);
  border-radius: 1rem;
  box-shadow: 0 0.8rem 2.5rem rgba(29, 36, 31, 0.06);
}

.hub-restaurant-visit__grid article > i {
  margin-bottom: 1.5rem;
  color: var(--hub-restaurant-accent-text);
  font-size: 1.6rem;
}

.hub-restaurant-visit__grid h3 {
  color: var(--hub-restaurant-ink);
  font-size: 1.25rem;
}

.hub-restaurant-visit__grid p {
  color: var(--hub-restaurant-muted);
  font-size: 0.95rem;
  line-height: 1.65;
}

.hub-restaurant-visit__grid p a {
  color: var(--hub-restaurant-accent-text);
  font-weight: 700;
}

.hub-restaurant-visit__grid article > a {
  margin-top: auto;
}

.hub-restaurant-outdoor {
  display: grid;
  margin-top: clamp(2rem, 5vw, 4rem);
  padding: clamp(1.5rem, 4vw, 3rem);
  grid-template-columns: 4rem 1fr auto;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
  background: var(--hub-restaurant-soft);
  border-radius: 1.5rem;
}

.hub-restaurant-outdoor__icon {
  display: grid;
  width: 4rem;
  height: 4rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
  font-size: 1.35rem;
}

.hub-restaurant-outdoor h2 {
  margin-bottom: 0.6rem;
  font-size: clamp(1.6rem, 3vw, 2.5rem);
}

.hub-restaurant-outdoor p:not(.hub-eyebrow) {
  max-width: 50rem;
  margin: 0;
  color: var(--hub-restaurant-muted);
  line-height: 1.65;
}

.hub-restaurant-faq__grid {
  display: grid;
  grid-template-columns: minmax(17rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: start;
}

.hub-restaurant-faq .hub-restaurant-heading {
  position: sticky;
  top: 7rem;
  margin-bottom: 0;
}

.hub-restaurant-faq__list {
  border-top: 1px solid var(--hub-restaurant-border);
}

.hub-restaurant-faq details {
  border-bottom: 1px solid var(--hub-restaurant-border);
}

.hub-restaurant-faq summary {
  position: relative;
  padding: 1.35rem 3rem 1.35rem 0;
  color: var(--hub-restaurant-ink);
  cursor: pointer;
  font-size: 1.08rem;
  font-weight: 750;
  list-style: none;
}

.hub-restaurant-faq summary::-webkit-details-marker {
  display: none;
}

.hub-restaurant-faq summary::after {
  position: absolute;
  top: 50%;
  right: 0.4rem;
  content: "+";
  color: var(--hub-restaurant-accent-text);
  font-size: 1.5rem;
  transform: translateY(-50%);
}

.hub-restaurant-faq details[open] summary::after {
  content: "−";
}

.hub-restaurant-faq details p {
  max-width: 48rem;
  padding: 0 2rem 1.5rem 0;
  color: var(--hub-restaurant-muted);
  line-height: 1.7;
}

.hub-restaurant-final {
  padding-block: clamp(4.5rem, 9vw, 8rem);
  text-align: center;
  background: var(--bs-primary);
}

.hub-restaurant-final h2 {
  max-width: 17ch;
  margin-inline: auto;
  color: #1b211d;
}

.hub-restaurant-final > .container > p:not(.hub-eyebrow) {
  max-width: 40rem;
  margin-inline: auto;
  color: #282f2a;
  font-size: 1.0625rem;
}

.hub-restaurant-final .hub-eyebrow {
  color: #2b301f;
}

.hub-restaurant-actions--center {
  justify-content: center;
}

html[data-bs-theme="dark"] .hub-restaurant {
  --hub-restaurant-ink: var(--hub-text);
  --hub-restaurant-muted: var(--hub-text-muted);
  --hub-restaurant-soft: var(--hub-surface-soft);
  --hub-restaurant-card: var(--hub-surface);
  --hub-restaurant-border: var(--hub-border);
  --hub-restaurant-accent-text: #dfcf7d;
  background: var(--hub-surface);
}

html[data-bs-theme="dark"] :where(
  .hub-restaurant-nav,
  .hub-restaurant-section,
  .hub-restaurant-visit
) {
  color: var(--hub-text);
  background-color: var(--hub-surface);
}

html[data-bs-theme="dark"] :where(
  .hub-restaurant-section--soft,
  .hub-restaurant-nav a:hover,
  .hub-restaurant-outdoor,
  .hub-restaurant-partner
) {
  background-color: var(--hub-surface-soft);
}

html[data-bs-theme="dark"] :where(
  .hub-restaurant-offer article,
  .hub-restaurant-rating,
  .hub-restaurant-visit__grid article
) {
  background-color: var(--hub-surface-raised);
  border-color: var(--hub-border);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.18);
}

html[data-bs-theme="dark"] :where(
  .hub-restaurant-heading h2,
  .hub-restaurant-offer h3,
  .hub-restaurant-partner h3,
  .hub-restaurant-rating__score strong,
  .hub-restaurant-visit__grid h3,
  .hub-restaurant-outdoor h2,
  .hub-restaurant-faq summary
) {
  color: var(--hub-text);
}

html[data-bs-theme="dark"] :where(
  .hub-restaurant-heading > p:last-child,
  .hub-restaurant-heading--split > p,
  .hub-restaurant-intro .hub-restaurant-heading > p:not(.hub-eyebrow),
  .hub-restaurant-offer article > p:not(.hub-restaurant-offer__number),
  .hub-restaurant-note,
  .hub-restaurant-partner p,
  .hub-restaurant-inline-cta p,
  .hub-restaurant-rating__score span,
  .hub-restaurant-rating > p,
  .hub-restaurant-visit__grid p,
  .hub-restaurant-outdoor p:not(.hub-eyebrow),
  .hub-restaurant-faq details p
) {
  color: var(--hub-text-muted);
}

html[data-bs-theme="dark"] .hub-restaurant-nav a {
  color: var(--hub-text);
}

html[data-bs-theme="dark"] .hub-restaurant-partner__badge {
  color: #f2e5a7;
  background: rgba(223, 207, 125, 0.15);
}

html[data-bs-theme="dark"] .hub-restaurant-partner__badge--neutral {
  color: var(--hub-text-muted);
  background: rgba(255, 255, 255, 0.08);
}

html[data-bs-theme="dark"] .hub-restaurant-rating__stars {
  color: #dfcf7d;
}

html[data-bs-theme="dark"] .hub-restaurant-rating__star-partial {
  color: transparent;
  background-image: linear-gradient(90deg, #dfcf7d 60%, #59615b 60%);
}

html[data-bs-theme="dark"] .hub-restaurant .btn-outline-primary {
  --bs-btn-color: #dfcf7d;
  --bs-btn-border-color: #dfcf7d;
  --bs-btn-hover-color: #171d19;
  --bs-btn-hover-bg: #dfcf7d;
  --bs-btn-hover-border-color: #dfcf7d;
}

@media (max-width: 1199.98px) {
  .hub-restaurant-offer,
  .hub-restaurant-visit__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-restaurant-offer article,
  .hub-restaurant-visit__grid article {
    min-height: 0;
  }

  .hub-restaurant-rating {
    grid-template-columns: auto auto 1fr;
  }

  .hub-restaurant-rating__source {
    grid-column: 1;
  }

  .hub-restaurant-rating > .btn {
    grid-row: auto;
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 991.98px) {
  .hub-restaurant-heading--split,
  .hub-restaurant-intro__grid,
  .hub-restaurant-menus__grid,
  .hub-restaurant-faq__grid {
    grid-template-columns: 1fr;
  }

  .hub-restaurant-heading--split {
    gap: 1.25rem;
  }

  .hub-restaurant-partners {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-restaurant-faq .hub-restaurant-heading {
    position: static;
  }

  .hub-restaurant-outdoor {
    grid-template-columns: 4rem 1fr;
  }

  .hub-restaurant-outdoor .btn {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 767.98px) {
  .hub-restaurant-nav a {
    min-height: 4.5rem;
    gap: 0.35rem;
    padding: 0.75rem 0.4rem;
    flex-direction: column;
    font-size: 0.8rem;
    text-align: center;
  }

  .hub-restaurant-heading h2,
  .hub-restaurant-menus h2,
  .hub-restaurant-final h2 {
    font-size: clamp(1.9rem, 9vw, 2.75rem);
  }

  .hub-restaurant-partners,
  .hub-restaurant-offer,
  .hub-restaurant-visit__grid {
    grid-template-columns: 1fr;
  }

  .hub-restaurant-rating {
    grid-template-columns: auto 1fr;
  }

  .hub-restaurant-rating__source {
    grid-row: auto;
    grid-column: 1 / -1;
  }

  .hub-restaurant-rating__stars {
    align-self: end;
  }

  .hub-restaurant-rating > p,
  .hub-restaurant-rating > .btn {
    grid-column: 1 / -1;
  }

  .hub-restaurant-inline-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .hub-restaurant-outdoor {
    grid-template-columns: 1fr;
  }

  .hub-restaurant-outdoor .btn {
    grid-column: auto;
  }
}

@media (max-width: 575.98px) {
  .hub-restaurant-actions,
  .hub-restaurant-actions .btn,
  .hub-restaurant-inline-cta .btn,
  .hub-restaurant-rating > .btn,
  .hub-restaurant-outdoor .btn {
    width: 100%;
  }

  .hub-restaurant-partner {
    min-height: 15rem;
    grid-template-columns: 3.25rem 1fr;
  }

  .hub-restaurant-partner__badge {
    max-width: 9.5rem;
    text-align: center;
  }

  .hub-restaurant-rating {
    align-items: start;
  }

  .hub-restaurant-rating__score strong {
    font-size: 3rem;
  }
}

/* Café und Stammtisch: gemeinsame, schlanke Landingpage-Grundlagen */
:is(.hub-cafe, .hub-stammtisch) {
  --hub-experience-ink: #202820;
  --hub-experience-muted: #586159;
  --hub-experience-soft: #f7f5ef;
  --hub-experience-card: #fff;
  --hub-experience-border: rgba(29, 36, 31, 0.1);
  --hub-experience-accent-text: #806b19;
  color: var(--hub-experience-ink);
  background: var(--hub-experience-card);
}

:is(.hub-cafe, .hub-stammtisch) .hub-eyebrow {
  color: var(--hub-experience-accent-text);
}

:is(.hub-cafe, .hub-stammtisch) .btn {
  display: inline-flex;
  gap: 0.55rem;
  align-items: center;
  justify-content: center;
}

:is(.hub-cafe, .hub-stammtisch) .btn-outline-primary {
  --bs-btn-color: var(--hub-experience-accent-text);
  --bs-btn-border-color: var(--hub-experience-accent-text);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #665511;
  --bs-btn-hover-border-color: #665511;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #665511;
  --bs-btn-active-border-color: #665511;
}

:is(.hub-cafe-nav, .hub-stammtisch-nav) {
  background: var(--hub-experience-card);
  border-block: 1px solid var(--hub-experience-border);
}

:is(.hub-cafe-nav, .hub-stammtisch-nav) .container {
  display: grid;
  max-width: 62rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

:is(.hub-cafe-nav, .hub-stammtisch-nav) a {
  display: flex;
  min-height: 4.75rem;
  gap: 0.65rem;
  padding: 1rem;
  color: var(--hub-experience-ink);
  align-items: center;
  justify-content: center;
  border-inline-end: 1px solid var(--hub-experience-border);
  font-size: 0.9375rem;
  font-weight: 750;
  text-decoration: none;
}

:is(.hub-cafe-nav, .hub-stammtisch-nav) a:first-child {
  border-inline-start: 1px solid var(--hub-experience-border);
}

:is(.hub-cafe-nav, .hub-stammtisch-nav) a i {
  color: var(--hub-experience-accent-text);
}

:is(.hub-cafe-nav, .hub-stammtisch-nav) a:hover {
  color: #5b4b0f;
  background: var(--hub-experience-soft);
}

:is(.hub-cafe, .hub-stammtisch) .hub-page-hero__breadcrumb a:hover {
  color: var(--hub-experience-accent-text);
}

:is(.hub-cafe-section, .hub-stammtisch-section) {
  padding-block: clamp(4.5rem, 8vw, 7.5rem);
}

:is(.hub-cafe-section--soft, .hub-stammtisch-section--soft) {
  background: var(--hub-experience-soft);
}

:is(.hub-cafe-heading, .hub-stammtisch-heading) {
  max-width: 49rem;
  margin-bottom: clamp(2rem, 5vw, 3.75rem);
}

:is(.hub-cafe-heading, .hub-stammtisch-heading) h2,
:is(.hub-cafe-time, .hub-cafe-visit, .hub-stammtisch-process, .hub-stammtisch-final) h2 {
  max-width: 21ch;
  margin-bottom: 1.25rem;
  color: var(--hub-experience-ink);
  font-size: clamp(2rem, 3.8vw, 3.5rem);
  line-height: 1.08;
  text-wrap: balance;
}

:is(.hub-cafe-heading, .hub-stammtisch-heading) > p:last-child,
:is(.hub-cafe-heading--split, .hub-stammtisch-heading--split) > p,
:is(.hub-cafe-lead, .hub-stammtisch-lead) {
  color: var(--hub-experience-muted);
  font-size: clamp(1.0625rem, 1rem + 0.25vw, 1.2rem);
  line-height: 1.75;
}

:is(.hub-cafe-heading--split, .hub-stammtisch-heading--split) {
  display: grid;
  max-width: none;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.72fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
}

:is(.hub-cafe-heading--split, .hub-stammtisch-heading--split) > div h2 {
  margin-bottom: 0;
}

:is(.hub-cafe-heading--split, .hub-stammtisch-heading--split) > p {
  margin: 0;
}

:is(.hub-cafe-intro__grid, .hub-stammtisch-intro__grid) {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(19rem, 0.75fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}

:is(.hub-cafe-intro, .hub-stammtisch-intro) :is(.hub-cafe-heading, .hub-stammtisch-heading) {
  max-width: 52rem;
  margin-bottom: 0;
}

:is(.hub-cafe-intro, .hub-stammtisch-intro) :is(.hub-cafe-heading, .hub-stammtisch-heading) > p:not(.hub-eyebrow) {
  max-width: 48rem;
  color: var(--hub-experience-muted);
  line-height: 1.75;
}

:is(.hub-cafe-actions, .hub-stammtisch-actions) {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2rem;
}

:is(.hub-cafe-text-link, .hub-stammtisch-visit__grid article > a) {
  color: var(--hub-experience-accent-text);
  font-weight: 750;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

:is(.hub-cafe-faq__grid, .hub-stammtisch-faq__grid) {
  display: grid;
  grid-template-columns: minmax(17rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: start;
}

:is(.hub-cafe-faq, .hub-stammtisch-faq) :is(.hub-cafe-heading, .hub-stammtisch-heading) {
  position: sticky;
  top: 7rem;
  margin-bottom: 0;
}

:is(.hub-cafe-faq__list, .hub-stammtisch-faq__list) {
  border-top: 1px solid var(--hub-experience-border);
}

:is(.hub-cafe-faq__list, .hub-stammtisch-faq__list) details {
  border-bottom: 1px solid var(--hub-experience-border);
}

:is(.hub-cafe-faq__list, .hub-stammtisch-faq__list) summary {
  position: relative;
  padding: 1.35rem 3rem 1.35rem 0;
  color: var(--hub-experience-ink);
  cursor: pointer;
  font-size: 1.08rem;
  font-weight: 750;
  list-style: none;
}

:is(.hub-cafe-faq__list, .hub-stammtisch-faq__list) summary::-webkit-details-marker {
  display: none;
}

:is(.hub-cafe-faq__list, .hub-stammtisch-faq__list) summary::after {
  position: absolute;
  top: 50%;
  right: 0.4rem;
  content: "+";
  color: var(--hub-experience-accent-text);
  font-size: 1.5rem;
  transform: translateY(-50%);
}

:is(.hub-cafe-faq__list, .hub-stammtisch-faq__list) details[open] summary::after {
  content: "−";
}

:is(.hub-cafe-faq__list, .hub-stammtisch-faq__list) details p {
  max-width: 48rem;
  padding: 0 2rem 1.5rem 0;
  color: var(--hub-experience-muted);
  line-height: 1.7;
}

/* Café */
.hub-cafe :where(#kaffee, #cafezeit, #susses, #gruppen) {
  scroll-margin-top: 7rem;
}

.hub-cafe-machine,
.hub-stammtisch-promise {
  padding: clamp(1.75rem, 4vw, 3rem);
  color: #fff;
  background: #202820;
  border-radius: 1.5rem;
  box-shadow: 0 1.5rem 4rem rgba(29, 36, 31, 0.16);
}

.hub-cafe-machine__icon {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  margin-bottom: 1.5rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
  font-size: 1.25rem;
}

.hub-cafe-machine h2,
.hub-stammtisch-promise h2 {
  max-width: 19ch;
  margin-bottom: 2rem;
  color: #fff;
  font-size: clamp(1.6rem, 2.5vw, 2.25rem);
  line-height: 1.18;
}

.hub-cafe-machine .hub-eyebrow,
.hub-stammtisch-promise .hub-eyebrow {
  color: #dfcf7d;
}

.hub-cafe-machine dl {
  display: grid;
  gap: 0;
  margin: 0;
}

.hub-cafe-machine dl > div {
  display: grid;
  padding-block: 0.85rem;
  grid-template-columns: 5.5rem 1fr;
  gap: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.hub-cafe-machine dt {
  color: #dfcf7d;
}

.hub-cafe-machine dd {
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
}

.hub-cafe-coffees {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  list-style: none;
}

.hub-cafe-coffees li {
  display: flex;
  min-height: 5.75rem;
  gap: 1rem;
  padding: 1rem 1.2rem;
  color: var(--hub-experience-ink);
  align-items: center;
  background: var(--hub-experience-card);
  border: 1px solid var(--hub-experience-border);
  border-radius: 1rem;
  font-weight: 750;
}

.hub-cafe-coffees li > span {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
  flex: 0 0 2.75rem;
}

.hub-cafe-alternatives {
  display: grid;
  margin-top: 1.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.hub-cafe-alternatives article {
  padding: 1.5rem;
  background: rgba(var(--bs-primary-rgb), 0.12);
  border-radius: 1rem;
}

.hub-cafe-alternatives i {
  margin-bottom: 1rem;
  color: var(--hub-experience-accent-text);
  font-size: 1.45rem;
}

.hub-cafe-alternatives h3 {
  color: var(--hub-experience-ink);
  font-size: 1.15rem;
}

.hub-cafe-alternatives p {
  margin: 0;
  color: var(--hub-experience-muted);
  font-size: 1rem;
  line-height: 1.6;
}

.hub-cafe-time {
  padding-block: clamp(4rem, 7vw, 6rem);
  color: #fff;
  background: #202820;
}

.hub-cafe-time__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.65fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.hub-cafe-time h2 {
  color: #fff;
}

.hub-cafe-time .hub-eyebrow {
  color: #dfcf7d;
}

.hub-cafe-time__grid > div > p:not(.hub-eyebrow) {
  max-width: 48rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.0625rem;
  line-height: 1.75;
}

.hub-cafe-time__card {
  display: grid;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  grid-template-columns: 3.5rem 1fr;
  gap: 1rem;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1.25rem;
}

.hub-cafe-time__card > span {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
}

.hub-cafe-time__card strong {
  display: block;
  color: #fff;
  font-size: clamp(1.45rem, 3vw, 2.1rem);
}

.hub-cafe-time__card p {
  margin: 0.5rem 0;
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.6;
}

.hub-cafe-time__card small {
  color: #dfcf7d;
}

.hub-cafe-sweets {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.hub-cafe-sweets article {
  min-height: 18rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: var(--hub-experience-card);
  border: 1px solid var(--hub-experience-border);
  border-radius: 1.25rem;
  box-shadow: 0 0.8rem 2.5rem rgba(29, 36, 31, 0.06);
}

.hub-cafe-sweets__icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  margin-bottom: 1.75rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
}

.hub-cafe-sweets h3 {
  color: var(--hub-experience-ink);
  font-size: 1.3rem;
}

.hub-cafe-sweets p {
  color: var(--hub-experience-muted);
  line-height: 1.7;
}

.hub-cafe-drinks__grid,
.hub-stammtisch-food__grid {
  display: grid;
  grid-template-columns: minmax(20rem, 1fr) minmax(0, 0.9fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

:is(.hub-cafe-drinks__media, .hub-stammtisch-food__media) {
  min-height: clamp(20rem, 36vw, 31rem);
  overflow: hidden;
  border-radius: 1.5rem;
  box-shadow: 0 1.5rem 4rem rgba(29, 36, 31, 0.14);
}

:is(.hub-cafe-drinks__media, .hub-stammtisch-food__media) img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

:is(.hub-cafe-drinks, .hub-stammtisch-food) :is(.hub-cafe-heading, .hub-stammtisch-heading) {
  margin-bottom: 0;
}

.hub-cafe-groups__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.hub-cafe-groups__grid article {
  padding: clamp(1.4rem, 3vw, 2rem);
  background: var(--hub-experience-soft);
  border-radius: 1rem;
}

.hub-cafe-groups__grid article > span {
  display: block;
  margin-bottom: 1.75rem;
  color: var(--hub-experience-accent-text);
  font-size: 0.8rem;
  font-weight: 850;
  letter-spacing: 0.12em;
}

.hub-cafe-groups__grid h3 {
  color: var(--hub-experience-ink);
  font-size: 1.2rem;
}

.hub-cafe-groups__grid p {
  margin: 0;
  color: var(--hub-experience-muted);
  font-size: 1rem;
  line-height: 1.65;
}

.hub-cafe-group-cta {
  display: flex;
  gap: 2rem;
  margin-top: 1.5rem;
  padding: clamp(1.5rem, 3vw, 2rem);
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--hub-experience-border);
  border-radius: 1rem;
}

.hub-cafe-group-cta strong {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 1.1rem;
}

.hub-cafe-group-cta p {
  margin: 0;
  color: var(--hub-experience-muted);
}

.hub-cafe-group-cta .hub-cafe-actions {
  margin-top: 0;
  flex: 0 0 auto;
}

.hub-cafe-visit,
.hub-stammtisch-final {
  padding-block: clamp(4.5rem, 9vw, 8rem);
  text-align: center;
  background: var(--bs-primary);
}

.hub-cafe-visit h2,
.hub-stammtisch-final h2 {
  max-width: 18ch;
  margin-inline: auto;
  color: #1b211d;
}

:is(.hub-cafe-visit, .hub-stammtisch-final) > .container > p:not(.hub-eyebrow) {
  max-width: 48rem;
  margin-inline: auto;
  color: #282f2a;
  font-size: 1.0625rem;
  line-height: 1.7;
}

:is(.hub-cafe-visit, .hub-stammtisch-final) .hub-eyebrow {
  color: #2b301f;
}

:is(.hub-cafe-actions--center, .hub-stammtisch-actions--center) {
  justify-content: center;
}

/* Stammtisch */
.hub-stammtisch :where(#vorteile, #runden, #anmelden, #besuch) {
  scroll-margin-top: 7rem;
}

.hub-stammtisch-promise ul {
  display: grid;
  gap: 1.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hub-stammtisch-promise li {
  display: grid;
  grid-template-columns: 2.8rem 1fr;
  gap: 1rem;
  align-items: start;
}

.hub-stammtisch-promise li > span {
  display: grid;
  width: 2.8rem;
  height: 2.8rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
}

.hub-stammtisch-promise strong,
.hub-stammtisch-promise small {
  display: block;
}

.hub-stammtisch-promise li > div {
  min-width: 0;
}

.hub-stammtisch-promise small {
  margin-top: 0.25rem;
  color: rgba(255, 255, 255, 0.74);
  font-size: 1rem !important;
  line-height: 1.55;
}

.hub-stammtisch-promise li a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  margin-top: 0.35rem;
  color: #dfcf7d;
  font-weight: 750;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.hub-stammtisch-promise li a:hover {
  color: #fff;
}

.hub-stammtisch-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.hub-stammtisch-benefits article {
  min-height: 19rem;
  padding: clamp(1.4rem, 3vw, 2rem);
  background: var(--hub-experience-card);
  border: 1px solid var(--hub-experience-border);
  border-radius: 1.25rem;
  box-shadow: 0 0.8rem 2.5rem rgba(29, 36, 31, 0.06);
}

.hub-stammtisch-benefits article > span {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  margin-bottom: 1.75rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
}

.hub-stammtisch-benefits h3 {
  color: var(--hub-experience-ink);
  font-size: 1.22rem;
}

.hub-stammtisch-benefits p {
  margin: 0;
  color: var(--hub-experience-muted);
  font-size: 1rem;
  line-height: 1.65;
}

.hub-stammtisch-note {
  display: flex;
  gap: 0.7rem;
  margin: 1.5rem 0 0;
  color: var(--hub-experience-muted);
  align-items: flex-start;
  font-size: 1rem;
  line-height: 1.6;
}

.hub-stammtisch-note i {
  margin-top: 0.25rem;
  color: var(--hub-experience-accent-text);
}

.hub-stammtisch-groups {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 1rem;
  list-style: none;
}

.hub-stammtisch-groups li {
  display: flex;
  min-height: 14rem;
  padding: 1.5rem;
  text-align: center;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--hub-experience-soft);
  border: 1px solid var(--hub-experience-border);
  border-radius: 1rem;
}

.hub-stammtisch-groups__icon {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  margin-bottom: 1rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
}

.hub-stammtisch-groups strong {
  color: var(--hub-experience-ink);
  line-height: 1.35;
}

.hub-stammtisch-groups small {
  margin-top: 0.65rem;
  color: var(--hub-experience-muted);
}

.hub-stammtisch-groups-cta {
  display: flex;
  gap: 2rem;
  margin-top: 1.5rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  align-items: center;
  justify-content: space-between;
  color: #fff;
  background: #202820;
  border-radius: 1.25rem;
}

.hub-stammtisch-groups-cta h3 {
  margin-bottom: 0.35rem;
  color: #fff;
  font-size: clamp(1.3rem, 2vw, 1.65rem);
}

.hub-stammtisch-groups-cta p {
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.6;
}

.hub-stammtisch-groups-cta .btn {
  flex: 0 0 auto;
}

.hub-stammtisch-process {
  padding-block: clamp(4.5rem, 8vw, 7rem);
  color: #fff;
  background: #202820;
}

.hub-stammtisch-process .hub-stammtisch-heading {
  margin-bottom: 3rem;
}

.hub-stammtisch-process h2 {
  color: #fff;
}

.hub-stammtisch-process .hub-eyebrow {
  color: #dfcf7d;
}

.hub-stammtisch-process .hub-stammtisch-heading > p:last-child {
  color: rgba(255, 255, 255, 0.76);
}

.hub-stammtisch-process ol {
  display: grid;
  margin: 0 0 2.5rem;
  padding: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  list-style: none;
  counter-reset: none;
}

.hub-stammtisch-process li {
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 1.25rem;
}

.hub-stammtisch-process li > span {
  display: block;
  margin-bottom: 2rem;
  color: #dfcf7d;
  font-size: 0.8rem;
  font-weight: 850;
  letter-spacing: 0.12em;
}

.hub-stammtisch-process h3 {
  color: #fff;
  font-size: 1.25rem;
}

.hub-stammtisch-process li p {
  margin: 0;
  color: rgba(255, 255, 255, 0.74);
  line-height: 1.65;
}

.hub-stammtisch-food__fact {
  display: flex;
  min-height: clamp(20rem, 36vw, 31rem);
  padding: clamp(2rem, 5vw, 4rem);
  color: #fff;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 85% 15%, rgba(var(--bs-primary-rgb), 0.24), transparent 13rem),
    #202820;
  border-radius: 1.5rem;
  box-shadow: 0 1.5rem 4rem rgba(29, 36, 31, 0.14);
}

.hub-stammtisch-food__fact > span {
  display: grid;
  width: 3.75rem;
  height: 3.75rem;
  margin-bottom: 1.75rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
  font-size: 1.25rem;
}

.hub-stammtisch-food__fact strong {
  color: #fff;
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1;
}

.hub-stammtisch-food__fact p {
  max-width: 29rem;
  margin: 1.25rem 0 0.75rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1.05rem, 1rem + 0.25vw, 1.2rem);
  line-height: 1.65;
}

.hub-stammtisch-food__fact small {
  color: #dfcf7d;
  font-size: 1rem !important;
  line-height: 1.55;
}

.hub-stammtisch-visit__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.hub-stammtisch-visit__grid article {
  display: flex;
  min-height: 19rem;
  padding: clamp(1.4rem, 3vw, 2rem);
  flex-direction: column;
  background: var(--hub-experience-card);
  border: 1px solid var(--hub-experience-border);
  border-radius: 1rem;
  box-shadow: 0 0.8rem 2.5rem rgba(29, 36, 31, 0.06);
}

.hub-stammtisch-visit__grid article > i {
  margin-bottom: 1.5rem;
  color: var(--hub-experience-accent-text);
  font-size: 1.6rem;
}

.hub-stammtisch-visit__grid h3 {
  color: var(--hub-experience-ink);
  font-size: 1.22rem;
}

.hub-stammtisch-visit__grid p {
  color: var(--hub-experience-muted);
  font-size: 1rem;
  line-height: 1.65;
}

.hub-stammtisch-visit__grid article > a {
  margin-top: auto;
}

html[data-bs-theme="dark"] :is(.hub-cafe, .hub-stammtisch) {
  --hub-experience-ink: var(--hub-text);
  --hub-experience-muted: var(--hub-text-muted);
  --hub-experience-soft: var(--hub-surface-soft);
  --hub-experience-card: var(--hub-surface);
  --hub-experience-border: var(--hub-border);
  --hub-experience-accent-text: #dfcf7d;
  background: var(--hub-surface);
}

html[data-bs-theme="dark"] :is(.hub-cafe-nav, .hub-stammtisch-nav) {
  background: var(--hub-surface);
}

html[data-bs-theme="dark"] :is(.hub-cafe-nav, .hub-stammtisch-nav) a {
  color: var(--hub-text);
}

html[data-bs-theme="dark"] :is(.hub-cafe-nav, .hub-stammtisch-nav) a:hover,
html[data-bs-theme="dark"] :is(.hub-cafe-section--soft, .hub-stammtisch-section--soft),
html[data-bs-theme="dark"] :is(.hub-cafe-groups__grid article, .hub-stammtisch-groups li) {
  background: var(--hub-surface-soft);
}

html[data-bs-theme="dark"] :is(
  .hub-cafe-coffees li,
  .hub-cafe-sweets article,
  .hub-stammtisch-benefits article,
  .hub-stammtisch-visit__grid article
) {
  background: var(--hub-surface-raised);
  border-color: var(--hub-border);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.18);
}

html[data-bs-theme="dark"] :is(
  .hub-cafe-heading h2,
  .hub-cafe-coffees li,
  .hub-cafe-alternatives h3,
  .hub-cafe-sweets h3,
  .hub-cafe-groups__grid h3,
  .hub-cafe-faq__list summary,
  .hub-stammtisch-heading h2,
  .hub-stammtisch-benefits h3,
  .hub-stammtisch-groups strong,
  .hub-stammtisch-visit__grid h3,
  .hub-stammtisch-faq__list summary
) {
  color: var(--hub-text);
}

html[data-bs-theme="dark"] :is(
  .hub-cafe-heading > p:last-child,
  .hub-cafe-heading--split > p,
  .hub-cafe-intro .hub-cafe-heading > p:not(.hub-eyebrow),
  .hub-cafe-alternatives p,
  .hub-cafe-sweets p,
  .hub-cafe-groups__grid p,
  .hub-cafe-group-cta p,
  .hub-cafe-faq__list details p,
  .hub-stammtisch-heading > p:last-child,
  .hub-stammtisch-heading--split > p,
  .hub-stammtisch-intro .hub-stammtisch-heading > p:not(.hub-eyebrow),
  .hub-stammtisch-benefits p,
  .hub-stammtisch-note,
  .hub-stammtisch-groups small,
  .hub-stammtisch-visit__grid p,
  .hub-stammtisch-faq__list details p
) {
  color: var(--hub-text-muted);
}

html[data-bs-theme="dark"] .hub-cafe-alternatives article {
  background: rgba(223, 207, 125, 0.1);
}

html[data-bs-theme="dark"] :is(.hub-cafe, .hub-stammtisch) .btn-outline-primary {
  --bs-btn-color: #dfcf7d;
  --bs-btn-border-color: #dfcf7d;
  --bs-btn-hover-color: #171d19;
  --bs-btn-hover-bg: #dfcf7d;
  --bs-btn-hover-border-color: #dfcf7d;
}

@media (max-width: 1199.98px) {
  .hub-cafe-sweets,
  .hub-cafe-groups__grid,
  .hub-stammtisch-benefits,
  .hub-stammtisch-visit__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-stammtisch-benefits article,
  .hub-stammtisch-visit__grid article {
    min-height: 0;
  }
}

@media (max-width: 991.98px) {
  :is(
    .hub-cafe-heading--split,
    .hub-stammtisch-heading--split,
    .hub-cafe-intro__grid,
    .hub-stammtisch-intro__grid,
    .hub-cafe-time__grid,
    .hub-cafe-drinks__grid,
    .hub-stammtisch-food__grid,
    .hub-cafe-faq__grid,
    .hub-stammtisch-faq__grid
  ) {
    grid-template-columns: 1fr;
  }

  :is(.hub-cafe-heading--split, .hub-stammtisch-heading--split) {
    gap: 1.25rem;
  }

  :is(.hub-cafe-faq, .hub-stammtisch-faq) :is(.hub-cafe-heading, .hub-stammtisch-heading) {
    position: static;
  }

  .hub-cafe-coffees {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-cafe-alternatives {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-cafe-alternatives article:last-child {
    grid-column: 1 / -1;
  }

  .hub-stammtisch-process ol {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  :is(.hub-cafe-nav, .hub-stammtisch-nav) a {
    min-height: 4.5rem;
    gap: 0.35rem;
    padding: 0.75rem 0.35rem;
    flex-direction: column;
    font-size: 0.875rem;
    text-align: center;
  }

  :is(.hub-cafe-heading, .hub-stammtisch-heading) h2,
  :is(.hub-cafe-time, .hub-cafe-visit, .hub-stammtisch-process, .hub-stammtisch-final) h2 {
    font-size: clamp(1.9rem, 9vw, 2.75rem);
  }

  .hub-cafe-alternatives,
  .hub-cafe-sweets {
    grid-template-columns: 1fr;
  }

  .hub-cafe-group-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .hub-stammtisch-groups-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .hub-stammtisch-groups-cta .btn {
    width: 100%;
  }

  .hub-cafe-group-cta .hub-cafe-actions {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  :is(.hub-cafe-nav, .hub-stammtisch-nav) .container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .hub-cafe-coffees,
  .hub-cafe-groups__grid,
  .hub-stammtisch-benefits,
  .hub-stammtisch-visit__grid {
    grid-template-columns: 1fr;
  }

  :is(.hub-cafe-actions, .hub-stammtisch-actions),
  :is(.hub-cafe-actions, .hub-stammtisch-actions) .btn,
  .hub-stammtisch-process > .container > .btn {
    width: 100%;
  }
}

.small,
small,
.hub-note,
.hub-info p,
.stammtische-date {
  font-size: max(0.9375rem, 0.82em) !important;
  line-height: 1.55;
}

.btn,
button,
input,
select,
textarea {
  font-size: 1rem;
}

:is(.hub-cafe, .hub-stammtisch) .btn {
  min-height: 2.75rem;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #005fcc !important;
  outline-offset: 3px !important;
}

html[data-bs-theme="dark"] :is(.hub-cafe, .hub-stammtisch) :focus-visible {
  outline-color: #dfcf7d !important;
}

:is(
  .hub-cafe-time,
  .hub-stammtisch-promise,
  .hub-stammtisch-groups-cta,
  .hub-stammtisch-process,
  .hub-stammtisch-food__fact
) :focus-visible {
  outline-color: #fff !important;
}

:is(.hub-cafe-visit, .hub-stammtisch-final) :focus-visible {
  outline-color: #1b211d !important;
}

[role="button"][data-bs-toggle] {
  cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  [data-aos] {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Bar & Lounge: regionale Herkunft, klare Getränkewahl und Besuchsplanung */
.hub-bar {
  --hub-bar-ink: #202820;
  --hub-bar-muted: #586159;
  --hub-bar-soft: #f7f5ef;
  --hub-bar-card: #fff;
  --hub-bar-border: rgba(29, 36, 31, 0.11);
  --hub-bar-accent-text: #806b19;
  color: var(--hub-bar-ink);
  background: var(--hub-bar-card);
}

.hub-bar :where(#dorfplatz, #boeckenhoff, #auswahl, #besuch) {
  scroll-margin-top: 7rem;
}

.hub-bar .hub-eyebrow {
  color: var(--hub-bar-accent-text);
}

.hub-bar .btn {
  display: inline-flex;
  min-height: 2.75rem;
  gap: 0.55rem;
  align-items: center;
  justify-content: center;
}

.hub-bar .btn-outline-primary {
  --bs-btn-color: var(--hub-bar-accent-text);
  --bs-btn-border-color: var(--hub-bar-accent-text);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #665511;
  --bs-btn-hover-border-color: #665511;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #665511;
  --bs-btn-active-border-color: #665511;
}

.hub-bar-nav {
  background: var(--hub-bar-card);
  border-block: 1px solid var(--hub-bar-border);
}

.hub-bar-nav .container {
  display: grid;
  max-width: 62rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hub-bar-nav a {
  display: flex;
  min-height: 4.75rem;
  gap: 0.65rem;
  padding: 1rem;
  color: var(--hub-bar-ink);
  align-items: center;
  justify-content: center;
  border-inline-end: 1px solid var(--hub-bar-border);
  font-size: 0.9375rem;
  font-weight: 750;
  text-decoration: none;
}

.hub-bar-nav a:first-child {
  border-inline-start: 1px solid var(--hub-bar-border);
}

.hub-bar-nav a i {
  color: var(--hub-bar-accent-text);
}

.hub-bar-nav a:hover {
  color: #5b4b0f;
  background: var(--hub-bar-soft);
}

.hub-bar .hub-page-hero__breadcrumb a:hover {
  color: var(--hub-bar-accent-text);
}

.hub-bar-section {
  padding-block: clamp(4.5rem, 8vw, 7.5rem);
}

.hub-bar-section--soft {
  background: var(--hub-bar-soft);
}

.hub-bar-heading {
  max-width: 50rem;
  margin-bottom: clamp(2rem, 5vw, 3.75rem);
}

.hub-bar-heading h2,
.hub-bar-final h2 {
  max-width: 20ch;
  margin-bottom: 1.25rem;
  color: var(--hub-bar-ink);
  font-size: clamp(2rem, 3.8vw, 3.5rem);
  line-height: 1.08;
  text-wrap: balance;
}

.hub-bar-heading > p:last-child,
.hub-bar-heading--split > p,
.hub-bar-lead {
  color: var(--hub-bar-muted);
  font-size: clamp(1.0625rem, 1rem + 0.25vw, 1.2rem);
  line-height: 1.75;
}

.hub-bar-heading--split {
  display: grid;
  max-width: none;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.72fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
}

.hub-bar-heading--split > div h2 {
  margin-bottom: 0;
}

.hub-bar-heading--split > p {
  margin: 0;
}

.hub-bar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2rem;
}

.hub-bar-actions--center {
  justify-content: center;
}

.hub-bar-text-link,
.hub-bar-visit__grid article > a {
  color: var(--hub-bar-accent-text);
  font-weight: 750;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.hub-bar-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(19rem, 0.75fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}

.hub-bar-intro .hub-bar-heading {
  max-width: 52rem;
  margin-bottom: 0;
}

.hub-bar-intro .hub-bar-heading > p:not(.hub-eyebrow) {
  max-width: 48rem;
  color: var(--hub-bar-muted);
  line-height: 1.75;
}

.hub-bar-promise {
  padding: clamp(1.75rem, 4vw, 3rem);
  color: #fff;
  background: #202820;
  border-radius: 1.5rem;
  box-shadow: 0 1.5rem 4rem rgba(29, 36, 31, 0.16);
}

.hub-bar-promise__icon {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  margin-bottom: 1.5rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
  font-size: 1.25rem;
}

.hub-bar-promise .hub-eyebrow,
.hub-bar-origin .hub-eyebrow {
  color: #dfcf7d;
}

.hub-bar-promise h2 {
  max-width: 18ch;
  margin-bottom: 1.75rem;
  color: #fff;
  font-size: clamp(1.6rem, 2.5vw, 2.25rem);
  line-height: 1.18;
}

.hub-bar-promise ul {
  display: grid;
  gap: 0.9rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hub-bar-promise li {
  display: grid;
  grid-template-columns: 1.25rem 1fr;
  gap: 0.75rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.55;
}

.hub-bar-promise li i {
  margin-top: 0.25rem;
  color: #dfcf7d;
}

.hub-bar-origin {
  padding-block: clamp(4.5rem, 8vw, 7rem);
  color: #fff;
  background:
    radial-gradient(circle at 12% 10%, rgba(var(--bs-primary-rgb), 0.18), transparent 28rem),
    #202820;
}

.hub-bar-origin__grid {
  display: grid;
  grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.hub-bar-origin__logo {
  display: grid;
  min-height: 19rem;
  padding: clamp(2rem, 5vw, 3.5rem);
  place-items: center;
  align-content: center;
  text-align: center;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 1.5rem;
  box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.2);
}

.hub-bar-origin__logo img {
  width: auto;
  max-width: min(100%, 20rem);
  height: auto;
}

.hub-bar-origin__logo span {
  margin-top: 1.5rem;
  color: #59635b;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hub-bar-origin__content h2 {
  max-width: 18ch;
  margin-bottom: 1.5rem;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.08;
  text-wrap: balance;
}

.hub-bar-origin__content > p:not(.hub-eyebrow) {
  max-width: 48rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.0625rem;
  line-height: 1.75;
}

.hub-bar-origin__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.75rem;
}

.hub-bar-origin__tags span {
  padding: 0.6rem 0.9rem;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
  font-weight: 750;
}

.hub-bar-origin__products {
  margin-top: 2rem;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.hub-bar-origin__products > strong {
  display: block;
  margin-bottom: 1rem;
  color: #fff;
  font-size: 1.05rem;
}

.hub-bar-origin__products ul {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem 1.5rem;
  list-style: none;
}

.hub-bar-origin__products li {
  position: relative;
  padding-left: 1rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.9375rem;
  line-height: 1.5;
}

.hub-bar-origin__products li::before {
  position: absolute;
  top: 0.63em;
  left: 0;
  width: 0.35rem;
  height: 0.35rem;
  content: "";
  background: #dfcf7d;
  border-radius: 50%;
}

.hub-bar-origin__products small {
  display: block;
  margin-top: 1.1rem;
  color: rgba(255, 255, 255, 0.62);
}

.hub-bar-selection {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.hub-bar-selection article {
  min-height: 22rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: var(--hub-bar-card);
  border: 1px solid var(--hub-bar-border);
  border-radius: 1.25rem;
  box-shadow: 0 0.8rem 2.5rem rgba(29, 36, 31, 0.06);
}

.hub-bar-selection__icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  margin-bottom: 1.75rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
}

.hub-bar-selection h3 {
  margin-bottom: 0.75rem;
  color: var(--hub-bar-ink);
  font-size: 1.3rem;
}

.hub-bar-selection article > p {
  color: var(--hub-bar-muted);
  line-height: 1.65;
}

.hub-bar-selection ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.hub-bar-selection li {
  padding: 0.42rem 0.65rem;
  color: #50572f;
  background: rgba(var(--bs-primary-rgb), 0.17);
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 750;
}

.hub-bar-menu-note {
  display: grid;
  margin-top: 1.25rem;
  padding: clamp(1.25rem, 3vw, 1.75rem);
  grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  background: var(--hub-bar-card);
  border: 1px solid var(--hub-bar-border);
  border-radius: 1rem;
}

.hub-bar-menu-note > i {
  color: var(--hub-bar-accent-text);
  font-size: 1.5rem;
  text-align: center;
}

.hub-bar-menu-note p {
  margin: 0;
  color: var(--hub-bar-muted);
}

.hub-bar-menu-note strong {
  color: var(--hub-bar-ink);
}

.hub-bar-brands .hub-bar-heading {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.hub-bar-brands .hub-bar-heading h2 {
  margin-right: auto;
  margin-left: auto;
}

.hub-bar-brands__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}

.hub-bar-brand {
  min-width: 0;
  padding: 1.2rem;
  text-align: center;
  background: var(--hub-bar-card);
  border: 1px solid var(--hub-bar-border);
  border-radius: 1rem;
}

.hub-bar-brand__mark {
  display: flex;
  min-height: 6.5rem;
  margin-bottom: 1rem;
  padding: 0.75rem;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 0.75rem;
}

.hub-bar-brand__mark img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 4.75rem;
  object-fit: contain;
}

.hub-bar-brand__mark strong {
  color: #202820;
  font-size: clamp(1.15rem, 1.5vw, 1.5rem);
  font-weight: 850;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.hub-bar-brand h3 {
  margin-bottom: 0.35rem;
  color: var(--hub-bar-ink);
  font-size: 1rem;
}

.hub-bar-brand p {
  margin: 0;
  color: var(--hub-bar-muted);
  font-size: 0.85rem;
  line-height: 1.45;
}

.hub-bar-brands__note {
  max-width: 55rem;
  margin: 1.5rem auto 0;
  color: var(--hub-bar-muted);
  font-size: 0.9375rem;
  line-height: 1.6;
  text-align: center;
}

.hub-bar-brands__more {
  margin-top: 1.25rem;
  padding: clamp(1.25rem, 3vw, 1.75rem);
  text-align: center;
  background: var(--hub-bar-soft);
  border-radius: 1rem;
}

.hub-bar-brands__more > strong {
  display: block;
  margin-bottom: 1rem;
  color: var(--hub-bar-ink);
}

.hub-bar-brands__more ul {
  display: flex;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: center;
  list-style: none;
}

.hub-bar-brands__more li {
  padding: 0.5rem 0.75rem;
  color: var(--hub-bar-ink);
  background: var(--hub-bar-card);
  border: 1px solid var(--hub-bar-border);
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 750;
}

.hub-bar-atmosphere {
  background: var(--hub-bar-soft);
}

.hub-bar-atmosphere__grid {
  display: grid;
  grid-template-columns: minmax(20rem, 1fr) minmax(0, 0.9fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.hub-bar-atmosphere__media {
  min-height: clamp(20rem, 36vw, 31rem);
  overflow: hidden;
  border-radius: 1.5rem;
  box-shadow: 0 1.5rem 4rem rgba(29, 36, 31, 0.14);
}

.hub-bar-atmosphere__media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.hub-bar-atmosphere .hub-bar-heading {
  margin-bottom: 0;
}

.hub-bar-visit__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.hub-bar-visit__grid article {
  min-height: 18rem;
  padding: clamp(1.5rem, 3vw, 2.1rem);
  background: var(--hub-bar-card);
  border: 1px solid var(--hub-bar-border);
  border-radius: 1.15rem;
}

.hub-bar-visit__grid article > span {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  margin-bottom: 1.75rem;
  color: #202820;
  background: var(--bs-primary);
  border-radius: 50%;
  place-items: center;
}

.hub-bar-visit__grid h3 {
  margin-bottom: 0.75rem;
  color: var(--hub-bar-ink);
  font-size: 1.25rem;
}

.hub-bar-visit__grid p {
  color: var(--hub-bar-muted);
  line-height: 1.65;
}

.hub-bar-visit__grid article > a {
  display: inline-block;
  margin-top: 0.35rem;
}

.hub-bar-faq__grid {
  display: grid;
  grid-template-columns: minmax(17rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: start;
}

.hub-bar-faq .hub-bar-heading {
  position: sticky;
  top: 7rem;
  margin-bottom: 0;
}

.hub-bar-faq__list {
  border-top: 1px solid var(--hub-bar-border);
}

.hub-bar-faq__list details {
  border-bottom: 1px solid var(--hub-bar-border);
}

.hub-bar-faq__list summary {
  position: relative;
  padding: 1.35rem 3rem 1.35rem 0;
  color: var(--hub-bar-ink);
  cursor: pointer;
  font-size: 1.08rem;
  font-weight: 750;
  list-style: none;
}

.hub-bar-faq__list summary::-webkit-details-marker {
  display: none;
}

.hub-bar-faq__list summary::after {
  position: absolute;
  top: 50%;
  right: 0.4rem;
  content: "+";
  color: var(--hub-bar-accent-text);
  font-size: 1.5rem;
  transform: translateY(-50%);
}

.hub-bar-faq__list details[open] summary::after {
  content: "−";
}

.hub-bar-faq__list details p {
  max-width: 48rem;
  padding: 0 2rem 1.5rem 0;
  color: var(--hub-bar-muted);
  line-height: 1.7;
}

.hub-bar-final {
  padding-block: clamp(4.5rem, 9vw, 8rem);
  text-align: center;
  background: var(--bs-primary);
}

.hub-bar-final h2 {
  max-width: 18ch;
  margin-right: auto;
  margin-left: auto;
  color: #1b211d;
}

.hub-bar-final > .container > p:not(.hub-eyebrow) {
  max-width: 48rem;
  margin-right: auto;
  margin-left: auto;
  color: #282f2a;
  font-size: 1.0625rem;
  line-height: 1.7;
}

.hub-bar-final .hub-eyebrow {
  color: #2b301f;
}

.hub-bar-final small {
  display: block;
  max-width: 50rem;
  margin: 1.5rem auto 0;
  color: #333a34;
}

html[data-bs-theme="dark"] .hub-bar {
  --hub-bar-ink: var(--hub-text);
  --hub-bar-muted: var(--hub-text-muted);
  --hub-bar-soft: var(--hub-surface-soft);
  --hub-bar-card: var(--hub-surface);
  --hub-bar-border: var(--hub-border);
  --hub-bar-accent-text: #dfcf7d;
  color: var(--hub-text);
  background: var(--hub-surface);
}

html[data-bs-theme="dark"] .hub-bar-nav {
  background: var(--hub-surface);
  border-color: var(--hub-border);
}

html[data-bs-theme="dark"] .hub-bar-nav a {
  color: var(--hub-text);
  border-color: var(--hub-border);
}

html[data-bs-theme="dark"] .hub-bar-nav a:hover {
  color: #fff;
  background: var(--hub-surface-soft);
}

html[data-bs-theme="dark"] :where(.hub-bar-section--soft, .hub-bar-atmosphere) {
  background: var(--hub-surface-soft);
}

html[data-bs-theme="dark"] .hub-bar-brands__more {
  background: var(--hub-surface-soft);
}

html[data-bs-theme="dark"] :where(
  .hub-bar-selection article,
  .hub-bar-menu-note,
  .hub-bar-brand,
  .hub-bar-visit__grid article,
  .hub-bar-brands__more li
) {
  background: var(--hub-surface-raised);
  border-color: var(--hub-border);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.18);
}

html[data-bs-theme="dark"] :where(
  .hub-bar-heading h2,
  .hub-bar-selection h3,
  .hub-bar-menu-note strong,
  .hub-bar-brand h3,
  .hub-bar-brands__more > strong,
  .hub-bar-brands__more li,
  .hub-bar-visit__grid h3,
  .hub-bar-faq__list summary
) {
  color: var(--hub-text);
}

html[data-bs-theme="dark"] :where(
  .hub-bar-heading > p:last-child,
  .hub-bar-heading--split > p,
  .hub-bar-intro .hub-bar-heading > p:not(.hub-eyebrow),
  .hub-bar-selection article > p,
  .hub-bar-menu-note p,
  .hub-bar-brand p,
  .hub-bar-brands__note,
  .hub-bar-visit__grid p,
  .hub-bar-faq__list details p
) {
  color: var(--hub-text-muted);
}

html[data-bs-theme="dark"] .hub-bar-selection li {
  color: #e8ddb0;
  background: rgba(223, 207, 125, 0.12);
}

html[data-bs-theme="dark"] .hub-bar .btn-outline-primary {
  --bs-btn-color: #dfcf7d;
  --bs-btn-border-color: #dfcf7d;
  --bs-btn-hover-color: #171d19;
  --bs-btn-hover-bg: #dfcf7d;
  --bs-btn-hover-border-color: #dfcf7d;
}

html[data-bs-theme="dark"] .hub-bar :focus-visible {
  outline-color: #dfcf7d !important;
}

.hub-bar :is(.hub-bar-promise, .hub-bar-origin) :focus-visible {
  outline-color: #fff !important;
}

.hub-bar-final :focus-visible {
  outline-color: #1b211d !important;
}

@media (max-width: 1199.98px) {
  .hub-bar-selection,
  .hub-bar-brands__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-bar-selection article,
  .hub-bar-visit__grid article {
    min-height: 0;
  }
}

@media (max-width: 991.98px) {
  .hub-bar-heading--split,
  .hub-bar-intro__grid,
  .hub-bar-origin__grid,
  .hub-bar-atmosphere__grid,
  .hub-bar-faq__grid {
    grid-template-columns: 1fr;
  }

  .hub-bar-heading--split {
    gap: 1.25rem;
  }

  .hub-bar-origin__logo {
    min-height: 14rem;
  }

  .hub-bar-faq .hub-bar-heading {
    position: static;
  }
}

@media (max-width: 767.98px) {
  .hub-bar-nav a {
    min-height: 4.5rem;
    gap: 0.35rem;
    padding: 0.75rem 0.35rem;
    flex-direction: column;
    font-size: 0.875rem;
    text-align: center;
  }

  .hub-bar-heading h2,
  .hub-bar-final h2 {
    font-size: clamp(1.9rem, 9vw, 2.75rem);
  }

  .hub-bar-selection,
  .hub-bar-visit__grid {
    grid-template-columns: 1fr;
  }

  .hub-bar-menu-note {
    grid-template-columns: 2.75rem minmax(0, 1fr);
  }

  .hub-bar-menu-note .btn {
    grid-column: 1 / -1;
  }
}

@media (max-width: 575.98px) {
  .hub-bar-nav .container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hub-bar-brands__grid {
    grid-template-columns: 1fr;
  }

  .hub-bar-origin__products ul {
    grid-template-columns: 1fr;
  }

  .hub-bar-actions,
  .hub-bar-actions .btn,
  .hub-bar-menu-note .btn {
    width: 100%;
  }
}

/* Main navigation must remain compact after all page-specific styles. */
#bootscore-navbar .dropdown-menu > .hub-nav-group-start {
  margin-top: .55rem !important;
  padding-top: .8rem;
  border-top: 1px solid rgba(57, 77, 64, .15);
}

.hub-groups{--groups-green:#394d40;--groups-gold:#bba136;--groups-soft:#f7f6f2;color:#26352c}.hub-groups__hero{padding:clamp(3.5rem,7vw,7rem) 0;color:#fff;background:linear-gradient(115deg,#233228,#394d40)}.hub-groups__hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);gap:clamp(2rem,6vw,6rem);align-items:center}.hub-groups__hero h1{margin:.4rem 0 1rem;font-size:clamp(3rem,8vw,6.5rem);line-height:.9;text-transform:uppercase}.hub-groups__hero .lead{max-width:50rem}.hub-groups__hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.hub-groups__quick{padding:clamp(1.5rem,4vw,2.5rem);border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.12)}.hub-groups__quick>span{display:grid;width:4rem;height:4rem;margin-bottom:1rem;place-items:center;border-radius:50%;color:#26352c;background:var(--groups-gold);font-size:1.5rem}.hub-groups__quick strong{display:block;font-size:1.55rem}.hub-groups__quick p{margin:.5rem 0 0}.hub-groups__jump{position:sticky;top:4.5rem;z-index:10;border-bottom:1px solid rgba(57,77,64,.15);background:rgba(255,255,255,.96)}.hub-groups__jump .container{display:flex;overflow-x:auto}.hub-groups__jump a{display:inline-flex;gap:.5rem;min-height:4rem;padding:1rem 1.2rem;align-items:center;color:#394d40;font-weight:800;text-decoration:none;white-space:nowrap}.hub-groups__jump i{color:var(--groups-gold)}.hub-groups__section{padding:clamp(3rem,7vw,6rem) 0}.hub-groups__section--soft{background:var(--groups-soft)}.hub-groups__section--dark{color:#fff;background:var(--groups-green)}.hub-groups__heading{max-width:55rem;margin-bottom:2.25rem}.hub-groups__heading h2,.hub-groups__cta h2{font-size:clamp(2rem,4.5vw,3.8rem)}.hub-groups__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.hub-groups__cards article{display:flex;min-height:20rem;padding:1.8rem;flex-direction:column;border-top:.35rem solid var(--groups-gold);background:#fff;box-shadow:0 .7rem 2rem rgba(38,53,44,.08)}.hub-groups__cards article>i{margin-bottom:1.25rem;color:var(--groups-green);font-size:2rem}.hub-groups__cards article>a{margin-top:auto;color:var(--groups-green);font-weight:800}.hub-groups__experience{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.hub-groups__experience article{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:1rem;padding:1.5rem;background:#fff}.hub-groups__experience article>span{color:var(--groups-gold);font-size:1.8rem;font-weight:800}.hub-groups__experience h3{margin-bottom:.5rem}.hub-groups__notice{margin:1.5rem 0 0;padding:1rem 1.25rem;border-left:.3rem solid var(--groups-gold);background:rgba(187,161,54,.1)}.hub-groups__packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.hub-groups__packages article{padding:1.7rem;border:1px solid rgba(255,255,255,.22)}.hub-groups__packages ol{margin:1rem 0 0;padding-left:1.2rem}.hub-groups__packages li{margin-bottom:.55rem}.hub-groups__cta{padding:clamp(3rem,6vw,5rem) 0;background:var(--groups-soft)}.hub-groups__cta>.container{display:flex;gap:2rem;align-items:center;justify-content:space-between}.hub-groups__cta>.container>div:first-child{max-width:50rem}.hub-groups__center{margin-top:2rem;text-align:center}@media(max-width:991.98px){.hub-groups__hero-grid,.hub-groups__cards{grid-template-columns:1fr}.hub-groups__quick{max-width:38rem}.hub-groups__jump{top:4.15rem}}@media(max-width:767.98px){.hub-groups__experience,.hub-groups__packages{grid-template-columns:1fr}.hub-groups__cta>.container{display:block}}

.hub-menu-overview {
  --menu-overview-green: #394d40;
  --menu-overview-gold: #bba136;
  --menu-overview-soft: #f7f6f2;
  color: #26352c;
}

.hub-menu-overview__hero {
  padding: clamp(3.5rem, 7vw, 7rem) 0;
  color: #fff;
  background: linear-gradient(115deg, rgba(35, 50, 40, .99), rgba(57, 77, 64, .9));
}

.hub-menu-overview__hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(16rem, .8fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}

.hub-menu-overview__hero h1 {
  margin: .4rem 0 1rem;
  font-size: clamp(2.7rem, 7vw, 6rem);
  line-height: .92;
  text-transform: uppercase;
}

.hub-menu-overview__hero .lead {
  max-width: 47rem;
}

.hub-menu-overview__hero-mark {
  display: grid;
  width: clamp(11rem, 22vw, 18rem);
  aspect-ratio: 1;
  justify-self: end;
  place-items: center;
  align-content: center;
  border: 2px solid rgba(255, 255, 255, .35);
  border-radius: 50%;
}

.hub-menu-overview__hero-mark i {
  color: var(--menu-overview-gold);
  font-size: clamp(4.5rem, 10vw, 8rem);
}

.hub-menu-overview__hero-mark span {
  margin-top: .75rem;
  text-transform: uppercase;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .1em;
}

.hub-menu-overview__section {
  padding: clamp(3rem, 7vw, 6rem) 0;
  background: var(--menu-overview-soft);
}

.hub-menu-overview__heading {
  max-width: 50rem;
  margin-bottom: 2rem;
}

.hub-menu-overview__heading h2,
.hub-menu-overview__visit h2 {
  font-size: clamp(2rem, 4vw, 3.4rem);
}

.hub-menu-overview__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.hub-menu-overview__card {
  display: flex;
  min-height: 22rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  flex-direction: column;
  border-top: .4rem solid var(--menu-overview-gold);
  background: #fff;
  box-shadow: 0 .75rem 2rem rgba(38, 53, 44, .08);
}

.hub-menu-overview__icon {
  display: grid;
  width: 4rem;
  height: 4rem;
  margin-bottom: 1.5rem;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--menu-overview-green);
  font-size: 1.4rem;
}

.hub-menu-overview__card h2 {
  font-size: clamp(1.7rem, 3vw, 2.45rem);
}

.hub-menu-overview__card > a {
  display: inline-flex;
  gap: .6rem;
  align-items: center;
  margin-top: auto;
  color: var(--menu-overview-green);
  font-weight: 800;
  text-decoration: none;
}

.hub-menu-overview__card > a i {
  color: var(--menu-overview-gold);
  transition: transform .2s ease;
}

.hub-menu-overview__card > a:hover i {
  transform: translateX(.25rem);
}

.hub-menu-overview__visit {
  padding: clamp(2.5rem, 6vw, 5rem) 0;
  color: #fff;
  background: var(--menu-overview-green);
}

.hub-menu-overview__visit > .container {
  display: flex;
  gap: 2rem;
  align-items: center;
  justify-content: space-between;
}

.hub-menu-overview__visit p:last-child {
  margin-bottom: 0;
}

.hub-menu-overview__actions {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
}

@media (max-width: 767.98px) {
  .hub-menu-overview__hero-grid,
  .hub-menu-overview__grid {
    grid-template-columns: 1fr;
  }

  .hub-menu-overview__hero-mark {
    display: none;
  }

  .hub-menu-overview__visit > .container {
    display: block;
  }

  .hub-menu-overview__actions {
    margin-top: 1.25rem;
  }
}

#bootscore-navbar .dropdown-menu > .hub-nav-group-start:first-child {
  margin-top: 0 !important;
  padding-top: .25rem;
  border-top: 0;
}

#bootscore-navbar .dropdown-menu > .hub-nav-group-start::before {
  display: none !important;
}

#bootscore-navbar .dropdown-menu .hub-nav-section-title {
  display: block;
  margin: 0 .7rem .3rem;
  color: #657068;
  font-size: .67rem;
  line-height: 1.2;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: .11em;
}

#bootscore-navbar .dropdown-menu .dropdown-item,
#bootscore-navbar .dropdown-menu .hub-nav-featured > .dropdown-item {
  min-height: 0;
  padding: .48rem .72rem;
  color: #354039;
  border: 0;
  border-radius: .45rem;
  background: transparent;
  box-shadow: none;
  font-size: .88rem;
  line-height: 1.25;
}

#bootscore-navbar .dropdown-menu .hub-nav-featured > .dropdown-item {
  color: #26382d;
  font-weight: 800;
}

@media (min-width: 992px) {
  #bootscore-navbar .dropdown-menu {
    width: min(31rem, calc(100vw - 3rem));
    grid-template-columns: 1fr;
    gap: 0;
    padding: .75rem;
  }

  #bootscore-navbar .dropdown-menu > .hub-nav-group-start {
    grid-column: 1;
  }
}
