/* Abschnitt: Märchenwunder */

.fb-wunder {
  position: relative;
  color: #26231f;
  background:
    radial-gradient(
      circle at 80% 20%,
      rgb(183 123 39 / 10%),
      transparent 32%
    ),
    #f4f0e8;
}

.fb-section-header {
  max-width: 920px;
  margin-bottom: clamp(3rem, 7vw, 5.5rem);
}

.fb-section-header h2 {
  max-width: 900px;
}

.fb-lead {
  max-width: 760px;
  margin-top: 1.6rem;
  color: #5e584f;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  line-height: 1.75;
}

.fb-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2.25rem);
}

.fb-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgb(38 35 31 / 8%);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 40px rgb(0 0 0 / 8%);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.fb-card:hover {
  transform: translateY(-9px);
  border-color: rgb(183 123 39 / 35%);
  box-shadow: 0 24px 65px rgb(0 0 0 / 14%);
}

.fb-card-image {
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: #191b1a;
}

.fb-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      transparent 45%,
      rgb(0 0 0 / 35%) 100%
    );
  pointer-events: none;
}

.fb-card-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition:
    transform 0.9s cubic-bezier(.2, .7, .2, 1),
    filter 0.5s ease;
}

.fb-card:hover .fb-card-image img {
  transform: scale(1.075);
  filter: saturate(1.08) contrast(1.04);
}

.fb-card-content {
  position: relative;
  padding: clamp(1.5rem, 3vw, 2.2rem);
}

.fb-card-number {
  display: block;
  margin-bottom: 0.75rem;
  color: var(--fischbach-kupfer);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.15em;
}

.fb-card h3 {
  position: relative;
  margin: 0 0 1rem;
  padding-bottom: 0.9rem;
  color: #25221e;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
}

.fb-card h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 42px;
  height: 3px;
  background: var(--fischbach-kupfer);
  transform-origin: left;
  transition: width 0.35s ease;
}

.fb-card:hover h3::after {
  width: 88px;
}

.fb-card p {
  margin: 0;
  color: #625c53;
  line-height: 1.75;
}

/* Einblenden beim Scrollen */

.fb-reveal {
  opacity: 0;
  transform: translateY(42px);
  transition:
    opacity 0.8s ease var(--fb-delay, 0ms),
    transform 0.8s ease var(--fb-delay, 0ms);
}

.fb-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Tablet und Smartphone */

@media (max-width: 850px) {
  .fb-card-grid {
    grid-template-columns: 1fr;
  }

  .fb-card {
    max-width: 680px;
  }
}

@media (max-width: 600px) {
  .fb-card {
    border-radius: 12px;
  }

  .fb-card-content {
    padding: 1.4rem;
  }
}

/* Barrierearme Darstellung */

@media (prefers-reduced-motion: reduce) {
  .fb-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .fb-card,
  .fb-card-image img,
  .fb-card h3::after {
    transition: none;
  }
}

/* ==================================================
   Abschnitt: Eintauchen in die Untertagewelt
   ================================================== */

.fb-eintauchen {
  position: relative;
  overflow: hidden;
  color: #f6f2e9;
  background:
    radial-gradient(
      circle at 15% 20%,
      rgb(183 123 39 / 15%),
      transparent 28rem
    ),
    linear-gradient(
      145deg,
      #272a29 0%,
      #111312 55%,
      #080909 100%
    );
}

/* Dezenter Lichtschein im Hintergrund */

.fb-eintauchen::before {
  content: "";
  position: absolute;
  top: -12rem;
  right: -10rem;
  width: 35rem;
  height: 35rem;
  border-radius: 50%;
  background: rgb(190 128 42 / 8%);
  filter: blur(70px);
  pointer-events: none;
}

.fb-eintauchen .fb-inner {
  position: relative;
  z-index: 1;
}

.fb-split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}

.fb-split-image {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 35px 90px rgb(0 0 0 / 45%);
}

