/**
 * ============================================================
 * Ballon Taxi – Home Hamburg
 * ============================================================
 *
 * Scope:
 * - ausschließlich Startseite Hamburg
 * - Content unterhalb des gemeinsamen Home-Heros
 *
 * Designprinzip:
 * - zweite Standortfamilie neben Düsseldorf
 * - gleicher Markencharakter, andere Dramaturgie
 * - editorialer, flächiger, weniger Kartenoptik
 * - #4b4b50 als verbindlicher dunkler Markenanker
 * - Pink gezielt als Akzent, nicht als Dauerfläche
 * - großzügige Typografie und klare horizontale Rhythmen
 * ============================================================
 */

/* ============================================================
   DESIGN TOKENS
   ============================================================ */

.bt-home-hamburg {
  --bt-hh-pink: #e42c8c;
  --bt-hh-pink-dark: #bd1f71;

  --bt-hh-anchor: #4b4b50;
  --bt-hh-dark: #303036;
  --bt-hh-dark-deep: #222228;

  --bt-hh-ink: #19191f;
  --bt-hh-text: #35353b;
  --bt-hh-muted: #6d6d75;

  --bt-hh-line: rgba(25, 25, 31, 0.12);
  --bt-hh-line-light: rgba(255, 255, 255, 0.14);

  --bt-hh-warm: #f5f1ed;
  --bt-hh-warm-light: #fbf9f7;
  --bt-hh-white: #ffffff;

  --bt-hh-width: 1240px;
  --bt-hh-wide: 1440px;

  --bt-hh-radius-sm: 16px;
  --bt-hh-radius-md: 26px;
  --bt-hh-radius-lg: 38px;

  --bt-hh-shadow-soft: 0 18px 50px rgba(20, 20, 26, 0.07);

  --bt-hh-shadow-hover: 0 28px 70px rgba(20, 20, 26, 0.12);

  position: relative;

  margin: 0;
  padding: 0;

  color: var(--bt-hh-text);
}

/* ============================================================
   BASE / TYPOGRAPHY
   ============================================================ */

.bt-home-hamburg *,
.bt-home-hamburg *::before,
.bt-home-hamburg *::after {
  box-sizing: border-box;
}

.bt-home-hamburg section {
  position: relative;
}

