/* Fluxushof v1.3: einheitliche Typografie und Logo-Anordnung */

body,
button,
input,
select,
textarea {
  font-family: var(--sans);
}

h1,
h2,
h3,
h4,
h5,
h6,
.mobile-menu nav a,
.footer-brand p,
.story-lead,
.large-copy,
blockquote {
  font-family: var(--display);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--forest);
  font-weight: 500;
  text-wrap: balance;
}

h2 {
  margin-bottom: 28px;
  font-size: clamp(3.1rem, 5.8vw, 5.6rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

h3 {
  margin-bottom: 15px;
  font-size: clamp(1.9rem, 2.7vw, 2.45rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

p,
li,
summary,
label,
input,
select,
textarea {
  line-height: 1.72;
}

.eyebrow,
.offer-number,
.footer-label,
.animal-card-copy > span,
.matrosen-card > span,
.news-copy > span {
  font-family: var(--sans);
}

.eyebrow {
  margin-bottom: 22px;
  font-size: clamp(0.76rem, 0.18vw + 0.72rem, 0.88rem);
  line-height: 1.55;
  letter-spacing: 0.16em;
}

.hero-lead,
.page-hero-lead,
.home-offer-copy,
.team-copy > p,
.about-copy > p,
.legal-copy > p,
.contact-banner p:not(.eyebrow) {
  font-family: var(--sans);
}

.intro-copy p:first-child,
.home-offers-intro p:first-child,
.herd-intro-grid article:first-child p:first-child,
.herd-intro,
.gallery-intro,
.about-copy .large-copy,
.legal-intro {
  font-family: var(--display);
}

.intro-copy p:first-child {
  font-size: clamp(1.48rem, 2.1vw, 1.78rem);
  line-height: 1.48;
}

.home-offer-card h3,
.herd-intro-grid h3,
.offer-card h3 {
  font-size: clamp(2rem, 2.8vw, 2.55rem);
}

.values-copy-grid h3 {
  font-size: clamp(2.2rem, 3.2vw, 2.85rem);
}

.section-heading {
  margin-bottom: 64px;
}

.home-hero-content {
  padding-block: 92px 104px;
}

.home-hero h1 {
  margin-bottom: 32px;
}

.brand-prefix {
  color: var(--forest);
  font-size: 12px;
}

.footer-logo {
  position: relative;
  width: 225px;
  height: 145px;
  margin-bottom: 20px;
}

.footer-brand .footer-logo img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
}

.footer-logo .brand-prefix {
  top: 58%;
  left: 68%;
  color: var(--white);
  font-size: 15px;
}

@media (width <= 820px) {
  h2 {
    font-size: clamp(2.85rem, 11.5vw, 4.35rem);
  }

  h3,
  .home-offer-card h3,
  .herd-intro-grid h3,
  .offer-card h3 {
    font-size: clamp(1.85rem, 7.2vw, 2.35rem);
  }

  .home-hero-content {
    padding-block: 118px 74px;
  }

  .brand-prefix {
    font-size: 11px;
  }

  .footer-logo {
    width: 210px;
    height: 136px;
  }

  .footer-logo .brand-prefix {
    font-size: 14px;
  }
}

@media (width <= 560px) {
  h2 {
    font-size: clamp(2.75rem, 12vw, 3.95rem);
  }

  .eyebrow {
    font-size: 0.76rem;
    letter-spacing: 0.14em;
  }

  .intro-copy p:first-child {
    font-size: 1.42rem;
  }

  .home-hero-content {
    padding-block: 106px 66px;
  }
}