.fb-split-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      transparent 45%,
      rgb(0 0 0 / 72%) 100%
    ),
    linear-gradient(
      90deg,
      rgb(183 123 39 / 10%),
      transparent 38%
    );
  pointer-events: none;
}

.fb-split-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 620px;
  object-fit: cover;
  transition:
    transform 1.2s cubic-bezier(.2, .7, .2, 1),
    filter 0.6s ease;
}

.fb-split-image:hover img {
  transform: scale(1.045);
  filter: contrast(1.04) saturate(1.08);
}

.fb-image-caption {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  left: 2rem;
  z-index: 2;
}

.fb-image-caption span {
  display: block;
  margin-bottom: 0.45rem;
  color: #d7a453;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.fb-image-caption strong {
  display: block;
  max-width: 550px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 3vw, 2.3rem);
  line-height: 1.15;
}

.fb-split-content h2 {
  margin-bottom: 1.7rem;
  font-size: clamp(2.5rem, 5vw, 5rem);
}

.fb-split-content > p:not(.fb-eyebrow) {
  max-width: 650px;
  color: rgb(255 255 255 / 72%);
  font-size: 1.05rem;
  line-height: 1.8;
}

.fb-lead-dark {
  color: rgb(255 255 255 / 90%) !important;
  font-size: clamp(1.12rem, 2vw, 1.32rem) !important;
}

.fb-split-content .fb-button {
  margin-top: 1.3rem;
}

/* Drei Faktenkarten */

.fb-fakten {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: clamp(3.5rem, 7vw, 6rem);
}

.fb-fakt {
  display: flex;
  align-items: center;
  gap: 1.15rem;
  min-height: 130px;
  padding: 1.5rem;
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: 14px;
  background:
    linear-gradient(
      135deg,
      rgb(255 255 255 / 10%),
      rgb(255 255 255 / 4%)
    );
  box-shadow: 0 15px 40px rgb(0 0 0 / 18%);
  backdrop-filter: blur(10px);
  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    background-color 0.3s ease;
}

.fb-fakt:hover {
  transform: translateY(-6px);
  border-color: rgb(215 164 83 / 45%);
  background-color: rgb(255 255 255 / 8%);
}

.fb-fakt-icon {
  display: grid;
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  place-items: center;
  border: 1px solid rgb(215 164 83 / 38%);
  border-radius: 50%;
  background: rgb(183 123 39 / 14%);
  font-size: 1.4rem;
}

.fb-fakt strong {
  display: block;
  margin-bottom: 0.35rem;
  color: #fff;
  font-size: 1.08rem;
}

.fb-fakt div span {
  display: block;
  color: rgb(255 255 255 / 62%);
  font-size: 0.92rem;
  line-height: 1.5;
}

/* Tablet */

@media (max-width: 950px) {
  .fb-split {
    grid-template-columns: 1fr;
  }

  .fb-split-image,
  .fb-split-image img {
    min-height: 520px;
  }

  .fb-split-content {
    max-width: 760px;
  }

  .fb-fakten {
    grid-template-columns: 1fr;
  }
}

/* Smartphone */

@media (max-width: 600px) {
  .fb-split-image,
  .fb-split-image img {
    min-height: 420px;
  }

  .fb-split-image {
    border-radius: 12px;
  }

  .fb-image-caption {
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
  }

  .fb-fakt {
    min-height: auto;
    padding: 1.25rem;
  }
}


/* ==================================================
   Großes Story-Foto
   ================================================== */

.fb-story-image {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background: #0b0d0c;
}

.fb-story-image__background {
  position: absolute;
  inset: -5%;
  z-index: -3;

  background:
    url("/images/startseite/weitungen.jpg")
    center center / cover no-repeat;

  transform: scale(1.04);
  transition: transform 8s ease-out;
}

.fb-story-image.is-active .fb-story-image__background {
  transform: scale(1.12);
}