.bt-home-hamburg h2,
.bt-home-hamburg h3,
.bt-home-hamburg p,
.bt-home-hamburg figure {
  margin-top: 0;

  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.bt-home-hamburg h2 {
  margin-bottom: 22px;

  font-size: clamp(2.3rem, 4vw, 4.7rem);
  font-weight: 650;
  line-height: 1.01;
  letter-spacing: -0.045em;

  color: var(--bt-hh-ink);
}

.bt-home-hamburg h3 {
  margin-bottom: 14px;

  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 650;
  line-height: 1.12;
  letter-spacing: -0.025em;

  color: var(--bt-hh-ink);
}

.bt-home-hamburg p {
  margin-bottom: 0;

  font-size: clamp(1rem, 1.15vw, 1.1rem);
  line-height: 1.72;
}

.bt-home-hamburg a {
  color: inherit;
}

.bt-home-hh-eyebrow {
  margin: 0 0 18px !important;

  font-size: 0.76rem !important;
  font-weight: 750;
  line-height: 1.2 !important;
  letter-spacing: 0.17em;

  text-transform: uppercase;

  color: var(--bt-hh-pink);
}

/* ============================================================
   FULL BLEED
   ============================================================ */

.bt-home-hh-intro,
.bt-home-hh-services,
.bt-home-hh-occasions,
.bt-home-hh-process,
.bt-home-hh-trust,
.bt-home-hh-projects,
.bt-home-hh-references,
.bt-home-hh-local,
.bt-home-hh-final {
  width: 100vw;
  max-width: none;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* ============================================================
   01 – INTRO / MARKENERKLÄRUNG
   Editorial statt Düsseldorf-Signature-Modul
   ============================================================ */

.bt-home-hh-intro {
  overflow: clip;

  padding: clamp(96px, 10vw, 150px) 20px clamp(105px, 11vw, 165px);

  background:
    radial-gradient(
      circle at 86% 14%,
      rgba(228, 44, 140, 0.09),
      transparent 31%
    ),
    linear-gradient(135deg, #fbf9f7 0%, #f6f2ee 54%, #f2eeea 100%);
}

.bt-home-hh-intro::before {
  content: "";

  position: absolute;
  top: 0;
  left: calc(50% - 620px);

  width: 1px;
  height: 100%;

  background: rgba(25, 25, 31, 0.07);

  pointer-events: none;
}

.bt-home-hh-intro::after {
  content: "HAMBURG";

  position: absolute;
  right: -0.04em;
  bottom: -0.14em;

  font-size: clamp(6rem, 15vw, 15rem);
  font-weight: 800;
  line-height: 0.8;
  letter-spacing: -0.075em;

  color: rgba(75, 75, 80, 0.045);

  pointer-events: none;
  user-select: none;
}

.bt-home-hh-intro__inner {
  position: relative;
  z-index: 2;

  width: min(var(--bt-hh-width), 100%);
  margin: 0 auto;

  display: grid;
  grid-template-columns:
    minmax(320px, 0.92fr)
    minmax(0, 1.08fr);

  gap: clamp(60px, 8vw, 125px);

  align-items: start;
}

.bt-home-hh-intro__headline {
  position: sticky;
  top: 120px;
  align-self: start;

  padding-top: 4px;
}

.bt-home-hh-intro__headline .bt-home-hh-eyebrow {
  padding-left: 6px;
}

.bt-home-hh-intro__headline h2 {
  max-width: 9.5ch;
  margin-bottom: 0;

  font-size: clamp(3.1rem, 5.5vw, 6rem);
}

.bt-home-hh-intro__headline h2 span {
  display: block;

  margin-top: 10px;

  color: var(--bt-hh-anchor);
}

.bt-home-hh-intro__content {
  padding-top: 7px;
}

.bt-home-hh-intro__lead {
  max-width: 760px;

  margin-bottom: 26px !important;

  font-size: clamp(1.3rem, 1.8vw, 1.7rem) !important;
  line-height: 1.52 !important;

  color: var(--bt-hh-ink);
}

.bt-home-hh-intro__content > p:not(.bt-home-hh-intro__lead) {
  max-width: 740px;

  color: var(--bt-hh-muted);
}

.bt-home-hh-intro__features {
  margin-top: 56px;

  border-top: 1px solid var(--bt-hh-line);
}

.bt-home-hh-intro__feature {
  position: relative;

  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);

  gap: 28px;

  align-items: start;

  padding: 30px 0 26px;

  border-bottom: 1px solid var(--bt-hh-line);

  transition:
    padding-left 0.3s ease,
    border-color 0.3s ease;
}

.bt-home-hh-intro__feature::before {
  content: "";

  position: absolute;
  top: -1px;
  left: 0;

  width: 46px;
  height: 3px;

  border-radius: 0 0 999px 999px;

  background: var(--bt-hh-pink);

  transition: width 0.3s ease;
}

.bt-home-hh-intro__feature:hover::before {
  width: 72px;
}

.bt-home-hh-intro__feature:hover {
  padding-left: 10px;

  border-color: rgba(228, 44, 140, 0.34);
}

.bt-home-hh-intro__feature strong {
  font-size: 1.02rem;
  line-height: 1.35;

  color: var(--bt-hh-ink);
}

.bt-home-hh-intro__feature p {
  max-width: 42ch;

  font-size: 0.94rem;
  line-height: 1.62;

  color: var(--bt-hh-muted);
}

/* ============================================================
   02 – LEISTUNGEN
   Große Feature-Fläche + sachliche Nebenmodule
   ============================================================ */

.bt-home-hh-services {
  padding: clamp(105px, 11vw, 165px) 20px;

  background: var(--bt-hh-white);
}

.bt-home-hh-services__head,
.bt-home-hh-services__layout {
  width: min(var(--bt-hh-width), 100%);
  margin-left: auto;
  margin-right: auto;
}

.bt-home-hh-services__head {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(320px, 0.72fr);

  gap: clamp(50px, 8vw, 110px);

  align-items: end;

  margin-bottom: clamp(60px, 7vw, 90px);
}

.bt-home-hh-services__head .bt-home-hh-eyebrow {
  grid-column: 1 / -1;

  margin-bottom: -7px !important;
}

.bt-home-hh-services__head h2 {
  max-width: 12ch;

  margin-bottom: 0;
}

.bt-home-hh-services__head > p:last-child {
  max-width: 56ch;

  padding-bottom: 7px;

  color: var(--bt-hh-muted);
}

.bt-home-hh-services__layout {
  display: grid;
  grid-template-columns:
    minmax(350px, 0.92fr)
    minmax(0, 1.08fr);

  gap: 22px;
}

.bt-home-hh-services__feature {
  position: relative;

  overflow: hidden;

  min-height: 590px;

  padding: clamp(38px, 5vw, 62px);

  display: flex;
  align-items: flex-end;

  border-radius: var(--bt-hh-radius-lg);

  background:
    radial-gradient(
      circle at 84% 16%,
      rgba(228, 44, 140, 0.22),
      transparent 29%
    ),
    radial-gradient(
      circle at 18% 96%,
      rgba(255, 255, 255, 0.055),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      var(--bt-hh-anchor) 0%,
      #3a3a40 38%,
      var(--bt-hh-dark) 68%,
      var(--bt-hh-dark-deep) 100%
    );

  color: #fff;
}

.bt-home-hh-services__feature::before {
  content: "";

  position: absolute;
  top: 42px;
  right: 42px;

  width: 118px;
  height: 118px;

  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
}

.bt-home-hh-services__feature::after {
  content: "";

  position: absolute;
  top: 74px;
  right: 74px;

  width: 54px;
  height: 54px;

  border-radius: 50%;

  background: var(--bt-hh-pink);

  opacity: 0.9;
}

.bt-home-hh-services__feature-copy {
  position: relative;
  z-index: 3;

  max-width: 560px;
}

.bt-home-hh-services__kicker {
  margin-bottom: 18px !important;

  font-size: 0.76rem !important;
  font-weight: 750;
  letter-spacing: 0.15em;
  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.68);
}

.bt-home-hh-services__feature h3 {
  max-width: 12ch;

  margin-bottom: 20px;

  font-size: clamp(2.25rem, 3.5vw, 3.8rem);

  color: #fff;
}

.bt-home-hh-services__feature p {
  max-width: 48ch;

  color: rgba(255, 255, 255, 0.7);
}

.bt-home-hh-services__feature a {
  margin-top: 30px;

  display: inline-flex;
  align-items: center;

  font-size: 0.96rem;
  font-weight: 700;

  text-decoration: none;

  color: #fff;

  transition:
    transform 0.25s ease,
    color 0.25s ease;
}

.bt-home-hh-services__feature a:hover {
  transform: translateX(5px);

  color: #fff;
}

.bt-home-hh-services__feature-mark {
  position: absolute;

  right: 2.4em;
  bottom: -0.1em;

  max-width: 31%;

  font-size: clamp(1.2rem, 3vw, 6.8rem);
  font-weight: 800;
  line-height: 0.78;
  letter-spacing: -0.075em;

  white-space: nowrap;

  color: rgba(255, 255, 255, 0.045);

  pointer-events: none;
  user-select: none;
}

.bt-home-hh-services__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  border-top: 1px solid var(--bt-hh-line);
  border-left: 1px solid var(--bt-hh-line);
}

.bt-home-hh-service-card {
  position: relative;

  min-height: 285px;

  padding: 42px 31px;

  border-right: 1px solid var(--bt-hh-line);
  border-bottom: 1px solid var(--bt-hh-line);

  background: #fff;

  transition:
    background-color 0.32s ease,
    transform 0.32s ease;
}

.bt-home-hh-service-card:hover {
  z-index: 2;

  transform: translateY(-3px);

  background: var(--bt-hh-warm-light);
}

.bt-home-hh-service-card h3 {
  max-width: 14ch;
}

.bt-home-hh-service-card p {
  max-width: 38ch;

  font-size: 0.94rem;

  color: var(--bt-hh-muted);
}

/* ============================================================
   03 – ANLÄSSE
   Dunkle Editorial-Section
   #4b4b50 als Markenanker
   ============================================================ */

.bt-home-hh-occasions {
  overflow: hidden;

  padding: clamp(108px, 11vw, 170px) 20px;

  background:
    radial-gradient(
      circle at 82% 14%,
      rgba(228, 44, 140, 0.17),
      transparent 29%
    ),
    radial-gradient(
      circle at 4% 100%,
      rgba(255, 255, 255, 0.04),
      transparent 35%
    ),
    linear-gradient(
      145deg,
      var(--bt-hh-anchor) 0%,
      #414147 32%,
      var(--bt-hh-dark) 68%,
      var(--bt-hh-dark-deep) 100%
    );

  color: #fff;
}

.bt-home-hh-occasions::before {
  content: "";

  position: absolute;
  right: -160px;
  top: -180px;

  width: 460px;
  height: 460px;

  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 50%;

  pointer-events: none;
}

.bt-home-hh-occasions__inner {
  position: relative;
  z-index: 2;

  width: min(var(--bt-hh-width), 100%);
  margin: 0 auto;

  display: grid;
  grid-template-columns:
    minmax(320px, 0.82fr)
    minmax(0, 1.18fr);

  gap: clamp(70px, 9vw, 135px);
}

.bt-home-hh-occasions .bt-home-hh-eyebrow {
  color: var(--bt-hh-pink);
}

.bt-home-hh-occasions__intro {
  align-self: start;

  position: sticky;
  top: 120px;
}

.bt-home-hh-occasions__intro h2 {
  max-width: 9ch;

  color: #fff;
}

.bt-home-hh-occasions__intro > p {
  max-width: 50ch;

  color: rgba(255, 255, 255, 0.67);
}

.bt-home-hh-textlink {
  margin-top: 30px;

  display: inline-flex;

  font-size: 0.95rem;
  font-weight: 700;

  text-decoration: none;

  color: #fff;

  transition:
    transform 0.25s ease,
    color 0.25s ease;
}

.bt-home-hh-textlink:hover {
  transform: translateX(4px);

  color: var(--bt-hh-pink);
}

.bt-home-hh-occasions__list {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.bt-home-hh-occasion {
  position: relative;

  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);

  gap: 24px;

  padding: 34px 0;

  border-bottom: 1px solid rgba(255, 255, 255, 0.14);

  transition:
    padding-left 0.32s ease,
    background-color 0.32s ease;
}

.bt-home-hh-occasion:hover {
  padding-left: 18px;

  background: linear-gradient(90deg, rgba(255, 255, 255, 0.045), transparent);
}

.bt-home-hh-occasion::before {
  content: "";

  position: absolute;
  left: 0;
  top: -1px;

  width: 0;
  height: 2px;

  background: var(--bt-hh-pink);

  transition: width 0.32s ease;
}

.bt-home-hh-occasion:hover::before {
  width: 72px;
}

.bt-home-hh-occasion__marker {
  position: relative;

  width: 13px;
  height: 13px;

  margin-top: 7px;

  display: block;

  border: 3px solid rgba(228, 44, 140, 0.22);
  border-radius: 50%;

  background: var(--bt-hh-pink);

  box-shadow: 0 0 0 5px rgba(228, 44, 140, 0.06);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.bt-home-hh-occasion:hover .bt-home-hh-occasion__marker {
  transform: scale(1.12);

  box-shadow: 0 0 0 7px rgba(228, 44, 140, 0.09);
}

.bt-home-hh-occasion h3 {
  margin-bottom: 10px;

  font-size: clamp(1.5rem, 2.2vw, 2.2rem);

  color: #fff;
}

.bt-home-hh-occasion p {
  max-width: 58ch;

  font-size: 0.95rem;

  color: rgba(255, 255, 255, 0.62);
}

/* ============================================================
   04 – PROCESS
   Helle horizontale Prozessstrecke
   ============================================================ */

.bt-home-hh-process {
  padding: clamp(105px, 11vw, 165px) 20px;

  background: linear-gradient(180deg, #fbf9f7 0%, #f5f1ed 100%);
}

.bt-home-hh-process__head,
.bt-home-hh-process__steps,
.bt-home-hh-process__action {
  width: min(var(--bt-hh-width), 100%);
  margin-left: auto;
  margin-right: auto;
}

.bt-home-hh-process__head {
  width: min(820px, 100%);

  margin-bottom: clamp(62px, 8vw, 96px);

  text-align: center;
}

.bt-home-hh-process__head h2 {
  max-width: 13ch;

  margin-left: auto;
  margin-right: auto;
}

.bt-home-hh-process__head > p:last-child {
  max-width: 66ch;

  margin-left: auto;
  margin-right: auto;

  color: var(--bt-hh-muted);
}

.bt-home-hh-process__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  border-top: 1px solid var(--bt-hh-line);
  border-bottom: 1px solid var(--bt-hh-line);
}

.bt-home-hh-process-step {
  position: relative;

  min-height: 340px;

  padding: 36px 28px 34px;

  border-right: 1px solid var(--bt-hh-line);

  transition:
    background-color 0.3s ease,
    transform 0.3s ease;
}

.bt-home-hh-process-step:first-child {
  padding-left: 0;
}

.bt-home-hh-process-step:last-child {
  border-right: 0;
}

.bt-home-hh-process-step:hover {
  background: rgba(255, 255, 255, 0.52);

  transform: translateY(-4px);
}

.bt-home-hh-process-step::after {
  content: "";

  position: absolute;
  left: 28px;
  bottom: 0;

  width: 0;
  height: 3px;

  background: var(--bt-hh-pink);

  transition: width 0.3s ease;
}

.bt-home-hh-process-step:first-child::after {
  left: 0;
}

.bt-home-hh-process-step:hover::after {
  width: 56px;
}

.bt-home-hh-process-step__index {
  display: block;

  margin-bottom: 72px;

  font-size: clamp(2.8rem, 4.5vw, 5.4rem);
  font-weight: 700;
  line-height: 0.8;
  letter-spacing: -0.06em;

  color: rgba(75, 75, 80, 0.1);

  transition: color 0.3s ease;
}

.bt-home-hh-process-step:hover .bt-home-hh-process-step__index {
  color: rgba(228, 44, 140, 0.22);
}

.bt-home-hh-process-step h3 {
  font-size: clamp(1.4rem, 1.8vw, 1.8rem);
}

.bt-home-hh-process-step p {
  max-width: 35ch;

  font-size: 0.94rem;

  color: var(--bt-hh-muted);
}

.bt-home-hh-process__action {
  margin-top: 50px;

  display: flex;
  justify-content: center;
}

.bt-home-hh-process__action a {
  min-height: 52px;

  padding: 14px 22px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  border-radius: 999px;

  background: var(--bt-hh-anchor);
  color: #fff;

  font-size: 0.95rem;
  font-weight: 700;

  text-decoration: none;

  transition:
    background-color 0.22s ease,
    transform 0.22s ease;
}

.bt-home-hh-process__action a:hover {
  transform: translateY(-2px);

  background: var(--bt-hh-pink);

  color: #fff;
}

.bt-home-hh-process__action a span {
  transition: transform 0.22s ease;
}

.bt-home-hh-process__action a:hover span {
  transform: translateX(3px);
}

/* ============================================================
   05 – TRUST / ERFAHRUNG
   Große Textfläche + dunkler Fact-Block
   ============================================================ */

.bt-home-hh-trust {
  padding: clamp(105px, 11vw, 165px) 20px;

  background: #fff;
}

.bt-home-hh-trust__inner {
  width: min(var(--bt-hh-width), 100%);
  margin: 0 auto;

  display: grid;
  grid-template-columns:
    minmax(0, 1.05fr)
    minmax(330px, 0.95fr);

  gap: clamp(65px, 9vw, 130px);

  align-items: stretch;
}

.bt-home-hh-trust__copy {
  padding: clamp(20px, 3vw, 40px) 0;
}

.bt-home-hh-trust__copy h2 {
  max-width: 13ch;
}

.bt-home-hh-trust__copy > p:not(.bt-home-hh-eyebrow) {
  max-width: 62ch;

  color: var(--bt-hh-muted);
}

.bt-home-hh-trust__copy > p + p {
  margin-top: 22px;
}

.bt-home-hh-trust__facts {
  position: relative;

  overflow: hidden;

  padding: 20px 42px;

  border-radius: var(--bt-hh-radius-lg);

  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(228, 44, 140, 0.19),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      var(--bt-hh-anchor) 0%,
      #3d3d43 42%,
      var(--bt-hh-dark-deep) 100%
    );

  color: #fff;
}