.fb-story-image__overlay {
  position: absolute;
  inset: 0;
  z-index: -2;

  background:
    linear-gradient(
      90deg,
      rgb(5 7 6 / 92%) 0%,
      rgb(5 7 6 / 68%) 42%,
      rgb(5 7 6 / 18%) 78%,
      rgb(5 7 6 / 35%) 100%
    ),
    linear-gradient(
      180deg,
      rgb(0 0 0 / 18%) 0%,
      transparent 45%,
      rgb(0 0 0 / 65%) 100%
    );
}

/* Kupferfarbener Lichtschein */

.fb-story-image::before {
  content: "";
  position: absolute;
  top: 15%;
  right: 12%;
  z-index: -1;

  width: min(36rem, 60vw);
  height: min(36rem, 60vw);

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgb(194 126 39 / 22%) 0%,
      rgb(194 126 39 / 8%) 35%,
      transparent 70%
    );

  filter: blur(35px);
  animation: fb-story-glow 7s ease-in-out infinite alternate;
}

.fb-story-image__content {
  width: min(1180px, calc(100% - 3rem));
  margin-inline: auto;
  padding-block: 8rem;
}

.fb-story-image h2 {
  max-width: 950px;
  margin: 0;

  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.5rem, 10vw, 9rem);
  font-weight: 700;
  line-height: 0.88;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.fb-story-image h2 span {
  color: #d29a47;
}

.fb-story-image__content > p:not(.fb-eyebrow) {
  max-width: 720px;
  margin: 2rem 0 0;

  color: rgb(255 255 255 / 82%);
  font-size: clamp(1.08rem, 2vw, 1.35rem);
  line-height: 1.75;
}

.fb-story-link {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;

  margin-top: 2rem;
  padding-bottom: 0.35rem;

  border-bottom: 1px solid rgb(210 154 71 / 75%);

  color: #fff;
  font-weight: 700;
  text-decoration: none;

  transition:
    color 0.25s ease,
    gap 0.25s ease,
    border-color 0.25s ease;
}

.fb-story-link:hover {
  gap: 1.2rem;
  color: #d9a858;
  border-color: #d9a858;
}

.fb-story-scroll {
  position: absolute;
  bottom: 2.2rem;
  left: 50%;

  display: grid;
  width: 32px;
  height: 52px;
  place-items: start center;

  border: 2px solid rgb(255 255 255 / 55%);
  border-radius: 22px;

  transform: translateX(-50%);
}

.fb-story-scroll span {
  width: 5px;
  height: 10px;
  margin-top: 9px;

  border-radius: 5px;
  background: #fff;

  animation: fb-story-scroll 1.8s ease-in-out infinite;
}

@keyframes fb-story-glow {
  from {
    opacity: 0.45;
    transform: scale(0.9);
  }

  to {
    opacity: 0.85;
    transform: scale(1.1);
  }
}

@keyframes fb-story-scroll {
  0% {
    opacity: 0;
    transform: translateY(0);
  }

  35% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateY(20px);
  }
}