.bt-home-hh-trust__facts::before {
  content: "";

  position: absolute;
  right: -110px;
  bottom: -150px;

  width: 320px;
  height: 320px;

  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 50%;

  pointer-events: none;
}

.bt-home-hh-trust__fact {
  position: relative;
  z-index: 2;

  padding: 27px 0;

  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}

.bt-home-hh-trust__fact:last-child {
  border-bottom: 0;
}

.bt-home-hh-trust__fact strong {
  display: block;

  margin-bottom: 8px;

  font-size: clamp(1.4rem, 2vw, 2rem);
  line-height: 1.1;
  letter-spacing: -0.03em;

  color: #fff;
}

.bt-home-hh-trust__fact span {
  display: block;

  max-width: 30ch;

  font-size: 0.92rem;
  line-height: 1.55;

  color: rgba(255, 255, 255, 0.64);
}

/* ============================================================
   06 – PROJEKTE
   Andere Galerie-Logik als Düsseldorf
   ============================================================ */

.bt-home-hh-projects {
  padding: clamp(105px, 10vw, 155px) 20px;

  background: var(--bt-hh-warm-light);
}

.bt-home-hh-projects__head,
.bt-home-hh-projects__grid {
  margin-left: auto;
  margin-right: auto;
}

.bt-home-hh-projects__head {
  width: min(var(--bt-hh-width), 100%);

  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(320px, 0.72fr);

  gap: clamp(48px, 8vw, 110px);

  align-items: end;

  margin-bottom: 60px;
}

.bt-home-hh-projects__head .bt-home-hh-eyebrow {
  grid-column: 1 / -1;

  margin-bottom: -8px !important;
}

.bt-home-hh-projects__head h2 {
  max-width: 13ch;

  margin-bottom: 0;
}

.bt-home-hh-projects__head > p:last-child {
  max-width: 58ch;

  padding-bottom: 7px;

  color: var(--bt-hh-muted);
}

.bt-home-hh-projects__grid {
  width: min(var(--bt-hh-wide), 100%);

  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows:
    300px
    300px
    285px
    285px;

  gap: 18px;
}

.bt-home-hh-project {
  position: relative;

  overflow: hidden;

  margin: 0;

  border-radius: var(--bt-hh-radius-md);

  background: #e8e5e2;
}

/* großes Leitbild links */
.bt-home-hh-project:nth-child(1) {
  grid-column: 1 / 8;
  grid-row: 1 / 3;
}

/* rechte obere Bühne */
.bt-home-hh-project:nth-child(2) {
  grid-column: 8 / 13;
  grid-row: 1;
}

.bt-home-hh-project:nth-child(3) {
  grid-column: 8 / 13;
  grid-row: 2;
}

/* mittlere Reihe */
.bt-home-hh-project:nth-child(4) {
  grid-column: 1 / 5;
  grid-row: 3;
}

.bt-home-hh-project:nth-child(5) {
  grid-column: 5 / 10;
  grid-row: 3;
}

.bt-home-hh-project:nth-child(6) {
  grid-column: 10 / 13;
  grid-row: 3;
}

/* untere Viererreihe */
.bt-home-hh-project:nth-child(7) {
  grid-column: 1 / 4;
  grid-row: 4;
}

.bt-home-hh-project:nth-child(8) {
  grid-column: 4 / 7;
  grid-row: 4;
}

.bt-home-hh-project:nth-child(9) {
  grid-column: 7 / 10;
  grid-row: 4;
}

.bt-home-hh-project:nth-child(10) {
  grid-column: 10 / 13;
  grid-row: 4;
}

.bt-home-hh-project img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;

  border-radius: inherit;

  transform: scale(1.035);

  transition:
    transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1),
    filter 0.4s ease;
}

.bt-home-hh-project--douglas img {
  object-position: center 90%;
}

.bt-home-hh-project::before {
  content: "";

  position: absolute;
  inset: 0;

  z-index: 2;

  border-radius: inherit;

  background: linear-gradient(
    145deg,
    rgba(75, 75, 80, 0.08),
    rgba(34, 34, 40, 0.14)
  );

  pointer-events: none;

  opacity: 1;

  transition: opacity 0.35s ease;
}

.bt-home-hh-project:hover::before {
  opacity: 0;
}

.bt-home-hh-project:hover img {
  transform: scale(1);
}

/* ============================================================
   07 – REFERENZEN
   Keine Slider-Wiederholung
   Typografische Namensfläche
   ============================================================ */

.bt-home-hh-references {
  overflow: hidden;

  padding: clamp(105px, 10vw, 150px) 20px;

  background: linear-gradient(145deg, #ffffff 0%, #fbf9f7 100%);
}

.bt-home-hh-references__inner {
  position: relative;
  z-index: 2;

  width: min(var(--bt-hh-width), 100%);
  margin: 0 auto;
}

.bt-home-hh-references__head {
  width: min(820px, 100%);

  margin: 0 auto 64px;

  text-align: center;
}

.bt-home-hh-references__head h2 {
  max-width: 15ch;

  margin-left: auto;
  margin-right: auto;
}

.bt-home-hh-references__head > p:last-child {
  max-width: 64ch;

  margin-left: auto;
  margin-right: auto;

  color: var(--bt-hh-muted);
}

.bt-home-hh-references__names {
  position: relative;

  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  border-top: 1px solid var(--bt-hh-line);
  border-left: 1px solid var(--bt-hh-line);
}

.bt-home-hh-references__names::before {
  content: "REFERENZEN";

  position: absolute;
  z-index: 0;

  left: 0;
  top: -63px;

  width: 100%;
  text-align: center;
  white-space: nowrap;

  font-size: clamp(4.6rem, 13vw, 12rem);
  font-weight: 800;
  line-height: 0.78;
  letter-spacing: -0.055em;

  color: rgba(75, 75, 80, 0.06);

  pointer-events: none;
  user-select: none;
}

.bt-home-hh-references__names span {
  position: relative;
  z-index: 1;
  min-height: 116px;

  padding: 22px 18px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-right: 1px solid var(--bt-hh-line);
  border-bottom: 1px solid var(--bt-hh-line);

  text-align: center;

  font-size: clamp(1rem, 1.4vw, 1.28rem);
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -0.02em;

  color: var(--bt-hh-anchor);

  background: rgba(255, 255, 255, 0.48);

  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease;
}

.bt-home-hh-references__names span:hover {
  z-index: 2;

  transform: translateY(-2px);

  background: var(--bt-hh-anchor);
  color: #fff;
}

.bt-home-hh-references__action {
  margin-top: 34px;

  text-align: center;
}

.bt-home-hh-references__action a {
  font-size: 0.95rem;
  font-weight: 700;

  text-decoration: none;

  color: var(--bt-hh-ink);

  transition:
    color 0.22s ease,
    transform 0.22s ease;
}

.bt-home-hh-references__action a:hover {
  display: inline-block;

  transform: translateX(4px);

  color: var(--bt-hh-pink);
}

/* ============================================================
   08 – LOKALER ABSCHLUSS
   Ruhige regionale Verankerung
   ============================================================ */

.bt-home-hh-local {
  padding: clamp(90px, 9vw, 135px) 20px;

  background: var(--bt-hh-warm);
}

.bt-home-hh-local__inner {
  width: min(var(--bt-hh-width), 100%);
  margin: 0 auto;

  display: grid;
  grid-template-columns:
    minmax(320px, 0.86fr)
    minmax(0, 1.14fr);

  gap: clamp(60px, 9vw, 135px);

  align-items: start;
}

.bt-home-hh-local__title {
  position: relative;

  padding-left: 28px;
}

.bt-home-hh-local__title::before {
  content: "";

  position: absolute;
  left: 0;
  top: 3px;

  width: 4px;
  height: min(100%, 126px);

  border-radius: 999px;

  background: var(--bt-hh-pink);
}

.bt-home-hh-local__title h2 {
  max-width: 11ch;

  margin-bottom: 0;
}

.bt-home-hh-local__copy {
  padding-top: 4px;
}

.bt-home-hh-local__copy p {
  max-width: 64ch;

  color: var(--bt-hh-muted);
}

.bt-home-hh-local__copy p + p {
  margin-top: 22px;
}

.bt-home-hh-local__shop-link {
  position: relative;

  display: inline-block;

  font-weight: 650;
  text-decoration: none;

  color: var(--bt-hh-ink);

  transition:
    color 0.22s ease,
    transform 0.22s ease;
}

.bt-home-hh-local__shop-link::after {
  content: "";

  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.08em;

  height: 2px;

  background: var(--bt-hh-pink);

  transform: scaleX(0.32);
  transform-origin: left center;

  transition: transform 0.25s ease;
}

.bt-home-hh-local__shop-link:hover {
  transform: translateX(2px);

  color: var(--bt-hh-pink-dark);
}

.bt-home-hh-local__shop-link:hover::after {
  transform: scaleX(1);
}

/* ============================================================
   09 – FINAL CTA
   Dunkler Markenabschluss
   ============================================================ */

.bt-home-hh-final {
  overflow: hidden;

  padding: clamp(98px, 10vw, 150px) 20px;

  background:
    radial-gradient(
      circle at 87% 15%,
      rgba(228, 44, 140, 0.22),
      transparent 28%
    ),
    radial-gradient(
      circle at 8% 105%,
      rgba(255, 255, 255, 0.045),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      var(--bt-hh-anchor) 0%,
      #3d3d43 35%,
      var(--bt-hh-dark) 67%,
      var(--bt-hh-dark-deep) 100%
    );

  color: #fff;
}

.bt-home-hh-final::before {
  content: "";

  position: absolute;
  right: -170px;
  top: -245px;

  width: 520px;
  height: 520px;

  border-radius: 50%;

  background: rgba(228, 44, 140, 0.09);

  pointer-events: none;
}

.bt-home-hh-final::after {
  content: "";

  position: absolute;
  right: 80px;
  bottom: -230px;

  width: 390px;
  height: 390px;

  border: 1px solid rgba(255, 255, 255, 0.065);
  border-radius: 50%;

  pointer-events: none;
}

.bt-home-hh-final__inner {
  position: relative;
  z-index: 2;

  width: min(var(--bt-hh-width), 100%);
  margin: 0 auto;

  display: grid;
  grid-template-columns:
    minmax(0, 1.25fr)
    minmax(280px, 0.75fr);

  gap: clamp(50px, 8vw, 110px);

  align-items: end;
}

.bt-home-hh-final .bt-home-hh-eyebrow {
  color: var(--bt-hh-pink);
}

.bt-home-hh-final h2 {
  max-width: 12ch;

  color: #fff;
}

.bt-home-hh-final__copy > p:last-child {
  max-width: 60ch;

  color: rgba(255, 255, 255, 0.68);
}

.bt-home-hh-final__actions {
  display: flex;
  flex-direction: column;

  gap: 14px;
}

.bt-home-hh-final__button {
  min-height: 58px;

  padding: 16px 22px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 999px;

  font-size: 0.96rem;
  font-weight: 700;
  text-align: center;

  text-decoration: none;

  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    border-color 0.22s ease;
}

.bt-home-hh-final__button:hover {
  transform: translateY(-3px);
}

.bt-home-hh-final__button--primary {
  border: 1px solid var(--bt-hh-pink);

  background: var(--bt-hh-pink);
  color: #fff;
}

.bt-home-hh-final__button--primary:hover {
  border-color: var(--bt-hh-pink-dark);

  background: var(--bt-hh-pink-dark);
  color: #fff;
}

.bt-home-hh-final__button--secondary {
  border: 1px solid rgba(255, 255, 255, 0.28);

  background: transparent;
  color: #fff;
}

.bt-home-hh-final__button--secondary:hover {
  border-color: rgba(255, 255, 255, 0.5);

  background: rgba(255, 255, 255, 0.07);
  color: #fff;
}

/* ============================================================
   SMALL / MEDIUM DESKTOP
   ============================================================ */

@media (min-width: 1081px) and (max-width: 1500px) {
  .bt-home-hh-services__feature {
    min-height: 560px;
  }

  .bt-home-hh-service-card {
    min-height: 270px;
  }

  .bt-home-hh-projects__grid {
    grid-template-rows:
      280px
      280px
      265px
      265px;
  }
}

/* ============================================================
   TABLET / SMALL DESKTOP
   HORIZONTALER RHYTHMUS
   ============================================================ */

@media (min-width: 761px) and (max-width: 1399px) {
  .bt-home-hh-intro,
  .bt-home-hh-services,
  .bt-home-hh-occasions,
  .bt-home-hh-process,
  .bt-home-hh-trust,
  .bt-home-hh-projects,
  .bt-home-hh-references,
  .bt-home-hh-local,
  .bt-home-hh-final {
    padding-left: clamp(32px, 3.5vw, 48px);
    padding-right: clamp(32px, 3.5vw, 48px);
  }
}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1080px) {
  /* Intro */

  .bt-home-hh-intro__inner {
    grid-template-columns: 0.8fr 1.2fr;

    gap: 54px;
  }

  .bt-home-hh-intro__feature {
    grid-template-columns: 145px minmax(0, 1fr);

    gap: 22px;
  }

  /* Services */

  .bt-home-hh-services__layout {
    grid-template-columns: 1fr;
  }

  .bt-home-hh-services__feature {
    min-height: 440px;
  }

  .bt-home-hh-services__grid {
    min-height: auto;
  }

  /* Occasions */

  .bt-home-hh-occasions__inner {
    grid-template-columns: 0.8fr 1.2fr;

    gap: 54px;
  }

  .bt-home-hh-occasions__intro {
    top: 96px;
  }

  .bt-home-hh-intro__headline {
    top: 96px;
  }

  /* Process */

  .bt-home-hh-process__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bt-home-hh-process-step {
    min-height: 300px;

    border-bottom: 1px solid var(--bt-hh-line);
  }

  .bt-home-hh-process-step:nth-child(2) {
    border-right: 0;
  }

  .bt-home-hh-process-step:nth-child(3),
  .bt-home-hh-process-step:nth-child(4) {
    border-bottom: 0;
  }

  .bt-home-hh-process-step:nth-child(3) {
    padding-left: 0;
  }

  .bt-home-hh-process-step:nth-child(3)::after {
    left: 0;
  }

  /* Trust */

  .bt-home-hh-trust__inner {
    grid-template-columns: 1fr;

    gap: 54px;
  }

  .bt-home-hh-trust__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    padding: 16px 34px;
  }

  .bt-home-hh-trust__fact:nth-child(1),
  .bt-home-hh-trust__fact:nth-child(3) {
    padding-right: 28px;

    border-right: 1px solid rgba(255, 255, 255, 0.13);
  }

  .bt-home-hh-trust__fact:nth-child(2),
  .bt-home-hh-trust__fact:nth-child(4) {
    padding-left: 28px;
  }

  .bt-home-hh-trust__fact:nth-child(3) {
    border-bottom: 0;
  }

  /* Projects */

  .bt-home-hh-projects__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    grid-auto-rows: 250px;

    gap: 16px;
  }

  .bt-home-hh-project:nth-child(n) {
    grid-column: span 1;
    grid-row: span 1;
  }

  .bt-home-hh-project:nth-child(1) {
    grid-column: 1 / -1;
    grid-row: span 2;
  }

  .bt-home-hh-project:nth-child(6) {
    grid-column: 1 / -1;
    grid-row: span 1;
  }

  .bt-home-hh-project:nth-child(6) img {
    object-position: center 80%;
  }

  /* References */

  .bt-home-hh-references__names {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  /* Local */

  .bt-home-hh-local__inner {
    grid-template-columns: 0.8fr 1.2fr;

    gap: 54px;
  }
}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 760px) {
  .bt-home-hamburg h2 {
    font-size: clamp(2.25rem, 11vw, 3.65rem);
  }

  .bt-home-hamburg h3 {
    font-size: 1.45rem;
  }

  .bt-home-hh-intro,
  .bt-home-hh-services,
  .bt-home-hh-occasions,
  .bt-home-hh-process,
  .bt-home-hh-trust,
  .bt-home-hh-projects,
  .bt-home-hh-references,
  .bt-home-hh-local,
  .bt-home-hh-final {
    padding-left: 18px;
    padding-right: 18px;
  }

  /* ========================================================
     Intro
     ======================================================== */

  .bt-home-hh-intro {
    padding-top: 82px;
    padding-bottom: 94px;
  }

  .bt-home-hh-intro::before {
    display: none;
  }

  .bt-home-hh-intro::after {
    left: 50%;
    right: auto;
    bottom: -2px;

    transform: translateX(-50%);

    font-size: clamp(4.2rem, 20vw, 6.2rem);
  }

  .bt-home-hh-intro__inner {
    display: block;
  }

  .bt-home-hh-intro__headline {
    position: static;
    top: auto;
    margin-bottom: 42px;
  }
  .bt-home-hh-intro__headline .bt-home-hh-eyebrow {
    padding-left: 0;
  }

  .bt-home-hh-intro__headline h2 {
    max-width: 10ch;

    font-size: clamp(3rem, 14vw, 4.5rem);
  }

  .bt-home-hh-intro__lead {
    font-size: 1.22rem !important;
    line-height: 1.52 !important;
  }

  .bt-home-hh-intro__features {
    margin-top: 44px;
  }

  .bt-home-hh-intro__feature {
    display: block;

    padding: 24px 0;
  }

  .bt-home-hh-intro__feature:hover {
    padding-left: 0;
  }

  .bt-home-hh-intro__feature strong {
    display: block;

    margin-bottom: 8px;

    font-size: 1.05rem;
  }

  .bt-home-hh-intro__feature p {
    max-width: none;
  }

  /* ========================================================
     Services
     ======================================================== */

  .bt-home-hh-services {
    padding-top: 90px;
    padding-bottom: 94px;
  }

  .bt-home-hh-services__head {
    display: block;

    margin-bottom: 44px;
  }

  .bt-home-hh-services__head .bt-home-hh-eyebrow {
    margin-bottom: 18px !important;
  }

  .bt-home-hh-services__head h2 {
    margin-bottom: 24px;
  }

  .bt-home-hh-services__feature {
    min-height: 430px;

    padding: 32px 25px;

    border-radius: 30px;
  }

  .bt-home-hh-services__feature::before {
    top: 28px;
    right: 28px;

    width: 76px;
    height: 76px;
  }

  .bt-home-hh-services__feature::after {
    top: 48px;
    right: 48px;

    width: 36px;
    height: 36px;
  }

  .bt-home-hh-services__feature h3 {
    max-width: 11ch;

    font-size: clamp(2rem, 10vw, 3rem);
  }

  .bt-home-hh-services__feature-mark {
    right: -0.03em;
    bottom: -0.08em;

    font-size: clamp(3rem, 14vw, 4.8rem);
  }

  .bt-home-hh-services__grid {
    margin-top: 18px;

    display: block;

    border-left: 0;
  }

  .bt-home-hh-service-card {
    min-height: auto;

    padding: 27px 0;

    border-right: 0;
  }

  .bt-home-hh-service-card:hover {
    transform: none;

    background: transparent;
  }

  .bt-home-hh-service-card h3 {
    max-width: none;
  }

  .bt-home-hh-service-card p {
    max-width: none;
  }

  /* ========================================================
     Occasions
     ======================================================== */

  .bt-home-hh-occasions {
    padding-top: 94px;
    padding-bottom: 100px;
  }

  .bt-home-hh-occasions__inner {
    display: block;
  }

  .bt-home-hh-occasions__intro {
    position: static;

    margin-bottom: 52px;
  }

  .bt-home-hh-occasions__intro h2 {
    max-width: 10ch;
  }

  .bt-home-hh-occasion {
    grid-template-columns: 26px minmax(0, 1fr);

    gap: 14px;

    padding: 28px 0;
  }

  .bt-home-hh-occasion:hover {
    padding-left: 0;

    background: transparent;
  }

  .bt-home-hh-occasion:hover::before {
    width: 0;
  }

  .bt-home-hh-occasion h3 {
    font-size: 1.45rem;
  }

  /* ========================================================
     Process
     ======================================================== */

  .bt-home-hh-process {
    padding-top: 90px;
    padding-bottom: 96px;
  }

  .bt-home-hh-process__head {
    margin-bottom: 52px;

    text-align: left;
  }

  .bt-home-hh-process__head h2,
  .bt-home-hh-process__head > p:last-child {
    margin-left: 0;
    margin-right: 0;
  }

  .bt-home-hh-process__steps {
    display: block;

    border-bottom: 0;
  }

  .bt-home-hh-process-step,
  .bt-home-hh-process-step:first-child,
  .bt-home-hh-process-step:nth-child(3) {
    min-height: auto;

    padding: 28px 0;

    border-right: 0;
    border-bottom: 1px solid var(--bt-hh-line);
  }

  .bt-home-hh-process-step:last-child {
    border-bottom: 0;
  }

  .bt-home-hh-process-step:hover {
    transform: none;

    background: transparent;
  }

  .bt-home-hh-process-step::after {
    display: none;
  }

  .bt-home-hh-process-step__index {
    margin-bottom: 24px;

    font-size: 3.1rem;
  }

  .bt-home-hh-process-step p {
    max-width: none;
  }

  .bt-home-hh-process__action {
    margin-top: 42px;
  }

  .bt-home-hh-process__action a {
    width: 100%;
  }

  /* ========================================================
     Trust
     ======================================================== */

  .bt-home-hh-trust {
    padding-top: 90px;
    padding-bottom: 94px;
  }

  .bt-home-hh-trust__inner {
    display: block;
  }

  .bt-home-hh-trust__copy {
    padding: 0;

    margin-bottom: 48px;
  }

  .bt-home-hh-trust__facts {
    display: block;

    padding: 16px 26px;

    border-radius: 30px;
  }

  .bt-home-hh-trust__fact,
  .bt-home-hh-trust__fact:nth-child(1),
  .bt-home-hh-trust__fact:nth-child(2),
  .bt-home-hh-trust__fact:nth-child(3),
  .bt-home-hh-trust__fact:nth-child(4) {
    padding: 24px 0;

    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  }

  .bt-home-hh-trust__fact:last-child {
    border-bottom: 0;
  }

  .bt-home-hh-trust__fact span {
    max-width: none;
  }

  /* ========================================================
     Projects
     ======================================================== */

  .bt-home-hh-projects {
    padding-top: 88px;
    padding-bottom: 92px;
  }

  .bt-home-hh-projects__head {
    display: block;

    margin-bottom: 44px;
  }

  .bt-home-hh-projects__head .bt-home-hh-eyebrow {
    margin-bottom: 18px !important;
  }

  .bt-home-hh-projects__head h2 {
    margin-bottom: 24px;
  }

  .bt-home-hh-projects__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    grid-auto-rows: 220px;

    gap: 12px;
  }

  /* ========================================================
     References
     ======================================================== */

  .bt-home-hh-references {
    padding-top: 88px;
    padding-bottom: 90px;
  }

  .bt-home-hh-references__head {
    margin-bottom: 44px;

    text-align: left;
  }

  .bt-home-hh-references__head h2,
  .bt-home-hh-references__head > p:last-child {
    margin-left: 0;
    margin-right: 0;
  }

  .bt-home-hh-references__names::before {
    top: -38px;
    font-size: clamp(2.8rem, 12.5vw, 4.2rem);
    letter-spacing: -0.04em;
  }

  .bt-home-hh-references__names {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bt-home-hh-references__names span {
    min-height: 96px;

    padding: 18px 12px;

    font-size: 0.98rem;
  }

  /* ========================================================
     Local
     ======================================================== */

  .bt-home-hh-local {
    padding-top: 84px;
    padding-bottom: 88px;
  }

  .bt-home-hh-local__inner {
    display: block;
  }

  .bt-home-hh-local__title {
    margin-bottom: 40px;

    padding-left: 22px;
  }

  .bt-home-hh-local__title::before {
    width: 3px;
  }

  /* ========================================================
     Final
     ======================================================== */

  .bt-home-hh-final {
    padding-top: 90px;
    padding-bottom: 94px;
  }

  .bt-home-hh-final__inner {
    display: block;
  }

  .bt-home-hh-final__copy {
    margin-bottom: 42px;
  }

  .bt-home-hh-final h2 {
    max-width: 11ch;
  }

  .bt-home-hh-final__actions {
    width: 100%;
  }

  .bt-home-hh-final__button {
    width: 100%;
  }
}