@media (max-width: 700px) {
  .fb-story-image {
    min-height: 88svh;
    align-items: flex-end;
  }

  .fb-story-image__background {
    background-position: 62% center;
  }

  .fb-story-image__overlay {
    background:
      linear-gradient(
        0deg,
        rgb(5 7 6 / 96%) 0%,
        rgb(5 7 6 / 72%) 55%,
        rgb(5 7 6 / 25%) 100%
      );
  }

  .fb-story-image__content {
    width: min(100% - 2rem, 1180px);
    padding-block: 8rem 7rem;
  }

  .fb-story-image h2 {
    font-size: clamp(3rem, 15vw, 5.8rem);
  }

  .fb-story-scroll {
    bottom: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fb-story-image__background,
  .fb-story-image::before,
  .fb-story-scroll span {
    animation: none;
    transition: none;
  }
}

/* ==================================================
   Geschichte und Zeitleiste
   ================================================== */

.fb-geschichte {
  position: relative;
  overflow: hidden;
  color: #26231f;
  background:
    radial-gradient(
      circle at 85% 10%,
      rgb(183 123 39 / 11%),
      transparent 30rem
    ),
    linear-gradient(
      180deg,
      #f4f0e8 0%,
      #ebe3d5 100%
    );
}

.fb-geschichte::before {
  content: "";
  position: absolute;
  top: 0;
  left: 8%;
  width: 1px;
  height: 100%;
  background:
    linear-gradient(
      180deg,
      transparent,
      rgb(183 123 39 / 18%),
      transparent
    );
  pointer-events: none;
}

.fb-timeline {
  position: relative;
  max-width: 1050px;
  margin-top: clamp(4rem, 8vw, 7rem);
  margin-inline: auto;
}

/* Durchgehende Linie */

.fb-timeline::before {
  content: "";
  position: absolute;
  top: 1rem;
  bottom: 1rem;
  left: 215px;
  width: 2px;
  background:
    linear-gradient(
      180deg,
      rgb(183 123 39 / 18%),
      var(--fischbach-kupfer),
      rgb(183 123 39 / 18%)
    );
}

/* Einzelne Station */

.fb-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 180px 70px minmax(0, 1fr);
  align-items: start;
  margin-bottom: clamp(3.5rem, 7vw, 6.5rem);
}

.fb-timeline-item:last-child {
  margin-bottom: 0;
}

/* Jahreszahl */

.fb-timeline-year {
  padding-top: 0.25rem;
  color: #7c7164;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-align: right;
  text-transform: uppercase;
}

/* Punkt auf der Linie */