/* ============================================================
   SMALL MOBILE
   ============================================================ */

@media (max-width: 520px) {
  .bt-home-hh-references__names {
    grid-template-columns: 1fr 1fr;
  }

  .bt-home-hh-references__names span {
    min-height: 88px;
  }
}

@media (max-width: 480px) {
  .bt-home-hh-projects__grid {
    display: block;
  }

  .bt-home-hh-project,
  .bt-home-hh-project--hero,
  .bt-home-hh-project--portrait,
  .bt-home-hh-project--wide {
    height: 280px;

    margin-bottom: 12px;
  }

  .bt-home-hh-project:last-child {
    margin-bottom: 0;
  }
}

/* ============================================================
   SCROLL REVEAL
   ============================================================ */

.bt-home-hamburg.bt-home-hh-motion-ready [data-bt-reveal] {
  --bt-reveal-opacity-duration: 0.66s;
  --bt-reveal-translate-duration: 0.7s;

  opacity: 0;
  translate: 0 22px;

  transition:
    opacity var(--bt-reveal-opacity-duration) cubic-bezier(0.2, 0.7, 0.2, 1)
      var(--bt-reveal-delay, 0ms),
    translate var(--bt-reveal-translate-duration) cubic-bezier(0.2, 0.7, 0.2, 1)
      var(--bt-reveal-delay, 0ms),
    transform 0.32s ease,
    background-color 0.32s ease,
    border-color 0.3s ease,
    color 0.25s ease,
    padding-left 0.32s ease;

  will-change: opacity, translate;
}

.bt-home-hamburg.bt-home-hh-motion-ready [data-bt-reveal].is-visible {
  opacity: 1;
  translate: 0 0;
}

/* ============================================================
   REFERENZEN – AUTO ACTIVE
   Gleiche Wirkung wie Hover
   ============================================================ */

.bt-home-hh-references__names span.is-auto-active {
  z-index: 2;

  transform: translateY(-2px);

  background: var(--bt-hh-anchor);
  color: #fff;
}

@media (max-width: 760px) {
  .bt-home-hamburg.bt-home-hh-motion-ready [data-bt-reveal] {
    --bt-reveal-opacity-duration: 0.56s;
    --bt-reveal-translate-duration: 0.6s;

    translate: 0 15px;
  }

  .bt-home-hamburg.bt-home-hh-motion-ready [data-bt-reveal].is-visible {
    translate: 0 0;
  }
}

/* ============================================================
   ACCESSIBILITY / REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .bt-home-hamburg *,
  .bt-home-hamburg *::before,
  .bt-home-hamburg *::after {
    scroll-behavior: auto !important;

    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