.fb-timeline-marker {
  position: relative;
  z-index: 2;
  justify-self: center;
  width: 18px;
  height: 18px;
  margin-top: 0.2rem;
  border: 4px solid #eee7da;
  border-radius: 50%;
  background: var(--fischbach-kupfer);
  box-shadow:
    0 0 0 1px rgb(183 123 39 / 50%),
    0 0 0 8px rgb(183 123 39 / 8%);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.fb-timeline-item:hover .fb-timeline-marker {
  transform: scale(1.2);
  box-shadow:
    0 0 0 1px rgb(183 123 39 / 65%),
    0 0 0 12px rgb(183 123 39 / 12%);
}

/* Inhalt */

.fb-timeline-content {
  position: relative;
  max-width: 680px;
  padding: 0 0 0 1rem;
}

.fb-timeline-number {
  display: block;
  margin-bottom: 0.65rem;
  color: var(--fischbach-kupfer);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.18em;
}

.fb-timeline-content h3 {
  margin: 0 0 1rem;
  color: #24211d;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  line-height: 1.15;
}

.fb-timeline-content p {
  max-width: 650px;
  margin: 0;
  color: #635c52;
  font-size: 1.03rem;
  line-height: 1.8;
}

.fb-story-link-dark {
  margin-top: 1.5rem;
  color: #29251f;
}

.fb-story-link-dark:hover {
  color: var(--fischbach-kupfer);
}

/* Tablet und Smartphone */

@media (max-width: 800px) {
  .fb-timeline::before {
    left: 9px;
  }

  .fb-timeline-item {
    grid-template-columns: 20px minmax(0, 1fr);
    column-gap: 1.25rem;
    margin-bottom: 4rem;
  }

  .fb-timeline-marker {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 18px;
    height: 18px;
    justify-self: start;
  }

  .fb-timeline-year {
    grid-column: 2;
    grid-row: 1;
    padding: 0;
    margin-bottom: 0.75rem;
    text-align: left;
  }

  .fb-timeline-content {
    grid-column: 2;
    grid-row: 2;
    padding: 0;
  }
}

@media (max-width: 500px) {
  .fb-timeline-item {
    column-gap: 1rem;
  }

  .fb-timeline-content h3 {
    font-size: 1.65rem;
  }

  .fb-timeline-content p {
    font-size: 1rem;
  }
}

:root {
  --fb-dark:#111312;
  --fb-dark-2:#202321;
  --fb-copper:#b77b27;
  --fb-copper-light:#d7a453;
  --fb-sand:#f4f0e8;
  --fb-text:#29251f;
  --fb-muted:#635c52;
  --fb-radius:18px;
}

html { scroll-behavior:smooth; }
body { background:var(--fb-sand); color:var(--fb-text); }
.container-component, .site-grid, main { max-width:none !important; padding:0 !important; }
.com-content-article__body { margin:0 !important; }
.fischbach-onepage { overflow:hidden; }
.fb-section { position:relative; display:flex; align-items:center; min-height:70vh; padding:clamp(5rem,9vw,9rem) 1.5rem; }
.fb-inner { width:min(1180px,100%); margin-inline:auto; }
.fb-section h1,.fb-section h2,.fb-story-image h2 { margin:0; font-family:Georgia,"Times New Roman",serif; line-height:.98; letter-spacing:-.04em; }
.fb-section h2 { max-width:950px; font-size:clamp(2.6rem,6vw,5.8rem); }
.fb-eyebrow { margin:0 0 1rem; color:var(--fb-copper-light); font-size:.82rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.fb-lead,.fb-intro,.fb-lead-dark { max-width:760px; font-size:clamp(1.06rem,2vw,1.3rem); line-height:1.75; }
.fb-lead { color:var(--fb-muted); }
.fb-button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:.9rem 1.5rem; border:1px solid var(--fb-copper); border-radius:5px; font-weight:800; text-decoration:none; transition:.25s ease; }
.fb-button:hover { transform:translateY(-3px); }
.fb-button-primary { background:var(--fb-copper); color:#fff; }
.fb-button-secondary { background:rgb(255 255 255 / 6%); color:#fff; border-color:rgb(255 255 255 / 55%); }
.fb-buttons { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }

.fb-hero { min-height:calc(100svh - 70px); color:#fff; background:linear-gradient(90deg,rgb(5 7 6 / 94%),rgb(5 7 6 / 62%) 50%,rgb(5 7 6 / 18%)),url("/images/startseite/bergwerk-hero.jpg") center/cover no-repeat; }
.fb-hero h1 { max-width:1050px; font-size:clamp(3.3rem,8.5vw,8.2rem); }
.fb-hero h1 span { color:var(--fb-copper-light); }
.fb-intro { color:rgb(255 255 255 / 82%); }
.fb-hero-facts { display:flex; flex-wrap:wrap; gap:.8rem 2rem; margin-top:3rem; padding-top:1.3rem; border-top:1px solid rgb(255 255 255 / 20%); color:rgb(255 255 255 / 72%); font-size:.92rem; }

.fb-wunder { background:radial-gradient(circle at 85% 15%,rgb(183 123 39 / 11%),transparent 30rem),var(--fb-sand); }
.fb-section-header { max-width:920px; margin-bottom:clamp(3rem,7vw,5.5rem); }
.fb-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.25rem,3vw,2.25rem); }
.fb-card { overflow:hidden; border:1px solid rgb(0 0 0 / 7%); border-radius:var(--fb-radius); background:#fff; box-shadow:0 14px 40px rgb(0 0 0 / 8%); transition:.35s ease; }
.fb-card:hover { transform:translateY(-9px); box-shadow:0 24px 65px rgb(0 0 0 / 14%); }
.fb-card-image { aspect-ratio:3/2; overflow:hidden; }
.fb-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .9s ease; }
.fb-card:hover img { transform:scale(1.07); }
.fb-card-content { padding:clamp(1.5rem,3vw,2.2rem); }
.fb-card-number,.fb-timeline-content>span { color:var(--fb-copper); font-size:.75rem; font-weight:800; letter-spacing:.18em; }
.fb-card h3,.fb-plan-card h3,.fb-experience h3 { margin:.7rem 0 1rem; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.45rem,2.5vw,2rem); }
.fb-card p,.fb-plan-card p,.fb-experience p { color:var(--fb-muted); line-height:1.7; }

.fb-eintauchen { color:#fff; background:radial-gradient(circle at 15% 20%,rgb(183 123 39 / 14%),transparent 28rem),linear-gradient(145deg,#292c2a,#111312 58%,#080909); }
.fb-split { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2.5rem,6vw,6rem); align-items:center; }
.fb-split-image { position:relative; min-height:620px; overflow:hidden; border-radius:20px; box-shadow:0 35px 90px rgb(0 0 0 / 45%); }
.fb-split-image img { width:100%; height:100%; min-height:620px; object-fit:cover; }
.fb-split-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgb(0 0 0 / 75%)); }
.fb-image-caption { position:absolute; z-index:2; left:2rem; right:2rem; bottom:2rem; }
.fb-image-caption span { display:block; color:var(--fb-copper-light); font-size:.72rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.fb-image-caption strong { display:block; margin-top:.4rem; font-family:Georgia,serif; font-size:clamp(1.5rem,3vw,2.3rem); }
.fb-split-content h2 { font-size:clamp(2.5rem,5vw,5rem); }
.fb-split-content>p { color:rgb(255 255 255 / 72%); line-height:1.8; }
.fb-lead-dark { color:rgb(255 255 255 / 90%) !important; }
.fb-fakten { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:clamp(3.5rem,7vw,6rem); }
.fb-fakt { display:flex; align-items:center; gap:1.1rem; padding:1.5rem; border:1px solid rgb(255 255 255 / 12%); border-radius:14px; background:rgb(255 255 255 / 7%); }
.fb-fakt-icon { display:grid; place-items:center; flex:0 0 54px; width:54px; height:54px; border-radius:50%; background:rgb(183 123 39 / 17%); }
.fb-fakt strong,.fb-fakt span { display:block; }
.fb-fakt div span { color:rgb(255 255 255 / 62%); font-size:.92rem; }

.fb-story-image { position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; isolation:isolate; color:#fff; }
.fb-story-image__background { position:absolute; inset:-5%; z-index:-3; background:url("/images/startseite/weitungen.jpg") center/cover no-repeat; transform:scale(1.04); transition:transform 8s ease-out; }
.fb-story-image.is-active .fb-story-image__background { transform:scale(1.12); }
.fb-story-image__overlay { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgb(5 7 6 / 94%),rgb(5 7 6 / 62%) 48%,rgb(5 7 6 / 18%)); }
.fb-story-image__content { width:min(1180px,calc(100% - 3rem)); margin:auto; padding-block:8rem; }
.fb-story-image h2 { font-size:clamp(3.5rem,10vw,9rem); line-height:.88; }
.fb-story-image h2 span { color:var(--fb-copper-light); }
.fb-story-image__content>p:not(.fb-eyebrow) { max-width:720px; font-size:clamp(1.08rem,2vw,1.35rem); line-height:1.75; }
.fb-story-link { display:inline-flex; gap:.8rem; margin-top:2rem; padding-bottom:.35rem; border-bottom:1px solid var(--fb-copper-light); color:inherit; font-weight:800; text-decoration:none; }

.fb-geschichte { background:linear-gradient(180deg,var(--fb-sand),#ebe3d5); }
.fb-timeline { position:relative; max-width:1050px; margin:5rem auto 0; }
.fb-timeline::before { content:""; position:absolute; left:215px; top:1rem; bottom:1rem; width:2px; background:var(--fb-copper); }
.fb-timeline-item { position:relative; display:grid; grid-template-columns:180px 70px 1fr; margin-bottom:5rem; }
.fb-timeline-year { text-align:right; color:#7c7164; font-weight:800; }
.fb-timeline-marker { z-index:2; justify-self:center; width:18px; height:18px; border:4px solid #eee7da; border-radius:50%; background:var(--fb-copper); }
.fb-timeline-content h3 { margin:.6rem 0 1rem; font-family:Georgia,serif; font-size:clamp(1.7rem,3vw,2.6rem); }
.fb-timeline-content p { color:var(--fb-muted); line-height:1.8; }

.fb-erlebnisse { color:#fff; background:#171918; }
.fb-experience-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.3rem; }
.fb-experience { min-height:230px; padding:2rem; border:1px solid rgb(255 255 255 / 12%); border-radius:var(--fb-radius); background:linear-gradient(135deg,rgb(255 255 255 / 9%),rgb(255 255 255 / 3%)); }
.fb-experience p { color:rgb(255 255 255 / 66%); }

.fb-plan { background:#f5f1e8; }
.fb-plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; }
.fb-plan-card { padding:2rem; border-radius:var(--fb-radius); background:#fff; box-shadow:0 14px 40px rgb(0 0 0 / 8%); }
.fb-small { font-size:.88rem; }
.fb-price { display:flex; justify-content:space-between; gap:1rem; padding:.75rem 0; border-bottom:1px solid rgb(0 0 0 / 8%); }
.fb-ticket-box { display:flex; justify-content:space-between; align-items:center; gap:2rem; margin-top:2rem; padding:2rem; border-radius:var(--fb-radius); color:#fff; background:var(--fb-dark); }
.fb-ticket-box h3 { margin:0; font-family:Georgia,serif; font-size:clamp(1.8rem,3vw,2.8rem); }

.fb-events { color:#fff; background:linear-gradient(145deg,#242725,#0d0f0e); }
.fb-events .fb-lead { color:rgb(255 255 255 / 68%); }
.fb-events-cta { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2rem; border:1px solid rgb(255 255 255 / 12%); border-radius:var(--fb-radius); background:rgb(255 255 255 / 6%); }

.fb-contact { color:#fff; background:#080a09; }
.fb-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.fb-contact-links { display:flex; flex-direction:column; gap:.7rem; margin-top:2rem; }
.fb-contact-links a { color:#fff; font-size:1.1rem; }
.fb-contact-image { overflow:hidden; min-height:520px; border-radius:var(--fb-radius); }
.fb-contact-image img { width:100%; height:100%; min-height:520px; object-fit:cover; }

.fb-reveal { opacity:1; transform:none; }
.js-ready .fb-reveal { opacity:0; transform:translateY(42px); transition:opacity .8s ease var(--fb-delay,0ms),transform .8s ease var(--fb-delay,0ms); }
.js-ready .fb-reveal.is-visible { opacity:1; transform:none; }

@media (max-width:950px) {
  .fb-split,.fb-contact-grid { grid-template-columns:1fr; }
  .fb-fakten,.fb-plan-grid { grid-template-columns:1fr; }
  .fb-split-image,.fb-split-image img { min-height:500px; }
}
@media (max-width:800px) {
  .fb-card-grid,.fb-experience-grid { grid-template-columns:1fr; }
  .fb-timeline::before { left:9px; }
  .fb-timeline-item { grid-template-columns:20px 1fr; gap:1rem; }
  .fb-timeline-marker { grid-row:1/3; }
  .fb-timeline-year,.fb-timeline-content { grid-column:2; text-align:left; }
  .fb-ticket-box,.fb-events-cta { align-items:flex-start; flex-direction:column; }
}
@media (max-width:600px) {
  .fb-section { min-height:auto; padding-block:5rem; }
  .fb-hero { min-height:88svh; background-position:62% center; }
  .fb-buttons { flex-direction:column; }
  .fb-button { width:100%; }
  .fb-story-image { min-height:88svh; }
  .fb-story-image__content { width:min(100% - 2rem,1180px); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
  .fb-reveal { opacity:1 !important; transform:none !important; }
}