/* ============================================================
   MOBILE OVERRIDES LAYER — keep desktop heroes untouched while
   we fine-tune small-screen image crops page by page.
   ============================================================ */
.nav-socials .social-link-row,
.site-nav__socials .social-link-row {
  gap: 10px;
}

/* Körperanalyse: four clearly connected stages instead of a generic process list. */
.page-body-analysis .analysis-sequence .step-grid {
  position: relative;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.page-body-analysis .analysis-sequence .step-grid::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 51px;
  right: 8%;
  left: 8%;
  height: 2px;
  background: linear-gradient(90deg, #c9a34d, #e8d29a 50%, #c9a34d);
}

.page-body-analysis .analysis-sequence .step-card {
  z-index: 1;
  min-width: 0;
  padding: 28px;
  border-color: rgba(42, 33, 18, 0.13);
  background:
    radial-gradient(circle at 100% 0%, rgba(201, 163, 77, 0.14), transparent 38%),
    linear-gradient(145deg, #fffefa, #f5ead7);
  box-shadow: 0 24px 52px -38px rgba(43, 32, 12, 0.42);
}

.page-body-analysis .analysis-sequence .step-card__index {
  position: relative;
  z-index: 2;
  width: 46px;
  height: 46px;
  margin-bottom: 24px;
  padding: 0;
  border: 1px solid rgba(201, 163, 77, 0.45);
  border-radius: 50%;
  color: #fffdf8;
  background: #17140f;
  font-family: var(--font-cond);
  font-size: 0.88rem;
  font-style: italic;
  letter-spacing: 0.08em;
}

.page-body-analysis .analysis-sequence .step-card h3 {
  color: #19150e;
  font-size: clamp(1.15rem, 1.5vw, 1.42rem);
  line-height: 1.08;
}

.page-body-analysis .analysis-sequence .step-card p {
  color: #625747;
  line-height: 1.62;
}

@media (max-width: 980px) {
  .page-body-analysis .analysis-sequence .step-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-body-analysis .analysis-sequence .step-grid::before {
    display: none;
  }
}

@media (max-width: 620px) {
  .page-body-analysis .analysis-sequence .step-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .page-body-analysis .analysis-sequence .step-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    column-gap: 16px;
    padding: 20px;
  }

  .page-body-analysis .analysis-sequence .step-card__index {
    grid-row: 1 / span 2;
    width: 44px;
    height: 44px;
    margin: 0;
  }

  .page-body-analysis .analysis-sequence .step-card h3,
  .page-body-analysis .analysis-sequence .step-card p {
    grid-column: 2;
  }

  .page-body-analysis .analysis-sequence .step-card p {
    margin-top: 8px;
  }
}

/* FINAL PREMIUM LAYER — Günter Preis story and previews */
html body.page-premium main .guenter-story-preview-section {
  padding-block: clamp(56px, 7vw, 104px) !important;
  background:
    radial-gradient(circle at 15% 20%, rgba(201, 163, 79, 0.11), transparent 30%),
    #f3efe7 !important;
}

html body.page-premium main .guenter-story-preview {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(320px, 0.88fr) minmax(0, 1.12fr) !important;
  min-height: 540px;
  overflow: hidden;
  border: 1px solid rgba(24, 22, 18, 0.12) !important;
  border-radius: 30px !important;
  background: #fffdf8 !important;
  box-shadow: 0 24px 70px rgba(18, 16, 12, 0.13) !important;
  color: #14130f !important;
  isolation: isolate;
}

html body.page-premium main .guenter-story-preview::after {
  content: "";
  position: absolute;
  inset: 18px;
  z-index: 3;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  pointer-events: none;
}

html body.page-premium main .guenter-story-preview__media {
  position: relative;
  min-height: 540px;
  overflow: hidden;
  background: #111;
}

html body.page-premium main .guenter-story-preview__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 55%, rgba(0, 0, 0, 0.3));
  pointer-events: none;
}

html body.page-premium main .guenter-story-preview__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 54% 34%;
  filter: saturate(0.92) contrast(1.03);
  transition: transform 700ms cubic-bezier(0.2, 0.75, 0.25, 1), filter 500ms ease;
}

html body.page-premium main .guenter-story-preview__badge {
  position: absolute;
  top: 34px;
  left: 34px;
  z-index: 4;
  padding: 9px 13px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 999px;
  background: rgba(12, 12, 10, 0.64);
  color: #fff8e8;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}

html body.page-premium main .guenter-story-preview__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(48px, 6vw, 86px) !important;
}

html body.page-premium main .guenter-story-preview__copy h2 {
  max-width: 680px;
  margin: 12px 0 22px !important;
  color: #12110e !important;
  font-size: clamp(2.65rem, 4.6vw, 5.35rem) !important;
  line-height: 0.91 !important;
  letter-spacing: -0.055em !important;
}

html body.page-premium main .guenter-story-preview__copy h2 span {
  color: #a47d2a !important;
}

html body.page-premium main .guenter-story-preview__copy > p:not(.eyebrow) {
  max-width: 680px;
  color: #565147 !important;
  font-size: clamp(1rem, 1.22vw, 1.18rem) !important;
  line-height: 1.72 !important;
}

html body.page-premium main .guenter-story-preview__facts {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  margin: 28px 0 30px !important;
}

html body.page-premium main .guenter-story-preview__facts > div {
  padding: 17px 14px !important;
  border: 1px solid rgba(23, 21, 17, 0.1) !important;
  border-radius: 15px !important;
  background: #f5f0e6 !important;
}

html body.page-premium main .guenter-story-preview__facts strong {
  display: block;
  color: #1a1813 !important;
  font-size: clamp(1.55rem, 2.5vw, 2.25rem) !important;
  font-variant-numeric: tabular-nums;
  line-height: 1 !important;
}

html body.page-premium main .guenter-story-preview__facts span {
  display: block;
  margin-top: 7px;
  color: #756e61 !important;
  font-size: 0.72rem !important;
  font-weight: 760;
  letter-spacing: 0.04em;
  line-height: 1.25;
  text-transform: uppercase;
}

html body.page-premium main .guenter-story-preview__cta {
  width: fit-content;
  padding-bottom: 7px;
  border-bottom: 1px solid #b68b31;
  color: #171510 !important;
  font-weight: 850;
}

@media (hover: hover) {
  html body.page-premium main .guenter-story-preview:hover {
    transform: translateY(-7px);
    box-shadow: 0 34px 90px rgba(18, 16, 12, 0.18) !important;
  }

  html body.page-premium main .guenter-story-preview:hover .guenter-story-preview__media img {
    transform: scale(1.045);
    filter: saturate(1.02) contrast(1.04);
  }
}

html body.page-premium.page-guenter-story main {
  --guenter-ink: #11120f;
  --guenter-gold: #d5b66d;
  --guenter-paper: #f5f1e9;
  background: var(--guenter-paper) !important;
}

html body.page-premium.page-guenter-story main :is(#kennenlernen, #gesundheit, #heute, #buehne) {
  scroll-margin-top: 128px;
}

html body.page-premium.page-guenter-story main .guenter-story-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(104px, 11vw, 176px) 0 clamp(72px, 8vw, 124px) !important;
  background:
    radial-gradient(circle at 72% 32%, rgba(213, 182, 109, 0.15), transparent 30%),
    radial-gradient(circle at 12% 88%, rgba(120, 93, 38, 0.12), transparent 25%),
    linear-gradient(145deg, #070806 0%, #11130f 55%, #080906 100%) !important;
}

html body.page-premium.page-guenter-story main .guenter-story-hero::before {
  content: "63";
  position: absolute;
  right: -0.03em;
  bottom: -0.24em;
  color: rgba(255, 255, 255, 0.025);
  font-size: clamp(18rem, 35vw, 42rem);
  font-weight: 950;
  line-height: 1;
  pointer-events: none;
}

html body.page-premium.page-guenter-story main .guenter-story-hero__grid {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(390px, 0.8fr) !important;
  gap: clamp(54px, 7vw, 118px) !important;
  align-items: center;
}

html body.page-premium.page-guenter-story main .guenter-story-backlink {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 52px;
  color: rgba(255, 255, 255, 0.66) !important;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

html body.page-premium.page-guenter-story main .guenter-story-hero h1 {
  max-width: 900px;
  margin: 14px 0 28px !important;
  color: #fff !important;
  font-size: clamp(3.55rem, 7.4vw, 8.6rem) !important;
  line-height: 0.85 !important;
  letter-spacing: -0.065em !important;
}

html body.page-premium.page-guenter-story main .guenter-story-hero h1 span {
  color: var(--guenter-gold) !important;
}

html body.page-premium.page-guenter-story main .guenter-story-hero__lead {
  max-width: 760px;
  color: rgba(255, 255, 255, 0.74) !important;
  font-size: clamp(1.06rem, 1.35vw, 1.3rem) !important;
  line-height: 1.72 !important;
}

html body.page-premium.page-guenter-story main .guenter-story-hero__facts {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  margin-top: 42px !important;
}

html body.page-premium.page-guenter-story main .guenter-story-hero__facts > div {
  padding: 18px 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.045) !important;
  backdrop-filter: blur(10px);
}

html body.page-premium.page-guenter-story main .guenter-story-hero__facts dt {
  color: #f3d993 !important;
  font-size: clamp(1.5rem, 2.2vw, 2.15rem) !important;
  font-weight: 920;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

html body.page-premium.page-guenter-story main .guenter-story-hero__facts dd {
  margin: 7px 0 0;
  color: rgba(255, 255, 255, 0.59) !important;
  font-size: 0.67rem !important;
  font-weight: 750;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

html body.page-premium.page-guenter-story main .guenter-story-hero__media {
  position: relative;
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.055);
  box-shadow: 0 40px 90px rgba(0, 0, 0, 0.42);
  transform: rotate(1.4deg);
}

html body.page-premium.page-guenter-story main .guenter-story-hero__media img {
  width: 100%;
  aspect-ratio: 4 / 5.2;
  object-fit: cover;
  object-position: 51% 27%;
  border-radius: 19px;
}

html body.page-premium.page-guenter-story main .guenter-story-hero__media figcaption {
  padding: 15px 9px 5px;
  color: rgba(255, 255, 255, 0.56) !important;
  font-size: 0.76rem;
  line-height: 1.45;
}

html body.page-premium.page-guenter-story main .guenter-story-hero__seal {
  position: absolute;
  right: -28px;
  bottom: 78px;
  display: grid;
  width: 124px;
  height: 124px;
  place-content: center;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 50%;
  background: linear-gradient(145deg, #e5cb86, #9e7627);
  color: #14120d;
  text-align: center;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.38);
  transform: rotate(-7deg);
}

html body.page-premium.page-guenter-story main .guenter-story-hero__seal strong {
  font-size: 2.85rem;
  font-weight: 950;
  line-height: 0.85;
}

html body.page-premium.page-guenter-story main .guenter-story-hero__seal span {
  margin-top: 8px;
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

html body.page-premium.page-guenter-story main .guenter-story-jump {
  position: relative;
  z-index: 5;
  border-bottom: 1px solid rgba(20, 18, 14, 0.1);
  background: rgba(250, 247, 240, 0.96);
  box-shadow: 0 12px 32px rgba(20, 18, 14, 0.06);
}

html body.page-premium.page-guenter-story main .guenter-story-jump .section-shell {
  display: flex;
  align-items: center;
  min-height: 76px;
  gap: clamp(18px, 3.2vw, 52px);
  overflow-x: auto;
  scrollbar-width: none;
}

html body.page-premium.page-guenter-story main .guenter-story-jump .section-shell::-webkit-scrollbar {
  display: none;
}

html body.page-premium.page-guenter-story main .guenter-story-jump :is(span, a) {
  flex: 0 0 auto;
  color: #4c473d !important;
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

html body.page-premium.page-guenter-story main .guenter-story-jump > div > span {
  padding-right: clamp(18px, 3vw, 48px);
  border-right: 1px solid rgba(20, 18, 14, 0.15);
  color: #111 !important;
}

html body.page-premium.page-guenter-story main .guenter-story-jump a b {
  margin-right: 7px;
  color: #aa812c;
}

html body.page-premium.page-guenter-story main .guenter-story-editorial {
  display: grid !important;
  grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr) !important;
  gap: clamp(56px, 9vw, 150px) !important;
  align-items: start;
}

html body.page-premium.page-guenter-story main .guenter-story-editorial__body {
  padding-left: clamp(24px, 4vw, 58px);
  border-left: 1px solid rgba(164, 125, 42, 0.35);
}

html body.page-premium.page-guenter-story main .guenter-story-editorial__body > p {
  color: #514c43 !important;
  font-size: clamp(1.05rem, 1.3vw, 1.25rem) !important;
  line-height: 1.82 !important;
}

html body.page-premium.page-guenter-story main .guenter-story-plan {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important;
  margin-top: 58px !important;
}

html body.page-premium.page-guenter-story main .guenter-story-plan article {
  position: relative;
  min-height: 350px;
  padding: 34px 28px 30px !important;
  overflow: hidden;
  border: 1px solid rgba(28, 25, 19, 0.1) !important;
  border-radius: 22px !important;
  background: #fffdf8 !important;
  box-shadow: 0 15px 36px rgba(21, 18, 12, 0.07);
}

html body.page-premium.page-guenter-story main .guenter-story-plan article::after {
  content: "";
  position: absolute;
  right: -38px;
  bottom: -50px;
  width: 125px;
  height: 125px;
  border: 1px solid rgba(181, 139, 49, 0.14);
  border-radius: 50%;
}

html body.page-premium.page-guenter-story main .guenter-story-plan article > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  margin-bottom: 56px;
  border-radius: 50%;
  background: #171712 !important;
  color: #e7cc86 !important;
  font-size: 0.75rem;
  font-weight: 900;
}

html body.page-premium.page-guenter-story main .guenter-story-plan article h3 {
  color: #171510 !important;
  font-size: clamp(1.25rem, 1.55vw, 1.6rem) !important;
  line-height: 1.08 !important;
}

html body.page-premium.page-guenter-story main .guenter-story-plan article p {
  color: #625d53 !important;
  line-height: 1.65 !important;
}

html body.page-premium.page-guenter-story main .guenter-story-diabetes {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(20, 18, 14, 0.09);
  background:
    radial-gradient(circle at 88% 12%, rgba(194, 154, 66, 0.14), transparent 27%),
    #eee8dc !important;
}

html body.page-premium.page-guenter-story main .guenter-story-diabetes::after {
  content: "WEG";
  position: absolute;
  right: -0.04em;
  bottom: -0.28em;
  color: rgba(30, 27, 20, 0.025);
  font-size: clamp(18rem, 36vw, 42rem);
  font-weight: 950;
  line-height: 1;
  pointer-events: none;
}

html body.page-premium.page-guenter-story main .guenter-story-diabetes__heading {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(54px, 8vw, 132px);
  align-items: end;
  margin-bottom: clamp(54px, 7vw, 92px);
}

html body.page-premium.page-guenter-story main .guenter-story-diabetes__heading h2 {
  max-width: 820px;
  margin: 13px 0 0;
  color: #15140f !important;
  font-size: clamp(3rem, 5.8vw, 7rem) !important;
  line-height: 0.9 !important;
  letter-spacing: -0.06em !important;
}

html body.page-premium.page-guenter-story main .guenter-story-diabetes__heading h2 span {
  color: #9d7525 !important;
}

html body.page-premium.page-guenter-story main .guenter-story-diabetes__heading > div:last-child {
  padding-left: clamp(24px, 4vw, 56px);
  border-left: 1px solid rgba(157, 117, 37, 0.34);
}

html body.page-premium.page-guenter-story main .guenter-story-diabetes__heading > div:last-child p {
  color: #514c42 !important;
  font-size: clamp(1rem, 1.2vw, 1.17rem) !important;
  line-height: 1.75 !important;
}

html body.page-premium.page-guenter-story main .guenter-story-data {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  gap: 18px;
}

html body.page-premium.page-guenter-story main .guenter-story-chart,
html body.page-premium.page-guenter-story main .guenter-story-research article {
  margin: 0;
  border: 1px solid rgba(29, 26, 20, 0.12);
  border-radius: 24px;
  background: #fffdf8;
  box-shadow: 0 18px 48px rgba(28, 24, 16, 0.09);
}

html body.page-premium.page-guenter-story main .guenter-story-chart {
  display: flex;
  min-height: 650px;
  flex-direction: column;
  padding: clamp(28px, 4vw, 54px);
}

html body.page-premium.page-guenter-story main .guenter-story-chart__head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: start;
}

html body.page-premium.page-guenter-story main .guenter-story-chart__head h3 {
  max-width: 520px;
  margin: 10px 0 0;
  color: #161510 !important;
  font-size: clamp(1.7rem, 2.8vw, 3.1rem) !important;
  line-height: 1.02 !important;
}

html body.page-premium.page-guenter-story main .guenter-story-chart__head > strong {
  color: #a37b29 !important;
  font-size: clamp(2.1rem, 3.6vw, 4rem);
  font-weight: 950;
  line-height: 0.9;
  text-align: right;
  white-space: nowrap;
}

html body.page-premium.page-guenter-story main .guenter-story-chart__head > strong span {
  display: block;
  margin-top: 9px;
  color: #777063 !important;
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

html body.page-premium.page-guenter-story main .guenter-story-chart__plot {
  position: relative;
  min-height: 360px;
  flex: 1;
  margin-top: 42px;
  padding: 12px 28px 0 58px;
}

html body.page-premium.page-guenter-story main .guenter-story-chart__grid {
  position: absolute;
  inset: 12px 0 34px;
  display: grid;
  grid-template-rows: repeat(3, 1fr);
}

html body.page-premium.page-guenter-story main .guenter-story-chart__grid span {
  position: relative;
  border-top: 1px solid rgba(25, 22, 17, 0.1);
  color: #8a8377 !important;
  font-size: 0.64rem;
}

html body.page-premium.page-guenter-story main .guenter-story-chart__grid span::before {
  position: absolute;
  top: -9px;
  left: -42px;
  content: inherit;
}

html body.page-premium.page-guenter-story main .guenter-story-chart__grid span {
  font-size: 0;
}

html body.page-premium.page-guenter-story main .guenter-story-chart__grid span:nth-child(1)::before { content: "10 %"; font-size: 0.64rem; }
html body.page-premium.page-guenter-story main .guenter-story-chart__grid span:nth-child(2)::before { content: "5 %"; font-size: 0.64rem; }
html body.page-premium.page-guenter-story main .guenter-story-chart__grid span:nth-child(3)::before { content: "0 %"; font-size: 0.64rem; }

html body.page-premium.page-guenter-story main .guenter-story-chart__bars {
  position: absolute;
  inset: 12px 28px 0 58px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(38px, 7vw, 92px);
  align-items: end;
}

html body.page-premium.page-guenter-story main .guenter-story-chart__bars > div {
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: end;
  text-align: center;
}

html body.page-premium.page-guenter-story main .guenter-story-chart__bars i {
  position: relative;
  display: block;
  height: var(--bar-height);
  min-height: 80px;
  border-radius: 15px 15px 5px 5px;
  background: linear-gradient(180deg, #e0c276 0%, #a77d29 100%);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.45), 0 12px 25px rgba(118, 84, 19, 0.18);
  transform: scaleY(1);
  transform-origin: bottom;
  transition: transform 950ms cubic-bezier(0.2, 0.76, 0.25, 1);
}

html body.page-premium.page-guenter-story main .guenter-story-data[data-reveal]:not(.is-visible) .guenter-story-chart__bars i {
  transform: scaleY(0);
}

html body.page-premium.page-guenter-story main .guenter-story-chart__bars > div:first-child i {
  background: linear-gradient(180deg, #2e302b 0%, #151612 100%);
}

html body.page-premium.page-guenter-story main .guenter-story-chart__bars b {
  position: absolute;
  top: -34px;
  left: 50%;
  color: #171510 !important;
  font-size: 1rem;
  font-style: normal;
  transform: translateX(-50%);
  white-space: nowrap;
}

html body.page-premium.page-guenter-story main .guenter-story-chart__bars > div > span {
  margin-top: 12px;
  color: #4c473e !important;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
}

html body.page-premium.page-guenter-story main .guenter-story-source {
  margin: 18px 0 0 !important;
  color: #847d70 !important;
  font-size: 0.7rem !important;
  line-height: 1.45 !important;
}

html body.page-premium.page-guenter-story main .guenter-story-source a,
html body.page-premium.page-guenter-story main .guenter-story-research a {
  color: #6f5117 !important;
  font-weight: 780;
  text-decoration: underline;
  text-decoration-color: rgba(111, 81, 23, 0.35);
  text-underline-offset: 4px;
}

html body.page-premium.page-guenter-story main .guenter-story-research {
  display: grid;
  gap: 18px;
}

html body.page-premium.page-guenter-story main .guenter-story-research article {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 3.5vw, 48px);
}

html body.page-premium.page-guenter-story main .guenter-story-research__number {
  display: block;
  margin-bottom: 20px;
  color: #a37b29 !important;
  font-size: clamp(3.8rem, 6vw, 7rem);
  font-weight: 950;
  line-height: 0.75;
}

html body.page-premium.page-guenter-story main .guenter-story-research__number sup {
  font-size: 0.35em;
}

html body.page-premium.page-guenter-story main .guenter-story-research__tag {
  width: fit-content;
  margin-bottom: 18px;
  padding: 7px 10px;
  border-radius: 999px;
  background: #171712;
  color: #ebd18a !important;
  font-size: 0.61rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

html body.page-premium.page-guenter-story main .guenter-story-research h3 {
  margin: 0 0 14px;
  color: #171510 !important;
  font-size: clamp(1.35rem, 2vw, 2.15rem) !important;
  line-height: 1.06 !important;
}

html body.page-premium.page-guenter-story main .guenter-story-research p {
  margin: 0 0 18px;
  color: #5b554b !important;
  font-size: 0.9rem !important;
  line-height: 1.65 !important;
}

html body.page-premium.page-guenter-story main .guenter-story-research article > a,
html body.page-premium.page-guenter-story main .guenter-story-research__links a {
  font-size: 0.7rem;
}

html body.page-premium.page-guenter-story main .guenter-story-research__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}

html body.page-premium.page-guenter-story main .guenter-story-health {
  background:
    radial-gradient(circle at 68% 25%, rgba(213, 182, 109, 0.14), transparent 32%),
    #0b0d0a !important;
}

html body.page-premium.page-guenter-story main .guenter-story-health__media {
  padding: 11px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.045);
  box-shadow: 0 35px 75px rgba(0, 0, 0, 0.32);
}

html body.page-premium.page-guenter-story main .guenter-story-health__media img {
  border-radius: 19px;
}

html body.page-premium.page-guenter-story main .guenter-story-health__copy > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: clamp(1rem, 1.18vw, 1.16rem) !important;
  line-height: 1.75 !important;
}

html body.page-premium.page-guenter-story main .guenter-story-health__facts {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  margin-top: 36px !important;
}

html body.page-premium.page-guenter-story main .guenter-story-health__facts > div {
  min-height: 128px;
  padding: 20px 17px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, 0.05) !important;
}

html body.page-premium.page-guenter-story main .guenter-story-health__facts dt {
  color: #f2d991 !important;
  font-size: clamp(1.2rem, 1.8vw, 1.8rem) !important;
  font-weight: 900;
  line-height: 1;
}

html body.page-premium.page-guenter-story main .guenter-story-health__facts dd {
  margin: 10px 0 0;
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 0.72rem !important;
  line-height: 1.35;
}

html body.page-premium.page-guenter-story main .guenter-story-medals {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
}

html body.page-premium.page-guenter-story main .guenter-story-medals > div {
  min-height: 142px;
  padding: 24px 20px !important;
  border: 1px solid rgba(54, 44, 22, 0.13) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #fffdf8, #eee5d3) !important;
  box-shadow: 0 13px 30px rgba(26, 22, 14, 0.08);
}

html body.page-premium.page-guenter-story main .guenter-story-medals strong {
  display: block;
  color: #a57c29 !important;
  font-size: clamp(1.65rem, 2.5vw, 2.5rem) !important;
  line-height: 0.95;
}

html body.page-premium.page-guenter-story main .guenter-story-gallery {
  display: grid !important;
  grid-template-columns: 1.2fr 0.9fr 0.9fr !important;
  gap: 16px !important;
}

html body.page-premium.page-guenter-story main .guenter-story-gallery figure {
  position: relative;
  overflow: hidden;
  border-radius: 22px !important;
  box-shadow: 0 18px 44px rgba(20, 18, 14, 0.13);
}

html body.page-premium.page-guenter-story main .guenter-story-gallery img {
  transition: transform 650ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

html body.page-premium.page-guenter-story main .guenter-story-gallery figcaption {
  position: absolute;
  right: 14px;
  bottom: 14px;
  left: 14px;
  padding: 13px 15px !important;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 11px;
  background: rgba(9, 10, 8, 0.66) !important;
  color: #fff !important;
  font-size: 0.72rem !important;
  font-weight: 750;
  backdrop-filter: blur(12px);
}

html body.page-premium.page-guenter-story main .guenter-story-note {
  position: relative;
  max-width: 980px;
  padding: clamp(34px, 5vw, 58px) clamp(28px, 5vw, 66px) !important;
  border: 1px solid rgba(37, 32, 22, 0.12) !important;
  border-left: 5px solid #b88c32 !important;
  border-radius: 20px !important;
  background: #fffdf8 !important;
  box-shadow: 0 18px 50px rgba(24, 21, 15, 0.08);
}

html body.page-premium.page-guenter-story main .guenter-story-note h2 {
  max-width: 760px;
  color: #171510 !important;
  font-size: clamp(1.55rem, 2.4vw, 2.55rem) !important;
  line-height: 1.08 !important;
}

@media (hover: hover) {
  html body.page-premium.page-guenter-story main .guenter-story-plan article {
    transition: transform 280ms ease, box-shadow 280ms ease, border-color 280ms ease;
  }

  html body.page-premium.page-guenter-story main .guenter-story-plan article:hover {
    transform: translateY(-7px);
    border-color: rgba(181, 139, 49, 0.32) !important;
    box-shadow: 0 24px 50px rgba(21, 18, 12, 0.12);
  }

  html body.page-premium.page-guenter-story main .guenter-story-gallery figure:hover img {
    transform: scale(1.035);
  }
}

@media (max-width: 1080px) {
  html body.page-premium main .guenter-story-preview {
    grid-template-columns: 0.85fr 1.15fr !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.75fr) !important;
    gap: 44px !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-plan {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-plan article {
    min-height: 290px;
  }
}

@media (max-width: 820px) {
  html body.page-premium main .guenter-story-preview {
    grid-template-columns: 1fr !important;
  }

  html body.page-premium main .guenter-story-preview__media {
    min-height: 410px;
  }

  html body.page-premium main .guenter-story-preview__media img {
    position: absolute;
    inset: 0;
  }

  html body.page-premium main .guenter-story-preview__copy {
    padding: 42px 30px 46px !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-hero__grid,
  html body.page-premium.page-guenter-story main .guenter-story-editorial,
  html body.page-premium.page-guenter-story main .guenter-story-diabetes__heading,
  html body.page-premium.page-guenter-story main .guenter-story-data {
    grid-template-columns: 1fr !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-diabetes__heading > div:last-child {
    padding-left: 24px;
  }

  html body.page-premium.page-guenter-story main .guenter-story-chart {
    min-height: 590px;
  }

  html body.page-premium.page-guenter-story main .guenter-story-hero__media {
    max-width: 580px;
    margin-inline: auto;
  }

  html body.page-premium.page-guenter-story main .guenter-story-editorial__body {
    padding-left: 24px;
  }

  html body.page-premium.page-guenter-story main .guenter-story-health__facts {
    grid-template-columns: 1fr !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-health__facts > div {
    min-height: 0;
  }

  html body.page-premium.page-guenter-story main .guenter-story-gallery {
    grid-template-columns: 1fr 1fr !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-gallery figure:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  html body.page-premium main .guenter-story-preview-section {
    padding-block: 44px !important;
  }

  html body.page-premium main .guenter-story-preview {
    min-height: 0;
    border-radius: 22px !important;
  }

  html body.page-premium main .guenter-story-preview::after {
    display: none;
  }

  html body.page-premium main .guenter-story-preview__media {
    min-height: 330px;
  }

  html body.page-premium main .guenter-story-preview__badge {
    top: 20px;
    left: 20px;
    font-size: 0.58rem;
  }

  html body.page-premium main .guenter-story-preview__copy h2 {
    font-size: clamp(2.45rem, 12vw, 3.8rem) !important;
  }

  html body.page-premium main .guenter-story-preview__facts {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  html body.page-premium main .guenter-story-preview__facts > div {
    padding: 14px 9px !important;
  }

  html body.page-premium main .guenter-story-preview__facts strong {
    font-size: 1.45rem !important;
  }

  html body.page-premium main .guenter-story-preview__facts span {
    font-size: 0.56rem !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-hero {
    padding-top: 82px !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-backlink {
    margin-bottom: 38px;
  }

  html body.page-premium.page-guenter-story main .guenter-story-hero h1 {
    font-size: clamp(3.2rem, 17vw, 5.1rem) !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-hero__facts {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-hero__facts > div {
    padding: 14px 9px !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-hero__facts dt {
    font-size: 1.35rem !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-hero__facts dd {
    font-size: 0.53rem !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-hero__seal {
    right: -8px;
    bottom: 58px;
    width: 94px;
    height: 94px;
  }

  html body.page-premium.page-guenter-story main .guenter-story-hero__seal strong {
    font-size: 2.1rem;
  }

  html body.page-premium.page-guenter-story main .guenter-story-jump .section-shell {
    min-height: 64px;
    padding-right: 24px;
  }

  html body.page-premium.page-guenter-story main .guenter-story-jump > div > span {
    display: none;
  }

  html body.page-premium.page-guenter-story main .guenter-story-diabetes__heading h2 {
    font-size: clamp(2.8rem, 14vw, 4.5rem) !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-chart {
    min-height: 530px;
    padding: 26px 20px;
  }

  html body.page-premium.page-guenter-story main .guenter-story-chart__head {
    display: block;
  }

  html body.page-premium.page-guenter-story main .guenter-story-chart__head > strong {
    display: block;
    margin-top: 22px;
    text-align: left;
  }

  html body.page-premium.page-guenter-story main .guenter-story-chart__plot {
    min-height: 280px;
    margin-top: 36px;
  }

  html body.page-premium.page-guenter-story main .guenter-story-chart__bars {
    gap: 28px;
  }

  html body.page-premium.page-guenter-story main .guenter-story-plan,
  html body.page-premium.page-guenter-story main .guenter-story-medals,
  html body.page-premium.page-guenter-story main .guenter-story-gallery {
    grid-template-columns: 1fr !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-plan article {
    min-height: 0;
  }

  html body.page-premium.page-guenter-story main .guenter-story-plan article > span {
    margin-bottom: 34px;
  }

  html body.page-premium.page-guenter-story main .guenter-story-gallery figure:first-child {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.page-premium main .guenter-story-preview,
  html body.page-premium main .guenter-story-preview__media img,
  html body.page-premium.page-guenter-story main .guenter-story-plan article,
  html body.page-premium.page-guenter-story main .guenter-story-gallery img {
    transition: none !important;
    transform: none !important;
  }

  html body.page-premium.page-guenter-story main .guenter-story-chart__bars i {
    transition: none !important;
    transform: scaleY(1) !important;
  }
}

/* A single contemporary typography system: clear, confident and highly legible. */
:root {
  --font-display: "Inter", "Aptos", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-cond: "Inter", "Aptos", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

h1,
h2,
h3 {
  font-weight: 750;
  letter-spacing: -0.035em;
}

.page-home-reboot .social-link--nav,
.page-premium .social-link--nav {
  min-width: 42px;
  width: 42px;
  height: 42px;
  padding: 6px;
  border-radius: 14px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 14px 28px rgba(17, 16, 12, 0.18);
}

.page-home-reboot .social-link--nav .social-link__icon,
.page-premium .social-link--nav .social-link__icon {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  object-fit: contain;
}

.page-home-reboot .social-link--nav:hover,
.page-home-reboot .social-link--nav:focus-visible,
.page-premium .social-link--nav:hover,
.page-premium .social-link--nav:focus-visible {
  transform: translateY(-1px);
}

/* Header: keep the brand and social channels visually open, without chip outlines. */
.page-home-reboot .site-header > .nav-shell > .brand .brand__mark,
.page-premium .site-header > .nav-shell > .brand .brand__mark {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.page-home-reboot .nav-socials .social-link--nav,
.page-premium .nav-socials .social-link--nav {
  min-width: 30px;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none;
}

.page-home-reboot .nav-socials .social-link--nav .social-link__icon,
.page-premium .nav-socials .social-link--nav .social-link__icon {
  width: 26px;
  height: 26px;
  border-radius: 7px;
}

.site-footer .brand--footer .brand__mark {
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.site-footer .brand--footer small {
  width: fit-content;
  padding: 3px 7px;
  border-radius: 4px;
  color: #15120b;
  background: var(--cd-gold, var(--accent));
}

/* Gold header bar with a crisp black navigation treatment. */
.page-home-reboot .nav-shell,
.page-premium .nav-shell,
.page-home-reboot .site-header.is-scrolled .nav-shell,
.page-premium .site-header.is-scrolled .nav-shell {
  border-color: rgba(21, 18, 11, 0.42) !important;
  background: linear-gradient(135deg, #fff1b8 0%, var(--cd-gold) 52%, #b68727 100%) !important;
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.38) !important;
  backdrop-filter: none;
}

.page-home-reboot .brand__name,
.page-premium .brand__name,
.page-home-reboot .brand small,
.page-premium .brand small,
.page-home-reboot .nav-toggle,
.page-premium .nav-toggle,
.page-home-reboot .language-switcher,
.page-premium .language-switcher {
  color: #15120b !important;
}

.page-home-reboot .nav-toggle,
.page-premium .nav-toggle {
  border-color: rgba(21, 18, 11, 0.32) !important;
  background: rgba(255, 255, 255, 0.24) !important;
  box-shadow: none;
}

.page-home-reboot .nav-toggle span,
.page-premium .nav-toggle span {
  background: #15120b !important;
}

.page-home-reboot .language-switcher__button.is-active,
.page-premium .language-switcher__button.is-active {
  color: #15120b !important;
  background: rgba(255, 255, 255, 0.62) !important;
}

@media (min-width: 901px) {
  .page-home-reboot .site-nav,
  .page-premium .site-nav {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-home-reboot .site-nav a,
  .page-premium .site-nav a {
    color: rgba(21, 18, 11, 0.74) !important;
  }

  .page-home-reboot .site-nav a:hover,
  .page-home-reboot .site-nav a:focus-visible,
  .page-home-reboot .site-nav a[aria-current="page"],
  .page-premium .site-nav a:hover,
  .page-premium .site-nav a:focus-visible,
  .page-premium .site-nav a[aria-current="page"] {
    color: #15120b !important;
    background: rgba(255, 255, 255, 0.24) !important;
  }

  .page-home-reboot .site-nav a::after,
  .page-premium .site-nav a::after {
    background: #15120b !important;
  }
}

/* ============================================================
   HOME ENTRY CARD POLISH — premium glass cards and refined CTA
   without changing the Home layout or section structure.
   ============================================================ */
.page-home-reboot .ed-entry {
  transition:
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.45s ease,
    border-color 0.35s ease;
}

.page-home-reboot .ed-entry::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 29px;
  border: 1px solid rgba(255, 255, 255, 0.04);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 22%);
  opacity: 0.9;
  pointer-events: none;
}

.page-home-reboot .ed-entry__media img {
  filter: saturate(0.92) brightness(0.83) contrast(1.05) !important;
  will-change: transform;
}

.page-home-reboot .ed-entry__media::after {
  background:
    linear-gradient(180deg, rgba(5, 5, 6, 0.02) 0%, rgba(5, 5, 6, 0.11) 26%, rgba(5, 5, 6, 0.56) 69%, rgba(5, 5, 6, 0.9) 100%),
    linear-gradient(104deg, rgba(5, 5, 6, 0.05) 0%, rgba(5, 5, 6, 0) 44%, rgba(5, 5, 6, 0.22) 100%) !important;
}

.page-home-reboot .ed-entry__body {
  position: relative;
  z-index: 3;
  width: calc(100% - 18px) !important;
  margin: auto 9px 9px !important;
  padding: 18px 18px 18px !important;
  gap: 6px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 20px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.04)),
    linear-gradient(180deg, rgba(18, 18, 24, 0.24), rgba(8, 8, 11, 0.42)) !important;
  box-shadow:
    0 22px 46px rgba(0, 0, 0, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
  backdrop-filter: blur(22px) saturate(155%);
  -webkit-backdrop-filter: blur(22px) saturate(155%);
  overflow: hidden;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease,
    background 0.35s ease;
}

.page-home-reboot .ed-entry__body::before {
  content: "";
  position: absolute;
  inset: 1px 1px auto;
  height: 44%;
  border-radius: 17px 17px 12px 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0));
  pointer-events: none;
}

.page-home-reboot .ed-entry__body > * {
  position: relative;
  z-index: 1;
}

.page-home-reboot .ed-entry__body h3 {
  width: 100%;
  max-width: none !important;
  margin-top: 0 !important;
  font-size: clamp(1.68rem, 2.25vw, 2.24rem) !important;
  line-height: 0.92 !important;
  letter-spacing: 0.028em !important;
  text-shadow: 0 14px 28px rgba(0, 0, 0, 0.42);
  text-transform: uppercase;
  text-wrap: pretty;
}

.page-home-reboot .ed-entry__body h3 span {
  color: var(--cd-gold);
  text-shadow: 0 12px 26px rgba(215, 195, 148, 0.22);
}

.page-home-reboot .ed-entry__body p {
  width: 100%;
  max-width: none !important;
  margin-top: 10px !important;
  font-size: 0.84rem !important;
  line-height: 1.56 !important;
  color: rgba(255, 255, 255, 0.76) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  -webkit-line-clamp: 2;
}

.page-home-reboot .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(1) .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(2) .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(3) .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(4) .ed-entry__cta {
  position: relative;
  width: 100% !important;
  align-self: stretch !important;
  justify-content: center !important;
  gap: 0 !important;
  margin-top: 16px !important;
  padding: 10px 52px 10px 18px !important;
  min-height: 54px !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.04)),
    linear-gradient(135deg, rgba(22, 22, 28, 0.18), rgba(8, 8, 11, 0.34)) !important;
  box-shadow:
    0 18px 32px -18px rgba(0, 0, 0, 0.28),
    0 0 18px -14px rgba(215, 195, 148, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease,
    border-color 0.35s ease !important;
}

.page-home-reboot .ed-entry__cta-label {
  display: block;
  width: 100%;
  line-height: 1.05;
  text-align: center;
  color: #fff;
  text-shadow: 0 10px 22px rgba(0, 0, 0, 0.28);
  text-transform: uppercase;
}

.page-home-reboot .ed-entry__cta span:last-child {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 32px !important;
  height: 32px !important;
  flex-basis: 32px !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  background: rgba(255, 255, 255, 0.14) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 8px 16px rgba(0, 0, 0, 0.12) !important;
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.35s ease,
    box-shadow 0.35s ease !important;
  transform: translateY(-50%);
}

.page-home-reboot .ed-entry:hover {
  transform: translateY(-8px);
  box-shadow: 0 46px 80px -34px rgba(0, 0, 0, 0.88) !important;
}

.page-home-reboot .ed-entry:hover .ed-entry__media img {
  transform: scale(1.055);
  filter: saturate(0.98) brightness(0.9) contrast(1.05) !important;
}

.page-home-reboot .ed-entry:hover .ed-entry__body {
  border-color: rgba(255, 255, 255, 0.22) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.05)),
    linear-gradient(180deg, rgba(22, 22, 28, 0.26), rgba(8, 8, 11, 0.46)) !important;
  box-shadow:
    0 28px 54px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
  transform: translateY(-1px);
}

.page-home-reboot .ed-entry:hover .ed-entry__cta {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.26) !important;
  box-shadow:
    0 22px 36px -18px rgba(0, 0, 0, 0.34),
    0 0 22px -12px rgba(215, 195, 148, 0.26),
    inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
}

.page-home-reboot .ed-entry:hover .ed-entry__cta span:last-child {
  transform: translateY(-50%) translateX(2px);
  background: rgba(255, 255, 255, 0.18) !important;
}

@media (max-width: 900px) {
  .page-home-reboot .ed-entry__body h3 {
    font-size: clamp(1.46rem, 6vw, 1.82rem) !important;
  }

  .page-home-reboot .ed-entry__body p {
    font-size: 0.76rem !important;
    line-height: 1.52 !important;
  }

  .page-home-reboot .ed-entry__cta,
  .page-home-reboot .ed-entry-grid .ed-entry:nth-child(1) .ed-entry__cta,
  .page-home-reboot .ed-entry-grid .ed-entry:nth-child(2) .ed-entry__cta,
  .page-home-reboot .ed-entry-grid .ed-entry:nth-child(3) .ed-entry__cta,
  .page-home-reboot .ed-entry-grid .ed-entry:nth-child(4) .ed-entry__cta {
    min-height: 50px !important;
    font-size: 0.84rem !important;
  }
}

/* New title image: preserve both faces on desktop and the shared moment on mobile. */
@media (min-width: 901px) {
  .page-home-reboot .ff-hero--home-photo .ff-hero__img {
    object-position: center top;
  }
}

@media (max-width: 900px) {
  .page-home-reboot .ff-hero--home-photo {
    --ff-hero-mobile-image-position: 45% center;
  }
}

/* A clearer premium hierarchy for the four Home entry points. */
.page-home-reboot .ed-entry--accent {
  --entry-accent: #d7c394;
  --entry-accent-2: #b68727;
  --entry-accent-rgb: 215, 195, 148;
}

.page-home-reboot .ed-entry--light {
  --entry-accent: #6ac5df;
  --entry-accent-2: #5484ee;
  --entry-accent-rgb: 106, 197, 223;
}

.page-home-reboot .ed-entry--coaching {
  --entry-accent: #f2dfa8;
  --entry-accent-2: #b68727;
  --entry-accent-rgb: 215, 195, 148;
}

.page-home-reboot .ed-entry--app {
  --entry-accent: #80d2b2;
  --entry-accent-2: #3da78c;
  --entry-accent-rgb: 128, 210, 178;
}

.page-home-reboot .ed-entry {
  min-height: clamp(400px, 36vw, 540px);
  border-color: rgba(var(--entry-accent-rgb), 0.3) !important;
  border-radius: 28px;
  background: #0e0f12 !important;
  box-shadow:
    0 26px 58px -42px rgba(0, 0, 0, 0.96),
    inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

.page-home-reboot .ed-entry::after {
  border-color: rgba(var(--entry-accent-rgb), 0.14);
  background:
    linear-gradient(135deg, rgba(var(--entry-accent-rgb), 0.12), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 24%);
}

.page-home-reboot .ed-entry__media::after {
  background:
    linear-gradient(180deg, rgba(5, 5, 7, 0.02) 8%, rgba(5, 5, 7, 0.12) 54%, rgba(5, 5, 7, 0.72) 100%),
    linear-gradient(100deg, rgba(var(--entry-accent-rgb), 0.18), transparent 46%) !important;
}

.page-home-reboot .ed-entry__body {
  width: calc(100% - 24px) !important;
  min-height: 190px;
  margin: auto 12px 12px !important;
  padding: 22px 22px 20px !important;
  gap: 0 !important;
  border-color: rgba(var(--entry-accent-rgb), 0.32) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--entry-accent-rgb), 0.22), transparent 48%),
    linear-gradient(145deg, rgba(27, 29, 35, 0.98), rgba(10, 11, 14, 0.98)) !important;
  box-shadow:
    0 20px 44px rgba(0, 0, 0, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.09) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.page-home-reboot .ed-entry__body::before {
  height: 3px;
  border-radius: 22px 22px 0 0;
  background: linear-gradient(90deg, var(--entry-accent), var(--entry-accent-2));
}

.page-home-reboot .ed-entry__body h3 {
  font-size: clamp(1.64rem, 2.05vw, 2.12rem) !important;
  letter-spacing: 0.014em !important;
  text-shadow: none;
}

.page-home-reboot .ed-entry__body h3 span {
  color: var(--entry-accent);
  text-shadow: none;
}

.page-home-reboot .ed-entry__body p {
  margin-top: 10px !important;
  color: rgba(255, 255, 255, 0.68) !important;
  font-size: 0.72rem !important;
  line-height: 1.45 !important;
  letter-spacing: 0.105em !important;
}

.page-home-reboot .ed-entry:hover {
  border-color: rgba(var(--entry-accent-rgb), 0.66) !important;
  box-shadow:
    0 36px 72px -38px rgba(0, 0, 0, 0.96),
    0 0 0 1px rgba(var(--entry-accent-rgb), 0.12) !important;
}

.page-home-reboot .ed-entry:hover .ed-entry__body {
  border-color: rgba(var(--entry-accent-rgb), 0.58) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--entry-accent-rgb), 0.3), transparent 50%),
    linear-gradient(145deg, rgba(31, 33, 39, 0.99), rgba(10, 11, 14, 0.99)) !important;
  transform: translateY(-3px);
}

/* Keep the existing CTA shape and spacing; use one clear gold treatment. */
.page-home-reboot .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(1) .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(2) .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(3) .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(4) .ed-entry__cta {
  border-color: rgba(242, 223, 168, 0.82) !important;
  background: linear-gradient(135deg, #fff1b8, var(--cd-gold), #b68727) !important;
  box-shadow: 0 18px 32px -20px rgba(215, 195, 148, 0.78) !important;
}

.page-home-reboot .ed-entry__cta-label {
  color: #15120b;
  text-shadow: none;
}

.page-home-reboot .ed-entry__cta span:last-child {
  border-color: rgba(21, 18, 11, 0.22) !important;
  background: rgba(255, 255, 255, 0.24) !important;
  color: #15120b !important;
}

/* The App is a primary offer: give it a dedicated, full-width stage. */
.page-home-reboot .ed-app-banner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
  min-height: 350px;
  margin-top: clamp(18px, 2vw, 28px);
  overflow: hidden;
  border: 1px solid rgba(215, 195, 148, 0.42);
  border-radius: 28px;
  color: #fff;
  background:
    radial-gradient(circle at 0% 0%, rgba(215, 195, 148, 0.22), transparent 44%),
    linear-gradient(135deg, #171713 0%, #0b0c0d 56%, #11120f 100%);
  box-shadow:
    0 34px 74px -46px rgba(0, 0, 0, 0.96),
    inset 0 1px 0 rgba(255, 255, 255, 0.09);
  text-decoration: none;
  isolation: isolate;
  transition: transform 300ms ease, border-color 300ms ease, box-shadow 300ms ease;
}

.page-home-reboot .ed-app-banner__media {
  position: absolute;
  inset: 0 0 0 46%;
  z-index: 0;
}

.page-home-reboot .ed-app-banner__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, #11120f 0%, rgba(17, 18, 15, 0.82) 14%, rgba(17, 18, 15, 0.12) 68%, rgba(17, 18, 15, 0.18) 100%),
    linear-gradient(0deg, rgba(8, 8, 9, 0.42), transparent 56%);
}

.page-home-reboot .ed-app-banner__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 46%;
  filter: saturate(0.94) contrast(1.04) brightness(0.84);
  transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1), filter 300ms ease;
}

.page-home-reboot .ed-app-banner__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  max-width: 620px;
  padding: clamp(30px, 4vw, 58px);
}

.page-home-reboot .ed-app-banner .eyebrow {
  margin: 0 0 14px;
  color: var(--cd-gold);
}

.page-home-reboot .ed-app-banner h3 {
  margin: 0;
  font-family: var(--font-cond);
  font-size: clamp(2.4rem, 4.1vw, 4.8rem);
  font-style: italic;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 0.88;
  text-transform: uppercase;
}

.page-home-reboot .ed-app-banner h3 span {
  color: var(--cd-gold);
}

.page-home-reboot .ed-app-banner__content > p:not(.eyebrow) {
  max-width: 48ch;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: clamp(0.95rem, 1.1vw, 1.08rem);
  line-height: 1.58;
}

.page-home-reboot .ed-app-banner__content > .ed-app-banner__offer {
  width: fit-content;
  margin-top: 22px;
  padding: 9px 13px;
  border: 1px solid rgba(242, 223, 168, 0.52);
  border-radius: 999px;
  color: #17130a !important;
  background: linear-gradient(135deg, #fff1b8, var(--cd-gold), #b68727);
  font-family: var(--font-cond);
  font-size: clamp(0.86rem, 1vw, 1rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.1;
  text-shadow: none !important;
  text-transform: uppercase;
  box-shadow: 0 16px 30px -20px rgba(215, 195, 148, 0.76);
}

.page-home-reboot .ed-app-banner__cta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 48px;
  margin-top: 26px;
  padding: 0 12px 0 18px;
  border: 1px solid rgba(242, 223, 168, 0.82);
  border-radius: 14px;
  background: linear-gradient(135deg, #fff1b8, var(--cd-gold), #b68727);
  color: #15120b;
  font-family: var(--font-cond);
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: 0 18px 32px -20px rgba(215, 195, 148, 0.78);
}

.page-home-reboot .ed-app-banner__cta span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid rgba(21, 18, 11, 0.22);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.24);
}

.page-home-reboot .ed-app-banner:hover,
.page-home-reboot .ed-app-banner:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(242, 223, 168, 0.74);
  box-shadow:
    0 44px 80px -48px rgba(0, 0, 0, 0.98),
    0 0 0 1px rgba(215, 195, 148, 0.12);
}

.page-home-reboot .ed-app-banner:hover .ed-app-banner__media img,
.page-home-reboot .ed-app-banner:focus-visible .ed-app-banner__media img {
  transform: scale(1.035);
  filter: saturate(1) contrast(1.04) brightness(0.91);
}

@media (min-width: 1100px) {
  .page-home-reboot .ed-entry-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Google reviews: proof with the same restraint and quality as the rest of Home. */
.page-home-reboot .ed-google-reviews {
  padding-block: clamp(42px, 6vw, 88px);
}

.page-home-reboot .ed-google-reviews__stage {
  display: grid;
  grid-template-columns: minmax(260px, 0.54fr) minmax(0, 1.46fr);
  overflow: hidden;
  border: 1px solid rgba(155, 116, 26, 0.38);
  border-radius: 30px;
  background:
    radial-gradient(circle at 0% 0%, rgba(215, 195, 148, 0.26), transparent 36%),
    linear-gradient(145deg, #fffdf8 0%, #f2eadb 100%);
  box-shadow:
    0 42px 90px -58px rgba(0, 0, 0, 0.54),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.page-home-reboot .ed-google-reviews__summary {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: 100%;
  padding: clamp(30px, 4vw, 54px);
  border-right: 1px solid rgba(32, 27, 17, 0.12);
  background:
    radial-gradient(circle at 8% 4%, rgba(215, 195, 148, 0.28), transparent 46%),
    rgba(255, 255, 255, 0.46);
}

.page-home-reboot .ed-google-reviews__brand {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #3c4043;
  font-family: Arial, sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.page-home-reboot .ed-google-reviews__brand span {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: conic-gradient(from -45deg, #4285f4 0 25%, #34a853 0 47%, #fbbc05 0 70%, #ea4335 0 100%);
  box-shadow: inset 0 0 0 5px #fffdf8;
  font-size: 0.9rem;
  font-weight: 800;
}

.page-home-reboot .ed-google-reviews__brand + .eyebrow {
  margin-top: 18px;
}

.page-home-reboot .ed-google-reviews .eyebrow {
  margin: 0;
  color: var(--cd-gold);
}

.page-home-reboot .ed-google-reviews__score {
  margin: 14px 0 0;
  color: #17130a;
  font-family: var(--font-cond);
  font-size: clamp(4rem, 6.2vw, 6.8rem);
  font-style: italic;
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.8;
}

.page-home-reboot .ed-google-reviews__summary,
.page-home-reboot .ed-google-reviews__content,
.page-home-reboot .ed-google-review {
  font-family: "Inter", "Aptos", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.page-home-reboot .ed-google-reviews__score span {
  margin-left: 6px;
  color: rgba(23, 19, 10, 0.46);
  font-size: 0.38em;
  letter-spacing: 0;
}

.page-home-reboot .ed-google-reviews__stars,
.page-home-reboot .ed-google-review__stars {
  color: var(--cd-gold);
  font-size: 1rem;
  letter-spacing: 0.16em;
}

.page-home-reboot .ed-google-reviews__summary > p:not(.eyebrow):not(.ed-google-reviews__score) {
  max-width: 28ch;
  margin: 18px 0 0;
  color: rgba(23, 19, 10, 0.7);
  font-size: 0.92rem;
  line-height: 1.55;
}

.page-home-reboot .ed-google-reviews__link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  margin-top: 28px;
  padding: 0 14px 0 16px;
  border: 1px solid rgba(242, 223, 168, 0.74);
  border-radius: 999px;
  color: #17130a;
  background: linear-gradient(135deg, #fff1b8, var(--cd-gold), #b68727);
  font-family: var(--font-cond);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-transform: uppercase;
}

.page-home-reboot .ed-google-reviews__link span {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.26);
}

.page-home-reboot .ed-google-reviews__content {
  padding: clamp(30px, 4vw, 54px);
}

.page-home-reboot .ed-google-reviews__head h2 {
  max-width: 15ch;
  margin: 12px 0 0;
  color: #17130a;
  font-family: "Inter", "Aptos", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(2.2rem, 3.6vw, 4rem);
  font-style: normal;
  font-weight: 780;
  letter-spacing: -0.05em;
  line-height: 0.96;
  text-transform: uppercase;
}

.page-home-reboot .ed-google-reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 30px;
}

.page-home-reboot .ed-google-review {
  min-width: 0;
  min-height: 196px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: 0;
  padding: 20px;
  border: 1px solid rgba(35, 29, 18, 0.1);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(255, 251, 240, 0.76)),
    #fffaf0;
  box-shadow: 0 18px 32px -28px rgba(43, 32, 12, 0.62);
}

.page-home-reboot .ed-google-review__stars {
  font-size: 0.76rem;
}

.page-home-reboot .ed-google-review blockquote {
  margin: 20px 0;
  color: #17130a;
  font-family: "Inter", "Aptos", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(0.98rem, 1.1vw, 1.1rem);
  font-style: normal;
  font-weight: 650;
  letter-spacing: -0.022em;
  line-height: 1.42;
}

.page-home-reboot .ed-google-review figcaption {
  color: #201c14;
  font-size: 0.8rem;
  font-weight: 750;
  letter-spacing: -0.015em;
}

.page-home-reboot .ed-google-review figcaption span {
  display: block;
  margin-top: 4px;
  color: rgba(32, 28, 20, 0.58);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .page-home-reboot .ed-entry__body {
    min-height: 178px;
    padding: 20px 18px 18px !important;
  }

  .page-home-reboot .ed-app-banner {
    grid-template-columns: 1fr;
    min-height: 460px;
  }

  .page-home-reboot .ed-app-banner__media {
    inset: 0;
  }

  .page-home-reboot .ed-app-banner__media::after {
    background:
      linear-gradient(180deg, rgba(17, 18, 15, 0.32) 0%, rgba(17, 18, 15, 0.84) 60%, #11120f 100%);
  }

  .page-home-reboot .ed-app-banner__content {
    justify-content: flex-end;
    padding: 26px 22px;
  }

  .page-home-reboot .ed-google-reviews__stage {
    grid-template-columns: 1fr;
  }

  .page-home-reboot .ed-google-reviews__summary {
    border-right: 0;
    border-bottom: 1px solid rgba(32, 27, 17, 0.12);
  }

  .page-home-reboot .ed-google-reviews__grid {
    grid-template-columns: 1fr;
  }

  .page-home-reboot .ed-google-review {
    min-height: 0;
  }
}
}

@media (max-width: 900px) {
  .ff-hero--home-photo {
    --ff-hero-mobile-image-position: 76% center;
  }

  .ff-hero--events-photo {
    --ff-hero-mobile-image-position: 80% center;
  }

  .ff-hero--home-photo .ff-hero__img,
  .ff-hero--events-photo .ff-hero__img {
    object-position: var(--ff-hero-mobile-image-position);
  }
}

@media (max-width: 480px) {
  .ff-hero--home-photo {
    --ff-hero-mobile-image-position: 80% center;
  }

  .ff-hero--events-photo {
    --ff-hero-mobile-image-position: 84% center;
  }
}

/* ============================================================
   MOBILE NAV OVERRIDES — clearer dropdown colours and a more
   premium closed-state header without touching desktop nav.
   ============================================================ */
@media (max-width: 979px) {
  body.nav-open {
    overflow: hidden;
  }

  .page-home-reboot .nav-shell,
  .page-premium .nav-shell {
    width: min(100% - 16px, var(--shell));
    min-height: 74px;
    margin-top: 10px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 28px;
    background:
      linear-gradient(180deg, rgba(24, 24, 30, 0.9), rgba(12, 12, 16, 0.82)),
      rgba(12, 12, 16, 0.72);
    box-shadow: 0 26px 64px rgba(0, 0, 0, 0.32);
    backdrop-filter: blur(22px);
  }

  .page-home-reboot .site-header.is-scrolled .nav-shell,
  .page-premium .site-header.is-scrolled .nav-shell,
  .page-home-reboot .site-header.is-nav-open .nav-shell,
  .page-premium .site-header.is-nav-open .nav-shell {
    border-color: rgba(255, 255, 255, 0.18);
    background:
      linear-gradient(180deg, rgba(20, 20, 24, 0.96), rgba(10, 10, 14, 0.92)),
      rgba(10, 10, 14, 0.9);
    box-shadow: 0 30px 72px rgba(0, 0, 0, 0.42);
  }

  .page-home-reboot .site-header.is-nav-open .nav-shell,
  .page-premium .site-header.is-nav-open .nav-shell {
    width: 100%;
    min-height: 0;
    margin-top: 0;
    padding: 0;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  .page-home-reboot .brand,
  .page-premium .brand {
    gap: 12px;
  }

  .page-home-reboot .brand__mark,
  .page-premium .brand__mark {
    width: 52px;
    height: 52px;
    background: linear-gradient(180deg, rgba(247, 229, 168, 0.98), rgba(210, 174, 76, 0.96));
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.54),
      0 16px 34px rgba(0, 0, 0, 0.24);
  }

  .page-home-reboot .brand strong,
  .page-premium .brand strong {
    color: #fff;
    font-size: 1.02rem;
    font-weight: 820;
  }

  .page-home-reboot .brand small,
  .page-premium .brand small {
    max-width: 10ch;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.76rem;
    line-height: 1.1;
  }

  .page-home-reboot .nav-toggle,
  .page-premium .nav-toggle {
    position: relative;
    min-height: 54px;
    padding: 10px 16px;
    grid-template-columns: 20px auto;
    column-gap: 14px;
    row-gap: 0;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04)),
      rgba(255, 255, 255, 0.04);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.14),
      0 18px 34px rgba(0, 0, 0, 0.26);
    transition:
      border-color 180ms ease,
      background 180ms ease,
      box-shadow 180ms ease;
  }

  .page-home-reboot .nav-toggle span,
  .page-premium .nav-toggle span {
    grid-column: 1;
    grid-row: 1;
    width: 20px;
    margin-top: 0;
    transform-origin: center;
    transition:
      transform 180ms ease,
      opacity 180ms ease,
      background 180ms ease;
  }

  /* The text label is also a span. Keep it out of the three-line icon rules. */
  .page-home-reboot .nav-toggle > .nav-toggle__label,
  .page-premium .nav-toggle > .nav-toggle__label {
    grid-column: 2;
    grid-row: 1;
    display: block;
    width: auto;
    height: auto;
    margin-top: 0;
    background: transparent;
    transform: none;
  }

  .page-home-reboot .nav-toggle span:nth-of-type(1),
  .page-premium .nav-toggle span:nth-of-type(1) {
    transform: translateY(-6px);
  }

  .page-home-reboot .nav-toggle span:nth-of-type(2),
  .page-premium .nav-toggle span:nth-of-type(2) {
    transform: translateY(0);
  }

  .page-home-reboot .nav-toggle span:nth-of-type(3),
  .page-premium .nav-toggle span:nth-of-type(3) {
    transform: translateY(6px);
  }

  .page-home-reboot .nav-toggle b,
  .page-premium .nav-toggle b {
    grid-column: 2;
    grid-row: 1;
  }

  .page-home-reboot .nav-toggle.is-open,
  .page-premium .nav-toggle.is-open {
    position: fixed;
    top: calc(env(safe-area-inset-top, 0px) + 16px);
    right: 16px;
    z-index: 45;
    width: 56px;
    min-width: 56px;
    padding-inline: 0;
    grid-template-columns: 20px;
    justify-content: center;
    border-color: rgba(215, 195, 148, 0.32);
    background:
      linear-gradient(180deg, rgba(215, 195, 148, 0.18), rgba(215, 195, 148, 0.08)),
      rgba(255, 255, 255, 0.05);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.16),
      0 18px 34px rgba(0, 0, 0, 0.34);
  }

  .page-home-reboot .nav-toggle.is-open span:nth-of-type(1),
  .page-premium .nav-toggle.is-open span:nth-of-type(1) {
    transform: rotate(45deg);
  }

  .page-home-reboot .nav-toggle.is-open span:nth-of-type(2),
  .page-premium .nav-toggle.is-open span:nth-of-type(2) {
    opacity: 0;
  }

  .page-home-reboot .nav-toggle.is-open span:nth-of-type(3),
  .page-premium .nav-toggle.is-open span:nth-of-type(3) {
    transform: rotate(-45deg);
  }

  .page-home-reboot .nav-toggle b,
  .page-premium .nav-toggle b {
    color: #fff;
    font-size: 0.96rem;
    font-weight: 780;
  }

  .page-home-reboot .nav-toggle.is-open b,
  .page-premium .nav-toggle.is-open b {
    opacity: 0;
    max-width: 0;
    margin: 0;
    overflow: hidden;
  }

  .page-home-reboot .site-nav,
  .page-premium .site-nav {
    inset: calc(env(safe-area-inset-top, 0px) + 12px) 12px 12px 12px;
    gap: 8px;
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 24px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 82px 14px 18px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 28px;
    background:
      linear-gradient(180deg, rgba(14, 14, 18, 0.985), rgba(9, 9, 12, 0.96)),
      rgba(9, 9, 12, 0.94);
    box-shadow: 0 34px 80px rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(26px);
  }

  .page-home-reboot .site-nav a,
  .page-premium .site-nav a {
    min-height: 52px;
    padding: 12px 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    color: rgba(255, 255, 255, 0.94);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.02)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    font-size: 0.98rem;
    font-weight: 760;
  }

  .page-home-reboot .site-nav a::after,
  .page-premium .site-nav a::after {
    display: none;
  }

  .page-home-reboot .site-nav a:hover,
  .page-home-reboot .site-nav a:focus-visible,
  .page-home-reboot .site-nav a[aria-current="page"],
  .page-premium .site-nav a:hover,
  .page-premium .site-nav a:focus-visible,
  .page-premium .site-nav a[aria-current="page"] {
    color: #fff;
    border-color: rgba(215, 195, 148, 0.32);
    background:
      linear-gradient(180deg, rgba(215, 195, 148, 0.2), rgba(215, 195, 148, 0.08)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.08),
      0 16px 28px rgba(0, 0, 0, 0.18);
  }

  .page-home-reboot .site-nav__contact,
  .page-premium .site-nav__contact {
    margin-top: 4px;
    border-color: rgba(215, 195, 148, 0.26) !important;
    background:
      linear-gradient(180deg, rgba(215, 195, 148, 0.24), rgba(215, 195, 148, 0.1)) !important;
  }

  .page-home-reboot .site-nav__socials,
  .page-premium .site-nav__socials {
    justify-content: center;
    margin-top: 4px;
    padding: 12px 8px 2px;
    border-top-color: rgba(255, 255, 255, 0.1);
  }

  .page-home-reboot .site-nav__socials .social-link-row,
  .page-premium .site-nav__socials .social-link-row {
    justify-content: center;
    gap: 10px;
  }

  .page-home-reboot .social-link--nav,
  .page-premium .social-link--nav {
    width: 42px;
    min-width: 42px;
    height: 42px;
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    box-shadow: none;
  }

  .page-home-reboot .social-link--nav:hover,
  .page-home-reboot .social-link--nav:focus-visible,
  .page-premium .social-link--nav:hover,
  .page-premium .social-link--nav:focus-visible {
    border-color: rgba(215, 195, 148, 0.36);
    background: rgba(215, 195, 148, 0.12);
  }
}

/* Local palette test: the exact signature gold used by trueFormance. */
.page-premium {
  --tf-gold: #d7c394;
  --tf-gold-light: #f2dfa8;
  --tf-gold-deep: #9b741a;
  --tf-gold-gradient: linear-gradient(115deg, #fff1b8 0%, #d7c394 43%, #b68727 100%);
}

.page-premium .nav-shell,
.page-premium .site-header.is-scrolled .nav-shell {
  border-color: rgba(155, 116, 26, 0.34) !important;
  background: var(--tf-gold-gradient) !important;
  box-shadow:
    0 20px 48px -28px rgba(64, 46, 10, 0.62),
    inset 0 1px 0 rgba(255, 250, 224, 0.78),
    inset 0 -1px 0 rgba(92, 65, 10, 0.14) !important;
}

@media (max-width: 979px) {
  .page-premium .nav-shell,
  .page-premium .site-header.is-scrolled .nav-shell,
  .page-premium .site-header.is-nav-open .nav-shell {
    background: var(--tf-gold-gradient) !important;
  }
}

/* App stage: dark depth behind the copy keeps every line reliably readable. */
.page-home-reboot .ed-app-banner {
  border-color: rgba(215, 195, 148, 0.46) !important;
  color: #f6f8fb !important;
  background:
    radial-gradient(circle at 4% 0%, rgba(215, 195, 148, 0.18), transparent 42%),
    linear-gradient(135deg, #0b192c 0%, #050a13 58%, #091426 100%) !important;
  box-shadow:
    0 36px 76px -48px rgba(3, 8, 16, 0.92),
    inset 0 1px 0 rgba(242, 223, 168, 0.12) !important;
}

.page-home-reboot .ed-app-banner__media::after {
  background:
    linear-gradient(
      90deg,
      #07101d 0%,
      rgba(7, 16, 29, 0.96) 18%,
      rgba(7, 16, 29, 0.72) 38%,
      rgba(7, 16, 29, 0.14) 72%,
      rgba(5, 10, 19, 0.28) 100%
    ),
    linear-gradient(0deg, rgba(5, 10, 19, 0.5), transparent 58%) !important;
}

.page-home-reboot .ed-app-banner__media img {
  filter: saturate(0.88) contrast(1.08) brightness(0.82) !important;
}

.page-home-reboot .ed-app-banner h3 {
  max-width: 12ch;
  color: #f6f8fb !important;
  text-shadow: 0 3px 26px rgba(0, 0, 0, 0.38);
}

.page-home-reboot .ed-app-banner h3 span {
  background: var(--tf-gold-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent !important;
  text-shadow: none;
}

.page-home-reboot .ed-app-banner__content > .ed-app-banner__offer {
  border-color: rgba(242, 223, 168, 0.64);
  color: #07101f !important;
  background: var(--tf-gold-gradient);
  box-shadow: 0 16px 32px -20px rgba(183, 139, 39, 0.72);
}

.page-home-reboot .ed-app-banner__cta {
  border-color: rgba(242, 223, 168, 0.72);
  color: #07101f;
  background: var(--tf-gold-gradient);
  box-shadow: 0 18px 34px -20px rgba(183, 139, 39, 0.78);
}

.page-home-reboot .ed-app-banner:hover,
.page-home-reboot .ed-app-banner:focus-visible {
  border-color: rgba(242, 223, 168, 0.78) !important;
  box-shadow:
    0 44px 84px -48px rgba(3, 8, 16, 0.98),
    0 0 0 1px rgba(215, 195, 148, 0.12) !important;
}

@media (max-width: 900px) {
  .page-home-reboot .ed-app-banner__media::after {
    background:
      linear-gradient(
        180deg,
        rgba(5, 10, 19, 0.08) 0%,
        rgba(5, 10, 19, 0.36) 38%,
        rgba(5, 10, 19, 0.92) 72%,
        #050a13 100%
      ) !important;
  }

  .page-home-reboot .ed-app-banner__content {
    text-shadow: 0 3px 24px rgba(0, 0, 0, 0.42);
  }

  .page-home-reboot .ed-app-banner__offer,
  .page-home-reboot .ed-app-banner__cta {
    text-shadow: none;
  }
}

@media (max-width: 520px) {
  .page-home-reboot .brand strong,
  .page-premium .brand strong {
    font-size: 0.98rem;
  }

  .page-home-reboot .brand small,
  .page-premium .brand small {
    max-width: 9ch;
    font-size: 0.72rem;
  }

  .page-home-reboot .nav-toggle,
  .page-premium .nav-toggle {
    padding-inline: 14px;
  }
}

/* Final readability and density refinements requested for the live service pages. */
html body.page-premium.page-events main .event-moderation-intro .section-header h2,
html body.page-premium.page-events main .event-reference-band__intro h2 {
  color: #15120b !important;
  text-shadow: none !important;
}

@media (min-width: 900px) {
  html body.page-premium.page-coaching main .coaching-outcome-stage .summary-row {
    min-height: clamp(190px, 16vw, 230px) !important;
    padding: clamp(22px, 1.8vw, 28px) !important;
  }

  html body.page-premium.page-coaching .ff-hero--coaching-photo .ff-hero__img,
  html body.page-premium.page-coaching .ff-hero--coaching-photo.is-hero-ready .ff-hero__img {
    object-position: 58% 32% !important;
    transform: translate3d(0, calc(var(--parallax-y, 0px) + 66px), 0) scale(1.28) !important;
    transform-origin: 58% 30%;
  }
}

/* Compact proof block on the Personal Training page. */
.page-coaching .coaching-success-proof {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.82fr) minmax(240px, 0.68fr);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid rgba(215, 195, 148, 0.3);
  border-radius: 34px;
  color: #fffdf8;
  background:
    radial-gradient(circle at 8% 0%, rgba(215, 195, 148, 0.17), transparent 36%),
    linear-gradient(135deg, #17171b, #09090b 70%);
  box-shadow: 0 34px 82px -38px rgba(0, 0, 0, 0.72);
}

.page-coaching .coaching-success-proof__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(30px, 4vw, 58px);
}

.page-coaching .coaching-success-proof__copy .eyebrow {
  color: #d7c394 !important;
}

.page-coaching .coaching-success-proof__copy h2 {
  max-width: 11ch;
  margin: 0;
  color: #fffdf8 !important;
  font-size: clamp(2.25rem, 3.8vw, 4.2rem);
  line-height: 0.92;
}

.page-coaching .coaching-success-proof__copy h2 span {
  color: #d7c394;
}

.page-coaching .coaching-success-proof__copy > p:not(.eyebrow) {
  max-width: 54ch;
  margin: 18px 0 0;
  color: rgba(255, 253, 248, 0.76) !important;
}

.page-coaching .coaching-success-proof__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-top: 24px;
  color: #f2dfa8;
  font-weight: 800;
}

.page-coaching .coaching-success-proof__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: center;
  margin: 0;
  border-inline: 1px solid rgba(255, 255, 255, 0.1);
}

.page-coaching .coaching-success-proof__stats div {
  display: flex;
  min-height: 132px;
  padding: 24px;
  flex-direction: column;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.07);
}

.page-coaching .coaching-success-proof__stats strong {
  color: #f2dfa8 !important;
  font-family: var(--font-cond);
  font-size: clamp(2rem, 3vw, 3.5rem);
  font-style: italic;
  line-height: 0.9;
}

.page-coaching .coaching-success-proof__stats span {
  margin-top: 8px;
  color: rgba(255, 253, 248, 0.68);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-coaching .coaching-success-proof__media {
  min-height: 100%;
  margin: 0;
  overflow: hidden;
}

.page-coaching .coaching-success-proof__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  filter: saturate(0.82) contrast(1.06);
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), filter 0.5s ease;
}

@media (hover: hover) and (pointer: fine) {
  .page-coaching .coaching-success-proof:hover .coaching-success-proof__media img {
    transform: scale(1.055);
    filter: saturate(0.94) contrast(1.08);
  }

  .page-coaching .coaching-success-proof:hover .coaching-success-proof__cta {
    gap: 16px;
  }
}

@media (max-width: 1080px) {
  .page-coaching .coaching-success-proof {
    grid-template-columns: 1fr 0.85fr;
  }

  .page-coaching .coaching-success-proof__media {
    grid-column: 1 / -1;
    min-height: 300px;
  }
}

@media (max-width: 680px) {
  .page-coaching .coaching-success-proof {
    grid-template-columns: 1fr;
    border-radius: 26px;
  }

  .page-coaching .coaching-success-proof__copy {
    padding: 28px 22px;
  }

  .page-coaching .coaching-success-proof__stats {
    border-inline: 0;
    border-block: 1px solid rgba(255, 255, 255, 0.1);
  }

  .page-coaching .coaching-success-proof__stats div {
    min-height: 108px;
    padding: 20px;
  }

  .page-coaching .coaching-success-proof__media {
    min-height: 260px;
  }
}

/* Team results: clearer premium medal hierarchy and calmer scanning. */
html body.page-premium.page-team main .coach-success__results li {
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-height: 68px;
  margin-bottom: 10px;
  padding: 12px 16px;
  border-color: rgba(255, 255, 255, 0.11);
  border-radius: 10px;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.025));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
  font-size: 0.96rem;
}

html body.page-premium.page-team main .coach-success__place {
  position: relative;
  width: 42px;
  height: 42px;
  border-width: 1px;
  border-radius: 14px;
  color: #fffdf8;
  background: linear-gradient(145deg, #282a30, #121318);
  box-shadow:
    0 8px 18px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
  font-family: var(--font-sans);
  font-size: 0.98rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: -0.035em;
  text-shadow: none;
}

html body.page-premium.page-team main .coach-success__place::after {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  pointer-events: none;
}

html body.page-premium.page-team main .coach-success__place--1 {
  color: #241a07;
  border-color: #f5d778;
  background: linear-gradient(145deg, #fff0a8 0%, #d9ad43 58%, #9d6d16 100%);
  box-shadow:
    0 9px 22px rgba(190, 139, 33, 0.26),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

html body.page-premium.page-team main .coach-success__place--2 {
  color: #20252c;
  border-color: #e5e9ee;
  background: linear-gradient(145deg, #ffffff 0%, #c6ccd4 56%, #858f9b 100%);
  box-shadow:
    0 9px 22px rgba(151, 162, 176, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

html body.page-premium.page-team main .coach-success__place--3 {
  color: #2a1408;
  border-color: #e7a46f;
  background: linear-gradient(145deg, #f2c199 0%, #b86d3d 56%, #714022 100%);
  box-shadow:
    0 9px 22px rgba(170, 91, 43, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

html body.page-premium.page-team main .coach-success__results li > span:last-child {
  color: rgba(255, 253, 248, 0.88) !important;
  font-weight: 500;
  line-height: 1.42;
}

@media (max-width: 620px) {
  html body.page-premium.page-team main .coach-success__results li {
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 62px;
    padding: 10px 12px;
  }

  html body.page-premium.page-team main .coach-success__place {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    font-size: 0.9rem;
  }

  html body.page-premium.page-team main .coach-success__place::after {
    inset: 3px;
    border-radius: 9px;
  }
}

/* ============================================================
   HOME IN LIGHT — a warm, editorial continuation of the Google
   review panel. The photo hero remains cinematic for legibility;
   every following Home module moves into the bright brand world.
   ============================================================ */
.page-home-reboot {
  --cd-bg: #f7f2e8;
  --cd-bg-2: #fffdf8;
  --cd-card: #fffdf8;
  --cd-line: rgba(42, 33, 18, 0.12);
  --cd-line-2: rgba(42, 33, 18, 0.2);
  --cd-text: #19150e;
  --cd-dim: rgba(25, 21, 14, 0.68);
  background:
    radial-gradient(circle at 4% 14%, rgba(215, 195, 148, 0.19), transparent 25%),
    radial-gradient(circle at 94% 28%, rgba(215, 195, 148, 0.26), transparent 28%),
    linear-gradient(180deg, #fbf8f1 0%, #f3ecdf 100%);
  color: #19150e;
}

.page-home-reboot h1,
.page-home-reboot h2,
.page-home-reboot h3 {
  color: #19150e;
}

.page-home-reboot .ed-section,
.page-home-reboot .ed-proof {
  background: transparent;
}

.page-home-reboot .ed-section--hero-sync .ed-section__stage {
  border-color: rgba(42, 33, 18, 0.12);
  background:
    radial-gradient(circle at 90% 8%, rgba(215, 195, 148, 0.2), transparent 26%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(246, 239, 226, 0.94));
  box-shadow: 0 34px 78px -56px rgba(43, 32, 12, 0.56);
}

.page-home-reboot .ed-section--hero-sync .ed-section__stage::before {
  background: radial-gradient(circle at 30% 38%, rgba(215, 195, 148, 0.16), transparent 46%);
  filter: none;
  opacity: 0.9;
}

.page-home-reboot .ed-section--hero-sync .ed-section__stage::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.52), transparent 26%);
  mix-blend-mode: normal;
}

.page-home-reboot .ed-section__title,
.page-home-reboot .ed-proof .ed-section__title {
  color: #19150e;
}

.page-home-reboot .ed-section__lead,
.page-home-reboot .ed-proof .ed-section__lead {
  color: rgba(25, 21, 14, 0.68);
}

.page-home-reboot .ed-entry {
  border-color: rgba(42, 33, 18, 0.16) !important;
  background: #fffdf8 !important;
  box-shadow: 0 28px 62px -44px rgba(43, 32, 12, 0.54) !important;
}

.page-home-reboot .ed-entry__media img {
  filter: saturate(0.94) brightness(1.02) contrast(1.01);
}

.page-home-reboot .ed-entry__media::after {
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.02) 0%, rgba(255, 253, 248, 0.1) 34%, rgba(255, 253, 248, 0.84) 72%, #fffdf8 100%),
    linear-gradient(90deg, rgba(255, 253, 248, 0.22), transparent 58%) !important;
}

.page-home-reboot .ed-entry__body {
  border-color: rgba(42, 33, 18, 0.14) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 249, 237, 0.98)) !important;
  box-shadow: 0 18px 38px -28px rgba(43, 32, 12, 0.42) !important;
  backdrop-filter: blur(16px) !important;
}

.page-home-reboot .ed-entry__body h3 {
  color: #19150e !important;
}

.page-home-reboot .ed-entry--accent .ed-entry__body h3 span { color: #9b470f !important; }
.page-home-reboot .ed-entry--light .ed-entry__body h3 span { color: #176582 !important; }
.page-home-reboot .ed-entry--coaching .ed-entry__body h3 span { color: #9b741a !important; }

/* The image hero remains cinematic, so its copy needs decisive light contrast. */
.page-home-reboot .ff-hero__eyebrow { color: #f2dfa8 !important; }
.page-home-reboot .ff-hero__title { color: #fffdf8 !important; text-shadow: 0 4px 24px rgba(0, 0, 0, 0.76); }
.page-home-reboot .ff-hero__title span { color: #d7c394 !important; }
.page-home-reboot .ff-hero__lead { color: rgba(255, 253, 248, 0.96) !important; text-shadow: 0 3px 18px rgba(0, 0, 0, 0.72); }
.page-home-reboot .ff-hero__facts { border-top-color: rgba(255, 255, 255, 0.42) !important; }
.page-home-reboot .ff-hero__facts dt { color: #fffdf8 !important; }
.page-home-reboot .ff-hero__facts dd { color: rgba(255, 253, 248, 0.86) !important; }

.page-home-reboot .ed-entry:hover {
  border-color: rgba(155, 116, 26, 0.48);
  box-shadow: 0 38px 72px -44px rgba(43, 32, 12, 0.58) !important;
}

/* Hover/focus must keep the same high-contrast light card treatment. */
.page-home-reboot .ed-entry:is(:hover, :focus-visible) .ed-entry__body {
  border-color: rgba(155, 116, 26, 0.44) !important;
  background: linear-gradient(180deg, #fffefa, #fff7e9) !important;
  box-shadow: 0 22px 42px -28px rgba(43, 32, 12, 0.46) !important;
}

.page-home-reboot .ed-entry:is(:hover, :focus-visible) .ed-entry__body h3 {
  color: #17130a !important;
}

.page-home-reboot .ed-entry.ed-entry--accent:is(:hover, :focus-visible) .ed-entry__body h3 span { color: #8f3e0b !important; }
.page-home-reboot .ed-entry.ed-entry--light:is(:hover, :focus-visible) .ed-entry__body h3 span { color: #145b76 !important; }
.page-home-reboot .ed-entry.ed-entry--coaching:is(:hover, :focus-visible) .ed-entry__body h3 span { color: #9b741a !important; }

.page-home-reboot .ed-entry:is(:hover, :focus-visible) .ed-entry__cta,
.page-home-reboot .ed-entry:is(:hover, :focus-visible) .ed-entry__cta-label,
.page-home-reboot .ed-entry:is(:hover, :focus-visible) .ed-entry__cta span:last-child {
  color: #15120b !important;
}

.page-home-reboot .ed-proof__item,
.page-home-reboot .ed-proof__item:nth-child(6n+1),
.page-home-reboot .ed-proof__item:nth-child(6n+2),
.page-home-reboot .ed-proof__item:nth-child(6n+3),
.page-home-reboot .ed-proof__item:nth-child(6n+4),
.page-home-reboot .ed-proof__item:nth-child(6n+5),
.page-home-reboot .ed-proof__item:nth-child(6n+6) {
  border-color: rgba(42, 33, 18, 0.1);
  background: linear-gradient(145deg, #fffefa, #f5ecdc);
  box-shadow: 0 20px 38px -30px rgba(43, 32, 12, 0.38);
}

.page-home-reboot .ed-proof__item dt,
.page-home-reboot .ed-proof__item:nth-child(6n+1) dt,
.page-home-reboot .ed-proof__item:nth-child(6n+2) dt,
.page-home-reboot .ed-proof__item:nth-child(6n+3) dt,
.page-home-reboot .ed-proof__item:nth-child(6n+4) dt,
.page-home-reboot .ed-proof__item:nth-child(6n+5) dt,
.page-home-reboot .ed-proof__item:nth-child(6n+6) dt {
  color: #9b741a;
}

.page-home-reboot .ed-proof__item dd {
  color: rgba(25, 21, 14, 0.68);
}

.page-home-reboot .ed-app-banner {
  border-color: rgba(155, 116, 26, 0.42);
  color: #19150e;
  background:
    radial-gradient(circle at 8% 6%, rgba(215, 195, 148, 0.3), transparent 40%),
    linear-gradient(145deg, #fffdf8 0%, #f2e6cf 100%);
  box-shadow: 0 36px 74px -50px rgba(43, 32, 12, 0.56), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.page-home-reboot .ed-app-banner__media::after {
  background:
    linear-gradient(90deg, #f2e6cf 0%, rgba(242, 230, 207, 0.9) 18%, rgba(242, 230, 207, 0.12) 66%, rgba(242, 230, 207, 0.18) 100%),
    linear-gradient(0deg, rgba(255, 253, 248, 0.26), transparent 56%);
}

.page-home-reboot .ed-app-banner__media img {
  filter: saturate(0.92) contrast(1.02) brightness(1.02);
}

.page-home-reboot .ed-app-banner h3 { color: #19150e; }
.page-home-reboot .ed-app-banner h3 span { color: #9b741a; }

.page-home-reboot .ed-app-banner:hover,
.page-home-reboot .ed-app-banner:focus-visible {
  border-color: rgba(155, 116, 26, 0.68);
  box-shadow: 0 42px 82px -50px rgba(43, 32, 12, 0.6);
}

.page-home-reboot .ed-app-banner:hover .ed-app-banner__media img,
.page-home-reboot .ed-app-banner:focus-visible .ed-app-banner__media img {
  filter: saturate(0.98) contrast(1.03) brightness(1.04);
}

.page-home-reboot .cta-band__inner {
  border-color: rgba(155, 116, 26, 0.36);
  color: #19150e;
  background:
    radial-gradient(circle at 92% 8%, rgba(215, 195, 148, 0.32), transparent 30%),
    linear-gradient(145deg, #fffefa, #eee0c7);
  box-shadow: 0 38px 80px -54px rgba(43, 32, 12, 0.54);
}

.page-home-reboot .cta-band .eyebrow { color: #9b741a; }
.page-home-reboot .cta-band h2 { color: #19150e; }
.page-home-reboot .cta-band p { color: rgba(25, 21, 14, 0.7); }

/* Light CTA panels need deliberate dark supporting copy. */
.page-home-reboot .cta-band p:not(.eyebrow) {
  color: #5d5242 !important;
  text-shadow: none !important;
}

.page-home-reboot .cta-band .button--secondary-light {
  border-color: rgba(25, 21, 14, 0.35);
  color: #19150e;
  background: rgba(255, 255, 255, 0.48);
}

.page-home-reboot .cta-band .button--secondary-light > span:last-child { color: #19150e; }
.page-home-reboot .cta-band .button--secondary-light:hover { border-color: #19150e; background: #fffdf8; }

/* Footer stays dark, so its full hierarchy must remain bright and legible. */
.page-home-reboot .site-footer {
  color: #fffdf8;
}

.page-home-reboot .site-footer .brand strong,
.page-home-reboot .site-footer h2 {
  color: #fffdf8 !important;
}

.page-home-reboot .site-footer h2 {
  color: #f2dfa8 !important;
}

.page-home-reboot .site-footer p,
.page-home-reboot .site-footer a,
.page-home-reboot .site-footer span,
.page-home-reboot .site-footer .footer-link-button {
  color: rgba(255, 253, 248, 0.78) !important;
}

.page-home-reboot .site-footer a:hover,
.page-home-reboot .site-footer a:focus-visible,
.page-home-reboot .site-footer .footer-link-button:hover,
.page-home-reboot .site-footer .footer-link-button:focus-visible {
  color: #fffdf8 !important;
}

.page-home-reboot .site-footer .brand--footer small {
  color: #15120b !important;
}

@media (max-width: 900px) {
  .page-home-reboot .ff-hero__lead {
    display: none;
  }

  .page-home-reboot .ed-app-banner__media::after {
    background: linear-gradient(180deg, rgba(242, 230, 207, 0.12) 0%, rgba(242, 230, 207, 0.86) 58%, #f2e6cf 100%);
  }
}

/* ============================================================
   LIGHT PAGE SYSTEM — Home is the reference for every service,
   app, partner and contact page. Image heroes remain cinematic;
   all editorial content adopts the warm light brand surface.
   ============================================================ */
.page-premium:not(.page-home-reboot) {
  --cd-bg: #f7f2e8;
  --cd-bg-2: #fffdf8;
  --cd-card: #fffdf8;
  --cd-line: rgba(42, 33, 18, 0.12);
  --cd-line-2: rgba(42, 33, 18, 0.2);
  --cd-text: #19150e;
  --cd-dim: rgba(25, 21, 14, 0.68);
  background:
    radial-gradient(circle at 4% 12%, rgba(215, 195, 148, 0.18), transparent 24%),
    radial-gradient(circle at 94% 32%, rgba(215, 195, 148, 0.24), transparent 28%),
    linear-gradient(180deg, #fbf8f1 0%, #f3ecdf 100%) !important;
  color: #19150e;
}

.page-premium:not(.page-home-reboot) .section,
.page-premium:not(.page-home-reboot) .reboot-section,
.page-premium:not(.page-home-reboot) .premium-section {
  background: transparent !important;
}

.page-premium:not(.page-home-reboot) :is(
  .section-header h2,
  .section-header h3,
  .feature-card h3,
  .capability-card h3,
  .summary-row h3,
  .pricing-card h3,
  .stat-card h3,
  .transformation-card h3,
  .timeline__item h3,
  .app-system-card h3,
  .contact-intro-card h3,
  .contact-quick-card h3,
  .contact-form__intro h3,
  .contact-guide-card h3,
  .contact-form__context-head h3,
  .contact-topic-card h3,
  .legal-card h2,
  .legal-card h3
) {
  color: #19150e !important;
}

.page-premium:not(.page-home-reboot) :is(
  .section-header p:not(.eyebrow),
  .feature-card p,
  .capability-card p,
  .summary-row p,
  .pricing-card p,
  .stat-card p,
  .timeline__item p,
  .app-system-card p,
  .contact-intro-card p,
  .contact-quick-card p,
  .contact-form__intro p,
  .contact-guide-card p,
  .contact-form__note,
  .legal-card p
) {
  color: rgba(25, 21, 14, 0.7) !important;
}

.page-premium:not(.page-home-reboot) :is(
  .feature-card,
  .capability-card,
  .summary-row,
  .pricing-card,
  .stat-card,
  .timeline__item,
  .app-system-card,
  .contact-intro-card,
  .contact-quick-card,
  .contact-guide-card,
  .contact-form__context,
  .contact-topic-card__surface,
  .legal-card,
  .faq-item,
  .premium-photo-frame,
  .wide-story__media,
  .spotlight-card
) {
  border-color: rgba(42, 33, 18, 0.12) !important;
  background: linear-gradient(145deg, #fffefa, #f5ecdc) !important;
  box-shadow: 0 22px 48px -36px rgba(43, 32, 12, 0.38) !important;
}

.page-premium:not(.page-home-reboot) :is(
  .feature-card:hover,
  .capability-card:hover,
  .summary-row:hover,
  .pricing-card:hover,
  .app-system-card:hover,
  .contact-topic-card:hover .contact-topic-card__surface,
  .contact-topic-card:focus-within .contact-topic-card__surface
) {
  border-color: rgba(155, 116, 26, 0.46) !important;
  background: linear-gradient(145deg, #fffefa, #fff4df) !important;
  box-shadow: 0 30px 58px -38px rgba(43, 32, 12, 0.46) !important;
}

.page-premium:not(.page-home-reboot) :is(
  .feature-card__detail,
  .card-tag,
  .pricing-card__eyebrow,
  .timeline__meta,
  .app-system-card__number,
  .contact-form__eyebrow,
  .contact-quick-card__eyebrow,
  .contact-topic-card__tag,
  .contact-form__context-head span
) {
  color: #9b741a !important;
}

.page-premium:not(.page-home-reboot) :is(
  input,
  textarea,
  select
) {
  border-color: rgba(42, 33, 18, 0.16) !important;
  color: #19150e !important;
  background: #fffdf8 !important;
}

.page-premium:not(.page-home-reboot) :is(input, textarea, select)::placeholder {
  color: rgba(25, 21, 14, 0.45) !important;
}

.page-premium:not(.page-home-reboot) .cta-band__inner {
  border-color: rgba(155, 116, 26, 0.36) !important;
  color: #19150e !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(215, 195, 148, 0.32), transparent 30%),
    linear-gradient(145deg, #fffefa, #eee0c7) !important;
  box-shadow: 0 38px 80px -54px rgba(43, 32, 12, 0.54) !important;
}

.page-premium:not(.page-home-reboot) .cta-band :is(h2, h3) { color: #19150e !important; }
.page-premium:not(.page-home-reboot) .cta-band p:not(.eyebrow) { color: #5d5242 !important; text-shadow: none !important; }
.page-premium:not(.page-home-reboot) .cta-band .eyebrow { color: #9b741a !important; }

.page-premium:not(.page-home-reboot) .cta-band .button--secondary-light {
  border-color: rgba(25, 21, 14, 0.35) !important;
  color: #19150e !important;
  background: rgba(255, 255, 255, 0.5) !important;
}

.page-premium:not(.page-home-reboot) .cta-band .button--secondary-light span { color: #19150e !important; }

/* Footer remains the dark counterweight on all pages. */
.page-premium .site-footer { color: #fffdf8; }
.page-premium .site-footer .brand strong { color: #fffdf8 !important; }
.page-premium .site-footer h2 { color: #f2dfa8 !important; }
.page-premium .site-footer :is(p, a, span, .footer-link-button) { color: rgba(255, 253, 248, 0.78) !important; }
.page-premium .site-footer :is(a:hover, a:focus-visible, .footer-link-button:hover, .footer-link-button:focus-visible) { color: #fffdf8 !important; }
.page-premium .site-footer .brand--footer small { color: #15120b !important; }

/* Low-specificity fallback for editorial copy. Component themes must always be
   allowed to override it: the site deliberately mixes light and dark surfaces. */
:where(.page-premium:not(.page-home-reboot) main > section:not(.ff-hero) :is(h1, h2, h3, h4, h5, dt, strong)) {
  color: #19150e;
  text-shadow: none;
}

:where(.page-premium:not(.page-home-reboot) main > section:not(.ff-hero) :is(p, li, dd, label, small)) {
  color: rgba(25, 21, 14, 0.72);
  text-shadow: none;
}

:where(.page-premium:not(.page-home-reboot) main > section:not(.ff-hero) :is(
  .eyebrow,
  .card-tag,
  .feature-card__detail,
  .pricing-card__eyebrow,
  .timeline__meta,
  .app-system-card__number,
  .contact-form__eyebrow,
  .contact-quick-card__eyebrow,
  .contact-topic-card__tag
)) {
  color: #9b741a;
}

.page-premium:not(.page-home-reboot) main > section:not(.ff-hero) :is(
  .event-stage-showcase,
  .event-stage-proof-card,
  .event-authority-tile,
  .partner-value-stage,
  .corporate-wide-video-stage,
  .contact-form-stage,
  .premium-hero__panel,
  .premium-checklist,
  .proof-list,
  .process-list
) {
  border-color: rgba(42, 33, 18, 0.12) !important;
  background: linear-gradient(145deg, #fffefa, #f3e7d2) !important;
  box-shadow: 0 24px 52px -38px rgba(43, 32, 12, 0.4) !important;
}

.page-premium:not(.page-home-reboot) main > section:not(.ff-hero) :is(
  .event-reference-card__body,
  .premium-checklist li,
  .proof-list span,
  .process-list li
) {
  color: #19150e !important;
  border-color: rgba(42, 33, 18, 0.12) !important;
  background-color: rgba(255, 253, 248, 0.88) !important;
}

/* Photo heroes are the sole intentional dark exception. */
.page-premium:not(.page-home-reboot) .ff-hero :is(h1, h2, h3, strong, dt) { color: #fffdf8 !important; }
.page-premium:not(.page-home-reboot) .ff-hero :is(p, li, dd, small) { color: rgba(255, 253, 248, 0.9) !important; }
.page-premium:not(.page-home-reboot) .ff-hero .eyebrow { color: #f2dfa8 !important; }

/* Service heroes: strong, but no longer visually overpowering. */
.page-events .ff-hero__title,
.page-partner .ff-hero__title,
.page-coaching .ff-hero__title,
.page-offer-40 .ff-hero__title {
  font-size: clamp(2.65rem, 6.35vw, 6.55rem) !important;
  line-height: 0.9 !important;
}

.page-firmenfitness .ff-hero__title {
  font-size: clamp(2.45rem, 5.8vw, 6.05rem) !important;
  line-height: 0.9 !important;
}

/* Firmenfitness references: scan-friendly logo grid instead of dense mini articles. */
.page-firmenfitness .corporate-reference-band {
  grid-template-columns: 1fr;
  gap: clamp(28px, 3.8vw, 48px);
  padding: clamp(34px, 4.5vw, 64px);
  border: 1px solid rgba(155, 116, 26, 0.28);
  border-radius: 32px;
  background:
    radial-gradient(circle at 98% 0%, rgba(215, 195, 148, 0.18), transparent 26%),
    linear-gradient(145deg, #fffefa, #f4ead9);
  box-shadow: 0 32px 72px -52px rgba(43, 32, 12, 0.44);
}

.page-firmenfitness .corporate-reference-band__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.page-firmenfitness .corporate-reference-band__copy h2 {
  max-width: 19ch;
  margin-inline: auto;
  color: #19150e !important;
  font-size: clamp(2.35rem, 4.1vw, 4.65rem);
  letter-spacing: -0.055em;
}

.page-firmenfitness .corporate-reference-band__copy p:not(.eyebrow) {
  max-width: 48ch;
  margin: 18px auto 0;
  color: rgba(25, 21, 14, 0.7) !important;
  font-size: clamp(1rem, 1.12vw, 1.12rem);
  line-height: 1.65;
}

.page-firmenfitness .corporate-reference-band__logos {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.page-firmenfitness .corporate-reference-card {
  position: relative;
  min-height: 242px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 24px;
  border: 1px solid rgba(42, 33, 18, 0.12) !important;
  border-radius: 22px;
  background: linear-gradient(145deg, #fffefa, #f8f0e2) !important;
  box-shadow: 0 20px 40px -32px rgba(43, 32, 12, 0.36) !important;
}

.page-firmenfitness .corporate-reference-card__logo {
  min-height: 76px;
  width: 100%;
  justify-items: start;
}

.page-firmenfitness .corporate-reference-card img {
  width: auto;
  max-width: min(100%, 180px);
  max-height: 76px;
}

.page-firmenfitness .corporate-reference-card__divider { display: none; }

.page-firmenfitness .corporate-reference-card__body {
  gap: 8px;
  padding-right: 28px;
}

.page-firmenfitness .corporate-reference-card__body .reference-card__name {
  color: #19150e !important;
  font-family: "Inter", "Aptos", "Segoe UI", sans-serif;
  font-size: clamp(1.18rem, 1.5vw, 1.45rem);
  font-weight: 760;
  letter-spacing: -0.035em;
  line-height: 1.04;
}

.page-firmenfitness .corporate-reference-card__body > span:last-child {
  display: -webkit-box;
  overflow: hidden;
  color: rgba(25, 21, 14, 0.68) !important;
  font-size: 0.84rem;
  font-weight: 500;
  line-height: 1.48;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.page-firmenfitness .corporate-reference-card__arrow {
  position: absolute;
  top: 20px;
  right: 20px;
  color: #9b741a !important;
  font-size: 2rem;
}

.page-firmenfitness .corporate-reference-card:hover,
.page-firmenfitness .corporate-reference-card:focus-visible {
  border-color: rgba(155, 116, 26, 0.5) !important;
  background: linear-gradient(145deg, #fffefa, #fff3d8) !important;
  box-shadow: 0 28px 52px -34px rgba(43, 32, 12, 0.44) !important;
}

/* FAQ: white accordion rows require a dark, explicit question colour. */
.page-premium:not(.page-home-reboot) .faq details {
  border-color: rgba(42, 33, 18, 0.12) !important;
  background: #fffdf8 !important;
  box-shadow: 0 14px 30px -26px rgba(43, 32, 12, 0.28) !important;
}

.page-premium:not(.page-home-reboot) .faq summary {
  color: #19150e !important;
  font-weight: 720;
}

.page-premium:not(.page-home-reboot) .faq p {
  color: rgba(25, 21, 14, 0.72) !important;
}

/* These are intentional dark stages: restore a bright type hierarchy. */
.page-premium:not(.page-home-reboot) :is(.coaching-outcome-stage, .coaching-reference-stage) :is(.section-header h2, .section-header h3) {
  color: #fffdf8 !important;
}

.page-premium:not(.page-home-reboot) :is(.coaching-outcome-stage, .coaching-reference-stage) .section-header h2 span {
  color: #d7c394 !important;
}

.page-premium:not(.page-home-reboot) :is(.coaching-outcome-stage, .coaching-reference-stage) .section-header p:not(.eyebrow) {
  color: rgba(255, 253, 248, 0.86) !important;
}

.page-premium:not(.page-home-reboot) :is(.coaching-outcome-stage, .coaching-reference-stage) .eyebrow {
  color: #f2dfa8 !important;
}

.page-premium:not(.page-home-reboot) .coaching-reference-stage .premium-proof-pills span {
  border-color: rgba(215, 195, 148, 0.32) !important;
  color: #fffdf8 !important;
  background: rgba(215, 195, 148, 0.14) !important;
}

/* Events uses intentional dark presentation stages: restore their light copy. */
.page-events :is(.editorial-stage, .event-rule-stage, .event-fun-stage, .event-stage-showcase) .section-header h2,
.page-events :is(.editorial-stage, .event-rule-stage, .event-fun-stage, .event-stage-showcase) .section-header h3,
.page-events :is(.editorial-stage, .event-rule-stage, .event-fun-stage, .event-stage-showcase) .event-rule-stage__signal :is(h3, span),
.page-events :is(.editorial-stage, .event-rule-stage, .event-fun-stage, .event-stage-showcase) .event-fun-stage__signal :is(h3, span) {
  color: #fffdf8 !important;
}

.page-events :is(.editorial-stage, .event-rule-stage, .event-fun-stage, .event-stage-showcase) :is(.section-header p:not(.eyebrow), .event-rule-stage__signal p, .event-fun-stage__signal p) {
  color: rgba(255, 253, 248, 0.84) !important;
}

.page-events :is(.editorial-stage, .event-rule-stage, .event-fun-stage, .event-stage-showcase) .eyebrow {
  color: #f2dfa8 !important;
}

.page-events :is(.event-rule-stage, .event-fun-stage) .premium-proof-pills span {
  border-color: rgba(215, 195, 148, 0.3) !important;
  color: #fffdf8 !important;
  background: rgba(215, 195, 148, 0.13) !important;
}

.page-events .event-reference-card__body {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-events .event-reference-card__body .reference-card__name {
  color: #fffdf8 !important;
}

.page-events .event-reference-card__body > span:last-child {
  color: rgba(255, 253, 248, 0.78) !important;
}

.page-events :is(.event-rule-stage__card, .event-fun-stage__card) figcaption :is(p, h3, span) {
  color: #fffdf8 !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.76) !important;
}

@media (max-width: 980px) {
  .page-firmenfitness .corporate-reference-band__logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .page-firmenfitness .corporate-reference-band {
    padding: 26px 20px;
    border-radius: 24px;
  }

  .page-firmenfitness .corporate-reference-band__logos {
    grid-template-columns: 1fr;
  }

  .page-firmenfitness .corporate-reference-card { min-height: 202px; }
}

/* About and team: one clean photo hero, no secondary duplicate image panel. */
.page-about .ff-hero__showcase,
.page-team .ff-hero__showcase,
.page-about .premium-badge,
.page-team .premium-badge {
  display: none !important;
}

.page-about.ff-hero--split .ff-hero__shell,
.page-team.ff-hero--split .ff-hero__shell,
.page-about .ff-hero__shell,
.page-team .ff-hero__shell {
  grid-template-columns: minmax(0, 780px);
  justify-content: start;
  min-height: min(100svh, 860px);
  padding-top: clamp(124px, 11vw, 156px);
  padding-bottom: clamp(58px, 7vw, 88px);
}

.page-about .ff-hero__inner,
.page-team .ff-hero__inner {
  max-width: 780px;
}

.page-about .ff-hero__title,
.page-team .ff-hero__title {
  max-width: 10.5ch;
  font-size: clamp(3rem, 6.1vw, 6.35rem) !important;
  line-height: 0.9 !important;
}

.page-about .ff-hero__lead,
.page-team .ff-hero__lead {
  max-width: 55ch;
  font-size: clamp(1.02rem, 1.22vw, 1.18rem);
}

.page-about .ff-hero__support,
.page-team .ff-hero__support {
  max-width: 58ch;
}

/* Home images stay vivid; the text panels provide the light surface. */
.page-home-reboot .ed-entry__media::after {
  background: transparent !important;
}

.page-home-reboot .ed-app-banner__media::after {
  background: transparent !important;
}

@media (max-width: 720px) {
  .page-about .ff-hero__title,
  .page-team .ff-hero__title {
    font-size: clamp(2.65rem, 12vw, 4.15rem) !important;
  }
}

/* Günter Preis: editorial case study and cross-page preview. */
.guenter-story-preview-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 12%, rgba(215, 195, 148, 0.28), transparent 30%),
    linear-gradient(145deg, #f4eddf, #fffdf8 68%);
}

.guenter-story-preview {
  display: grid;
  grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1.22fr);
  min-height: 520px;
  overflow: hidden;
  color: #17140e;
  border: 1px solid rgba(139, 103, 35, 0.2);
  border-radius: 34px;
  background: rgba(255, 253, 248, 0.92);
  box-shadow: 0 32px 80px -42px rgba(50, 35, 8, 0.42);
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s ease, border-color 0.4s ease;
}

.guenter-story-preview__media {
  min-height: 520px;
  margin: 0;
  overflow: hidden;
  background: #17140e;
}

.guenter-story-preview__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 22%;
  filter: saturate(0.9) contrast(1.04);
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1), filter 0.5s ease;
}

.guenter-story-preview__copy {
  display: flex;
  padding: clamp(34px, 5vw, 70px);
  flex-direction: column;
  justify-content: center;
}

.guenter-story-preview__copy .eyebrow {
  color: #987224 !important;
}

.guenter-story-preview__copy h2 {
  max-width: 13ch;
  margin: 0;
  color: #17140e !important;
  -webkit-text-fill-color: #17140e !important;
  font-size: clamp(2.5rem, 4.6vw, 5.2rem);
  line-height: 0.9;
}

.guenter-story-preview__copy h2 span {
  color: #a57d2c;
  -webkit-text-fill-color: #a57d2c;
}

.guenter-story-preview__copy > p:not(.eyebrow) {
  max-width: 62ch;
  margin: 22px 0 0;
  color: #5f584d !important;
  font-size: 1.04rem;
}

.guenter-story-preview__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 30px 0 0;
  border-block: 1px solid rgba(139, 103, 35, 0.18);
}

.guenter-story-preview__facts div {
  padding: 20px 18px 18px 0;
}

.guenter-story-preview__facts div + div {
  padding-left: 18px;
  border-left: 1px solid rgba(139, 103, 35, 0.18);
}

.guenter-story-preview__facts strong,
.guenter-story-preview__facts span {
  display: block;
}

.guenter-story-preview__facts strong {
  color: #17140e;
  font-family: var(--font-cond);
  font-size: clamp(2.15rem, 3.5vw, 3.7rem);
  font-style: italic;
  line-height: 0.9;
}

.guenter-story-preview__facts span {
  margin-top: 8px;
  color: #786f61;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.guenter-story-preview__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-top: 26px;
  color: #8d691f;
  font-weight: 850;
  transition: gap 0.35s ease;
}

@media (hover: hover) and (pointer: fine) {
  .guenter-story-preview:hover {
    transform: translateY(-7px);
    border-color: rgba(139, 103, 35, 0.38);
    box-shadow: 0 42px 92px -42px rgba(50, 35, 8, 0.52);
  }

  .guenter-story-preview:hover .guenter-story-preview__media img {
    transform: scale(1.045);
    filter: saturate(1) contrast(1.06);
  }

  .guenter-story-preview:hover .guenter-story-preview__cta {
    gap: 17px;
  }
}

.page-guenter-story main {
  overflow: clip;
}

.page-guenter-story .guenter-story-hero {
  position: relative;
  padding: clamp(132px, 13vw, 190px) 0 clamp(72px, 8vw, 120px);
  overflow: hidden;
  color: #fffdf8;
  background:
    radial-gradient(circle at 78% 12%, rgba(215, 195, 148, 0.19), transparent 30%),
    linear-gradient(145deg, #07080b, #12151b 58%, #08090c);
}

.page-guenter-story .guenter-story-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 100% 76px;
  mask-image: linear-gradient(to bottom, #000, transparent 92%);
}

.guenter-story-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.72fr);
  gap: clamp(42px, 7vw, 108px);
  align-items: center;
}

.guenter-story-backlink {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 38px;
  color: rgba(255, 253, 248, 0.68);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.guenter-story-hero__copy .eyebrow {
  color: #d7c394 !important;
}

.guenter-story-hero__copy h1 {
  max-width: 11ch;
  margin: 20px 0 0;
  color: #fffdf8 !important;
  -webkit-text-fill-color: #fffdf8 !important;
  font-family: var(--font-cond);
  font-size: clamp(3.75rem, 7.4vw, 8.8rem);
  font-style: italic;
  letter-spacing: -0.055em;
  line-height: 0.82;
  text-transform: uppercase;
}

.guenter-story-hero__copy h1 span {
  color: #d7c394;
  -webkit-text-fill-color: #d7c394;
}

.guenter-story-hero__lead {
  max-width: 67ch;
  margin: 30px 0 0;
  color: rgba(255, 253, 248, 0.78) !important;
  font-size: clamp(1.08rem, 1.5vw, 1.3rem);
}

.guenter-story-hero__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 40px 0 0;
  border-block: 1px solid rgba(215, 195, 148, 0.22);
}

.guenter-story-hero__facts div {
  padding: 23px 20px 21px 0;
}

.guenter-story-hero__facts div + div {
  padding-left: 20px;
  border-left: 1px solid rgba(215, 195, 148, 0.18);
}

.guenter-story-hero__facts dt {
  color: #f2dfa8;
  font-family: var(--font-cond);
  font-size: clamp(2.3rem, 4vw, 4.5rem);
  font-style: italic;
  line-height: 0.88;
}

.guenter-story-hero__facts dd {
  margin: 8px 0 0;
  color: rgba(255, 253, 248, 0.62);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.guenter-story-hero__media {
  position: relative;
  min-height: 680px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(215, 195, 148, 0.3);
  border-radius: 34px;
  background: #17171b;
  box-shadow: 0 42px 96px -38px rgba(0, 0, 0, 0.78);
}

.guenter-story-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 680px;
  object-fit: cover;
  object-position: center 18%;
}

.guenter-story-hero__media figcaption,
.guenter-story-competition__media figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  padding: 13px 15px;
  color: rgba(255, 253, 248, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 12px;
  background: rgba(8, 9, 12, 0.78);
  backdrop-filter: blur(12px);
  font-size: 0.78rem;
}

.guenter-story-editorial {
  display: grid;
  grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(44px, 8vw, 120px);
  align-items: start;
}

.guenter-story-editorial__intro h2 {
  margin: 17px 0 0;
  color: #17140e !important;
  -webkit-text-fill-color: #17140e !important;
  font-size: clamp(2.6rem, 5vw, 5.7rem);
  line-height: 0.88;
}

.guenter-story-editorial__intro h2 span {
  color: #a57d2c;
  -webkit-text-fill-color: #a57d2c;
}

.guenter-story-editorial__body {
  max-width: 760px;
}

.guenter-story-editorial__body > p {
  color: #5f584d !important;
  font-size: clamp(1.05rem, 1.45vw, 1.25rem);
  line-height: 1.75;
}

.guenter-story-dropcap::first-letter {
  float: left;
  margin: 6px 10px 0 0;
  color: #a57d2c;
  font-family: var(--font-display);
  font-size: 4.5rem;
  line-height: 0.72;
}

.guenter-story-editorial blockquote,
.guenter-story-competition__copy blockquote {
  margin: 34px 0 0;
  padding: 24px 0 24px 26px;
  color: #30291e;
  border-left: 3px solid #b28a39;
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 2.2vw, 2.05rem);
  line-height: 1.3;
}

.guenter-story-plan {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.guenter-story-plan article {
  min-height: 320px;
  padding: clamp(24px, 2.6vw, 36px);
  border: 1px solid rgba(139, 103, 35, 0.15);
  border-radius: 24px;
  background: rgba(255, 253, 248, 0.9);
  box-shadow: 0 20px 50px -38px rgba(50, 35, 8, 0.36);
}

.guenter-story-plan article > span {
  color: #b28a39;
  font-family: var(--font-cond);
  font-size: 2.4rem;
  font-style: italic;
}

.guenter-story-plan h3 {
  margin: 56px 0 0;
  color: #17140e !important;
  -webkit-text-fill-color: #17140e !important;
  font-size: clamp(1.45rem, 2vw, 2rem);
}

.guenter-story-plan p {
  margin: 15px 0 0;
  color: #6a6256 !important;
}

.page-guenter-story .guenter-story-health {
  color: #fffdf8;
  background:
    radial-gradient(circle at 12% 20%, rgba(215, 195, 148, 0.17), transparent 28%),
    linear-gradient(145deg, #08090c, #14171d 60%, #08090c) !important;
}

.guenter-story-health__grid,
.guenter-story-competition__grid {
  display: grid;
  grid-template-columns: minmax(340px, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(44px, 8vw, 120px);
  align-items: center;
}

.guenter-story-health__media,
.guenter-story-competition__media {
  position: relative;
  min-height: 650px;
  margin: 0;
  overflow: hidden;
  border-radius: 30px;
}

.guenter-story-health__media img,
.guenter-story-competition__media img {
  width: 100%;
  height: 100%;
  min-height: 650px;
  object-fit: cover;
  object-position: center 20%;
}

.guenter-story-health__copy .eyebrow {
  color: #d7c394 !important;
}

.guenter-story-health__copy h2 {
  margin: 18px 0 0;
  color: #fffdf8 !important;
  -webkit-text-fill-color: #fffdf8 !important;
  font-size: clamp(2.7rem, 5.3vw, 6.2rem);
  line-height: 0.88;
}

.guenter-story-health__copy h2 span {
  color: #d7c394;
  -webkit-text-fill-color: #d7c394;
}

.guenter-story-health__copy > p {
  max-width: 66ch;
  margin: 22px 0 0;
  color: rgba(255, 253, 248, 0.76) !important;
  font-size: 1.06rem;
}

.guenter-story-health__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 34px 0 0;
  border-block: 1px solid rgba(215, 195, 148, 0.2);
}

.guenter-story-health__facts div {
  padding: 23px 17px 21px 0;
}

.guenter-story-health__facts div + div {
  padding-left: 17px;
  border-left: 1px solid rgba(215, 195, 148, 0.18);
}

.guenter-story-health__facts dt {
  color: #f2dfa8;
  font-family: var(--font-cond);
  font-size: clamp(1.55rem, 2.6vw, 2.9rem);
  font-style: italic;
  line-height: 0.95;
}

.guenter-story-health__facts dd {
  margin: 8px 0 0;
  color: rgba(255, 253, 248, 0.62);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.35;
  text-transform: uppercase;
}

.guenter-story-competition__grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
}

.guenter-story-competition__copy h2 {
  max-width: 16ch;
  margin: 18px 0 0;
  color: #17140e !important;
  -webkit-text-fill-color: #17140e !important;
  font-size: clamp(2.8rem, 5vw, 5.8rem);
  line-height: 0.89;
}

.guenter-story-competition__copy > p {
  max-width: 65ch;
  margin: 24px 0 0;
  color: #5f584d !important;
  font-size: 1.08rem;
}

.guenter-story-medals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 34px;
  border-block: 1px solid rgba(139, 103, 35, 0.2);
}

.guenter-story-medals div {
  padding: 22px 18px 20px 0;
}

.guenter-story-medals div + div {
  padding-left: 18px;
  border-left: 1px solid rgba(139, 103, 35, 0.18);
}

.guenter-story-medals strong,
.guenter-story-medals span {
  display: block;
}

.guenter-story-medals strong {
  color: #9b7427;
  font-family: var(--font-cond);
  font-size: clamp(1.7rem, 3vw, 3.3rem);
  font-style: italic;
  line-height: 0.92;
}

.guenter-story-medals span {
  margin-top: 8px;
  color: #746b5e;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.35;
  text-transform: uppercase;
}

.guenter-story-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.guenter-story-gallery figure {
  position: relative;
  min-height: 540px;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  background: #14171d;
}

.guenter-story-gallery img {
  width: 100%;
  height: 100%;
  min-height: 540px;
  object-fit: cover;
  object-position: center 18%;
  transition: transform 0.75s cubic-bezier(0.22, 1, 0.36, 1), filter 0.5s ease;
}

.guenter-story-gallery figcaption {
  position: absolute;
  right: 14px;
  bottom: 14px;
  left: 14px;
  padding: 12px 14px;
  color: rgba(255, 253, 248, 0.86);
  border-radius: 10px;
  background: rgba(8, 9, 12, 0.76);
  backdrop-filter: blur(10px);
  font-size: 0.77rem;
}

@media (hover: hover) and (pointer: fine) {
  .guenter-story-gallery figure:hover img {
    transform: scale(1.045);
    filter: saturate(1.04) contrast(1.03);
  }
}

.guenter-story-note {
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(139, 103, 35, 0.18);
  border-radius: 24px;
  background: #fffaf0;
}

.guenter-story-note h2 {
  max-width: 21ch;
  margin: 16px 0 0;
  color: #17140e !important;
  -webkit-text-fill-color: #17140e !important;
  font-size: clamp(2rem, 3.5vw, 3.8rem);
  line-height: 0.94;
}

.guenter-story-note > p:not(.eyebrow) {
  max-width: 82ch;
  margin: 20px 0 0;
  color: #625a4f !important;
}

.guenter-story-note > a {
  display: inline-flex;
  gap: 8px;
  margin-top: 22px;
  color: #8d691f;
  font-weight: 820;
}

@media (max-width: 1080px) {
  .guenter-story-preview {
    grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.25fr);
  }

  .guenter-story-hero__grid,
  .guenter-story-health__grid,
  .guenter-story-competition__grid {
    gap: 42px;
  }

  .guenter-story-plan {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .guenter-story-plan article {
    min-height: 270px;
  }

  .guenter-story-plan h3 {
    margin-top: 34px;
  }
}

@media (max-width: 820px) {
  .guenter-story-preview,
  .guenter-story-hero__grid,
  .guenter-story-editorial,
  .guenter-story-health__grid,
  .guenter-story-competition__grid {
    grid-template-columns: 1fr;
  }

  .guenter-story-preview__media {
    min-height: 460px;
  }

  .guenter-story-preview__copy {
    padding: 36px 28px 42px;
  }

  .guenter-story-hero__media,
  .guenter-story-hero__media img {
    min-height: 600px;
  }

  .guenter-story-health__media,
  .guenter-story-health__media img,
  .guenter-story-competition__media,
  .guenter-story-competition__media img {
    min-height: 620px;
  }

  .guenter-story-competition__media {
    order: -1;
  }
}

@media (max-width: 620px) {
  .guenter-story-preview {
    min-height: 0;
    border-radius: 24px;
  }

  .guenter-story-preview__media {
    min-height: 360px;
  }

  .guenter-story-preview__facts,
  .guenter-story-hero__facts,
  .guenter-story-health__facts,
  .guenter-story-medals {
    grid-template-columns: 1fr;
  }

  .guenter-story-preview__facts div,
  .guenter-story-preview__facts div + div,
  .guenter-story-hero__facts div,
  .guenter-story-hero__facts div + div,
  .guenter-story-health__facts div,
  .guenter-story-health__facts div + div,
  .guenter-story-medals div,
  .guenter-story-medals div + div {
    padding: 16px 0;
    border-left: 0;
  }

  .guenter-story-preview__facts div + div,
  .guenter-story-hero__facts div + div,
  .guenter-story-health__facts div + div,
  .guenter-story-medals div + div {
    border-top: 1px solid rgba(139, 103, 35, 0.16);
  }

  .guenter-story-hero__facts div + div,
  .guenter-story-health__facts div + div {
    border-top-color: rgba(215, 195, 148, 0.18);
  }

  .guenter-story-hero {
    padding-top: 116px !important;
  }

  .guenter-story-hero__copy h1 {
    font-size: clamp(3.2rem, 16vw, 5.2rem);
  }

  .guenter-story-hero__media,
  .guenter-story-hero__media img,
  .guenter-story-health__media,
  .guenter-story-health__media img,
  .guenter-story-competition__media,
  .guenter-story-competition__media img {
    min-height: 490px;
  }

  .guenter-story-plan,
  .guenter-story-gallery {
    grid-template-columns: 1fr;
  }

  .guenter-story-plan article {
    min-height: 240px;
  }

  .guenter-story-gallery figure,
  .guenter-story-gallery img {
    min-height: 500px;
  }
}

/* Dark product stages retain the same clear type hierarchy as the Home reference. */
.page-app :is(.app-system-stage, .app-function-stage, .app-preview-stage) .section-header :is(h2, h3) {
  color: #fffdf8 !important;
}

.page-app :is(.app-system-stage, .app-function-stage, .app-preview-stage) .section-header p:not(.eyebrow),
.page-app :is(.app-system-stage, .app-function-stage, .app-preview-stage) :is(.app-system-card__copy p, .app-function-stage .summary-row p, .device-preview-card__body p) {
  color: rgba(255, 253, 248, 0.84) !important;
}

.page-app :is(.app-system-stage, .app-function-stage, .app-preview-stage) .eyebrow {
  color: #f2dfa8 !important;
}

.page-app .app-system-card__copy h3,
.page-app .app-function-stage .summary-row h3,
.page-app .app-feature-card h3,
.page-app .device-preview-card__body h3 {
  color: #fffdf8 !important;
}

.page-app .app-feature-card__label,
.page-app .app-feature-card__number {
  color: var(--feature-accent) !important;
}

/* Firmenfitness uses intentional dark stages: make the complete copy legible. */
.page-firmenfitness :is(.corporate-module-stage, .corporate-outcome-stage) :is(h3, strong) {
  color: #fffdf8 !important;
}

.page-firmenfitness :is(.corporate-module-stage, .corporate-outcome-stage) :is(p, li) {
  color: rgba(255, 253, 248, 0.84) !important;
}

.page-firmenfitness :is(.corporate-module-stage, .corporate-outcome-stage) :is(.corporate-module-card__number, .corporate-outcome-card__number, .corporate-outcome-hero__eyebrow) {
  color: #d7c394 !important;
}

.page-firmenfitness .corporate-outcome-hero__accent {
  color: #d7c394 !important;
}

.page-firmenfitness :is(.corporate-module-card__list li, .corporate-outcome-card__list li) {
  border-color: rgba(215, 195, 148, 0.3) !important;
  background: rgba(215, 195, 148, 0.12) !important;
}

/* Personal Training start stage: dark hero copy, light cards below it. */
.page-coaching .coaching-start-stage .section-header h2 {
  color: #fffdf8 !important;
}

.page-coaching .coaching-start-stage .section-header h2 span,
.page-coaching .coaching-start-stage .eyebrow {
  color: #d7c394 !important;
}

.page-coaching .coaching-start-stage .section-header p:not(.eyebrow) {
  color: rgba(255, 253, 248, 0.84) !important;
}

/* Partner: direct premium sponsor destinations replace the former video block. */
.page-partner .premium-sponsor-stage {
  padding: clamp(30px, 4vw, 58px);
  border: 1px solid rgba(155, 116, 26, 0.3);
  border-radius: 34px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.2), transparent 34%),
    linear-gradient(145deg, #fffefa 0%, #fff7e8 100%);
  box-shadow: 0 30px 68px -44px rgba(43, 32, 12, 0.42);
}

.page-partner .premium-sponsor-stage__intro {
  max-width: 720px;
  margin-bottom: clamp(24px, 3vw, 38px);
}

.page-partner .premium-sponsor-stage__intro .section-header {
  margin-bottom: 0;
}

.page-partner .premium-sponsor-stage__intro .section-header h2 {
  max-width: 12ch;
  color: #19150e !important;
}

.page-partner .premium-sponsor-stage__intro .section-header p:not(.eyebrow) {
  color: rgba(25, 21, 14, 0.72) !important;
}

.page-partner .premium-sponsor-stage__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 26px);
}

.page-partner .premium-sponsor-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px 22px;
  align-items: center;
  min-height: 220px;
  padding: clamp(24px, 2.6vw, 34px);
  border: 1px solid rgba(42, 33, 18, 0.13);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.76);
  color: #19150e;
  box-shadow: 0 20px 44px -34px rgba(43, 32, 12, 0.42);
  text-decoration: none;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.page-partner .premium-sponsor-card:hover,
.page-partner .premium-sponsor-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(155, 116, 26, 0.6);
  box-shadow: 0 26px 50px -30px rgba(43, 32, 12, 0.36);
}

.page-partner .premium-sponsor-card__logo {
  display: grid;
  place-items: center;
  width: 118px;
  height: 118px;
  padding: 18px;
  border-radius: 22px;
  background: #17171b;
}

.page-partner .premium-sponsor-card--aeke .premium-sponsor-card__logo {
  background: #fff;
  border: 1px solid rgba(42, 33, 18, 0.1);
}

.page-partner .premium-sponsor-card--trueformance {
  border-color: rgba(170, 123, 25, .48);
  background:
    radial-gradient(circle at 92% 6%, rgba(241, 202, 96, .2), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.93), rgba(252,241,211,.9));
}

.page-partner .premium-sponsor-card--trueformance .premium-sponsor-card__logo {
  background: #000;
  box-shadow: inset 0 0 0 1px rgba(225, 184, 72, .28);
}

.page-partner .premium-sponsor-card--clever-fit .premium-sponsor-card__logo {
  overflow: hidden;
  padding: 0;
  background: #db4129;
}

.page-partner .premium-sponsor-card--clever-fit .premium-sponsor-card__logo img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
}

.page-partner .premium-sponsor-card__logo img {
  display: block;
  width: 100%;
  max-height: 76px;
  object-fit: contain;
}

.page-partner .premium-sponsor-card__copy {
  display: grid;
  gap: 8px;
}

.page-partner .premium-sponsor-card__copy strong {
  color: #19150e !important;
  font-family: var(--font-cond);
  font-size: clamp(1.65rem, 2.3vw, 2.2rem);
  font-style: italic;
  line-height: .95;
  text-transform: uppercase;
}

.page-partner .premium-sponsor-card__copy span {
  color: rgba(25, 21, 14, 0.7) !important;
  font-size: .98rem;
  line-height: 1.58;
}

.page-partner .premium-sponsor-card__copy .premium-sponsor-card__tier {
  width: fit-content;
  margin-bottom: 2px;
  padding: 5px 9px;
  border: 1px solid rgba(155, 116, 26, .34);
  border-radius: 999px;
  color: #76530d !important;
  background: linear-gradient(115deg, #fff0b7, #d7b55f);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .09em;
  line-height: 1;
  text-transform: uppercase;
}

/* Lange Abschnittsüberschriften brauchen Luft. Inter liegt nur aufrecht vor, die
   Kursive rechnet der Browser aus der geraden Schrift. Zusammen mit Versalien,
   Schriftstärke 800 und negativer Laufweite laufen mehrzeilige Überschriften
   sonst ineinander. Zeilenabstand und Laufweite korrigieren das, ohne den
   kursiven Auftritt der Marke aufzugeben. */
body.page-premium.page-keynote main :is(.section-header h2, .cta-band h2) {
  letter-spacing: 0;
  line-height: 1.06;
}

@media (max-width: 700px) {
  body.page-premium.page-keynote main :is(.section-header h2, .cta-band h2) {
    letter-spacing: 0 !important;
    line-height: 1.06 !important;
  }
}

/* Werbekennzeichnung auf der Sponsorenkarte: sachlich statt Auszeichnung, aber
   klar lesbar. Braucht dieselbe Spezifität wie die Karte selbst, sonst gewinnt
   die span-Regel weiter oben. */
.page-partner .premium-sponsor-card__copy .ad-note--sponsor {
  width: fit-content;
  margin-bottom: 2px;
  color: #4a443a !important;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
}

.page-partner .premium-sponsor-card__action {
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-top: 16px;
  border-top: 1px solid rgba(42, 33, 18, 0.1);
  color: #9b741a !important;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-partner .premium-sponsor-card__action b {
  font-size: 1.35rem;
  line-height: 1;
}

.page-partner .basis-partner-stage {
  display: grid;
  grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr);
  gap: clamp(24px, 4vw, 58px);
  align-items: center;
  margin-top: clamp(30px, 4vw, 48px);
  padding-top: clamp(28px, 4vw, 44px);
  border-top: 1px solid rgba(42, 33, 18, .14);
}

.page-partner .basis-partner-stage__intro h3 {
  margin: 7px 0 10px;
  color: #19150e;
  font-family: var(--font-cond);
  font-size: clamp(1.9rem, 3vw, 3rem);
  font-style: italic;
  line-height: .95;
  text-transform: uppercase;
}

.page-partner .basis-partner-stage__intro > p:not(.eyebrow) {
  max-width: 42ch;
  margin: 0;
  color: rgba(25, 21, 14, .66);
  font-size: .9rem;
  line-height: 1.58;
}

.page-partner .basis-partner-card {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr) 40px;
  gap: 20px;
  align-items: center;
  min-height: 150px;
  padding: 20px;
  border: 1px solid rgba(42, 33, 18, .12);
  border-radius: 22px;
  color: #19150e;
  background: rgba(255,255,255,.65);
  box-shadow: 0 18px 40px -34px rgba(43,32,12,.42);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.page-partner .basis-partner-card:hover,
.page-partner .basis-partner-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(252, 76, 2, .42);
  box-shadow: 0 24px 42px -30px rgba(43,32,12,.38);
}

.page-partner .basis-partner-card__logo {
  display: grid;
  width: 108px;
  height: 108px;
  place-items: center;
  overflow: hidden;
  padding: 10px;
  border-radius: 18px;
  background: #050505;
}

.page-partner .basis-partner-card__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.page-partner .basis-partner-card__copy {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.page-partner .basis-partner-card__copy small {
  color: #fc4c02;
  font-size: .61rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.page-partner .basis-partner-card__copy strong {
  color: #19150e;
  font-family: var(--font-cond);
  font-size: clamp(1.55rem, 2.5vw, 2.2rem);
  font-style: italic;
  line-height: 1;
  text-transform: uppercase;
}

.page-partner .basis-partner-card__copy > span {
  color: rgba(25,21,14,.66);
  font-size: .86rem;
  line-height: 1.5;
}

.page-partner .basis-partner-card__action {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: #fc4c02;
  font-size: 1.2rem;
}

@media (max-width: 720px) {
  .page-partner .premium-sponsor-stage__grid { grid-template-columns: 1fr; }
  .page-partner .premium-sponsor-card { min-height: 0; }
  .page-partner .basis-partner-stage { grid-template-columns: 1fr; }
  .page-partner .basis-partner-card { grid-template-columns: 84px minmax(0, 1fr) 36px; gap: 14px; padding: 15px; }
  .page-partner .basis-partner-card__logo { width: 84px; height: 84px; border-radius: 15px; }
  .page-partner .basis-partner-card__action { width: 36px; height: 36px; }
}

@media (max-width: 440px) {
  .page-partner .basis-partner-card { grid-template-columns: 72px minmax(0, 1fr); }
  .page-partner .basis-partner-card__logo { width: 72px; height: 72px; }
  .page-partner .basis-partner-card__action { display: none; }
}

/* Home hero: the new two-person photo remains the focus. */
@media (min-width: 901px) {
  .page-home-reboot .ff-hero--home-photo .ff-hero__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    min-height: 100%;
    padding-top: clamp(300px, 28vw, 430px);
    padding-bottom: 56px;
    text-align: center;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__eyebrow {
    margin-bottom: 14px;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__title {
    max-width: 8ch;
    font-size: clamp(3.5rem, 6.2vw, 6.8rem);
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__actions {
    margin-top: 26px;
    justify-content: center;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__facts {
    width: 100%;
    max-width: 1100px;
    margin-top: 32px;
    text-align: left;
  }
}

/* The mobile menu follows the new warm light system and has no dark frame. */
@media (max-width: 979px) {
  .page-home-reboot .nav-shell,
  .page-premium .nav-shell,
  .page-home-reboot .site-header.is-scrolled .nav-shell,
  .page-premium .site-header.is-scrolled .nav-shell {
    border-color: transparent !important;
    background: linear-gradient(135deg, #fff1b8 0%, #d7c394 58%, #b68727 100%) !important;
    box-shadow: 0 18px 38px -26px rgba(43, 32, 12, 0.42) !important;
  }

  .page-home-reboot .brand strong,
  .page-premium .brand strong,
  .page-home-reboot .brand small,
  .page-premium .brand small,
  .page-home-reboot .nav-toggle b,
  .page-premium .nav-toggle b {
    color: #19150e !important;
  }

  .page-home-reboot .nav-toggle,
  .page-premium .nav-toggle {
    border-color: transparent !important;
    background: rgba(255, 253, 248, 0.36) !important;
    box-shadow: none !important;
  }

  .page-home-reboot .nav-toggle span,
  .page-premium .nav-toggle span {
    background: #19150e !important;
  }

  .page-home-reboot .site-header.is-nav-open .nav-shell,
  .page-premium .site-header.is-nav-open .nav-shell {
    background: transparent !important;
    box-shadow: none !important;
  }

  .page-home-reboot .nav-toggle.is-open,
  .page-premium .nav-toggle.is-open {
    border-color: rgba(42, 33, 18, 0.12) !important;
    background: #fffdf8 !important;
    box-shadow: 0 14px 30px -20px rgba(43, 32, 12, 0.36) !important;
  }

  .page-home-reboot .site-nav,
  .page-premium .site-nav {
    border: 0 !important;
    background:
      radial-gradient(circle at 92% 6%, rgba(215, 195, 148, 0.3), transparent 24%),
      linear-gradient(145deg, #fffefa 0%, #fff5df 100%) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  .page-home-reboot .site-nav__brand-copy strong,
  .page-premium .site-nav__brand-copy strong,
  .page-home-reboot .site-nav a,
  .page-premium .site-nav a {
    color: #19150e !important;
  }

  .page-home-reboot .site-nav__brand-copy small,
  .page-premium .site-nav__brand-copy small,
  .page-home-reboot .site-nav__entry-arrow,
  .page-premium .site-nav__entry-arrow,
  .page-home-reboot .site-nav__social-title,
  .page-premium .site-nav__social-title {
    color: #9b741a !important;
  }

  .page-home-reboot .site-nav a,
  .page-premium .site-nav a {
    border-color: rgba(42, 33, 18, 0.1) !important;
    background: rgba(255, 255, 255, 0.7) !important;
    box-shadow: 0 12px 24px -22px rgba(43, 32, 12, 0.4) !important;
  }

  .page-home-reboot .site-nav a:hover,
  .page-home-reboot .site-nav a:focus-visible,
  .page-home-reboot .site-nav a[aria-current="page"],
  .page-premium .site-nav a:hover,
  .page-premium .site-nav a:focus-visible,
  .page-premium .site-nav a[aria-current="page"] {
    color: #19150e !important;
    border-color: rgba(155, 116, 26, 0.44) !important;
    background: linear-gradient(135deg, #fff1b8, #d7c394) !important;
    box-shadow: 0 16px 28px -20px rgba(155, 116, 26, 0.42) !important;
  }

  .page-home-reboot .site-nav__footer,
  .page-premium .site-nav__footer {
    border-top-color: rgba(42, 33, 18, 0.12) !important;
  }

  .page-home-reboot .social-link--nav-menu,
  .page-premium .social-link--nav-menu {
    border-color: rgba(42, 33, 18, 0.1) !important;
    background: #fffdf8 !important;
    box-shadow: 0 14px 26px -20px rgba(43, 32, 12, 0.34) !important;
  }
}

@media (max-width: 900px) {
  .page-home-reboot .ff-hero--home-photo {
    align-items: stretch;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 100svh;
    padding-top: calc(var(--header-height) + 24px);
    padding-bottom: max(24px, env(safe-area-inset-bottom, 0px));
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__title,
  .page-home-reboot .ff-hero--home-photo .ff-hero__eyebrow {
    display: none;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__actions {
    flex: 0 0 auto;
    margin-top: 0;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__facts {
    flex: 0 0 auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 20px;
    margin-top: clamp(24px, 4svh, 38px);
    padding-top: clamp(18px, 2.8svh, 26px);
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__facts div {
    min-height: 58px;
  }
}

@media (max-width: 900px) and (max-height: 720px) {
  .page-home-reboot .ff-hero--home-photo .ff-hero__inner {
    padding-top: calc(var(--header-height) + 12px);
    padding-bottom: max(24px, env(safe-area-inset-bottom, 0px));
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__actions {
    gap: 10px;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__actions .button {
    min-height: 52px;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__facts {
    gap: 12px 18px;
    margin-top: 18px;
    padding-top: 14px;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__facts div {
    min-height: 48px;
  }
}

/* ============================================================
   BODYBUILDING CALENDAR 2026 — independent multi-federation hub
   ============================================================ */
.page-bodybuilding-calendar {
  --bbcal-ink: #101114;
  --bbcal-paper: #fffdf8;
  --bbcal-gold: #d7c394;
  --bbcal-gold-deep: #9b741a;
  --bbcal-line: rgba(44, 34, 16, 0.13);
}

.page-bodybuilding-calendar .bbcal-hero {
  position: relative;
  display: grid;
  min-height: min(900px, 94svh);
  overflow: hidden;
  background: #0b0c0f;
}

.page-bodybuilding-calendar .bbcal-hero__image,
.page-bodybuilding-calendar .bbcal-hero__scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.page-bodybuilding-calendar .bbcal-hero__image {
  object-fit: cover;
  object-position: 67% 38%;
  filter: saturate(0.74) contrast(1.08) brightness(0.72);
}

.page-bodybuilding-calendar .bbcal-hero__scrim {
  background:
    linear-gradient(90deg, rgba(7, 8, 11, 0.97) 0%, rgba(7, 8, 11, 0.9) 38%, rgba(7, 8, 11, 0.48) 62%, rgba(7, 8, 11, 0.14) 80%),
    linear-gradient(0deg, rgba(7, 8, 11, 0.92) 0%, transparent 48%),
    radial-gradient(circle at 72% 34%, transparent 0%, rgba(7, 8, 11, 0.2) 50%, rgba(7, 8, 11, 0.64) 100%);
}

.page-bodybuilding-calendar .bbcal-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: end;
  width: min(100% - 56px, 1640px);
  min-height: inherit;
  padding: clamp(170px, 18vh, 230px) 0 64px;
}

.page-bodybuilding-calendar .bbcal-hero__copy {
  max-width: 920px;
}

.page-bodybuilding-calendar .bbcal-hero .eyebrow {
  margin-bottom: 24px;
  color: #f1dda5;
  font-weight: 850;
}

.page-bodybuilding-calendar .bbcal-hero h1 {
  max-width: 10ch;
  margin: 0;
  color: #fffdf8;
  font-family: var(--font-cond);
  font-size: clamp(4.4rem, 8.7vw, 9.2rem);
  font-style: italic;
  font-weight: 800;
  line-height: 0.83;
  text-transform: uppercase;
  text-shadow: 0 20px 70px rgba(0, 0, 0, 0.46);
}

.page-bodybuilding-calendar .bbcal-hero h1 span {
  color: var(--bbcal-gold);
}

.page-bodybuilding-calendar .bbcal-hero__lead {
  max-width: 62ch;
  margin: 30px 0 0;
  color: rgba(255, 253, 248, 0.82);
  font-size: clamp(1.04rem, 1.35vw, 1.28rem);
  line-height: 1.66;
}

.page-bodybuilding-calendar .bbcal-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
  margin-top: 34px;
}

.page-bodybuilding-calendar .bbcal-hero__updated {
  color: rgba(255, 253, 248, 0.62);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.page-bodybuilding-calendar .bbcal-hero__facts {
  display: grid;
  width: min(27vw, 360px);
  margin: 0;
  border-top: 1px solid rgba(215, 195, 148, 0.44);
}

.page-bodybuilding-calendar .bbcal-hero__facts div {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 18px;
  align-items: baseline;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.page-bodybuilding-calendar .bbcal-hero__facts dt {
  color: #fffdf8;
  font-family: var(--font-cond);
  font-size: clamp(2.3rem, 3.2vw, 3.4rem);
  font-style: italic;
  font-weight: 800;
  line-height: 0.9;
}

.page-bodybuilding-calendar .bbcal-hero__facts dd {
  margin: 0;
  color: rgba(255, 253, 248, 0.66);
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 1.35;
  text-transform: uppercase;
}

.page-bodybuilding-calendar .bbcal-intro__head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.72fr);
  gap: clamp(42px, 8vw, 130px);
  align-items: end;
  width: min(100%, 1540px);
  margin-inline: auto;
}

.page-bodybuilding-calendar .bbcal-intro h2,
.page-bodybuilding-calendar .bbcal-section-heading h2,
.page-bodybuilding-calendar .bbcal-method h2 {
  margin: 0;
  color: var(--bbcal-ink);
  font-family: var(--font-cond);
  font-size: clamp(3.1rem, 5vw, 5.2rem);
  font-style: italic;
  font-weight: 800;
  line-height: 0.88;
  text-transform: uppercase;
}

.page-bodybuilding-calendar .bbcal-intro h2 span {
  color: var(--bbcal-gold-deep);
}

.page-bodybuilding-calendar .bbcal-intro__copy {
  display: grid;
  gap: 18px;
  padding-bottom: 4px;
}

.page-bodybuilding-calendar .bbcal-intro__copy p,
.page-bodybuilding-calendar .bbcal-section-heading > p:not(.eyebrow),
.page-bodybuilding-calendar .bbcal-method__copy p {
  margin: 0;
  color: #575044;
  font-size: 1.04rem;
  line-height: 1.7;
}

.page-bodybuilding-calendar .bbcal-source-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  width: min(100%, 1540px);
  margin: clamp(44px, 7vw, 84px) auto 0;
}

.page-bodybuilding-calendar .bbcal-source-link {
  position: relative;
  display: flex;
  min-height: 190px;
  flex-direction: column;
  padding: 22px;
  overflow: hidden;
  border: 1px solid var(--bbcal-line);
  border-radius: 22px;
  color: var(--bbcal-ink);
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.28), transparent 42%),
    linear-gradient(145deg, #fffefa, #f4ecdd);
  box-shadow: 0 22px 50px -38px rgba(20, 15, 8, 0.66);
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.page-bodybuilding-calendar .bbcal-source-link::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #8f6510, #d7c394 64%, #fff1b8);
}

.page-bodybuilding-calendar .bbcal-source-link > span {
  color: var(--bbcal-gold-deep);
  font-family: var(--font-cond);
  font-size: 2.35rem;
  font-style: italic;
  font-weight: 800;
  line-height: 1;
}

.page-bodybuilding-calendar .bbcal-source-link strong {
  margin-top: auto;
  font-family: var(--font-cond);
  font-size: 1.25rem;
  font-style: italic;
  line-height: 1;
  text-transform: uppercase;
}

.page-bodybuilding-calendar .bbcal-source-link small {
  margin-top: 7px;
  color: #706758;
  font-size: 0.7rem;
  font-weight: 750;
  line-height: 1.35;
}

.page-bodybuilding-calendar .bbcal-source-link b {
  position: absolute;
  top: 20px;
  right: 20px;
  color: var(--bbcal-gold-deep);
  font-size: 1.2rem;
}

.page-bodybuilding-calendar .bbcal-source-link:is(:hover, :focus-visible) {
  transform: translateY(-5px);
  border-color: rgba(155, 116, 26, 0.48);
  box-shadow: 0 32px 58px -34px rgba(20, 15, 8, 0.72);
}

.page-bodybuilding-calendar .bbcal-section-heading {
  max-width: 970px;
  margin-bottom: clamp(34px, 5vw, 66px);
}

.page-bodybuilding-calendar .bbcal-section-heading h2 {
  font-size: clamp(2.9rem, 5.2vw, 5.6rem);
}

.page-bodybuilding-calendar .bbcal-section-heading > p:not(.eyebrow) {
  max-width: 66ch;
  margin-top: 20px;
}

.page-bodybuilding-calendar .bbcal-next-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.page-bodybuilding-calendar .bbcal-next-card {
  position: relative;
  display: flex;
  min-height: 320px;
  flex-direction: column;
  padding: 28px;
  overflow: hidden;
  border: 1px solid rgba(215, 195, 148, 0.22);
  border-radius: 28px;
  color: #fffdf8;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.18), transparent 42%),
    linear-gradient(145deg, #1c1b17, #0d1015);
  box-shadow: 0 30px 58px -38px rgba(0, 0, 0, 0.8);
  transition: transform 200ms ease, border-color 200ms ease;
}

.page-bodybuilding-calendar .bbcal-next-card__index {
  color: var(--bbcal-gold);
  font-family: var(--font-cond);
  font-size: 2.8rem;
  font-style: italic;
  font-weight: 800;
  line-height: 1;
}

.page-bodybuilding-calendar .bbcal-next-card time {
  margin-top: auto;
  color: var(--bbcal-gold);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.page-bodybuilding-calendar .bbcal-next-card h3 {
  max-width: 16ch;
  margin: 12px 0 0;
  color: #fffdf8;
  font-family: var(--font-cond);
  font-size: clamp(1.55rem, 2vw, 2.15rem);
  font-style: italic;
  line-height: 0.96;
  text-transform: uppercase;
}

.page-bodybuilding-calendar .bbcal-next-card p {
  max-width: 30ch;
  margin: 14px 44px 0 0;
  color: rgba(255, 253, 248, 0.6);
  font-size: 0.78rem;
  line-height: 1.5;
}

.page-bodybuilding-calendar .bbcal-next-card__arrow {
  position: absolute;
  right: 22px;
  bottom: 22px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  color: #15130d;
  background: linear-gradient(135deg, #fff1b8, #d7c394 58%, #b68727);
  transition: transform 180ms ease;
}

.page-bodybuilding-calendar .bbcal-next-card:is(:hover, :focus-visible) {
  transform: translateY(-6px);
  border-color: rgba(215, 195, 148, 0.58);
}

.page-bodybuilding-calendar .bbcal-next-card:is(:hover, :focus-visible) .bbcal-next-card__arrow {
  transform: translateX(3px);
}

.page-bodybuilding-calendar .bbcal-federations {
  display: grid;
  gap: 26px;
}

.page-bodybuilding-calendar .bbcal-federation {
  scroll-margin-top: 120px;
  padding: clamp(24px, 3.7vw, 54px);
  overflow: hidden;
  border: 1px solid rgba(215, 195, 148, 0.22);
  border-radius: 38px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.14), transparent 32%),
    linear-gradient(145deg, #1a1916, #0d1015 78%);
  box-shadow: 0 42px 80px -54px rgba(0, 0, 0, 0.84);
}

.page-bodybuilding-calendar .bbcal-federation__header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(22px, 3vw, 46px);
  align-items: start;
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.page-bodybuilding-calendar .bbcal-federation__number {
  color: var(--bbcal-gold);
  font-family: var(--font-cond);
  font-size: clamp(3.6rem, 5.4vw, 6rem);
  font-style: italic;
  font-weight: 800;
  line-height: 0.82;
}

.page-bodybuilding-calendar .bbcal-federation__header .eyebrow {
  margin: 0 0 10px;
  color: rgba(215, 195, 148, 0.76);
}

.page-bodybuilding-calendar .bbcal-federation__header h2 {
  margin: 0;
  color: #fffdf8;
  font-family: var(--font-cond);
  font-size: clamp(2.4rem, 4vw, 4.4rem);
  font-style: italic;
  line-height: 0.9;
  text-transform: uppercase;
}

.page-bodybuilding-calendar .bbcal-federation__header p:not(.eyebrow) {
  max-width: 64ch;
  margin: 14px 0 0;
  color: rgba(255, 253, 248, 0.64);
  line-height: 1.55;
}

.page-bodybuilding-calendar .bbcal-federation__header > a {
  display: flex;
  min-width: 190px;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 16px 12px 20px;
  border: 1px solid rgba(215, 195, 148, 0.4);
  border-radius: 999px;
  color: #fffdf8;
  font-size: 0.75rem;
  font-weight: 850;
  text-transform: uppercase;
  transition: background 180ms ease, border-color 180ms ease;
}

.page-bodybuilding-calendar .bbcal-federation__header > a span:last-child {
  color: var(--bbcal-gold);
  font-size: 1.15rem;
}

.page-bodybuilding-calendar .bbcal-federation__header > a:is(:hover, :focus-visible) {
  border-color: var(--bbcal-gold);
  background: rgba(215, 195, 148, 0.1);
}

.page-bodybuilding-calendar .bbcal-event-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.page-bodybuilding-calendar .bbcal-event {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  min-height: 126px;
  padding: 18px 20px;
  border: 1px solid rgba(101, 71, 6, 0.16);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.2), transparent 44%),
    linear-gradient(145deg, #fffefa, #f4ecdd);
}

.page-bodybuilding-calendar .bbcal-event__date {
  color: var(--bbcal-gold-deep);
  font-family: var(--font-cond);
  font-size: 1.24rem;
  font-style: italic;
  font-weight: 800;
  line-height: 1.05;
  text-transform: uppercase;
}

.page-bodybuilding-calendar .bbcal-event__body {
  min-width: 0;
  padding-left: 20px;
  border-left: 1px solid rgba(101, 71, 6, 0.18);
}

.page-bodybuilding-calendar .bbcal-event__type {
  color: #77694f;
  font-size: 0.64rem;
  font-weight: 850;
  text-transform: uppercase;
}

.page-bodybuilding-calendar .bbcal-event h3 {
  margin: 6px 0 0;
  color: #14120d;
  font-family: var(--font-cond);
  font-size: clamp(1.22rem, 1.5vw, 1.55rem);
  font-style: italic;
  line-height: 1;
  text-transform: uppercase;
}

.page-bodybuilding-calendar .bbcal-event p {
  display: flex;
  gap: 7px;
  align-items: baseline;
  margin: 9px 0 0;
  color: #665f54;
  font-size: 0.74rem;
  line-height: 1.35;
}

.page-bodybuilding-calendar .bbcal-event__status {
  padding: 6px 8px;
  border-radius: 999px;
  color: #385342;
  background: rgba(56, 83, 66, 0.11);
  font-size: 0.6rem;
  font-weight: 900;
  text-transform: uppercase;
}

.page-bodybuilding-calendar .bbcal-event__meta {
  display: grid;
  align-self: stretch;
  justify-items: end;
  align-content: space-between;
  gap: 10px;
}

.page-bodybuilding-calendar .bbcal-weeks-out {
  display: grid;
  min-width: 74px;
  min-height: 62px;
  place-content: center;
  padding: 8px 10px;
  border: 1px solid rgba(155, 116, 26, .3);
  border-radius: 13px;
  color: #17120a;
  background:
    radial-gradient(circle at 80% 10%, rgba(255,255,255,.5), transparent 36%),
    linear-gradient(135deg, #f5e5b7, #d7bd78);
  text-align: center;
  box-shadow: 0 12px 22px -18px rgba(76, 51, 7, .65);
}

.page-bodybuilding-calendar .bbcal-weeks-out strong {
  color: #17120a;
  font-family: var(--font-cond);
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 900;
  line-height: .85;
}

.page-bodybuilding-calendar .bbcal-weeks-out small {
  margin-top: 5px;
  color: #634b17;
  font-size: .49rem;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.page-bodybuilding-calendar .bbcal-weeks-out.is-show-day {
  border-color: rgba(94, 126, 80, .48);
  background: linear-gradient(135deg, #dce8c8, #a6bf8c);
}

.page-bodybuilding-calendar .bbcal-weeks-out.is-show-over {
  border-color: rgba(20,18,13,.12);
  background: linear-gradient(135deg, #ece8df, #cfc7b8);
  box-shadow: none;
}

.page-bodybuilding-calendar .bbcal-weeks-note {
  display: flex;
  width: fit-content;
  max-width: 72ch !important;
  align-items: center;
  gap: 9px;
  margin-top: 18px !important;
  padding: 10px 13px;
  border: 1px solid rgba(155,116,26,.2);
  border-radius: 12px;
  color: #5d513c !important;
  background: rgba(215,195,148,.13);
  font-size: .75rem;
  line-height: 1.45;
}

.page-bodybuilding-calendar .bbcal-weeks-note > span {
  color: var(--bbcal-gold-deep);
  font-size: 1rem;
  font-weight: 900;
}

.page-bodybuilding-calendar .bbcal-archive {
  margin-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.page-bodybuilding-calendar .bbcal-archive summary {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: rgba(255, 253, 248, 0.72);
  font-size: 0.8rem;
  font-weight: 850;
  text-transform: uppercase;
  cursor: pointer;
}

.page-bodybuilding-calendar .bbcal-archive summary strong {
  color: var(--bbcal-gold);
  font-size: 0.7rem;
}

.page-bodybuilding-calendar .bbcal-event-list--archive {
  margin-top: 0;
  padding-bottom: 4px;
}

.page-bodybuilding-calendar .bbcal-event--past {
  opacity: 0.78;
  filter: saturate(0.72);
}

.page-bodybuilding-calendar .bbcal-event--past .bbcal-event__status {
  color: #746b5d;
  background: rgba(20, 18, 13, 0.08);
}

.page-bodybuilding-calendar .bbcal-next-card .bbcal-weeks-out--next {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 1;
  min-width: 78px;
  min-height: 66px;
}

.page-bodybuilding-calendar .bbcal-method__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.7fr);
  gap: clamp(44px, 8vw, 120px);
  align-items: start;
  width: min(100% - 40px, 1440px);
}

.page-bodybuilding-calendar .bbcal-method h2 {
  font-size: clamp(2.7rem, 4.7vw, 5.2rem);
}

.page-bodybuilding-calendar .bbcal-method__copy {
  display: grid;
  gap: 18px;
}

.page-bodybuilding-calendar .bbcal-method__copy .button {
  width: fit-content;
  margin-top: 8px;
}

.page-bodybuilding-calendar .bbcal-faq .faq {
  margin-top: 38px;
}

.page-bodybuilding-calendar .bbcal-guide-action {
  display: flex;
  justify-content: center;
  margin-top: 34px;
}

@media (max-width: 1250px) {
  .page-bodybuilding-calendar .bbcal-source-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-bodybuilding-calendar .bbcal-source-link {
    min-height: 160px;
  }

  .page-bodybuilding-calendar .bbcal-next-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-bodybuilding-calendar .bbcal-event-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .page-bodybuilding-calendar .bbcal-hero {
    min-height: 860px;
  }

  .page-bodybuilding-calendar .bbcal-hero__image {
    object-position: 62% center;
  }

  .page-bodybuilding-calendar .bbcal-hero__scrim {
    background:
      linear-gradient(0deg, rgba(7, 8, 11, 0.98) 0%, rgba(7, 8, 11, 0.83) 48%, rgba(7, 8, 11, 0.22) 78%),
      linear-gradient(90deg, rgba(7, 8, 11, 0.55), rgba(7, 8, 11, 0.08));
  }

  .page-bodybuilding-calendar .bbcal-hero__inner {
    grid-template-columns: 1fr;
    gap: 34px;
    align-content: end;
    width: calc(100% - 28px);
    padding: 150px 0 28px;
  }

  .page-bodybuilding-calendar .bbcal-hero h1 {
    font-size: clamp(3.6rem, 15vw, 6rem);
  }

  .page-bodybuilding-calendar .bbcal-hero__lead {
    max-width: 52ch;
    margin-top: 22px;
  }

  .page-bodybuilding-calendar .bbcal-hero__facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .page-bodybuilding-calendar .bbcal-hero__facts div {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 16px 12px 6px 0;
    border-right: 1px solid rgba(255, 255, 255, 0.13);
    border-bottom: 0;
  }

  .page-bodybuilding-calendar .bbcal-hero__facts div:last-child {
    border-right: 0;
  }

  .page-bodybuilding-calendar .bbcal-intro__head,
  .page-bodybuilding-calendar .bbcal-method__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .page-bodybuilding-calendar .bbcal-federation__header {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .page-bodybuilding-calendar .bbcal-federation__header > a {
    grid-column: 1 / -1;
    width: fit-content;
  }
}

@media (max-width: 680px) {
  .page-bodybuilding-calendar .bbcal-hero {
    min-height: 820px;
  }

  .page-bodybuilding-calendar .bbcal-hero h1 {
    max-width: none;
    font-size: clamp(2.85rem, 11.5vw, 4.7rem);
    word-break: normal;
    overflow-wrap: normal;
  }

  .page-bodybuilding-calendar .bbcal-hero__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .page-bodybuilding-calendar .bbcal-source-grid,
  .page-bodybuilding-calendar .bbcal-next-grid {
    grid-template-columns: 1fr;
  }

  .page-bodybuilding-calendar .bbcal-source-link {
    min-height: 132px;
  }

  .page-bodybuilding-calendar .bbcal-next-card {
    min-height: 270px;
  }

  .page-bodybuilding-calendar .bbcal-federation {
    padding: 22px 14px 16px;
    border-radius: 25px;
  }

  .page-bodybuilding-calendar .bbcal-federation__header {
    grid-template-columns: 1fr;
    gap: 16px;
    padding-inline: 6px;
  }

  .page-bodybuilding-calendar .bbcal-federation__number {
    font-size: 3.8rem;
  }

  .page-bodybuilding-calendar .bbcal-federation__header > a {
    width: 100%;
  }

  .page-bodybuilding-calendar .bbcal-event {
    grid-template-columns: 1fr auto;
    gap: 12px;
    padding: 18px;
  }

  .page-bodybuilding-calendar .bbcal-event__date {
    grid-column: 1 / 2;
  }

  .page-bodybuilding-calendar .bbcal-event__body {
    grid-column: 1 / -1;
    grid-row: 2;
    padding: 14px 0 0;
    border-top: 1px solid rgba(101, 71, 6, 0.18);
    border-left: 0;
  }

  .page-bodybuilding-calendar .bbcal-event__status {
    width: fit-content;
  }

  .page-bodybuilding-calendar .bbcal-event__meta {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: start;
  }

  .page-bodybuilding-calendar .bbcal-archive summary {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    padding-block: 14px;
  }
}

@media (max-width: 420px) {
  .page-bodybuilding-calendar .bbcal-hero h1 {
    font-size: 2.7rem;
  }

  .page-bodybuilding-calendar .bbcal-hero__facts dt {
    font-size: 2rem;
  }

  .page-bodybuilding-calendar .bbcal-hero__facts dd {
    font-size: 0.62rem;
  }

  .page-bodybuilding-calendar .bbcal-intro h2,
  .page-bodybuilding-calendar .bbcal-section-heading h2,
  .page-bodybuilding-calendar .bbcal-method h2 {
    font-size: 2.55rem;
  }
}

/* Mobile contrast pass for Events: dark stages are bright, warm light panels stay dark. */
@media (max-width: 900px) {
  .page-events .editorial-stage:not(.editorial-stage--event-video) :is(.section-header h2, .section-header h3, .summary-row h3) {
    color: #19150e !important;
  }

  .page-events .editorial-stage:not(.editorial-stage--event-video) :is(.section-header p:not(.eyebrow), .summary-row p) {
    color: rgba(25, 21, 14, 0.7) !important;
  }

  .page-events :is(.editorial-stage--event-video, .event-rule-stage, .event-fun-stage, .event-format-showcase) :is(h2, h3, h4, strong) {
    color: #fffdf8 !important;
  }

  .page-events :is(.editorial-stage--event-video, .event-rule-stage, .event-fun-stage, .event-format-showcase) :is(p, li) {
    color: rgba(255, 253, 248, 0.88) !important;
  }

  .page-events :is(.editorial-stage--event-video, .event-rule-stage, .event-fun-stage, .event-format-showcase) :is(.eyebrow, .event-format-card__number, .event-format-card__detail) {
    color: #d7c394 !important;
  }

  .page-events :is(.event-rule-stage, .event-fun-stage) .premium-proof-pills span {
    color: #fffdf8 !important;
  }

  .page-events .event-format-card :is(h3, p, .event-format-card__note),
  .page-events :is(.event-rule-stage__card, .event-fun-stage__card) figcaption :is(p, h3, span) {
    color: #fffdf8 !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.78) !important;
  }

  .page-events .event-reference-card {
    background: linear-gradient(160deg, #1c1c20, #0d0d10) !important;
  }

  .page-events .event-reference-card__body {
    background: transparent !important;
    border: 0 !important;
  }

  .page-events .event-reference-card__body .reference-card__name {
    color: #fffdf8 !important;
  }

  .page-events .event-reference-card__body > span:last-child {
    color: rgba(255, 253, 248, 0.78) !important;
  }
}

/* Gesundheitstag guide: on mobile, let the hero copy use the freed space. */
@media (max-width: 900px) {
  .page-guide-corporate .ff-hero__facts {
    display: none !important;
  }

  .page-guide-corporate .ff-hero__inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 100svh;
    padding-top: calc(var(--header-height) + 120px);
    padding-bottom: max(44px, env(safe-area-inset-bottom));
  }
}

/* Shared dark-stage typography: protect it from the global light-page text rule. */
.page-premium:not(.page-home-reboot) main :is(
  .app-system-stage,
  .app-function-stage,
  .app-preview-stage,
  .corporate-module-stage,
  .corporate-outcome-stage,
  .event-rule-stage,
  .event-fun-stage,
  .event-format-showcase,
  .editorial-stage--event-video
) :is(h2, h3, h4, strong) {
  color: #fffdf8 !important;
}

.page-premium:not(.page-home-reboot) main :is(
  .app-system-stage,
  .app-function-stage,
  .app-preview-stage,
  .corporate-module-stage,
  .corporate-outcome-stage,
  .event-rule-stage,
  .event-fun-stage,
  .event-format-showcase,
  .editorial-stage--event-video
) :is(p, li) {
  color: rgba(255, 253, 248, 0.84) !important;
}

.page-app main :is(.app-system-stage, .app-function-stage, .app-preview-stage) .eyebrow {
  color: #f2dfa8 !important;
}

.page-app main .app-function-stage .app-feature-card h3 {
  color: #fffdf8 !important;
}

.page-app main .app-function-stage .app-feature-card__label {
  color: var(--feature-accent) !important;
}

/* These cards are intentionally light surfaces inside a dark stage. */
.page-premium:not(.page-home-reboot) main :is(
  .coaching-start-stage .feature-card,
  .editorial-stage:not(.editorial-stage--event-video) .summary-row,
  .editorial-stage:not(.editorial-stage--event-video) .feature-card
) :is(h2, h3, h4, strong) {
  color: #19150e !important;
}

.page-premium:not(.page-home-reboot) main :is(
  .coaching-start-stage .feature-card,
  .editorial-stage:not(.editorial-stage--event-video) .summary-row,
  .editorial-stage:not(.editorial-stage--event-video) .feature-card
) :is(p, li) {
  color: rgba(25, 21, 14, 0.72) !important;
}

/* Dark surfaces share bright design tokens. This prevents the light page theme
   from leaking into intentionally cinematic modules on any page. */
body.page-premium:not(.page-home-reboot) main :is(
  .app-system-stage,
  .app-function-stage,
  .app-preview-stage,
  .corporate-module-stage,
  .corporate-outcome-stage,
  .coaching-outcome-stage,
  .coaching-reference-stage,
  .event-rule-stage,
  .event-fun-stage,
  .event-format-showcase,
  .event-stage-showcase,
  .editorial-stage--event-video,
  .event-authority-tile,
  .corporate-wide-video-stage
) {
  --cd-text: #fffdf8;
  --cd-dim: rgba(255, 253, 248, 0.84);
  --cd-line: rgba(255, 253, 248, 0.16);
  --cd-line-2: rgba(215, 195, 148, 0.36);
}

body.page-premium:not(.page-home-reboot) main :is(
  .app-system-stage,
  .app-function-stage,
  .app-preview-stage,
  .corporate-module-stage,
  .corporate-outcome-stage,
  .coaching-outcome-stage,
  .coaching-reference-stage,
  .event-rule-stage,
  .event-fun-stage,
  .event-format-showcase,
  .event-stage-showcase,
  .editorial-stage--event-video,
  .event-authority-tile,
  .corporate-wide-video-stage
) :is(.section-header h1, .section-header h2, .section-header h3, .summary-row h3, .feature-card h3, .app-system-card h3, .app-feature-card h3, .device-preview-card h3, .event-format-card h3, .event-stage-step h3, .event-stage-proof-card strong, .corporate-module-card h3, .corporate-outcome-card h3, .corporate-outcome-hero h3) {
  color: #fffdf8 !important;
}

body.page-premium:not(.page-home-reboot) main :is(
  .app-system-stage,
  .app-function-stage,
  .app-preview-stage,
  .corporate-module-stage,
  .corporate-outcome-stage,
  .coaching-outcome-stage,
  .coaching-reference-stage,
  .event-rule-stage,
  .event-fun-stage,
  .event-format-showcase,
  .event-stage-showcase,
  .editorial-stage--event-video,
  .event-authority-tile,
  .corporate-wide-video-stage
) :is(.section-header p:not(.eyebrow), .summary-row p, .feature-card p, .app-system-card p, .device-preview-card p, .event-format-card p, .event-stage-step p, .event-stage-proof-card p, .corporate-module-card p, .corporate-outcome-card p, .corporate-outcome-hero p) {
  color: rgba(255, 253, 248, 0.84) !important;
}

body.page-premium:not(.page-home-reboot) main :is(
  .app-system-stage,
  .app-function-stage,
  .app-preview-stage,
  .corporate-module-stage,
  .corporate-outcome-stage,
  .coaching-outcome-stage,
  .coaching-reference-stage,
  .event-rule-stage,
  .event-fun-stage,
  .event-format-showcase,
  .event-stage-showcase,
  .editorial-stage--event-video,
  .event-authority-tile,
  .corporate-wide-video-stage
) :is(.eyebrow, .app-feature-card__label, .app-system-card__number, .corporate-module-card__number, .corporate-outcome-card__number, .event-format-card__number) {
  color: #d7c394 !important;
}

/* Contrast exceptions: these are intentionally light cards embedded in dark
   editorial stages. Keep their copy dark instead of inheriting stage-white. */
body.page-premium.page-events main .editorial-stage--event-video .summary-row,
body.page-premium.page-coaching main .editorial-stage .summary-row,
body.page-premium.page-coaching main .coaching-outcome-stage .summary-row {
  background: linear-gradient(145deg, #fffefa 0%, #f7eedf 100%) !important;
  border-color: rgba(36, 27, 14, 0.14) !important;
}

body.page-premium.page-events main .editorial-stage--event-video .summary-row :is(h2, h3, h4, strong),
body.page-premium.page-coaching main .editorial-stage .summary-row :is(h2, h3, h4, strong),
body.page-premium.page-coaching main .coaching-outcome-stage .summary-row :is(h2, h3, h4, strong) {
  color: #19150e !important;
}

body.page-premium.page-events main .editorial-stage--event-video .summary-row :is(p, li),
body.page-premium.page-coaching main .editorial-stage .summary-row :is(p, li),
body.page-premium.page-coaching main .coaching-outcome-stage .summary-row :is(p, li) {
  color: rgba(25, 21, 14, 0.72) !important;
}

/* Event reference cards are dark cards: no pale text panel and no dark copy. */
body.page-premium.page-events main .event-reference-card__body {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Reference copy deliberately has no panel of its own. */
body.page-premium.page-events main .event-reference-card__copy,
body.page-premium.page-events main .event-reference-card__copy > span {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.page-premium.page-events main .event-reference-card__copy .reference-card__name {
  color: #fffdf8 !important;
}

body.page-premium.page-events main .event-reference-card__copy > span:last-child {
  color: rgba(255, 253, 248, 0.8) !important;
}

body.page-premium.page-events main .event-reference-card__body .reference-card__name {
  color: #fffdf8 !important;
}

body.page-premium.page-events main .event-reference-card__body > span:last-child {
  color: rgba(255, 253, 248, 0.80) !important;
}

/* Corporate process cards are dark surfaces too, including their checklist rows. */
body.page-premium.page-guide-corporate main .corporate-module-card :is(h2, h3, h4, strong),
body.page-premium.page-guide-corporate main .corporate-module-card :is(p, li, span) {
  color: #fffdf8 !important;
}

body.page-premium.page-guide-corporate main .corporate-module-card p {
  color: rgba(255, 253, 248, 0.82) !important;
}

body.page-premium.page-guide-corporate main .corporate-module-card li {
  background: transparent !important;
  color: rgba(255, 253, 248, 0.88) !important;
}

/* Mobile menu label is text, not a hamburger bar. */
@media (max-width: 979px) {
  .page-home-reboot .nav-toggle > .nav-toggle__label,
  .page-premium .nav-toggle > .nav-toggle__label {
    background: transparent !important;
    box-shadow: none !important;
    color: #19150e !important;
  }
}

/* Home App banner: crisp white lead line, gold emphasis line. */
.page-home-reboot .ed-app-banner h3 {
  color: #fffdf8 !important;
}

.page-home-reboot .ed-app-banner h3 span {
  color: #d7c394 !important;
}

/* Events references live on the dark card surface; the copy needs no inset panel. */
body.page-premium.page-events main .event-reference-card__body {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.page-premium.page-events main .event-reference-card__body :is(.reference-card__name, span) {
  background: transparent !important;
}

/* Light interview callouts need dark body copy for reliable contrast. */
body.page-premium.page-events main .editorial-stage--event-video .summary-row p {
  color: rgba(25, 21, 14, 0.78) !important;
}

/* The first Events editorial stage is intentionally light, so its lead stays dark. */
body.page-premium.page-events main .editorial-stage:not(.editorial-stage--event-video) .section-header p:not(.eyebrow) {
  color: rgba(25, 21, 14, 0.78) !important;
}

/* ============================================================
   MOBILE TYPE SYSTEM
   One shared scale keeps long German headlines readable across every
   content page. Component-specific desktop display sizes remain untouched.
   ============================================================ */
@media (max-width: 700px) {
  body.page-premium main :is(h1, h2) {
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: manual !important;
    text-wrap: balance;
  }

  body.page-premium main h3 {
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: manual !important;
    text-wrap: pretty;
  }

  body.page-premium main :is(
    .section-header,
    .ff-hero__inner,
    .summary-row,
    .feature-card,
    .legal-card,
    .app-system-card,
    .app-feature-card,
    .device-preview-card,
    .corporate-module-card,
    .corporate-outcome-card,
    .corporate-reference-band__copy,
    .event-format-card,
    .event-rule-stage__signal,
    .event-fun-stage__signal
  ) {
    min-width: 0;
    max-width: 100%;
  }

  body.page-premium main .ff-hero__title {
    max-width: 100% !important;
    font-size: clamp(2.35rem, 10.8vw, 2.85rem) !important;
    line-height: 0.91 !important;
    letter-spacing: -0.012em !important;
  }

  body.page-premium main :is(
    .section-header h2,
    .cta-band h2,
    .ed-section__title,
    .corporate-reference-band__copy h2
  ) {
    max-width: 100% !important;
    font-size: clamp(2rem, 9vw, 2.4rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.025em !important;
  }

  body.page-premium main :is(
    .ed-entry__body h3,
    .ed-app-banner h3,
    .spotlight-card__content h3,
    .app-system-card__copy h3,
    .app-feature-card h3,
    .device-preview-card__body h3,
    .corporate-module-card h3,
    .corporate-outcome-card h3,
    .event-format-card h3,
    .event-rule-stage__signal h3,
    .event-fun-stage__signal h3
  ) {
    max-width: 100% !important;
    font-size: clamp(1.45rem, 6.8vw, 1.85rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.02em !important;
  }

  body.page-premium main .corporate-outcome-hero h3 {
    font-size: clamp(1.95rem, 8vw, 2.1rem) !important;
    line-height: 0.98 !important;
  }

  body.page-premium main .corporate-outcome-hero__nowrap {
    white-space: normal !important;
  }

  body.page-premium.page-legal main .legal-card {
    width: 100%;
    min-width: 0;
    padding: clamp(20px, 6vw, 26px);
  }

  body.page-premium.page-legal main .legal-card h2 {
    max-width: 100%;
    font-size: clamp(1.2rem, 5.5vw, 1.45rem);
    line-height: 1.16;
  }
}

/* ============================================================
   NAVIGATION 2026
   A calmer desktop hierarchy, purposeful actions and a mobile
   menu that behaves like a compact destination overview.
   ============================================================ */
.page-premium .site-header {
  top: 10px;
  padding-inline: 10px;
}

.page-premium .nav-shell,
.page-premium .site-header.is-scrolled .nav-shell {
  width: min(100%, 1480px);
  min-height: 72px;
  padding: 8px 10px 8px 14px;
  gap: clamp(14px, 1.5vw, 24px);
  border: 1px solid rgba(45, 36, 20, 0.1) !important;
  border-radius: 22px;
  background: rgba(255, 253, 248, 0.92) !important;
  box-shadow:
    0 18px 45px -28px rgba(38, 28, 10, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  backdrop-filter: blur(22px) saturate(1.25);
  transition:
    min-height 220ms ease,
    background 220ms ease,
    box-shadow 220ms ease,
    transform 220ms ease;
}

.page-premium .site-header.is-scrolled .nav-shell {
  min-height: 66px;
  background: rgba(255, 253, 248, 0.97) !important;
  box-shadow:
    0 20px 48px -26px rgba(38, 28, 10, 0.5),
    inset 0 1px 0 #fff !important;
}

.page-premium .nav-shell > .brand {
  gap: 10px;
  flex: 0 0 auto;
  padding-right: clamp(2px, 0.7vw, 10px);
}

.page-premium .nav-shell > .brand .brand__mark {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: linear-gradient(145deg, #fff1b8, #b68727) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    0 10px 22px -14px rgba(77, 52, 4, 0.72) !important;
}

.page-premium .nav-shell > .brand .brand__name {
  color: #1a160f !important;
  font-size: 0.94rem;
  font-weight: 820;
  letter-spacing: -0.025em;
}

.page-premium .nav-shell > .brand small {
  color: rgba(26, 22, 15, 0.56) !important;
  font-size: 0.66rem;
  font-weight: 650;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.site-nav__label-mobile {
  display: none;
}

.site-nav__label-desktop {
  display: inline;
}

@media (min-width: 980px) {
  .page-premium .site-nav {
    position: static;
    inset: auto;
    display: flex;
    flex: 1 1 auto;
    max-width: 760px;
    margin: 0 auto;
    padding: 4px;
    border: 1px solid rgba(45, 36, 20, 0.07) !important;
    border-radius: 16px;
    background: rgba(38, 31, 20, 0.035) !important;
    box-shadow: inset 0 1px 2px rgba(38, 31, 20, 0.025) !important;
  }

  .page-premium .site-nav__overlay,
  .page-premium .site-nav__list {
    width: 100%;
    gap: 2px;
  }

  .page-premium .site-nav__entry--supplemental {
    display: none;
  }

  .page-premium .site-nav a {
    min-height: 38px;
    padding: 9px clamp(10px, 1vw, 16px);
    border: 0 !important;
    border-radius: 12px;
    color: rgba(26, 22, 15, 0.62) !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: clamp(0.78rem, 0.82vw, 0.87rem);
    font-weight: 720;
    letter-spacing: -0.012em;
    white-space: nowrap;
    transition:
      color 160ms ease,
      background 160ms ease,
      transform 160ms ease;
  }

  .page-premium .site-nav a::after {
    display: none !important;
  }

  .page-premium .site-nav a:hover,
  .page-premium .site-nav a:focus-visible {
    color: #1a160f !important;
    background: rgba(255, 255, 255, 0.72) !important;
    transform: translateY(-1px);
  }

  .page-premium .site-nav a[aria-current="page"],
  .page-premium .site-nav a.is-active {
    color: #1a160f !important;
    background: #fff !important;
    box-shadow:
      0 7px 18px -14px rgba(38, 28, 10, 0.65),
      inset 0 0 0 1px rgba(212, 165, 48, 0.22) !important;
  }

  .page-premium .nav-extras {
    display: flex;
    flex: 0 0 auto;
    gap: 7px;
    margin-left: 0;
  }

  .page-premium .language-switcher--desktop {
    display: inline-flex;
    margin-right: 2px;
    padding: 3px;
    border-radius: 11px;
    background: rgba(38, 31, 20, 0.045);
  }

  .page-premium .language-switcher--desktop > span {
    display: none;
  }

  .page-premium .language-switcher__button {
    min-width: 30px;
    min-height: 30px;
    border-radius: 8px;
  }

  .page-premium .language-switcher__button.is-active {
    color: #1a160f !important;
    background: #fff !important;
    box-shadow: 0 5px 14px -11px rgba(38, 28, 10, 0.65);
  }

  .nav-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 14px;
    border-radius: 12px;
    font-size: 0.82rem;
    font-weight: 790;
    white-space: nowrap;
    transition:
      transform 160ms ease,
      box-shadow 160ms ease,
      background 160ms ease;
  }

  .nav-action:hover,
  .nav-action:focus-visible {
    transform: translateY(-1px);
  }

  .nav-action--app {
    color: #1a160f;
    border: 1px solid rgba(45, 36, 20, 0.12);
    background: rgba(255, 255, 255, 0.68);
  }

  .nav-action--app:hover,
  .nav-action--app:focus-visible,
  .nav-action--app.is-active {
    border-color: rgba(198, 145, 24, 0.38);
    background: #fff6db;
  }

  .nav-action--contact {
    gap: 8px;
    min-width: 100px;
    color: #fffdf8;
    border: 1px solid #1a160f;
    background: #1a160f;
    box-shadow: 0 12px 24px -16px rgba(26, 22, 15, 0.8);
  }

  .nav-action--contact:hover,
  .nav-action--contact:focus-visible,
  .nav-action--contact.is-active {
    color: #1a160f;
    border-color: #b68727;
    background: #d7c394;
    box-shadow: 0 14px 26px -16px rgba(143, 97, 5, 0.7);
  }
}

@media (max-width: 979px) {
  .page-premium .site-header {
    top: 8px;
    padding-inline: 8px;
  }

  .page-premium .nav-shell,
  .page-premium .site-header.is-scrolled .nav-shell {
    width: 100%;
    min-height: 66px;
    margin-top: 0;
    padding: 7px 8px 7px 10px;
    border-radius: 20px;
    background: rgba(255, 253, 248, 0.95) !important;
    box-shadow:
      0 18px 42px -28px rgba(38, 28, 10, 0.52),
      inset 0 1px 0 #fff !important;
    backdrop-filter: blur(20px) saturate(1.2) !important;
  }

  .page-premium .site-header.is-nav-open .nav-shell {
    min-height: 66px;
    padding: 7px 8px 7px 10px;
    background: rgba(255, 253, 248, 0.98) !important;
  }

  .page-premium .nav-shell > .brand {
    position: relative;
    z-index: 46;
  }

  .page-premium .nav-shell > .brand .brand__mark {
    width: 42px;
    height: 42px;
    border-radius: 13px;
  }

  .page-premium .brand__name,
  .page-premium .brand small {
    color: #1a160f !important;
  }

  .page-premium .language-switcher--mobile {
    position: relative;
    z-index: 46;
    display: inline-flex;
    margin: 0 0 0 auto;
    padding: 3px;
    border-radius: 10px;
    color: rgba(26, 22, 15, 0.58) !important;
    background: rgba(38, 31, 20, 0.045);
  }

  .page-premium .language-switcher--mobile > span {
    display: none;
  }

  .page-premium .language-switcher--mobile .language-switcher__button {
    min-width: 29px;
    min-height: 29px;
    border-radius: 7px;
  }

  .page-premium .language-switcher--mobile .language-switcher__button.is-active {
    color: #1a160f !important;
    background: #fff !important;
    box-shadow: 0 5px 14px -11px rgba(38, 28, 10, 0.65);
  }

  .page-premium .nav-toggle {
    position: relative;
    z-index: 46;
    min-width: 44px;
    min-height: 44px;
    padding: 12px;
    grid-template-columns: 20px;
    border: 1px solid #1a160f !important;
    border-radius: 13px;
    color: #fffdf8 !important;
    background: #1a160f !important;
    box-shadow: 0 10px 20px -16px rgba(26, 22, 15, 0.8) !important;
  }

  .page-premium .nav-toggle > span:not(.nav-toggle__label) {
    width: 20px;
    background: #fffdf8 !important;
  }

  .page-premium .nav-toggle > .nav-toggle__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .page-premium .nav-toggle.is-open {
    position: relative;
    top: auto;
    right: auto;
    width: 44px;
    min-width: 44px;
    border-color: #b68727 !important;
    background: #1a160f !important;
    box-shadow: none !important;
  }

  .page-premium .site-nav,
  .page-premium .site-header.is-nav-open .site-nav {
    position: fixed;
    inset: 0;
    z-index: 990;
    display: none;
    max-height: 100dvh;
    padding:
      calc(env(safe-area-inset-top, 0px) + 92px)
      clamp(16px, 4vw, 28px)
      calc(env(safe-area-inset-bottom, 0px) + 24px);
    overflow-y: auto;
    border: 0 !important;
    border-radius: 0;
    background:
      radial-gradient(circle at 88% 4%, rgba(215, 195, 148, 0.3), transparent 23rem),
      linear-gradient(150deg, #fffdf8 0%, #f9efd9 100%) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  .page-premium .site-nav.is-open {
    display: flex;
    animation: nav-menu-enter 220ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
  }

  .page-premium .site-nav__overlay {
    width: min(100%, 760px);
    margin-inline: auto;
  }

  .page-premium .site-nav__brand-block {
    display: flex !important;
    align-items: center;
    gap: 14px;
    margin-bottom: clamp(20px, 5vw, 34px);
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(45, 36, 20, 0.12);
  }

  .page-premium .site-nav__brand-mark {
    display: none;
  }

  .page-premium .site-nav__brand-copy {
    display: grid;
    gap: 4px;
  }

  .page-premium .site-nav__brand-name {
    color: #1a160f !important;
    font-size: clamp(1.15rem, 4vw, 1.4rem);
    font-weight: 820;
    letter-spacing: -0.03em;
  }

  .page-premium .site-nav__brand-copy small {
    color: rgba(26, 22, 15, 0.58) !important;
    font-size: 0.78rem;
  }

  .page-premium .site-nav__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .page-premium .site-nav a {
    min-height: 64px;
    padding: 13px 14px;
    border: 1px solid rgba(45, 36, 20, 0.1) !important;
    border-radius: 16px;
    color: #1a160f !important;
    background: rgba(255, 255, 255, 0.6) !important;
    box-shadow: 0 14px 28px -26px rgba(38, 28, 10, 0.52) !important;
    font-size: clamp(0.86rem, 2.7vw, 0.98rem);
    font-weight: 760;
  }

  .page-premium .site-nav a::after {
    display: none !important;
  }

  .page-premium .site-nav a:hover,
  .page-premium .site-nav a:focus-visible,
  .page-premium .site-nav a[aria-current="page"] {
    color: #1a160f !important;
    border-color: rgba(190, 139, 22, 0.48) !important;
    background: linear-gradient(145deg, #fff1b8, #d7c394) !important;
    box-shadow: 0 16px 30px -22px rgba(143, 97, 5, 0.45) !important;
    transform: translateY(-1px);
  }

  .page-premium .site-nav__entry-main {
    gap: 11px;
  }

  .page-premium .site-nav__entry-icon {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    color: #8a610e;
    background: rgba(224, 173, 50, 0.14);
  }

  .page-premium .site-nav__entry-icon .program-icon {
    width: 18px;
    height: 18px;
  }

  .page-premium .site-nav__entry-arrow {
    display: none;
  }

  .site-nav__label-desktop {
    display: none;
  }

  .site-nav__label-mobile {
    display: inline;
  }

  .page-premium .site-nav__footer {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: clamp(20px, 5vw, 32px);
    padding-top: 18px;
    border-top: 1px solid rgba(45, 36, 20, 0.12);
  }

  .page-premium .site-nav__social-title {
    color: rgba(26, 22, 15, 0.58) !important;
    font-size: 0.76rem;
    font-weight: 760;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .page-premium .site-nav__socials {
    margin: 0;
    padding: 0;
    border: 0;
  }

  .page-premium .social-link--nav-menu {
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 7px;
    border: 1px solid rgba(45, 36, 20, 0.1) !important;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.72) !important;
    box-shadow: none !important;
  }
}

@media (max-width: 620px) {
  .page-premium .site-nav__list {
    grid-template-columns: 1fr;
  }

  .page-premium .site-nav a {
    min-height: 56px;
  }
}

/* Triathlon calendar: location search and dense, readable long-form directory. */
.page-triathlon-calendar .trical-hero .bbcal-hero__image {
  object-position: 62% center;
  filter: saturate(0.82) contrast(1.04);
}

.page-triathlon-calendar .trical-hero .bbcal-hero__scrim {
  background:
    linear-gradient(90deg, rgba(7, 8, 11, 0.98) 0%, rgba(7, 8, 11, 0.88) 42%, rgba(7, 8, 11, 0.28) 76%, rgba(7, 8, 11, 0.16) 100%),
    linear-gradient(0deg, rgba(7, 8, 11, 0.82), transparent 52%);
}

/* Triathlon top-area contrast lock: keep the hero and the first light section
   independent from later generic premium colour passes. */
html body.page-premium.page-triathlon-calendar main .trical-hero {
  color: #fffdf8 !important;
}

html body.page-premium.page-triathlon-calendar main .trical-hero .eyebrow {
  color: #f1dda5 !important;
  -webkit-text-fill-color: #f1dda5 !important;
}

html body.page-premium.page-triathlon-calendar main .trical-hero h1,
html body.page-premium.page-triathlon-calendar main .trical-hero .bbcal-hero__facts dt {
  color: #fffdf8 !important;
  -webkit-text-fill-color: #fffdf8 !important;
  text-shadow: 0 18px 54px rgba(0, 0, 0, 0.62);
}

html body.page-premium.page-triathlon-calendar main .trical-hero h1 span {
  color: #d7c394 !important;
  -webkit-text-fill-color: #d7c394 !important;
}

html body.page-premium.page-triathlon-calendar main .trical-hero .bbcal-hero__lead {
  color: rgba(255, 253, 248, 0.94) !important;
  -webkit-text-fill-color: rgba(255, 253, 248, 0.94) !important;
}

html body.page-premium.page-triathlon-calendar main .trical-hero :is(
  .bbcal-hero__updated,
  .bbcal-hero__facts dd
) {
  color: rgba(255, 253, 248, 0.78) !important;
  -webkit-text-fill-color: rgba(255, 253, 248, 0.78) !important;
}

html body.page-premium.page-triathlon-calendar main .trical-intro h2 {
  color: #101114 !important;
  -webkit-text-fill-color: #101114 !important;
}

html body.page-premium.page-triathlon-calendar main .trical-intro h2 span {
  color: #8b6819 !important;
  -webkit-text-fill-color: #8b6819 !important;
}

html body.page-premium.page-triathlon-calendar main .trical-intro .bbcal-intro__copy p {
  color: #574f44 !important;
  -webkit-text-fill-color: #574f44 !important;
}

html body.page-premium.page-triathlon-calendar main .trical-intro .bbcal-intro__copy strong {
  color: #19150e !important;
  -webkit-text-fill-color: #19150e !important;
}

.page-triathlon-calendar .trical-search-section {
  scroll-margin-top: 110px;
  background:
    radial-gradient(circle at 92% 8%, rgba(215, 195, 148, 0.23), transparent 25%),
    linear-gradient(180deg, #f4efe6, #fffdf8 20%, #f6f0e6 100%);
}

.page-triathlon-calendar .trical-intro {
  margin-bottom: clamp(38px, 5vw, 70px);
}

.page-triathlon-calendar .trical-filter {
  display: grid;
  grid-template-columns: 1.15fr 0.72fr 0.95fr auto;
  gap: 14px;
  align-items: end;
  padding: clamp(20px, 3vw, 36px);
  border: 1px solid rgba(215, 195, 148, 0.34);
  border-radius: 30px;
  color: #fffdf8;
  background:
    radial-gradient(circle at 90% 0%, rgba(215, 195, 148, 0.18), transparent 36%),
    linear-gradient(145deg, #1c1b18, #0c1016);
  box-shadow: 0 38px 72px -46px rgba(12, 10, 6, 0.9);
}

.page-triathlon-calendar .trical-filter label {
  display: grid;
  gap: 9px;
}

.page-triathlon-calendar .trical-filter label > span {
  color: #d7c394;
  font-size: 0.67rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.page-triathlon-calendar .trical-filter :is(input, select) {
  width: 100%;
  min-height: 58px;
  padding: 0 18px;
  border: 1px solid rgba(255, 253, 248, 0.2);
  border-radius: 15px;
  outline: 0;
  color: #fffdf8;
  background: rgba(255, 255, 255, 0.07);
  font: inherit;
  font-size: 0.95rem;
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.page-triathlon-calendar .trical-filter select {
  color-scheme: dark;
}

.page-triathlon-calendar .trical-filter :is(input, select):focus {
  border-color: #d7c394;
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0 0 0 4px rgba(215, 195, 148, 0.13);
}

.page-triathlon-calendar .trical-filter input::placeholder {
  color: rgba(255, 253, 248, 0.48);
}

.page-triathlon-calendar .trical-filter__submit {
  min-height: 58px;
  white-space: nowrap;
}

.page-triathlon-calendar .trical-filter__submit:disabled {
  cursor: wait;
  opacity: 0.64;
}

.page-triathlon-calendar .trical-filter__reset {
  grid-column: 1 / -1;
  width: fit-content;
  padding: 4px 0;
  border: 0;
  color: rgba(255, 253, 248, 0.7);
  background: transparent;
  font-size: 0.72rem;
  font-weight: 850;
  text-decoration: underline;
  text-decoration-color: rgba(215, 195, 148, 0.5);
  text-underline-offset: 5px;
  cursor: pointer;
}

.page-triathlon-calendar .trical-filter__privacy {
  grid-column: 1 / -1;
  margin: -1px 0 0;
  color: rgba(255, 253, 248, 0.46);
  font-size: 0.65rem;
  line-height: 1.45;
}

.page-triathlon-calendar .trical-results-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin: clamp(38px, 5vw, 66px) 0 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(44, 34, 16, 0.16);
}

.page-triathlon-calendar .trical-results-head > div {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.page-triathlon-calendar .trical-results-head strong {
  color: #9b741a;
  font-family: var(--font-cond);
  font-size: clamp(3.2rem, 6vw, 6rem);
  font-style: italic;
  line-height: 0.75;
}

.page-triathlon-calendar .trical-results-head span {
  color: #17150f;
  font-size: 0.8rem;
  font-weight: 850;
  text-transform: uppercase;
}

.page-triathlon-calendar .trical-results-head p {
  max-width: 56ch;
  margin: 0;
  color: #645d52;
  font-size: 0.78rem;
  text-align: right;
}

.page-triathlon-calendar .trical-no-results {
  display: grid;
  gap: 8px;
  padding: 28px;
  border: 1px solid rgba(155, 116, 26, 0.26);
  border-radius: 20px;
  color: #635b4f;
  background: rgba(215, 195, 148, 0.14);
}

.page-triathlon-calendar .trical-no-results[hidden],
.page-triathlon-calendar .sportcal-month[hidden],
.page-triathlon-calendar .sportcal-event[hidden] {
  display: none !important;
}

.page-triathlon-calendar .trical-no-results strong {
  color: #17150f;
  font-family: var(--font-cond);
  font-size: 1.5rem;
  font-style: italic;
  text-transform: uppercase;
}

.page-triathlon-calendar .sportcal-calendar {
  display: grid;
  gap: 20px;
}

.page-triathlon-calendar .sportcal-month {
  padding: clamp(18px, 2.6vw, 34px);
  border: 1px solid rgba(44, 34, 16, 0.12);
  border-radius: 28px;
  background: rgba(255, 253, 248, 0.76);
  box-shadow: 0 30px 62px -50px rgba(34, 25, 11, 0.8);
}

.page-triathlon-calendar .sportcal-month__heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
  padding: 0 4px 14px;
  border-bottom: 1px solid rgba(44, 34, 16, 0.11);
}

.page-triathlon-calendar .sportcal-month__heading h3 {
  margin: 0;
  color: #14120d;
  font-family: var(--font-cond);
  font-size: clamp(2rem, 3.3vw, 3.4rem);
  font-style: italic;
  line-height: 0.9;
  text-transform: uppercase;
}

.page-triathlon-calendar .sportcal-month__heading span {
  color: #8b6819;
  font-size: 0.68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.page-triathlon-calendar .sportcal-event-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.page-triathlon-calendar .sportcal-event {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  min-height: 132px;
  padding: 17px 18px;
  border: 1px solid rgba(101, 71, 6, 0.14);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.18), transparent 42%),
    linear-gradient(145deg, #fffefa, #f4ecdd);
}

.page-triathlon-calendar .sportcal-event__date {
  display: grid;
  gap: 8px;
}

.page-triathlon-calendar .sportcal-event__date time {
  color: #8b6819;
  font-family: var(--font-cond);
  font-size: 1rem;
  font-style: italic;
  font-weight: 800;
  line-height: 1.02;
  text-transform: uppercase;
}

.page-triathlon-calendar .sportcal-event__date span {
  width: fit-content;
  padding: 5px 7px;
  border-radius: 999px;
  color: #635b4f;
  background: rgba(20, 18, 13, 0.06);
  font-size: 0.57rem;
  font-weight: 850;
  text-transform: uppercase;
}

.page-triathlon-calendar .sportcal-event__body {
  min-width: 0;
  padding-left: 18px;
  border-left: 1px solid rgba(101, 71, 6, 0.16);
}

.page-triathlon-calendar .sportcal-event__type {
  color: #77694f;
  font-size: 0.59rem;
  font-weight: 850;
  text-transform: uppercase;
}

.page-triathlon-calendar .sportcal-event h3 {
  margin: 6px 0 0;
  color: #14120d;
  font-family: var(--font-cond);
  font-size: clamp(1.08rem, 1.35vw, 1.42rem);
  font-style: italic;
  line-height: 0.98;
  text-transform: uppercase;
}

.page-triathlon-calendar .sportcal-event__body p {
  display: flex;
  gap: 7px;
  margin: 8px 0 0;
  color: #665f54;
  font-size: 0.69rem;
}

.page-triathlon-calendar .sportcal-event__meta {
  display: grid;
  justify-items: end;
  gap: 8px;
  align-self: stretch;
  align-content: space-between;
}

.page-triathlon-calendar .sportcal-event__meta > span {
  padding: 5px 7px;
  border-radius: 999px;
  color: #385342;
  background: rgba(56, 83, 66, 0.1);
  font-size: 0.55rem;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
}

.page-triathlon-calendar .sportcal-event__meta .sportcal-event__distance {
  color: #795b17;
  background: rgba(215, 195, 148, 0.24);
}

.page-triathlon-calendar .sportcal-event__meta a {
  color: #5f4a19;
  font-size: 0.61rem;
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 4px;
  white-space: nowrap;
}

.page-triathlon-calendar .sportcal-event--past {
  opacity: 0.66;
  filter: saturate(0.68);
}

.page-triathlon-calendar .sportcal-event--past .sportcal-event__status {
  color: #746b5d;
  background: rgba(20, 18, 13, 0.08);
}

.calendar-past-archive {
  margin-top: clamp(22px, 3vw, 34px);
  overflow: hidden;
  border: 1px solid rgba(101, 71, 6, .18);
  border-radius: 22px;
  background: rgba(255, 253, 248, .72);
  box-shadow: 0 20px 42px -38px rgba(31, 24, 12, .62);
}

.calendar-past-archive > summary {
  display: flex;
  min-height: 88px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 22px;
  color: #17150f;
  cursor: pointer;
  list-style: none;
  transition: background 160ms ease;
}

.calendar-past-archive > summary::-webkit-details-marker {
  display: none;
}

.calendar-past-archive > summary:hover,
.calendar-past-archive > summary:focus-visible {
  background: rgba(215, 195, 148, .13);
}

.calendar-past-archive > summary > span {
  display: grid;
  gap: 5px;
}

.calendar-past-archive > summary small {
  color: #8b6819;
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.calendar-past-archive > summary strong {
  color: #17150f;
  font-family: var(--font-cond);
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  font-style: italic;
  line-height: 1;
  text-transform: uppercase;
}

.calendar-past-archive > summary b {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #6c5730;
  font-size: .68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.calendar-past-archive > summary b::after {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 9px;
  color: #fff;
  background: #8b6819;
  content: "+";
  font-size: 1rem;
  transition: transform 160ms ease;
}

.calendar-past-archive[open] > summary b::after {
  content: "−";
  transform: rotate(180deg);
}

.calendar-past-archive__content {
  display: grid;
  gap: 16px;
  padding: 0 16px 16px;
  border-top: 1px solid rgba(101, 71, 6, .1);
}

.calendar-past-archive__content > .sportcal-month {
  margin-top: 16px;
}

.calendar-past-archive--golf .calendar-past-archive__content,
.calendar-past-archive--dark .calendar-past-archive__content {
  padding: 16px;
}

.calendar-past-archive--dark {
  border-color: rgba(215, 195, 148, .22);
  background: rgba(255,255,255,.035);
}

.calendar-past-archive--dark > summary,
.calendar-past-archive--dark > summary strong {
  color: #fffdf8;
}

.calendar-past-archive--dark > summary small,
.calendar-past-archive--dark > summary b {
  color: #d7c394;
}

.calendar-past-archive--dark > summary:hover,
.calendar-past-archive--dark > summary:focus-visible {
  background: rgba(215,195,148,.08);
}

.calendar-past-archive--dark .calendar-past-archive__content {
  border-color: rgba(255,255,255,.1);
}

.page-triathlon-calendar .trical-source-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

/* Golf calendar: editorial directory with a separate professional portal. */
.page-golf-calendar .golfcal-hero {
  min-height: min(920px, 100svh);
  background: #080b0d;
}

.page-golf-calendar .golfcal-hero__graphic {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.page-golf-calendar .golfcal-hero__graphic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.page-golf-calendar .golfcal-hero .bbcal-hero__scrim {
  background:
    linear-gradient(90deg, rgba(7, 8, 11, 0.96) 0%, rgba(7, 8, 11, 0.83) 38%, rgba(7, 8, 11, 0.2) 68%, rgba(7, 8, 11, 0.08) 100%),
    linear-gradient(0deg, rgba(7, 8, 11, 0.5) 0%, transparent 38%);
}

.page-golf-calendar .golfcal-intro {
  background: linear-gradient(180deg, #fffdf8, #f4eee3);
}

.page-golf-calendar .golfcal-intro-layout {
  display: grid;
  grid-template-columns: minmax(290px, .72fr) minmax(0, 1.55fr);
  gap: clamp(36px, 5vw, 76px);
  align-items: stretch;
}

.page-golf-calendar .golfcal-intro-content,
.page-golf-calendar .golfcal-intro-visual {
  min-width: 0;
}

.page-golf-calendar .golfcal-intro-visual {
  position: relative;
  padding: 0 42px 52px 0;
}

.page-golf-calendar .golfcal-intro-image {
  position: relative;
  height: 100%;
  min-height: 630px;
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(101, 71, 6, .16);
  border-radius: 24px;
  background: #101812;
  box-shadow: 0 28px 56px -38px rgba(18, 22, 17, .52);
}

.page-golf-calendar .golfcal-intro-image::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(7, 10, 9, .82) 0%, rgba(7, 10, 9, .08) 38%, transparent 64%);
  content: "";
}

.page-golf-calendar .golfcal-intro-image img,
.page-golf-calendar .golfcal-intro-person img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-golf-calendar .golfcal-intro-image img {
  object-position: center center;
  transition: transform 600ms cubic-bezier(.2,.7,.2,1);
}

.page-golf-calendar .golfcal-intro-image:hover img {
  transform: scale(1.025);
}

.page-golf-calendar .golfcal-intro-image figcaption {
  position: absolute;
  z-index: 1;
  right: 24px;
  bottom: 24px;
  left: 24px;
  display: grid;
  gap: 6px;
}

.page-golf-calendar .golfcal-intro-image figcaption span {
  color: #d7c394;
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.page-golf-calendar .golfcal-intro-image figcaption strong {
  max-width: 12ch;
  color: #fffdf8;
  font-family: var(--font-cond);
  font-size: clamp(1.65rem, 2.4vw, 2.55rem);
  font-style: italic;
  line-height: .95;
  text-transform: uppercase;
}

.page-golf-calendar .golfcal-intro-person {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  width: clamp(132px, 12vw, 182px);
  aspect-ratio: .72;
  overflow: hidden;
  margin: 0;
  border: 6px solid #f6f0e5;
  border-radius: 18px;
  background: #172018;
  box-shadow: 0 24px 44px -20px rgba(18, 22, 17, .66);
  transform: rotate(2.5deg);
}

.page-golf-calendar .golfcal-intro-person img {
  object-position: 48% 62%;
}

.page-golf-calendar .golfcal-intro-person figcaption {
  position: absolute;
  right: 8px;
  bottom: 8px;
  left: 8px;
  padding: 7px 8px;
  border-radius: 8px;
  color: #fffdf8;
  background: rgba(7, 12, 10, .78);
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1.25;
  text-transform: uppercase;
}

.page-golf-calendar .golfcal-intro-layout .bbcal-intro__head {
  grid-template-columns: 1fr;
  gap: 24px;
}

.page-golf-calendar .golfcal-intro-layout .golfcal-portals {
  margin-top: clamp(32px, 4vw, 52px);
}

.page-golf-calendar .golfcal-portals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: clamp(42px, 6vw, 80px);
}

.page-golf-calendar .golfcal-portals > a {
  position: relative;
  display: grid;
  min-height: 220px;
  align-content: end;
  padding: 30px;
  overflow: hidden;
  border: 1px solid rgba(101, 71, 6, 0.18);
  border-radius: 28px;
  color: #17150f;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.27), transparent 42%),
    linear-gradient(145deg, #fffefa, #eee3d2);
  box-shadow: 0 34px 66px -46px rgba(34, 25, 11, 0.75);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.page-golf-calendar .golfcal-portals > a:nth-child(2) {
  color: #fffdf8;
  background: radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.18), transparent 40%), linear-gradient(145deg, #1b1b18, #0c1016);
}

.page-golf-calendar .golfcal-portals > a:hover { transform: translateY(-5px); }
.page-golf-calendar .golfcal-portals span { position: absolute; top: 24px; left: 28px; color: #a17a20; font-family: var(--font-cond); font-size: 3.5rem; font-style: italic; font-weight: 800; }
.page-golf-calendar .golfcal-portals small { color: #8b6819; font-size: .67rem; font-weight: 850; text-transform: uppercase; }
.page-golf-calendar .golfcal-portals > a:nth-child(2) small { color: #d7c394; }
.page-golf-calendar .golfcal-portals strong { margin-top: 8px; font-family: var(--font-cond); font-size: clamp(2rem, 3vw, 3.2rem); font-style: italic; line-height: .9; text-transform: uppercase; }
.page-golf-calendar .golfcal-portals > a:nth-child(2) strong { color: #fffdf8 !important; }
.page-golf-calendar .golfcal-portals b { position: absolute; right: 26px; bottom: 28px; color: #a17a20; font-size: 1.4rem; }

.page-golf-calendar .golfcal-official-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 28px;
  padding: clamp(24px, 3vw, 38px);
  border-radius: 26px;
  color: #fffdf8;
  background: radial-gradient(circle at 90% 0%, rgba(215,195,148,.18), transparent 36%), linear-gradient(145deg, #1b1b18, #0c1016);
}

.page-golf-calendar .golfcal-official-link div { display: grid; gap: 5px; }
.page-golf-calendar .golfcal-official-link div > span { color: #d7c394; font-size: .65rem; font-weight: 850; text-transform: uppercase; }
.page-golf-calendar .golfcal-official-link strong { color: #fffdf8; font-family: var(--font-cond); font-size: clamp(1.8rem, 3vw, 3rem); font-style: italic; text-transform: uppercase; }
.page-golf-calendar .golfcal-official-link p { margin: 0; color: rgba(255,253,248,.62); font-size: .78rem; }

.page-golf-calendar .golfcal-event-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.page-golf-calendar .golfcal-event {
  position: relative;
  display: flex;
  min-height: 285px;
  flex-direction: column;
  padding: 25px;
  overflow: hidden;
  border: 1px solid rgba(101, 71, 6, 0.15);
  border-radius: 23px;
  color: #17150f;
  background: radial-gradient(circle at 100% 0%, rgba(215,195,148,.22), transparent 38%), linear-gradient(145deg, #fffefa, #f1e8da);
  box-shadow: 0 28px 56px -44px rgba(31,24,12,.8);
  transition: transform 180ms ease, border-color 180ms ease;
}

.page-golf-calendar .golfcal-event:hover { transform: translateY(-5px); border-color: rgba(155,116,26,.42); }
.page-golf-calendar .golfcal-event time { color: #8b6819; font-size: .67rem; font-weight: 850; text-transform: uppercase; }
.page-golf-calendar .golfcal-event__type { width: fit-content; margin-top: 22px; padding: 6px 8px; border-radius: 999px; color: #625333; background: rgba(215,195,148,.25); font-size: .58rem; font-weight: 850; text-transform: uppercase; }
.page-golf-calendar .golfcal-event h3 { max-width: 18ch; margin: 12px 0 0; color: #17150f; font-family: var(--font-cond); font-size: clamp(1.45rem, 2vw, 2rem); font-style: italic; line-height: .96; text-transform: uppercase; }
.page-golf-calendar .golfcal-event p { display: flex; gap: 7px; margin: 13px 0 0; color: #655e53; font-size: .72rem; line-height: 1.45; }
.page-golf-calendar .golfcal-event__link { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 18px; border-top: 1px solid rgba(101,71,6,.14); color: #5d4918; font-size: .65rem; font-weight: 850; text-transform: uppercase; }
.page-golf-calendar .golfcal-event--past { opacity: .64; filter: saturate(.68); }

.page-golf-calendar .golfcal-association-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.page-golf-calendar .golfcal-association-grid > a {
  position: relative;
  display: grid;
  min-height: 185px;
  align-content: end;
  padding: 22px;
  border: 1px solid rgba(44,34,16,.13);
  border-radius: 20px;
  color: #17150f;
  background: #fffdf8;
  transition: transform 180ms ease, background 180ms ease;
}

.page-golf-calendar .golfcal-association-grid > a:hover { transform: translateY(-4px); background: #f6eedf; }
.page-golf-calendar .golfcal-association-grid span { position: absolute; top: 18px; left: 21px; color: #b08931; font-family: var(--font-cond); font-size: 2rem; font-style: italic; font-weight: 850; }
.page-golf-calendar .golfcal-association-grid small { color: #8b6819; font-size: .59rem; font-weight: 850; text-transform: uppercase; }
.page-golf-calendar .golfcal-association-grid strong { max-width: 20ch; margin-top: 7px; font-family: var(--font-cond); font-size: 1.35rem; font-style: italic; line-height: 1; text-transform: uppercase; }
.page-golf-calendar .golfcal-association-grid b { position: absolute; top: 20px; right: 20px; color: #8b6819; }
.page-golf-calendar .golfcal-association-note { margin: 20px 0 0; color: #6b645a; font-size: .7rem; }
.page-golf-calendar .golfcal-association-note a { color: #6f5314; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }

.page-golf-calendar .golfcal-pro {
  color: #fffdf8;
  background: radial-gradient(circle at 80% 0%, rgba(215,195,148,.13), transparent 30%), linear-gradient(145deg, #171814, #080c11 72%);
}

.page-golf-calendar .golfcal-pro .bbcal-section-heading h2 { color: #fffdf8; }
.page-golf-calendar .golfcal-pro .bbcal-section-heading p:not(.eyebrow) { color: rgba(255,253,248,.66); }
.page-golf-calendar .golfcal-event-grid--pro .golfcal-event { border-color: rgba(215,195,148,.22); color: #fffdf8; background: radial-gradient(circle at 100% 0%, rgba(215,195,148,.15), transparent 40%), linear-gradient(145deg, #20201d, #0f1319); }
.page-golf-calendar .golfcal-event-grid--pro .golfcal-event h3 { color: #fffdf8; }
.page-golf-calendar .golfcal-event-grid--pro .golfcal-event p { color: rgba(255,253,248,.58); }
.page-golf-calendar .golfcal-event-grid--pro .golfcal-event__type { color: #ead9aa; background: rgba(215,195,148,.12); }
.page-golf-calendar .golfcal-event-grid--pro .golfcal-event__link { border-color: rgba(255,255,255,.11); color: #d7c394; }

.page-golf-calendar .golfcal-pro-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}

.page-golf-calendar .golfcal-pro-links a { position: relative; display: grid; gap: 7px; padding: 22px 50px 22px 22px; border: 1px solid rgba(215,195,148,.2); border-radius: 18px; color: #fffdf8; background: rgba(255,255,255,.035); }
.page-golf-calendar .golfcal-pro-links span { color: #d7c394; font-size: .58rem; font-weight: 850; text-transform: uppercase; }
.page-golf-calendar .golfcal-pro-links strong { font-family: var(--font-cond); font-size: 1.3rem; font-style: italic; text-transform: uppercase; }
.page-golf-calendar .golfcal-pro-links b { position: absolute; top: 22px; right: 22px; color: #d7c394; }

.page-golf-calendar .golfcal-performance-cta {
  color: #fffdf8;
  background:
    radial-gradient(circle at 82% 12%, rgba(215,195,148,.17), transparent 30rem),
    linear-gradient(145deg, #101912, #070b0d 72%);
}

.page-golf-calendar .golfcal-performance-cta__inner {
  display: grid;
  grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr);
  gap: clamp(38px, 7vw, 100px);
  align-items: center;
}

.page-golf-calendar .golfcal-performance-cta figure {
  position: relative;
  min-height: 590px;
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(215,195,148,.22);
  border-radius: 26px;
  box-shadow: 0 36px 70px -42px rgba(0,0,0,.9);
}

.page-golf-calendar .golfcal-performance-cta figure::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(7,11,13,.42), transparent 38%);
  content: "";
}

.page-golf-calendar .golfcal-performance-cta figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 62%;
}

.page-golf-calendar .golfcal-performance-cta__copy h2 {
  max-width: 11ch;
  margin: 12px 0 24px;
  color: #fffdf8;
  font-family: var(--font-cond);
  font-size: clamp(3rem, 5.7vw, 6.3rem);
  font-style: italic;
  line-height: .87;
  letter-spacing: -.04em;
  text-transform: uppercase;
}

.page-golf-calendar .golfcal-performance-cta__copy h2 span {
  color: #d7c394;
}

.page-golf-calendar .golfcal-performance-cta__copy > p:not(.eyebrow) {
  max-width: 48ch;
  color: rgba(255,253,248,.67);
}

.page-golf-calendar .golfcal-performance-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}

.page-golf-calendar .golfcal-performance-cta .button--secondary {
  border-color: rgba(215,195,148,.34);
  color: #fffdf8;
  background: rgba(255,255,255,.04);
}

@media (max-width: 1180px) {
  .page-triathlon-calendar .trical-filter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-triathlon-calendar .trical-filter__submit { grid-column: 1 / -1; width: 100%; }
  .page-triathlon-calendar .trical-source-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-triathlon-calendar .sportcal-event-list { grid-template-columns: 1fr; }
  .page-golf-calendar .golfcal-association-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .page-triathlon-calendar .trical-hero .bbcal-hero__image { object-position: 66% center; }
  .page-triathlon-calendar .trical-hero .bbcal-hero__scrim { background: linear-gradient(0deg, rgba(7,8,11,.98) 0%, rgba(7,8,11,.85) 50%, rgba(7,8,11,.22) 79%); }
  .page-triathlon-calendar .trical-filter { grid-template-columns: 1fr; }
  .page-triathlon-calendar .trical-filter__submit { grid-column: auto; }
  .page-triathlon-calendar .trical-filter__reset,
  .page-triathlon-calendar .trical-filter__privacy { grid-column: auto; }
  .page-golf-calendar .golfcal-hero__graphic::before { top: -8%; right: -22%; width: 112%; height: 74%; }
  .page-golf-calendar .golfcal-hero__graphic span { top: 8%; right: 31%; height: 26%; }
  .page-golf-calendar .golfcal-hero__graphic i { right: 29%; bottom: 67%; }
  .page-golf-calendar .golfcal-hero__graphic b { display: none; }
  .page-golf-calendar .golfcal-hero .bbcal-hero__scrim { background: linear-gradient(0deg, rgba(7,8,11,.98) 0%, rgba(7,8,11,.86) 51%, rgba(7,8,11,.15) 78%); }
  .page-golf-calendar .golfcal-portals,
  .page-golf-calendar .golfcal-event-grid,
  .page-golf-calendar .golfcal-association-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-golf-calendar .golfcal-pro-links { grid-template-columns: 1fr; }
  .page-golf-calendar .golfcal-intro-layout { grid-template-columns: minmax(230px, .78fr) minmax(0, 1.22fr); gap: 26px; }
  .page-golf-calendar .golfcal-intro-visual { padding-right: 28px; }
  .page-golf-calendar .golfcal-intro-image { min-height: 560px; }
  .page-golf-calendar .golfcal-performance-cta__inner { grid-template-columns: .82fr 1.18fr; gap: 30px; }
  .page-golf-calendar .golfcal-performance-cta figure { min-height: 520px; }
}

@media (max-width: 680px) {
  .page-triathlon-calendar .trical-results-head { align-items: flex-start; flex-direction: column; gap: 14px; }
  .page-triathlon-calendar .trical-results-head p { text-align: left; }
  .page-triathlon-calendar .sportcal-month { padding: 17px 11px; border-radius: 21px; }
  .page-triathlon-calendar .sportcal-month__heading { align-items: flex-start; flex-direction: column; gap: 8px; padding-inline: 7px; }
  .page-triathlon-calendar .sportcal-event { grid-template-columns: 1fr auto; gap: 12px; padding: 17px; }
  .page-triathlon-calendar .sportcal-event__date { grid-column: 1; }
  .page-triathlon-calendar .sportcal-event__body { grid-column: 1 / -1; grid-row: 2; padding: 14px 0 0; border-top: 1px solid rgba(101,71,6,.16); border-left: 0; }
  .page-triathlon-calendar .sportcal-event__meta { grid-column: 2; grid-row: 1; align-self: start; }
  .page-triathlon-calendar .sportcal-event__meta a { position: absolute; right: 17px; bottom: 17px; }
  .page-triathlon-calendar .sportcal-event { position: relative; padding-bottom: 43px; }
  .page-triathlon-calendar .trical-source-grid { grid-template-columns: 1fr; }
  .page-golf-calendar .golfcal-portals,
  .page-golf-calendar .golfcal-event-grid,
  .page-golf-calendar .golfcal-association-grid { grid-template-columns: 1fr; }
  .page-golf-calendar .golfcal-portals > a { min-height: 190px; padding: 24px; }
  .page-golf-calendar .golfcal-official-link { align-items: stretch; flex-direction: column; }
  .page-golf-calendar .golfcal-official-link .button { width: 100%; }
  .page-golf-calendar .golfcal-event { min-height: 255px; }
  .page-golf-calendar .golfcal-association-grid > a { min-height: 155px; }
  .calendar-past-archive > summary { min-height: 82px; align-items: flex-start; flex-direction: column; gap: 12px; padding: 17px; }
  .calendar-past-archive > summary b { width: 100%; justify-content: space-between; }
  .calendar-past-archive__content { padding: 0 10px 10px; }
  .page-golf-calendar .golfcal-intro-layout { grid-template-columns: 1fr; }
  .page-golf-calendar .golfcal-intro-visual { padding: 0 24px 34px 0; }
  .page-golf-calendar .golfcal-intro-image { min-height: 480px; }
  .page-golf-calendar .golfcal-intro-person { width: 124px; }
  .page-golf-calendar .golfcal-performance-cta__inner { grid-template-columns: 1fr; }
  .page-golf-calendar .golfcal-performance-cta figure { min-height: 450px; }
  .page-golf-calendar .golfcal-performance-cta__actions { align-items: stretch; flex-direction: column; }
  .page-golf-calendar .golfcal-performance-cta__actions .button { width: 100%; }
}

/* Calendar contrast lock: this page deliberately mixes dark editorial stages
   with warm light cards, so it must override the generic premium color pass. */
html body.page-premium.page-bodybuilding-calendar main :is(
  .bbcal-hero h1,
  .bbcal-intro h2,
  .bbcal-section-heading h2,
  .bbcal-method h2,
  .bbcal-source-link > span,
  .bbcal-source-link strong,
  .bbcal-next-card__index,
  .bbcal-next-card h3,
  .bbcal-federation__number,
  .bbcal-federation__header h2,
  .bbcal-event__date,
  .bbcal-event h3
) {
  font-family: var(--font-cond) !important;
}

html body.page-premium.page-bodybuilding-calendar main .bbcal-hero h1,
html body.page-premium.page-bodybuilding-calendar main .bbcal-hero__facts dt,
html body.page-premium.page-bodybuilding-calendar main .bbcal-next-card h3,
html body.page-premium.page-bodybuilding-calendar main .bbcal-federation__header h2 {
  color: #fffdf8 !important;
  -webkit-text-fill-color: #fffdf8 !important;
}

html body.page-premium.page-bodybuilding-calendar main .bbcal-hero h1 span {
  color: #d7c394 !important;
  -webkit-text-fill-color: #d7c394 !important;
}

html body.page-premium.page-bodybuilding-calendar main .bbcal-hero__lead {
  color: rgba(255, 253, 248, 0.82) !important;
}

html body.page-premium.page-bodybuilding-calendar main .bbcal-hero__facts dd,
html body.page-premium.page-bodybuilding-calendar main .bbcal-next-card p,
html body.page-premium.page-bodybuilding-calendar main .bbcal-federation__header p:not(.eyebrow) {
  color: rgba(255, 253, 248, 0.66) !important;
}

html body.page-premium.page-bodybuilding-calendar main .bbcal-event h3 {
  color: #14120d !important;
  -webkit-text-fill-color: #14120d !important;
}

html body.page-premium.page-bodybuilding-calendar main .bbcal-event p {
  color: #665f54 !important;
}

/* Boxing calendar: the same premium directory system, split into two clearly
   different competition worlds without adding either one to the main nav. */
.page-boxing-calendar .boxcal-hero .bbcal-hero__image {
  object-position: 64% 48%;
}

.page-boxing-calendar .boxcal-hero .bbcal-hero__scrim {
  background:
    linear-gradient(90deg, rgba(7, 7, 8, 0.98) 0%, rgba(7, 7, 8, 0.86) 39%, rgba(7, 7, 8, 0.28) 72%, rgba(7, 7, 8, 0.36) 100%),
    linear-gradient(0deg, rgba(7, 7, 8, 0.82) 0%, transparent 48%);
}

.page-boxing-calendar .boxcal-source-groups {
  display: grid;
  gap: clamp(34px, 5vw, 68px);
  margin-top: clamp(44px, 6vw, 82px);
}

.page-boxing-calendar .boxcal-source-groups > section {
  display: grid;
  grid-template-columns: minmax(170px, 0.24fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: start;
}

.page-boxing-calendar .boxcal-source-groups__title {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding-top: 18px;
  border-top: 1px solid rgba(20, 18, 13, 0.22);
}

.page-boxing-calendar .boxcal-source-groups__title span {
  color: #aa7c19;
  font: 800 0.72rem/1 var(--font-body);
  letter-spacing: 0.12em;
}

.page-boxing-calendar .boxcal-source-groups__title h3 {
  margin: 0;
  color: #15120d;
  font: italic 800 clamp(1.45rem, 2vw, 2.2rem)/0.95 var(--font-cond);
  letter-spacing: -0.045em;
  text-transform: uppercase;
}

.page-boxing-calendar .boxcal-source-grid--profi {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.page-boxing-calendar .boxcal-source-grid--amateur {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-boxing-calendar .boxcal-division {
  position: relative;
  margin-top: clamp(30px, 5vw, 58px);
}

.page-boxing-calendar .boxcal-division__marker {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin: 0 0 18px;
  padding: 0 4px 14px;
  border-bottom: 1px solid rgba(20, 18, 13, 0.18);
}

.page-boxing-calendar .boxcal-division__marker span {
  color: #a1771d;
  font: 800 0.7rem/1 var(--font-body);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.page-boxing-calendar .boxcal-division__marker strong {
  color: rgba(20, 18, 13, 0.18);
  font: italic 800 3.6rem/0.72 var(--font-cond);
}

.page-boxing-calendar .boxcal-amateur-heading {
  margin-top: clamp(92px, 11vw, 160px);
}

.page-boxing-calendar .boxcal-empty {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 26px;
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid rgba(216, 190, 128, 0.24);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.035);
}

.page-boxing-calendar .boxcal-empty strong {
  color: #fffdf8;
  font: italic 800 clamp(1.2rem, 2vw, 1.65rem)/1 var(--font-cond);
  text-transform: uppercase;
}

.page-boxing-calendar .boxcal-empty span {
  color: rgba(255, 253, 248, 0.62);
  font-size: 0.92rem;
  line-height: 1.55;
}

.page-boxing-calendar .bbcal-event__status--live {
  border-color: rgba(175, 125, 13, 0.32);
  background: #1a1710;
  color: #f0d790;
}

@media (max-width: 1080px) {
  .page-boxing-calendar .boxcal-source-groups > section {
    grid-template-columns: 1fr;
  }

  .page-boxing-calendar .boxcal-source-grid--profi {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .page-boxing-calendar .boxcal-hero .bbcal-hero__image {
    object-position: 59% center;
  }

  .page-boxing-calendar .boxcal-hero .bbcal-hero__scrim {
    background:
      linear-gradient(90deg, rgba(7, 7, 8, 0.89), rgba(7, 7, 8, 0.48)),
      linear-gradient(0deg, rgba(7, 7, 8, 0.96) 0%, rgba(7, 7, 8, 0.34) 78%);
  }

  .page-boxing-calendar .boxcal-source-grid--profi,
  .page-boxing-calendar .boxcal-source-grid--amateur {
    grid-template-columns: 1fr;
  }

  .page-boxing-calendar .boxcal-source-groups__title {
    padding-top: 14px;
  }

  .page-boxing-calendar .boxcal-amateur-heading {
    margin-top: 78px;
  }

  .page-boxing-calendar .boxcal-division__marker strong {
    font-size: 2.8rem;
  }
}

/* Partner activation: editorial copy paired with a real Instagram case. */
.page-partner .partner-activation-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 500px);
  gap: clamp(32px, 5vw, 88px);
  align-items: start;
  width: min(100%, 1540px);
  margin-inline: auto;
}

.page-partner .partner-activation-layout__content {
  min-width: 0;
}

.page-partner .partner-activation-layout__content .section-header {
  max-width: 880px;
}

.page-partner .partner-activation-layout__content .summary-rows {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(30px, 4vw, 56px);
}

.page-partner .partner-activation-video {
  min-width: 0;
}

.page-partner .partner-activation-video > iframe {
  display: block;
  width: 100%;
  height: 680px;
  border: 0;
  background: transparent;
}

@media (max-width: 1080px) {
  .page-partner .partner-activation-layout {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 430px);
    gap: 28px;
  }

  .page-partner .partner-activation-layout__content .summary-rows {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px) {
  .page-partner .partner-activation-layout {
    grid-template-columns: 1fr;
  }

  .page-partner .partner-activation-video {
    width: min(100%, 500px);
    margin-inline: auto;
  }
}

@media (max-width: 520px) {
  .page-partner .partner-activation-video > iframe {
    height: 610px;
  }
}

/* Home hero: premium mobile reduction; desktop remains unchanged. */
.page-home-reboot .ff-hero__mobile-welcome {
  display: none;
}

@media (max-width: 900px) {
  .page-home-reboot .ff-hero--home-photo .ff-hero__actions {
    display: none !important;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__mobile-welcome {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 16px;
    color: #fffdf8;
    font-family: var(--font-cond);
    font-size: clamp(1.35rem, 5.8vw, 1.7rem);
    font-style: italic;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    text-shadow: 0 8px 28px rgba(0, 0, 0, 0.72);
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__mobile-welcome::before {
    content: "";
    width: 34px;
    height: 2px;
    flex: 0 0 34px;
    background: linear-gradient(90deg, #fff1b8, #b68727);
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__facts {
    margin-top: 0 !important;
    padding-top: 18px;
    border-top-color: rgba(255, 241, 184, 0.46) !important;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__facts div:nth-child(n + 5) {
    display: none !important;
  }
}

@media (max-width: 900px) and (max-height: 720px) {
  .page-home-reboot .ff-hero--home-photo .ff-hero__mobile-welcome {
    margin-bottom: 11px;
    font-size: 1.25rem;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__facts {
    padding-top: 13px;
  }
}

@media (max-width: 480px) {
  .page-premium .nav-shell > .brand small {
    display: none;
  }

  .page-premium .nav-shell > .brand .brand__name {
    font-size: 0.88rem;
  }

  .page-premium .site-nav__footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

@keyframes nav-menu-enter {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-premium .site-nav.is-open {
    animation: none;
  }

  .page-premium .site-nav a,
  .page-premium .nav-shell,
  .nav-action {
    transition: none;
  }
}

/* Preserve the new navigation system while restoring the richer Camp Dörfl palette. */
.page-premium .nav-shell,
.page-premium .site-header.is-scrolled .nav-shell {
  border-color: rgba(72, 49, 7, 0.24) !important;
  background:
    linear-gradient(135deg, #fff1b8 0%, #d7c394 48%, #b68727 100%) !important;
  box-shadow:
    0 20px 46px -28px rgba(74, 48, 4, 0.62),
    inset 0 1px 0 rgba(255, 250, 220, 0.72),
    inset 0 -1px 0 rgba(121, 78, 4, 0.12) !important;
}

.page-premium .site-header.is-scrolled .nav-shell {
  background:
    linear-gradient(135deg, #fff1b8 0%, #d7c394 52%, #b68727 100%) !important;
  box-shadow:
    0 22px 50px -26px rgba(66, 42, 3, 0.68),
    inset 0 1px 0 rgba(255, 250, 220, 0.76),
    inset 0 -1px 0 rgba(102, 65, 3, 0.16) !important;
}

.page-premium .nav-shell > .brand .brand__mark {
  background: rgba(255, 252, 235, 0.5) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    0 12px 24px -18px rgba(67, 42, 3, 0.75) !important;
}

.page-premium .nav-shell > .brand .brand__name,
.page-premium .nav-shell > .brand small,
.page-premium .language-switcher {
  color: #19140b !important;
}

@media (min-width: 980px) {
  .page-premium .site-nav {
    border-color: rgba(55, 37, 5, 0.13) !important;
    background: rgba(57, 38, 5, 0.09) !important;
    box-shadow:
      inset 0 1px 2px rgba(57, 38, 5, 0.06),
      0 1px 0 rgba(255, 250, 220, 0.34) !important;
  }

  .page-premium .site-nav a {
    color: rgba(25, 20, 11, 0.7) !important;
  }

  .page-premium .site-nav a:hover,
  .page-premium .site-nav a:focus-visible {
    color: #19140b !important;
    background: rgba(255, 250, 225, 0.34) !important;
  }

  .page-premium .site-nav a[aria-current="page"],
  .page-premium .site-nav a.is-active {
    color: #19140b !important;
    background: rgba(255, 253, 239, 0.7) !important;
    box-shadow:
      0 9px 20px -15px rgba(75, 48, 3, 0.68),
      inset 0 0 0 1px rgba(255, 251, 228, 0.52) !important;
  }

  .page-premium .language-switcher--desktop {
    background: rgba(57, 38, 5, 0.09);
  }

  .page-premium .language-switcher__button.is-active {
    background: rgba(255, 253, 239, 0.68) !important;
  }

  .nav-action--app {
    border-color: rgba(57, 38, 5, 0.18);
    background: rgba(255, 253, 239, 0.44);
  }

  .nav-action--app:hover,
  .nav-action--app:focus-visible,
  .nav-action--app.is-active {
    border-color: rgba(57, 38, 5, 0.28);
    background: rgba(255, 253, 239, 0.72);
  }

  .nav-action--contact {
    border-color: #19140b;
    background: #19140b;
    box-shadow: 0 14px 26px -17px rgba(25, 20, 11, 0.84);
  }

  .nav-action--contact:hover,
  .nav-action--contact:focus-visible,
  .nav-action--contact.is-active {
    color: #19140b;
    border-color: rgba(25, 20, 11, 0.24);
    background: rgba(255, 253, 239, 0.78);
  }
}

@media (max-width: 979px) {
  .page-premium .nav-shell,
  .page-premium .site-header.is-scrolled .nav-shell,
  .page-premium .site-header.is-nav-open .nav-shell {
    background:
      linear-gradient(135deg, #fff1b8 0%, #d7c394 58%, #b68727 100%) !important;
  }

  .page-premium .language-switcher--mobile {
    background: rgba(57, 38, 5, 0.09);
  }

  .page-premium .language-switcher--mobile .language-switcher__button.is-active {
    background: rgba(255, 253, 239, 0.68) !important;
  }
}

/* Final live-state guarantees: trueFormance gold, legible App stage, new title crop. */
.page-premium .nav-shell,
.page-premium .site-header.is-scrolled .nav-shell {
  border-color: rgba(155, 116, 26, 0.34) !important;
  background: linear-gradient(115deg, #fff1b8 0%, #d7c394 43%, #b68727 100%) !important;
}

.page-home-reboot .ed-app-banner {
  border-color: rgba(215, 195, 148, 0.46) !important;
  color: #f6f8fb !important;
  background:
    radial-gradient(circle at 4% 0%, rgba(215, 195, 148, 0.18), transparent 42%),
    linear-gradient(135deg, #0b192c 0%, #050a13 58%, #091426 100%) !important;
}

.page-home-reboot .ed-app-banner__media::after {
  background:
    linear-gradient(90deg, #07101d 0%, rgba(7, 16, 29, 0.96) 18%, rgba(7, 16, 29, 0.72) 38%, rgba(7, 16, 29, 0.14) 72%, rgba(5, 10, 19, 0.28) 100%),
    linear-gradient(0deg, rgba(5, 10, 19, 0.5), transparent 58%) !important;
}

.page-home-reboot .ed-app-banner h3 {
  color: #f6f8fb !important;
}

.page-home-reboot .ed-app-banner h3 span {
  background: linear-gradient(115deg, #fff1b8 0%, #d7c394 43%, #b68727 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent !important;
}

@media (min-width: 901px) {
  .page-home-reboot .ff-hero--home-photo .ff-hero__img {
    object-position: center top !important;
  }
}

@media (max-width: 979px) {
  .page-premium .nav-shell,
  .page-premium .site-header.is-scrolled .nav-shell,
  .page-premium .site-header.is-nav-open .nav-shell {
    background: linear-gradient(115deg, #fff1b8 0%, #d7c394 43%, #b68727 100%) !important;
  }
}

@media (max-width: 900px) {
  .page-home-reboot .ff-hero--home-photo {
    --ff-hero-mobile-image-position: 45% center;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__img {
    object-position: var(--ff-hero-mobile-image-position) !important;
  }

  .page-home-reboot .ed-app-banner__media::after {
    background:
      linear-gradient(180deg, rgba(5, 10, 19, 0.08) 0%, rgba(5, 10, 19, 0.36) 38%, rgba(5, 10, 19, 0.92) 72%, #050a13 100%) !important;
  }
}

/* Buttons 2026: the same compact geometry and restraint as the new navigation. */
.page-premium .button {
  min-height: 50px;
  gap: 12px;
  padding: 8px 9px 8px 17px;
  border-width: 1px;
  border-radius: 13px;
  font-family: var(--font-sans);
  font-size: 0.88rem;
  font-style: normal;
  font-weight: 790;
  letter-spacing: -0.012em !important;
  line-height: 1.1;
  text-transform: none;
  box-shadow: 0 14px 28px -20px rgba(25, 20, 11, 0.7);
  transition:
    transform 160ms ease,
    border-color 160ms ease,
    background 160ms ease,
    box-shadow 160ms ease;
}

.page-premium .button::before {
  opacity: 0;
}

.page-premium .button > span:last-child {
  display: inline-grid;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 9px;
  background: transparent !important;
  font-size: 0.9rem;
  opacity: 0.82;
}

.page-premium .button--primary {
  color: #07101f;
  border-color: rgba(155, 116, 26, 0.36);
  background: linear-gradient(115deg, #fff1b8 0%, #d7c394 43%, #b68727 100%);
  box-shadow:
    0 16px 30px -20px rgba(155, 116, 26, 0.8),
    inset 0 1px 0 rgba(255, 250, 224, 0.72);
}

.page-premium .button--primary > span:first-child,
.page-premium .button--primary > span:last-child {
  color: #07101f !important;
}

.page-premium .button--primary:hover,
.page-premium .button--primary:focus-visible {
  color: #07101f;
  border-color: rgba(155, 116, 26, 0.52);
  background: linear-gradient(115deg, #fff1b8 0%, #d7c394 48%, #b68727 100%);
  box-shadow:
    0 20px 34px -20px rgba(155, 116, 26, 0.88),
    inset 0 1px 0 rgba(255, 252, 235, 0.8);
}

.page-premium .button--secondary,
.page-premium .button--secondary-light {
  color: #19140b;
  border-color: rgba(45, 36, 20, 0.14);
  background: rgba(255, 253, 248, 0.9);
  box-shadow:
    0 14px 28px -22px rgba(25, 20, 11, 0.6),
    inset 0 1px 0 #fff;
  backdrop-filter: blur(12px);
}

.page-premium .button--secondary > span:first-child,
.page-premium .button--secondary > span:last-child,
.page-premium .button--secondary-light > span:first-child,
.page-premium .button--secondary-light > span:last-child {
  color: #19140b !important;
}

.page-premium .button--secondary:hover,
.page-premium .button--secondary:focus-visible,
.page-premium .button--secondary-light:hover,
.page-premium .button--secondary-light:focus-visible {
  color: #19140b;
  border-color: rgba(155, 116, 26, 0.4);
  background: #fffdf8;
  box-shadow:
    0 18px 32px -22px rgba(25, 20, 11, 0.68),
    inset 0 0 0 1px rgba(215, 195, 148, 0.16);
}

.page-premium .button--ghost {
  color: #f6f8fb;
  border-color: rgba(242, 223, 168, 0.32);
  background: rgba(5, 10, 19, 0.56);
  box-shadow:
    0 16px 30px -22px rgba(0, 0, 0, 0.88),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(14px);
}

.page-premium .button--ghost > span:first-child {
  color: #f6f8fb !important;
}

.page-premium .button--ghost > span:last-child {
  color: #f2dfa8 !important;
  border-color: rgba(242, 223, 168, 0.46);
}

.page-premium .button--ghost:hover,
.page-premium .button--ghost:focus-visible {
  color: #fff;
  border-color: rgba(242, 223, 168, 0.62);
  background: rgba(5, 10, 19, 0.76);
  box-shadow: 0 20px 34px -22px rgba(0, 0, 0, 0.92);
}

.page-premium .button:hover,
.page-premium .button:focus-visible {
  transform: translateY(-2px);
}

.page-premium .button:focus-visible {
  outline: 3px solid rgba(242, 223, 168, 0.5);
  outline-offset: 3px;
}

.page-premium .button:hover > span:last-child,
.page-premium .button:focus-visible > span:last-child {
  transform: translateX(2px);
  opacity: 1;
}

.page-home-reboot .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(1) .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(2) .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(3) .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(4) .ed-entry__cta,
.page-home-reboot .ed-app-banner__cta {
  border-radius: 12px !important;
  font-family: var(--font-sans);
  font-style: normal;
  font-weight: 790;
  letter-spacing: -0.01em !important;
  text-transform: none;
}

.page-home-reboot .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(1) .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(2) .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(3) .ed-entry__cta,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(4) .ed-entry__cta {
  min-height: 38px !important;
  padding: 7px 7px 7px 13px !important;
  font-size: 0.77rem !important;
}

.page-home-reboot .ed-entry__cta span:last-child {
  border-radius: 8px !important;
}

.page-home-reboot .ed-app-banner__cta {
  min-height: 50px;
  padding: 8px 9px 8px 16px;
  font-size: 0.88rem;
}

.page-home-reboot .ed-app-banner__cta span {
  width: 32px;
  height: 32px;
  border-radius: 9px;
}

@media (max-width: 600px) {
  .page-premium .button {
    min-height: 48px;
    padding-left: 15px;
    font-size: 0.82rem;
  }

  .page-premium .button > span:last-child {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
  }
}

/* App image focal point: the copy stays dark, while phone and hand stay clear. */
.page-home-reboot .ed-app-banner__media img,
.page-home-reboot .ed-app-banner:hover .ed-app-banner__media img,
.page-home-reboot .ed-app-banner:focus-visible .ed-app-banner__media img {
  filter: saturate(0.96) contrast(1.04) brightness(0.98) !important;
}

.page-home-reboot .ed-app-banner__media::after {
  background:
    linear-gradient(
      90deg,
      #07101d 0%,
      rgba(7, 16, 29, 0.98) 32%,
      rgba(7, 16, 29, 0.86) 40%,
      rgba(7, 16, 29, 0.28) 47%,
      rgba(7, 16, 29, 0.04) 53%,
      transparent 58%
    ),
    linear-gradient(0deg, rgba(5, 10, 19, 0.2), transparent 42%) !important;
}

/* Firmenfitness card lists: explicit high contrast on the intentional dark stage. */
body.page-premium.page-firmenfitness main .corporate-module-stage .corporate-module-card__list li,
body.page-premium.page-firmenfitness main .corporate-outcome-stage .corporate-outcome-card__list li {
  border: 1px solid rgba(242, 223, 168, 0.18) !important;
  border-radius: 10px !important;
  background: rgba(242, 223, 168, 0.1) !important;
  color: #f6f8fb !important;
  font-weight: 730;
  text-shadow: none !important;
}

body.page-premium.page-firmenfitness main .corporate-module-stage .corporate-module-card__list li::before,
body.page-premium.page-firmenfitness main .corporate-outcome-stage .corporate-outcome-card__list li::before {
  background: #f2dfa8 !important;
  box-shadow: 0 0 10px rgba(215, 195, 148, 0.35);
}

/* Footer 2026: modular, calm and visually tied to navigation and buttons. */
.page-premium .site-footer {
  position: relative;
  overflow: hidden;
  padding-top: 18px;
  color: #f6f8fb;
  background:
    radial-gradient(circle at 88% 0%, rgba(215, 195, 148, 0.14), transparent 30rem),
    linear-gradient(145deg, #07101d 0%, #050a13 64%, #091426 100%);
  border-top: 1px solid rgba(215, 195, 148, 0.18);
}

.page-premium .footer-grid {
  grid-template-columns: minmax(270px, 1.1fr) minmax(360px, 1.45fr) minmax(240px, 0.85fr);
  gap: 14px;
  padding: 28px 0 18px;
}

.page-premium .footer-panel {
  min-width: 0;
  padding: clamp(22px, 2vw, 30px);
  border: 1px solid rgba(215, 195, 148, 0.14);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.018));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.045),
    0 22px 46px -36px rgba(0, 0, 0, 0.8);
}

.page-premium .site-footer .brand--footer {
  gap: 13px;
}

.page-premium .site-footer .brand--footer .brand__mark {
  width: 58px;
  height: 58px;
  border-radius: 15px;
  background: linear-gradient(115deg, #fff1b8 0%, #d7c394 43%, #b68727 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.56),
    0 14px 28px -20px rgba(182, 135, 39, 0.76);
}

.page-premium .site-footer .brand--footer .brand__name {
  color: #f6f8fb !important;
  font-size: 1rem;
  font-weight: 820;
}

.page-premium .site-footer .brand--footer small {
  width: fit-content;
  margin-top: 4px;
  padding: 3px 7px;
  border-radius: 6px;
  color: #07101f !important;
  background: #d7c394;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.page-premium .site-footer .footer-brand-panel > p {
  max-width: 38ch;
  margin: 22px 0 0;
  color: rgba(246, 248, 251, 0.72) !important;
  font-size: 0.9rem;
  line-height: 1.6;
}

.page-premium .site-footer h2 {
  margin: 0 0 16px;
  color: #f2dfa8 !important;
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 820;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.footer-primary-link {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  min-height: 44px !important;
  margin-top: 24px;
  padding: 7px 8px 7px 14px;
  border: 1px solid rgba(215, 195, 148, 0.42);
  border-radius: 12px;
  color: #07101f !important;
  background: linear-gradient(115deg, #fff1b8 0%, #d7c394 43%, #b68727 100%);
  font-size: 0.82rem;
  font-weight: 790;
  box-shadow: 0 16px 28px -20px rgba(182, 135, 39, 0.8);
}

.footer-primary-link > span {
  min-height: 0 !important;
  color: #07101f !important;
}

.footer-primary-link > span:last-child {
  display: grid !important;
  width: 28px !important;
  height: 28px;
  place-items: center;
  border: 1px solid rgba(7, 16, 31, 0.2);
  border-radius: 8px;
}

.footer-primary-link:hover,
.footer-primary-link:focus-visible {
  color: #07101f !important;
  background: linear-gradient(115deg, #fff1b8 0%, #d7c394 48%, #b68727 100%);
  transform: translateY(-1px);
}

.page-premium .footer-nav-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.page-premium .footer-nav-links a {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: rgba(246, 248, 251, 0.76) !important;
  font-size: 0.8rem;
  font-weight: 680;
  transition:
    color 150ms ease,
    border-color 150ms ease,
    background 150ms ease,
    transform 150ms ease;
}

.page-premium .footer-nav-links a:hover,
.page-premium .footer-nav-links a:focus-visible {
  color: #f6f8fb !important;
  border-color: rgba(215, 195, 148, 0.18);
  background: rgba(215, 195, 148, 0.08);
  transform: translateX(2px);
}

.page-premium .footer-contact-panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.page-premium .footer-email {
  display: inline-flex;
  width: 100%;
  min-height: 44px;
  align-items: center;
  overflow-wrap: anywhere;
  color: #f6f8fb !important;
  font-size: clamp(0.9rem, 1vw, 1.02rem);
  font-weight: 760;
}

.page-premium .footer-phone {
  display: inline-flex;
  width: 100%;
  min-height: 44px;
  align-items: center;
  color: #f6f8fb !important;
  font-size: clamp(0.9rem, 1vw, 1.02rem);
  font-weight: 760;
}

.page-premium .footer-whatsapp {
  display: inline-flex;
  width: fit-content;
  min-height: 44px;
  align-items: center;
  color: #f2dfa8 !important;
  font-size: 0.86rem;
  font-weight: 700;
}

.page-premium .footer-location {
  width: fit-content;
  min-height: 0;
  margin-top: 8px;
  padding: 5px 8px;
  border: 1px solid rgba(215, 195, 148, 0.16);
  border-radius: 8px;
  color: #f2dfa8 !important;
  background: rgba(215, 195, 148, 0.08);
  font-size: 0.72rem;
  font-weight: 760;
}

.page-premium .footer-contact-panel .social-link-row {
  gap: 8px;
  margin-top: auto;
  padding-top: 26px;
}

.page-premium .site-footer .social-link--footer {
  width: 38px;
  min-width: 38px;
  min-height: 38px;
  height: 38px;
  padding: 7px;
  border: 1px solid rgba(215, 195, 148, 0.18);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.045);
  box-shadow: none;
}

.page-premium .site-footer .social-link--footer:hover,
.page-premium .site-footer .social-link--footer:focus-visible {
  border-color: rgba(242, 223, 168, 0.44);
  background: rgba(215, 195, 148, 0.1);
}

.page-premium .footer-bottom {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 16px 0 22px;
  border-top: 0;
  font-size: 0.72rem;
}

.page-premium .footer-copyright,
.page-premium .footer-bottom__claim {
  width: auto;
  min-height: 0;
  color: rgba(246, 248, 251, 0.54) !important;
}

.page-premium .footer-bottom__links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px 12px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.page-premium .footer-bottom__links a,
.page-premium .footer-bottom__links .footer-link-button {
  width: auto;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 5px 0;
  color: rgba(246, 248, 251, 0.6) !important;
  font-size: 0.7rem;
}

.page-premium .footer-bottom__links a:hover,
.page-premium .footer-bottom__links a:focus-visible,
.page-premium .footer-bottom__links .footer-link-button:hover,
.page-premium .footer-bottom__links .footer-link-button:focus-visible {
  color: #f2dfa8 !important;
}

.page-premium .footer-bottom__claim {
  max-width: 32ch;
  text-align: right;
}

@media (max-width: 1050px) {
  .page-premium .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-premium .footer-brand-panel {
    grid-column: 1 / -1;
  }

  .page-premium .footer-bottom {
    grid-template-columns: 1fr;
  }

  .page-premium .footer-bottom__links {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .page-premium .footer-bottom__claim {
    text-align: left;
  }
}

@media (max-width: 900px) {
  .page-home-reboot .ed-app-banner__media::after {
    background:
      linear-gradient(
        180deg,
        rgba(5, 10, 19, 0.02) 0%,
        rgba(5, 10, 19, 0.08) 42%,
        rgba(5, 10, 19, 0.76) 70%,
        #050a13 100%
      ) !important;
  }
}

@media (max-width: 680px) {
  .page-premium .footer-grid {
    grid-template-columns: 1fr;
  }

  .page-premium .footer-brand-panel {
    grid-column: auto;
  }

  .page-premium .footer-nav-links {
    grid-template-columns: 1fr;
  }
}

/* Partner hero portrait: use the open right-hand side as an editorial photo stage. */
.page-partner .ff-hero__showcase--partner {
  align-self: stretch;
  padding: clamp(108px, 9vw, 142px) 0 clamp(34px, 4vw, 58px);
}

.page-partner .partner-hero__visual--portrait {
  position: relative;
  width: min(100%, 590px);
  height: 100%;
  max-height: 720px;
  min-height: 560px;
  overflow: hidden;
  border: 1px solid rgba(215, 195, 148, 0.28);
  border-radius: 28px;
  background: #091426;
  box-shadow:
    0 34px 72px -42px rgba(0, 0, 0, 0.92),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.page-partner .partner-hero__visual--portrait::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5, 10, 19, 0.22), transparent 28%),
    linear-gradient(0deg, rgba(5, 10, 19, 0.34), transparent 30%);
  pointer-events: none;
}

.page-partner .partner-hero__visual--portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  filter: saturate(0.9) contrast(1.04) brightness(0.92);
}

@media (max-width: 1180px) {
  .page-partner .ff-hero__showcase--partner {
    min-height: 560px;
    padding: 0;
  }

  .page-partner .partner-hero__visual--portrait {
    width: 100%;
    max-width: 720px;
    min-height: 540px;
    margin-inline: auto;
  }
}

@media (max-width: 680px) {
  .page-partner .ff-hero__showcase--partner {
    min-height: 430px;
  }

  .page-partner .partner-hero__visual--portrait {
    min-height: 430px;
    border-radius: 22px;
  }

  .page-partner .partner-hero__visual--portrait img {
    object-position: center 20%;
  }
}

/* Brand marks: show the transparent logo artwork without an extra tile. */
.page-premium .nav-shell > .brand .brand__mark,
.page-premium .site-footer .brand--footer .brand__mark {
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  overflow: visible;
  background: transparent !important;
  box-shadow: none !important;
}

.page-premium .nav-shell > .brand .brand__logo,
.page-premium .site-footer .brand--footer .brand__logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: none;
}

/* One gold system: headline accents use the exact navigation gradient. */
.page-premium :is(
  .ff-hero__title > span,
  .premium-hero__title > span,
  .reboot-hero h1 > span,
  .ed-section__title > span,
  .ed-app-banner h3 > span,
  .section-header h2 > span,
  .corporate-outcome-hero__accent
) {
  display: inline-block;
  background: linear-gradient(115deg, #fff1b8 0%, #d7c394 43%, #b68727 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
}

.page-premium .site-footer h2 {
  display: inline-block;
  width: fit-content;
  background: linear-gradient(115deg, #fff1b8 0%, #d7c394 43%, #b68727 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
}

.page-premium .site-footer .brand--footer small,
.page-premium .cta-band .button--primary {
  background: linear-gradient(115deg, #fff1b8 0%, #d7c394 43%, #b68727 100%) !important;
}

/* Home title: give the key promise enough separation from the stadium photo. */
.page-home-reboot .ff-hero--home-photo .ff-hero__title > span {
  background: none !important;
  color: #f2dfa8 !important;
  -webkit-text-fill-color: #f2dfa8;
  -webkit-text-stroke: 0;
  filter: none;
  text-shadow: 0 5px 24px rgba(0, 0, 0, 0.88);
}

/* App stage: one continuous image, with a soft copy scrim instead of a split seam. */
@media (min-width: 901px) {
  .page-home-reboot .ed-app-banner {
    background: #07101d !important;
  }

  .page-home-reboot .ed-app-banner__media {
    inset: 0 0 0 40% !important;
  }

  .page-home-reboot .ed-app-banner__media::after {
    background:
      linear-gradient(
        90deg,
        rgba(7, 16, 29, 0.99) 0%,
        rgba(7, 16, 29, 0.96) 10%,
        rgba(7, 16, 29, 0.72) 20%,
        rgba(7, 16, 29, 0.22) 28%,
        rgba(7, 16, 29, 0.04) 34%,
        transparent 40%
      ),
      linear-gradient(0deg, rgba(5, 10, 19, 0.18), transparent 44%) !important;
  }

  .page-home-reboot .ed-app-banner__media img {
    object-position: center 44% !important;
  }
}

/* Footer CTA: clear dark type, balanced width and a tactile arrow control. */
.page-premium .site-footer .footer-primary-link {
  justify-content: space-between;
  width: fit-content;
  min-width: min(100%, 210px);
  min-height: 48px !important;
  padding: 8px 8px 8px 16px;
  border-color: rgba(255, 241, 184, 0.58);
  border-radius: 13px;
  color: #07101f !important;
  background: linear-gradient(115deg, #fff1b8 0%, #d7c394 43%, #b68727 100%) !important;
  box-shadow:
    0 18px 34px -22px rgba(182, 135, 39, 0.92),
    inset 0 1px 0 rgba(255, 250, 224, 0.72);
}

.page-premium .site-footer .footer-primary-link > span {
  color: #07101f !important;
  -webkit-text-fill-color: #07101f !important;
}

.page-premium .site-footer .footer-primary-link > span:last-child {
  width: 31px !important;
  height: 31px;
  border-color: rgba(7, 16, 31, 0.26);
  border-radius: 9px;
  background: rgba(7, 16, 31, 0.08) !important;
}

.page-premium .site-footer .footer-primary-link:hover,
.page-premium .site-footer .footer-primary-link:focus-visible {
  color: #07101f !important;
  border-color: rgba(255, 241, 184, 0.78);
  background: linear-gradient(115deg, #fff1b8 0%, #f2dfa8 48%, #b68727 100%) !important;
  box-shadow:
    0 22px 38px -22px rgba(182, 135, 39, 0.98),
    inset 0 1px 0 rgba(255, 253, 239, 0.82);
  transform: translateY(-2px);
}

/* Mobile navigation: one stable full-screen state with reliable touch scrolling. */
@media (max-width: 979px) {
  body.nav-open {
    overflow: hidden;
    overscroll-behavior: none;
  }

  .page-premium .site-header {
    z-index: 1000;
  }

  .page-premium .nav-shell,
  .page-premium .site-header.is-nav-open .nav-shell {
    position: relative;
    z-index: 42;
    background: linear-gradient(115deg, #fff1b8 0%, #d7c394 43%, #b68727 100%) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
  }

  .page-premium .language-switcher--mobile {
    margin-left: auto;
  }

  .page-premium .nav-toggle {
    flex: 0 0 44px;
    margin-left: 4px;
    touch-action: manipulation;
  }

  .page-premium .site-nav,
  .page-premium .site-header.is-nav-open .site-nav {
    position: fixed;
    inset: 0;
    z-index: 40;
    display: flex !important;
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    padding:
      calc(env(safe-area-inset-top, 0px) + 92px)
      clamp(14px, 4vw, 26px)
      calc(env(safe-area-inset-bottom, 0px) + 24px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    background:
      radial-gradient(circle at 88% 4%, rgba(215, 195, 148, 0.28), transparent 22rem),
      linear-gradient(150deg, #fffdf8 0%, #f9efd9 100%) !important;
    transition:
      opacity 180ms ease,
      transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
      visibility 0s linear 220ms;
    animation: none !important;
  }

  .page-premium .site-nav.is-open,
  .page-premium .site-nav[aria-hidden="false"] {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
  }

  .page-premium .site-header.is-nav-open .brand {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .page-premium .site-nav__overlay {
    min-height: 0;
    width: min(100%, 760px);
    margin-inline: auto;
  }

  .page-premium .site-nav__list {
    align-content: start;
  }

  .page-premium .site-nav a {
    touch-action: manipulation;
  }
}

@media (max-width: 620px) {
  .page-premium .site-nav {
    padding-top: calc(env(safe-area-inset-top, 0px) + 86px);
  }

  .page-premium .site-nav__brand-block {
    margin-bottom: 16px;
    padding-bottom: 14px;
  }

  .page-premium .site-nav__list {
    gap: 8px;
  }

  .page-premium .site-nav a {
    min-height: 54px;
    padding-block: 10px;
  }

  .page-premium .site-nav__footer {
    margin-top: 18px;
    padding-top: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-premium .site-nav,
  .page-premium .site-nav.is-open {
    transition: none;
  }
}

/* Home entry cards: one consistent two-line headline system. */
.page-home-reboot .ed-entry-grid .ed-entry .ed-entry__body h3 {
  min-height: 1.92em;
  max-width: none !important;
  margin: 0 !important;
  color: #100e09 !important;
  font-family: var(--font-cond);
  font-size: clamp(1.9rem, 2.15vw, 2.35rem) !important;
  font-style: normal;
  font-weight: 800;
  letter-spacing: -0.012em !important;
  line-height: 0.92 !important;
  overflow-wrap: normal !important;
  text-transform: uppercase;
  word-break: normal !important;
}

.page-home-reboot .ed-entry-grid .ed-entry .ed-entry__body h3 > span,
.page-home-reboot .ed-entry-grid .ed-entry:is(:hover, :focus-visible) .ed-entry__body h3 > span {
  color: #654706 !important;
  -webkit-text-fill-color: #654706 !important;
  text-shadow: none !important;
}

@media (max-width: 620px) {
  .page-home-reboot .ed-entry-grid .ed-entry .ed-entry__body {
    padding-inline: 10px !important;
  }

  .page-home-reboot .ed-entry-grid .ed-entry .ed-entry__body h3 {
    font-size: clamp(1.28rem, 6.4vw, 1.56rem) !important;
  }
}

/* Google reviews: refined editorial card system. */
.page-home-reboot .ed-google-reviews__stage {
  grid-template-columns: minmax(280px, 0.52fr) minmax(0, 1.48fr);
  border-color: rgba(155, 116, 26, 0.3);
  border-radius: 32px;
  background: #f8f3e8;
  box-shadow:
    0 36px 80px -48px rgba(33, 25, 10, 0.46),
    0 1px 0 rgba(255, 255, 255, 0.92) inset;
}

.page-home-reboot .ed-google-reviews__summary {
  position: relative;
  overflow: hidden;
  padding: clamp(34px, 4vw, 58px);
  border-right-color: rgba(255, 255, 255, 0.1);
  background:
    radial-gradient(circle at 8% 5%, rgba(215, 195, 148, 0.2), transparent 38%),
    linear-gradient(150deg, #171811 0%, #0b111b 72%, #080d15 100%);
}

.page-home-reboot .ed-google-reviews__summary::after {
  position: absolute;
  right: -34px;
  bottom: -80px;
  color: rgba(215, 195, 148, 0.08);
  content: "”";
  font-family: Georgia, serif;
  font-size: 18rem;
  line-height: 1;
  pointer-events: none;
}

.page-home-reboot .ed-google-reviews__brand {
  color: rgba(255, 255, 255, 0.92);
}

.page-home-reboot .ed-google-reviews__brand span {
  box-shadow: inset 0 0 0 5px #fff;
}

.page-home-reboot .ed-google-reviews .eyebrow {
  color: #d7c394;
}

.page-home-reboot .ed-google-reviews__score {
  position: relative;
  z-index: 1;
  margin-top: 22px;
  color: #fff;
  font-size: clamp(4.5rem, 6.3vw, 7rem);
  letter-spacing: -0.045em;
}

.page-home-reboot .ed-google-reviews__score span {
  color: rgba(255, 255, 255, 0.42);
}

.page-home-reboot .ed-google-reviews__summary > p:not(.eyebrow):not(.ed-google-reviews__score) {
  position: relative;
  z-index: 1;
  color: rgba(255, 255, 255, 0.68);
}

.page-home-reboot .ed-google-reviews__link {
  position: relative;
  z-index: 1;
  min-height: 50px;
  padding-inline: 18px 10px;
  box-shadow: 0 18px 34px -20px rgba(215, 195, 148, 0.7);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.page-home-reboot .ed-google-reviews__link:is(:hover, :focus-visible) {
  transform: translateY(-2px);
  box-shadow: 0 22px 38px -20px rgba(215, 195, 148, 0.9);
}

.page-home-reboot .ed-google-reviews__content {
  padding: clamp(34px, 4vw, 58px);
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.15), transparent 28rem),
    linear-gradient(145deg, #fbf8f1 0%, #f4ecdd 100%);
}

.page-home-reboot .ed-google-reviews__head h2 {
  max-width: 13ch;
  font-family: var(--font-cond);
  font-size: clamp(2.35rem, 3.45vw, 3.8rem);
  font-style: italic;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 0.94;
}

.page-home-reboot .ed-google-reviews__grid {
  gap: 14px;
  margin-top: clamp(28px, 3vw, 40px);
}

.page-home-reboot .ed-google-review {
  position: relative;
  min-height: 218px;
  overflow: hidden;
  padding: 22px;
  border-color: rgba(41, 32, 15, 0.11);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow:
    0 20px 42px -34px rgba(27, 21, 9, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.94);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.page-home-reboot .ed-google-review::after {
  position: absolute;
  top: 10px;
  right: 16px;
  color: rgba(155, 116, 26, 0.1);
  content: "”";
  font-family: Georgia, serif;
  font-size: 5.25rem;
  line-height: 1;
  pointer-events: none;
}

.page-home-reboot .ed-google-review:is(:hover, :focus-within) {
  transform: translateY(-3px);
  border-color: rgba(155, 116, 26, 0.28);
  box-shadow: 0 26px 46px -32px rgba(27, 21, 9, 0.62);
}

.page-home-reboot .ed-google-review__stars {
  position: relative;
  z-index: 1;
  color: #9b741a;
  font-size: 0.78rem;
  letter-spacing: 0.13em;
}

.page-home-reboot .ed-google-review blockquote {
  position: relative;
  z-index: 1;
  margin: 22px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #17130a !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: clamp(1rem, 1.05vw, 1.08rem);
  font-weight: 650;
  line-height: 1.45;
}

.page-home-reboot .ed-google-review figcaption {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 38px 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: center;
  min-height: 38px;
}

.page-home-reboot .ed-google-review figcaption::before {
  grid-row: 1 / 3;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(155, 116, 26, 0.24);
  border-radius: 50%;
  color: #705112;
  background: linear-gradient(145deg, #fff1b8, #d7c394);
  content: attr(data-initials);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.04em;
}

.page-home-reboot .ed-google-review figcaption strong {
  color: #201c14;
  font-size: 0.82rem;
  font-weight: 800;
}

.page-home-reboot .ed-google-review figcaption span {
  margin-top: 1px;
  font-size: 0.62rem;
}

@media (max-width: 900px) {
  .page-home-reboot .ed-google-reviews__stage {
    grid-template-columns: 1fr;
  }

  .page-home-reboot .ed-google-reviews__summary {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .page-home-reboot .ed-google-reviews__grid {
    grid-template-columns: 1fr;
  }

  .page-home-reboot .ed-google-review {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .page-home-reboot .ed-google-reviews__stage {
    border-radius: 24px;
  }

  .page-home-reboot .ed-google-reviews__summary,
  .page-home-reboot .ed-google-reviews__content {
    padding: 28px 20px;
  }

  .page-home-reboot .ed-google-reviews__head h2 {
    font-size: clamp(2.15rem, 11vw, 3.15rem);
  }

  .page-home-reboot .ed-google-review {
    padding: 20px;
  }
}

/* Personal Training result cards: light cards need strong, calm dark type. */
html body.page-premium.page-coaching main .coaching-outcome-stage .summary-rows .summary-row > h3 {
  color: #100e09 !important;
  font-size: clamp(1.8rem, 2vw, 2.25rem);
  font-style: normal;
  letter-spacing: -0.012em;
  line-height: 0.95;
}

html body.page-premium.page-coaching main .coaching-outcome-stage .summary-rows .summary-row > p {
  color: #514a3e !important;
  font-size: clamp(1rem, 1.1vw, 1.08rem);
  font-weight: 500;
  line-height: 1.65;
}

/* Personal Training video reference: the two inset cards use the same light-card type system. */
html body.page-premium.page-coaching main .coaching-reference-stage .summary-rows .summary-row > h3 {
  color: #100e09 !important;
  font-size: clamp(1.35rem, 1.55vw, 1.65rem);
  font-style: normal;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1;
}

html body.page-premium.page-coaching main .coaching-reference-stage .summary-rows .summary-row > p {
  color: #514a3e !important;
  font-size: clamp(0.98rem, 1.05vw, 1.06rem);
  font-weight: 500;
  line-height: 1.6;
}

/* Executive Performance keeps its outcome cards cinematic. The global light-card
   system must not turn these inset cards pale while their copy remains bright. */
html body.page-premium.page-executive main .coaching-outcome-stage .summary-rows .summary-row {
  border-color: rgba(255, 255, 255, 0.14) !important;
  background:
    radial-gradient(circle at top left, rgba(215, 195, 148, 0.16), transparent 46%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.045)) !important;
  box-shadow: 0 26px 60px rgba(0, 0, 0, 0.24) !important;
}

html body.page-premium.page-executive main .coaching-outcome-stage .summary-rows .summary-row > h3 {
  color: #fffdf8 !important;
}

html body.page-premium.page-executive main .coaching-outcome-stage .summary-rows .summary-row > p {
  color: rgba(255, 253, 248, 0.82) !important;
}

/* Personal Training entry cards: compact content-led height without empty lower halves. */
html body.page-premium.page-coaching main .coaching-start-stage .feature-grid--coaching-start .feature-card {
  min-height: 0 !important;
  padding: clamp(24px, 1.8vw, 28px);
  color: #100e09;
  text-decoration: none;
}

html body.page-premium.page-coaching main .coaching-start-stage .feature-grid--coaching-start .feature-card::before {
  color: rgba(101, 71, 6, 0.07);
}

.page-coaching .feature-grid--coaching-start .feature-card__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 46px;
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid rgba(101, 71, 6, 0.18);
  color: #654706;
  font-family: var(--font-cond);
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.035em;
  line-height: 1.1;
  text-transform: uppercase;
}

.page-coaching .feature-grid--coaching-start .feature-card__cta-arrow {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border: 1px solid rgba(101, 71, 6, 0.2);
  border-radius: 50%;
  color: #100e09;
  background: linear-gradient(135deg, #fff1b8, #d7c394);
  font-size: 1rem;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.page-coaching .feature-grid--coaching-start .feature-card:is(:hover, :focus-visible) .feature-card__cta-arrow {
  box-shadow: 0 10px 22px -12px rgba(101, 71, 6, 0.7);
  transform: translateX(3px);
}

/* Premium path selector: editorial content card with a decisive dark link footer. */
html body.page-premium.page-coaching main .coaching-start-stage .feature-grid--coaching-start .feature-card {
  min-height: 350px !important;
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid rgba(101, 71, 6, 0.2) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.2), transparent 38%),
    linear-gradient(145deg, #fffefa 0%, #f5eddf 100%) !important;
  box-shadow:
    0 28px 60px -38px rgba(24, 18, 7, 0.72),
    inset 0 1px 0 rgba(255, 255, 255, 0.94) !important;
}

html body.page-premium.page-coaching main .coaching-start-stage .feature-grid--coaching-start .feature-card::after {
  inset: 0 0 auto !important;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, #8f6510, #d7c394 58%, #fff1b8) !important;
  opacity: 1;
  transform: none !important;
}

html body.page-premium.page-coaching main .coaching-start-stage .feature-grid--coaching-start .feature-card::before {
  top: 18px;
  right: 22px;
  color: rgba(101, 71, 6, 0.085);
  font-size: clamp(4.6rem, 6vw, 6.2rem);
}

.page-coaching .feature-grid--coaching-start .feature-card .feature-card__detail {
  margin: 0;
  padding: 28px 28px 15px;
  border: 0;
  background: transparent;
  color: #7b590e;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}

.page-coaching .feature-grid--coaching-start .feature-card h3 {
  max-width: 14ch;
  margin: 0 28px;
  color: #100e09 !important;
  font-size: clamp(1.85rem, 2vw, 2.25rem);
  font-style: normal;
  letter-spacing: -0.018em;
  line-height: 0.94;
}

.page-coaching .feature-grid--coaching-start .feature-card p {
  max-width: 35ch;
  margin: 17px 28px 26px !important;
  color: #514a3e !important;
  font-size: 1rem;
  line-height: 1.58;
}

.page-coaching .feature-grid--coaching-start .feature-card__cta {
  min-height: 70px;
  margin-top: auto;
  padding: 16px 18px 16px 28px;
  border: 0;
  color: #fffdf8;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.16), transparent 44%),
    linear-gradient(135deg, #181713, #0d1016);
  font-size: 0.92rem;
  letter-spacing: 0.055em;
  transition: background 180ms ease, color 180ms ease;
}

.page-coaching .feature-grid--coaching-start .feature-card__cta-arrow {
  width: 38px;
  height: 38px;
  flex-basis: 38px;
  border-color: rgba(255, 241, 184, 0.5);
  color: #100e09;
  background: linear-gradient(135deg, #fff1b8, #d7c394 58%, #b68727);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68);
}

.page-coaching .feature-grid--coaching-start .feature-card:is(:hover, :focus-visible) {
  border-color: rgba(101, 71, 6, 0.46) !important;
  box-shadow:
    0 34px 68px -36px rgba(24, 18, 7, 0.82),
    0 0 0 1px rgba(215, 195, 148, 0.12) !important;
}

.page-coaching .feature-grid--coaching-start .feature-card:is(:hover, :focus-visible) .feature-card__cta {
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.24), transparent 44%),
    linear-gradient(135deg, #211f18, #11151d);
}

.page-coaching .feature-grid--coaching-start .feature-card:focus-visible {
  outline: 3px solid rgba(215, 195, 148, 0.7);
  outline-offset: 4px;
}

@media (max-width: 620px) {
  html body.page-premium.page-coaching main .coaching-start-stage .feature-grid--coaching-start .feature-card {
    min-height: 0 !important;
    border-radius: 22px !important;
  }

  .page-coaching .feature-grid--coaching-start .feature-card .feature-card__detail {
    padding: 24px 22px 13px;
  }

  .page-coaching .feature-grid--coaching-start .feature-card h3 {
    margin-inline: 22px;
  }

  .page-coaching .feature-grid--coaching-start .feature-card p {
    margin: 15px 22px 22px !important;
  }

  .page-coaching .feature-grid--coaching-start .feature-card__cta {
    min-height: 64px;
    padding: 13px 14px 13px 22px;
  }
}

/* Home entry links: mirror the premium editorial card and dark link footer. */
html body.page-home-reboot main .ed-entry-grid .ed-entry .ed-entry__body {
  width: calc(100% - 20px) !important;
  margin: auto 10px 10px !important;
  overflow: hidden;
  padding: 0 !important;
  gap: 0 !important;
  border: 1px solid rgba(101, 71, 6, 0.24) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.18), transparent 42%),
    linear-gradient(145deg, #fffefa 0%, #f5eddf 100%) !important;
  box-shadow:
    0 24px 48px -30px rgba(12, 10, 6, 0.84),
    inset 0 1px 0 rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

html body.page-home-reboot main .ed-entry-grid .ed-entry .ed-entry__body::before {
  inset: 0 0 auto;
  width: 100%;
  height: 5px;
  border-radius: 0;
  background: linear-gradient(90deg, #8f6510, #d7c394 58%, #fff1b8);
  opacity: 1;
}

html body.page-home-reboot main .ed-entry-grid .ed-entry .ed-entry__body h3 {
  min-height: 0;
  padding: 24px 24px 20px;
  color: #100e09 !important;
  font-style: normal;
  letter-spacing: -0.012em !important;
  line-height: 0.92 !important;
}

html body.page-home-reboot main .ed-entry-grid .ed-entry .ed-entry__body h3 > span,
html body.page-home-reboot main .ed-entry-grid .ed-entry:is(:hover, :focus-visible) .ed-entry__body h3 > span {
  color: #654706 !important;
  -webkit-text-fill-color: #654706 !important;
}

html body.page-home-reboot main .ed-entry-grid .ed-entry .ed-entry__cta,
html body.page-home-reboot main .ed-entry-grid .ed-entry:nth-child(1) .ed-entry__cta,
html body.page-home-reboot main .ed-entry-grid .ed-entry:nth-child(2) .ed-entry__cta,
html body.page-home-reboot main .ed-entry-grid .ed-entry:nth-child(3) .ed-entry__cta,
html body.page-home-reboot main .ed-entry-grid .ed-entry:nth-child(4) .ed-entry__cta {
  width: 100% !important;
  min-height: 68px !important;
  margin: 0 !important;
  padding: 14px 18px 14px 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #fffdf8 !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.16), transparent 44%),
    linear-gradient(135deg, #181713, #0d1016) !important;
  box-shadow: none !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

html body.page-home-reboot main .ed-entry-grid .ed-entry .ed-entry__cta-label {
  color: #fffdf8 !important;
  -webkit-text-fill-color: #fffdf8 !important;
  font-size: 0.88rem;
  letter-spacing: 0.055em;
  text-align: left;
  text-shadow: none;
}

html body.page-home-reboot main .ed-entry-grid .ed-entry .ed-entry__cta > span:last-child {
  right: 16px;
  width: 38px !important;
  height: 38px !important;
  flex-basis: 38px !important;
  border: 1px solid rgba(255, 241, 184, 0.5) !important;
  border-radius: 50%;
  color: #100e09 !important;
  background: linear-gradient(135deg, #fff1b8, #d7c394 58%, #b68727) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68) !important;
}

html body.page-home-reboot main .ed-entry-grid .ed-entry:is(:hover, :focus-visible) .ed-entry__cta {
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.24), transparent 44%),
    linear-gradient(135deg, #211f18, #11151d) !important;
}

html body.page-home-reboot main .ed-entry-grid .ed-entry:is(:hover, :focus-visible) .ed-entry__cta > span:last-child {
  transform: translateY(-50%) translateX(3px);
}

@media (max-width: 620px) {
  html body.page-home-reboot main .ed-entry-grid .ed-entry .ed-entry__body {
    width: calc(100% - 16px) !important;
    margin: auto 8px 8px !important;
    border-radius: 19px !important;
  }

  html body.page-home-reboot main .ed-entry-grid .ed-entry .ed-entry__body h3 {
    padding: 21px 18px 17px;
  }

  html body.page-home-reboot main .ed-entry-grid .ed-entry .ed-entry__cta,
  html body.page-home-reboot main .ed-entry-grid .ed-entry:nth-child(1) .ed-entry__cta,
  html body.page-home-reboot main .ed-entry-grid .ed-entry:nth-child(2) .ed-entry__cta,
  html body.page-home-reboot main .ed-entry-grid .ed-entry:nth-child(3) .ed-entry__cta,
  html body.page-home-reboot main .ed-entry-grid .ed-entry:nth-child(4) .ed-entry__cta {
    min-height: 62px !important;
    padding: 12px 14px 12px 18px !important;
  }
}

/* Final contrast guarantee for the dark golf portal after all generic premium passes. */
html body.page-premium.page-bodybuilding-calendar.page-golf-calendar main .golfcal-portals > a:nth-child(2) strong {
  color: #fffdf8 !important;
  -webkit-text-fill-color: #fffdf8 !important;
}

html body.page-premium.page-bodybuilding-calendar.page-golf-calendar main .golfcal-portals > a:nth-child(2) small {
  color: #d7c394 !important;
}

html body.page-premium.page-bodybuilding-calendar.page-golf-calendar main .golfcal-pro {
  color: #fffdf8 !important;
  background:
    radial-gradient(circle at 80% 0%, rgba(215, 195, 148, 0.13), transparent 30%),
    linear-gradient(145deg, #171814, #080c11 72%) !important;
}

html body.page-premium.page-bodybuilding-calendar.page-golf-calendar main .golfcal-pro .bbcal-section-heading h2,
html body.page-premium.page-bodybuilding-calendar.page-golf-calendar main .golfcal-pro .golfcal-event h3,
html body.page-premium.page-bodybuilding-calendar.page-golf-calendar main .golfcal-pro .golfcal-pro-links strong {
  color: #fffdf8 !important;
  -webkit-text-fill-color: #fffdf8 !important;
}

html body.page-premium.page-bodybuilding-calendar.page-golf-calendar main .golfcal-pro .bbcal-section-heading p:not(.eyebrow),
html body.page-premium.page-bodybuilding-calendar.page-golf-calendar main .golfcal-pro .golfcal-event p {
  color: rgba(255, 253, 248, 0.7) !important;
}

html body.page-premium.page-bodybuilding-calendar.page-golf-calendar main .golfcal-pro :is(.eyebrow, time, .golfcal-event__link, .golfcal-pro-links span) {
  color: #d7c394 !important;
}

html body.page-premium.page-bodybuilding-calendar.page-golf-calendar main .golfcal-event-grid--pro .golfcal-event {
  border-color: rgba(215, 195, 148, 0.22) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.15), transparent 40%),
    linear-gradient(145deg, #20201d, #0f1319) !important;
}

html body.page-premium.page-bodybuilding-calendar.page-golf-calendar main .golfcal-event-grid--pro .golfcal-event__type {
  color: #ead9aa !important;
  background: rgba(215, 195, 148, 0.12) !important;
}

/* Laufkalender 2026: five editorial entry points and a combined local search. */
.page-running-calendar .runcal-hero .bbcal-hero__image {
  object-position: 56% center;
  filter: saturate(0.76) contrast(1.06) brightness(0.9);
}

.page-running-calendar .runcal-hero .bbcal-hero__scrim {
  background:
    linear-gradient(90deg, rgba(7, 8, 11, 0.97) 0%, rgba(7, 8, 11, 0.76) 44%, rgba(7, 8, 11, 0.18) 78%),
    linear-gradient(0deg, rgba(7, 8, 11, 0.75), transparent 52%);
}

.page-running-calendar .runcal-entry-section {
  background:
    radial-gradient(circle at 8% 18%, rgba(215, 195, 148, 0.22), transparent 25%),
    linear-gradient(180deg, #fffdf8, #f3ecdf);
}

.page-running-calendar .runcal-category-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 11px;
}

.page-running-calendar .runcal-category-card {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  min-height: 275px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(215, 195, 148, 0.25);
  border-radius: 24px;
  color: #fffdf8;
  background:
    radial-gradient(circle at 105% -5%, rgba(215, 195, 148, 0.2), transparent 42%),
    linear-gradient(145deg, #1e1e1a, #0b1017);
  box-shadow: 0 30px 56px -44px rgba(9, 8, 5, 0.95);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.page-running-calendar .runcal-category-card::after {
  content: "";
  position: absolute;
  inset: auto -20% -50% 35%;
  height: 70%;
  border: 1px solid rgba(215, 195, 148, 0.12);
  border-radius: 50%;
  transform: rotate(-18deg);
}

.page-running-calendar .runcal-category-card > span {
  color: #d7c394;
  font-family: var(--font-cond);
  font-size: 1.05rem;
  font-style: italic;
  font-weight: 800;
}

.page-running-calendar .runcal-category-card > small {
  align-self: end;
  margin-bottom: 8px;
  color: rgba(255, 253, 248, 0.56);
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.page-running-calendar .runcal-category-card > strong {
  position: relative;
  z-index: 1;
  color: #fffdf8;
  font-family: var(--font-cond);
  font-size: clamp(1.35rem, 1.7vw, 1.9rem);
  font-style: italic;
  line-height: 0.95;
  text-transform: uppercase;
}

.page-running-calendar .runcal-category-card > b {
  margin-top: 17px;
  color: #d7c394;
  font-size: 0.63rem;
  text-transform: uppercase;
}

.page-running-calendar .runcal-category-card > i {
  position: absolute;
  right: 20px;
  bottom: 20px;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  color: #15120b;
  background: linear-gradient(135deg, #f5e5ad, #c99d3a);
  font-style: normal;
  transition: transform 180ms ease;
}

.page-running-calendar .runcal-category-card:is(:hover, :focus-visible) {
  border-color: rgba(215, 195, 148, 0.55);
  box-shadow: 0 34px 66px -42px rgba(24, 18, 6, 0.95);
  transform: translateY(-5px);
}

.page-running-calendar .runcal-category-card:is(:hover, :focus-visible) > i { transform: translateY(4px); }

.page-running-calendar .runcal-search-section { scroll-margin-top: 105px; }

.page-running-calendar .runcal-filter {
  grid-template-columns: 0.9fr 0.62fr 0.85fr 1.1fr auto;
}

.page-running-calendar .runcal-filter > label:nth-child(4) { min-width: 210px; }

.page-running-calendar .runcal-calendar { gap: 28px; }

.page-running-calendar .runcal-group {
  scroll-margin-top: 118px;
  background:
    radial-gradient(circle at 96% 0%, rgba(215, 195, 148, 0.16), transparent 21%),
    rgba(255, 253, 248, 0.82);
}

.page-running-calendar .runcal-group .sportcal-month__heading > div { display: grid; gap: 8px; }

.page-running-calendar .runcal-group .sportcal-month__heading small {
  color: #9b741a;
  font-size: 0.61rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.page-running-calendar .runcal-source-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

html body.page-premium.page-running-calendar main .runcal-category-card > strong,
html body.page-premium.page-running-calendar main .runcal-category-card > span,
html body.page-premium.page-running-calendar main .runcal-category-card > b {
  -webkit-text-fill-color: currentColor !important;
}

/* Calendar introductions sit on warm light sections. The shared markup uses
   bbcal-intro__head directly, so lock its heading independently of dark heroes. */
html body.page-premium.page-bodybuilding-calendar main .bbcal-intro__head h2 {
  color: var(--bbcal-ink) !important;
  -webkit-text-fill-color: var(--bbcal-ink) !important;
}

html body.page-premium.page-bodybuilding-calendar main .bbcal-intro__head h2 span {
  color: var(--bbcal-gold-deep) !important;
  -webkit-text-fill-color: var(--bbcal-gold-deep) !important;
}

/* ============================================================
   BODYBUILDING CLASSES — federation and weight-limit guide
   ============================================================ */
.page-bodybuilding-classes .bbclass-hero .bbcal-hero__image {
  object-position: 66% 24%;
}

.page-bodybuilding-classes .bbclass-hero .bbcal-hero__scrim {
  background:
    linear-gradient(90deg, rgba(7,8,11,.98) 0%, rgba(7,8,11,.91) 39%, rgba(7,8,11,.47) 65%, rgba(7,8,11,.14) 84%),
    linear-gradient(0deg, rgba(7,8,11,.94), transparent 52%);
}

.page-bodybuilding-classes .bbclass-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: min(100%, 1540px);
  margin: clamp(42px, 7vw, 76px) auto 0;
}

.page-bodybuilding-classes .bbclass-principles article {
  min-height: 230px;
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid var(--bbcal-line);
  border-radius: 26px;
  background: linear-gradient(145deg, #fffefa, #f3ead8);
}

.page-bodybuilding-classes .bbclass-principles span,
.page-bodybuilding-classes .bbclass-guide-grid article > span {
  color: var(--bbcal-gold-deep);
  font-family: var(--font-cond);
  font-size: 2.6rem;
  font-style: italic;
  font-weight: 900;
  line-height: 1;
}

.page-bodybuilding-classes .bbclass-principles strong {
  display: block;
  margin-top: 34px;
  color: #16130d;
  font-family: var(--font-cond);
  font-size: 1.65rem;
  font-style: italic;
  text-transform: uppercase;
}

.page-bodybuilding-classes .bbclass-principles p {
  margin: 10px 0 0;
  color: #655d50;
  line-height: 1.6;
}

.page-bodybuilding-classes .bbclass-calculator {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr);
  gap: 16px;
  padding: clamp(18px, 3vw, 34px);
  border: 1px solid rgba(215,195,148,.3);
  border-radius: 34px;
  background: linear-gradient(145deg, #181713, #0c0e12);
  box-shadow: 0 40px 70px -50px rgba(0,0,0,.85);
}

.page-bodybuilding-classes .bbclass-calculator__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.page-bodybuilding-classes .bbclass-calculator label {
  display: grid;
  gap: 9px;
  color: rgba(255,253,248,.64);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.page-bodybuilding-classes .bbclass-calculator select,
.page-bodybuilding-classes .bbclass-calculator input {
  width: 100%;
  min-height: 58px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 14px;
  color: #fffdf8;
  background: rgba(255,255,255,.07);
  font: inherit;
  font-size: 1rem;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: none;
}

.page-bodybuilding-classes .bbclass-input {
  position: relative;
  display: block;
}

.page-bodybuilding-classes .bbclass-input input { padding-right: 54px; }
.page-bodybuilding-classes .bbclass-input b {
  position: absolute;
  top: 50%;
  right: 17px;
  color: var(--bbcal-gold);
  transform: translateY(-50%);
}

.page-bodybuilding-classes .bbclass-calculator__result {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  justify-content: center;
  padding: 28px;
  border: 1px solid rgba(155,116,26,.32);
  border-radius: 24px;
  color: #16130d;
  background: linear-gradient(135deg, #fff0bd, #d7bd78);
}

.page-bodybuilding-classes .bbclass-calculator__result > span {
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-bodybuilding-classes .bbclass-calculator__result strong {
  margin-top: 10px;
  font-family: var(--font-cond);
  font-size: clamp(1.8rem, 3vw, 3rem);
  font-style: italic;
  line-height: .95;
  text-transform: uppercase;
}

.page-bodybuilding-classes .bbclass-calculator__result p {
  margin: 14px 0 0;
  color: #5f4918;
  font-size: .82rem;
  line-height: 1.5;
}

.page-bodybuilding-classes .bbclass-calculator__result.is-over {
  border-color: rgba(111,37,31,.35);
  background: linear-gradient(135deg, #f3d7c6, #d59c85);
}

.page-bodybuilding-classes .bbclass-federations { display: grid; gap: 28px; }
.page-bodybuilding-classes .bbclass-federation {
  scroll-margin-top: 120px;
  padding: clamp(24px, 3.7vw, 52px);
  overflow: hidden;
  border: 1px solid rgba(215,195,148,.2);
  border-radius: 38px;
  background: radial-gradient(circle at 100% 0%, rgba(215,195,148,.14), transparent 32%), linear-gradient(145deg, #1a1916, #0d1015 78%);
}

.page-bodybuilding-classes .bbclass-federation > header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(22px, 3vw, 46px);
  align-items: start;
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.page-bodybuilding-classes .bbclass-federation__number {
  color: var(--bbcal-gold);
  font-family: var(--font-cond);
  font-size: clamp(3.6rem, 5.4vw, 6rem);
  font-style: italic;
  font-weight: 900;
  line-height: .82;
}

.page-bodybuilding-classes .bbclass-federation header .eyebrow { margin: 0 0 9px; color: rgba(215,195,148,.75); }
.page-bodybuilding-classes .bbclass-federation header h2 {
  margin: 0;
  color: #fffdf8;
  font-family: var(--font-cond);
  font-size: clamp(2.5rem, 4.2vw, 4.5rem);
  font-style: italic;
  line-height: .9;
  text-transform: uppercase;
}

.page-bodybuilding-classes .bbclass-federation header p:not(.eyebrow) { max-width: 68ch; margin: 13px 0 0; color: rgba(255,253,248,.62); line-height: 1.55; }
.page-bodybuilding-classes .bbclass-federation header > a {
  display: flex;
  min-width: 160px;
  min-height: 50px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 17px;
  border: 1px solid rgba(215,195,148,.42);
  border-radius: 999px;
  color: #fffdf8;
  font-size: .72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.page-bodybuilding-classes .bbclass-federation header > a span { color: var(--bbcal-gold); font-size: 1.1rem; }
.page-bodybuilding-classes .bbclass-federation__body { display: grid; grid-template-columns: minmax(0, .82fr) minmax(420px, 1.18fr); gap: 18px; margin-top: 22px; }
.page-bodybuilding-classes .bbclass-classlist,
.page-bodybuilding-classes .bbclass-limit-card,
.page-bodybuilding-classes .bbclass-formulas,
.page-bodybuilding-classes .bbclass-npc-table {
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(101,71,6,.16);
  border-radius: 24px;
  color: #17140f;
  background: linear-gradient(145deg, #fffefa, #f3ead8);
}

.page-bodybuilding-classes :is(.bbclass-classlist, .bbclass-limit-card) h3 { margin: 0 0 18px; font-family: var(--font-cond); font-size: 1.5rem; font-style: italic; text-transform: uppercase; }
.page-bodybuilding-classes .bbclass-limit-card h3:not(:first-child) { margin-top: 26px; }
.page-bodybuilding-classes .bbclass-limit-card > p { color: #625a4c; line-height: 1.55; }
.page-bodybuilding-classes .bbclass-sex-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.page-bodybuilding-classes .bbclass-sex-grid b { color: var(--bbcal-gold-deep); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.page-bodybuilding-classes .bbclass-sex-grid ul { display: grid; gap: 8px; margin: 13px 0 0; padding: 0; list-style: none; }
.page-bodybuilding-classes .bbclass-sex-grid li { position: relative; padding-left: 17px; color: #403b33; font-size: .87rem; line-height: 1.35; }
.page-bodybuilding-classes .bbclass-sex-grid li::before { content: ""; position: absolute; top: .52em; left: 0; width: 7px; height: 2px; background: var(--bbcal-gold-deep); }
.page-bodybuilding-classes .bbclass-note { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid rgba(101,71,6,.15); color: #6a6255; font-size: .76rem; line-height: 1.55; }

.page-bodybuilding-classes table { width: 100%; border-collapse: collapse; }
.page-bodybuilding-classes th { padding: 9px 12px; color: #746641; font-size: .62rem; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
.page-bodybuilding-classes td { padding: 10px 12px; border-top: 1px solid rgba(101,71,6,.13); color: #514a3f; font-size: .78rem; }
.page-bodybuilding-classes td strong { color: #17140f; }
.page-bodybuilding-classes .bbclass-formulas { display: grid; gap: 12px; }
.page-bodybuilding-classes .bbclass-formulas article { padding: 22px; border-radius: 18px; background: rgba(215,195,148,.16); }
.page-bodybuilding-classes .bbclass-formulas article span { color: var(--bbcal-gold-deep); font-size: .65rem; font-weight: 900; text-transform: uppercase; }
.page-bodybuilding-classes .bbclass-formulas article strong { display: block; margin-top: 9px; font-family: var(--font-cond); font-size: 1.45rem; font-style: italic; text-transform: uppercase; }
.page-bodybuilding-classes .bbclass-formulas article p { margin: 8px 0 0; color: #625a4c; font-size: .8rem; }
.page-bodybuilding-classes .bbclass-federation__body--npc { align-items: start; }
.page-bodybuilding-classes .bbclass-npc-table { padding: 0; overflow: hidden; }
.page-bodybuilding-classes .bbclass-npc-table summary { display: flex; min-height: 74px; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 24px; cursor: pointer; list-style: none; }
.page-bodybuilding-classes .bbclass-npc-table summary::-webkit-details-marker { display: none; }
.page-bodybuilding-classes .bbclass-npc-table summary span { font-family: var(--font-cond); font-size: 1.25rem; font-style: italic; font-weight: 900; text-transform: uppercase; }
.page-bodybuilding-classes .bbclass-npc-table summary strong { color: var(--bbcal-gold-deep); font-size: .65rem; text-transform: uppercase; }
.page-bodybuilding-classes .bbclass-npc-table[open] summary b { display: inline-block; transform: rotate(180deg); }
.page-bodybuilding-classes .bbclass-table-wrap { max-height: 440px; overflow: auto; border-top: 1px solid rgba(101,71,6,.15); }
.page-bodybuilding-classes .bbclass-npc-table > p { margin: 0; padding: 15px 24px; border-top: 1px solid rgba(101,71,6,.15); color: #6a6255; font-size: .72rem; }

.page-bodybuilding-classes .bbclass-spectrum { display: flex; align-items: center; gap: 18px; margin-bottom: 28px; color: #6c6252; font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.page-bodybuilding-classes .bbclass-spectrum i { height: 3px; flex: 1; border-radius: 9px; background: linear-gradient(90deg, #e7d7ae, #9b741a, #17140f); }
.page-bodybuilding-classes .bbclass-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.page-bodybuilding-classes .bbclass-guide-grid article { display: flex; min-height: 310px; flex-direction: column; padding: clamp(22px, 2.6vw, 34px); border: 1px solid var(--bbcal-line); border-radius: 26px; background: #fffefa; }
.page-bodybuilding-classes .bbclass-guide-grid article h3 { margin: 30px 0 0; color: #17140f; font-family: var(--font-cond); font-size: 1.75rem; font-style: italic; text-transform: uppercase; }
.page-bodybuilding-classes .bbclass-guide-grid article p { margin: 12px 0 24px; color: #625b4f; font-size: .88rem; line-height: 1.6; }
.page-bodybuilding-classes .bbclass-guide-grid article b { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--bbcal-line); color: var(--bbcal-gold-deep); font-size: .64rem; line-height: 1.45; text-transform: uppercase; }
.page-bodybuilding-classes .bbclass-men { background: #0e1014; }
.page-bodybuilding-classes .bbclass-men .bbcal-section-heading h2 { color: #fffdf8; }
.page-bodybuilding-classes .bbclass-guide-grid--men { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.page-bodybuilding-classes .bbclass-guide-grid--men article { border-color: rgba(215,195,148,.18); background: linear-gradient(145deg, #1c1b17, #101217); }
.page-bodybuilding-classes .bbclass-guide-grid--men article h3 { color: #fffdf8; }
.page-bodybuilding-classes .bbclass-guide-grid--men article p { color: rgba(255,253,248,.64); }
.page-bodybuilding-classes .bbclass-guide-grid--men article b { border-color: rgba(255,255,255,.11); color: var(--bbcal-gold); }
.page-bodybuilding-classes .bbclass-steps { display: grid; gap: 10px; margin: 0 0 12px; padding: 0; list-style: none; }
.page-bodybuilding-classes .bbclass-steps li { display: grid; grid-template-columns: 46px 1fr; gap: 14px; align-items: start; padding: 16px 0; border-bottom: 1px solid rgba(101,71,6,.14); }
.page-bodybuilding-classes .bbclass-steps span { color: var(--bbcal-gold-deep); font-family: var(--font-cond); font-size: 1.6rem; font-style: italic; font-weight: 900; }
.page-bodybuilding-classes .bbclass-steps p { margin: 0; }

@media (max-width: 1050px) {
  .page-bodybuilding-classes .bbclass-federation__body,
  .page-bodybuilding-classes .bbclass-calculator { grid-template-columns: 1fr; }
  .page-bodybuilding-classes .bbclass-guide-grid,
  .page-bodybuilding-classes .bbclass-guide-grid--men { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .page-bodybuilding-classes .bbclass-hero .bbcal-hero__image { object-position: 59% center; }
  .page-bodybuilding-classes .bbclass-hero .bbcal-hero__scrim { background: linear-gradient(0deg, rgba(7,8,11,.99), rgba(7,8,11,.82) 53%, rgba(7,8,11,.18) 82%); }
  .page-bodybuilding-classes .bbclass-principles,
  .page-bodybuilding-classes .bbclass-guide-grid,
  .page-bodybuilding-classes .bbclass-guide-grid--men { grid-template-columns: 1fr; }
  .page-bodybuilding-classes .bbclass-principles article { min-height: 190px; }
  .page-bodybuilding-classes .bbclass-calculator__fields { grid-template-columns: 1fr; }
  .page-bodybuilding-classes .bbclass-federation { padding: 22px 14px 16px; border-radius: 25px; }
  .page-bodybuilding-classes .bbclass-federation > header { grid-template-columns: 1fr; gap: 16px; padding-inline: 7px; }
  .page-bodybuilding-classes .bbclass-federation header > a { width: 100%; }
  .page-bodybuilding-classes .bbclass-federation__body { grid-template-columns: 1fr; }
  .page-bodybuilding-classes .bbclass-sex-grid { grid-template-columns: 1fr; }
  .page-bodybuilding-classes .bbclass-spectrum { align-items: flex-start; flex-direction: column; }
  .page-bodybuilding-classes .bbclass-spectrum i { width: 100%; flex: none; }
  .page-bodybuilding-classes .bbclass-guide-grid article { min-height: 270px; }
  .page-bodybuilding-classes .bbclass-table-wrap { overflow-x: auto; }
}

@media (max-width: 1180px) {
  .page-running-calendar .runcal-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-running-calendar .runcal-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-running-calendar .runcal-filter .trical-filter__submit { grid-column: 1 / -1; width: 100%; }
  .page-running-calendar .runcal-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .page-running-calendar .runcal-hero .bbcal-hero__image { object-position: 60% center; }
  .page-running-calendar .runcal-hero .bbcal-hero__scrim { background: linear-gradient(0deg, rgba(7,8,11,.98) 0%, rgba(7,8,11,.88) 51%, rgba(7,8,11,.2) 79%); }
  .page-running-calendar .runcal-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-running-calendar .runcal-filter { grid-template-columns: 1fr; }
  .page-running-calendar .runcal-filter .trical-filter__submit { grid-column: auto; }
  .page-running-calendar .runcal-filter > label:nth-child(4) { min-width: 0; }
}

@media (max-width: 620px) {
  .page-running-calendar .runcal-category-grid,
  .page-running-calendar .runcal-source-grid { grid-template-columns: 1fr; }
  .page-running-calendar .runcal-category-card { min-height: 195px; padding: 21px; }
  .page-running-calendar .runcal-category-card > strong { max-width: 78%; font-size: 1.65rem; }
  .page-running-calendar .runcal-category-card > i { right: 18px; bottom: 18px; }
  .page-running-calendar .runcal-group { padding-inline: 11px; }
}

/* ============================================================
   CALENDAR + SPORT DISCOVERY — PREMIUM APP CONVERSION STAGE
   ============================================================ */
.app-traffic-promo {
  padding-block: clamp(56px, 7vw, 104px) !important;
}

html body.page-premium main .app-traffic-promo__card {
  position: relative;
  display: grid;
  overflow: hidden;
  isolation: isolate;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  min-height: clamp(470px, 42vw, 610px);
  border: 1px solid rgba(215, 195, 148, 0.32);
  border-radius: 38px;
  color: #fffdf8;
  background:
    radial-gradient(circle at 90% 0%, rgba(215, 195, 148, 0.2), transparent 34%),
    linear-gradient(145deg, #17171b 0%, #0a0a0d 68%, #111218 100%);
  box-shadow: 0 42px 90px -52px rgba(15, 11, 4, 0.92);
  text-decoration: none;
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

html body.page-premium main .app-traffic-promo__card::after {
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  content: "";
  pointer-events: none;
}

html body.page-premium main .app-traffic-promo__card:is(:hover, :focus-within) {
  border-color: rgba(242, 223, 168, 0.72);
  box-shadow: 0 48px 100px -48px rgba(40, 28, 5, 0.92);
  transform: translateY(-4px);
}

.app-traffic-promo__media {
  position: relative;
  min-width: 0;
  min-height: 100%;
  margin: 0;
  background: #161619;
}

.app-traffic-promo__media::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 48%, rgba(10, 10, 13, 0.94) 100%),
    linear-gradient(0deg, rgba(8, 8, 10, 0.76) 0%, transparent 48%);
  content: "";
  pointer-events: none;
}

.app-traffic-promo__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% center;
  transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

.app-traffic-promo__card:is(:hover, :focus-within) .app-traffic-promo__media img {
  transform: scale(1.035);
}

.app-traffic-promo__media figcaption {
  position: absolute;
  right: clamp(24px, 3vw, 42px);
  bottom: clamp(24px, 3vw, 42px);
  left: clamp(24px, 3vw, 42px);
  z-index: 2;
  display: grid;
  gap: 4px;
}

.app-traffic-promo__media figcaption span {
  color: #f2dfa8;
  font-size: 0.66rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.app-traffic-promo__media figcaption strong {
  color: #fffdf8;
  font-size: clamp(1rem, 1.3vw, 1.24rem);
  line-height: 1.2;
}

.app-traffic-promo__content {
  position: relative;
  z-index: 2;
  display: flex;
  min-width: 0;
  padding: clamp(38px, 5vw, 72px);
  flex-direction: column;
  justify-content: center;
}

html body.page-premium main .app-traffic-promo__content .eyebrow {
  margin: 0 0 18px;
  color: #d7c394 !important;
  -webkit-text-fill-color: #d7c394 !important;
}

html body.page-premium main .app-traffic-promo__content h2 {
  max-width: 11ch;
  margin: 0;
  color: #fffdf8 !important;
  -webkit-text-fill-color: #fffdf8 !important;
  font-family: var(--font-cond);
  font-size: clamp(2.8rem, 4.6vw, 5.35rem);
  font-style: italic;
  font-weight: 850;
  letter-spacing: -0.045em;
  line-height: 0.88;
  text-transform: uppercase;
}

html body.page-premium main .app-traffic-promo__content h2 span {
  color: #d7c394 !important;
  -webkit-text-fill-color: #d7c394 !important;
}

html body.page-premium main .app-traffic-promo__content > p:not(.eyebrow) {
  max-width: 58ch;
  margin: 24px 0 0;
  color: rgba(255, 253, 248, 0.78) !important;
  -webkit-text-fill-color: rgba(255, 253, 248, 0.78) !important;
  font-size: clamp(1rem, 1.2vw, 1.1rem);
  line-height: 1.68;
}

.app-traffic-promo__content ul {
  display: grid;
  margin: 30px 0 0;
  padding: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  list-style: none;
}

.app-traffic-promo__content li {
  display: grid;
  min-width: 0;
  min-height: 88px;
  padding: 15px;
  border: 1px solid rgba(255, 253, 248, 0.11);
  border-radius: 16px;
  align-content: space-between;
  gap: 10px;
  background: rgba(255, 255, 255, 0.045);
}

html body.page-premium main .app-traffic-promo__content li span {
  color: #d7c394 !important;
  -webkit-text-fill-color: #d7c394 !important;
  font-size: 0.64rem;
  font-weight: 850;
}

html body.page-premium main .app-traffic-promo__content li strong {
  color: #fffdf8 !important;
  -webkit-text-fill-color: #fffdf8 !important;
  font-size: clamp(0.72rem, 0.85vw, 0.82rem);
  line-height: 1.32;
}

.app-traffic-promo__action {
  display: flex;
  margin-top: 30px;
  padding: 18px 20px;
  border: 1px solid rgba(215, 195, 148, 0.48);
  border-radius: 16px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #15120b;
  background: linear-gradient(110deg, #f7e8b3 0%, #d7c394 52%, #bd8b27 100%);
  box-shadow: 0 20px 42px -30px rgba(215, 195, 148, 0.9);
  text-decoration: none;
}

.app-traffic-promo__action:focus-visible {
  outline: 3px solid #fffdf8;
  outline-offset: 4px;
}

.app-traffic-promo__action > span {
  display: grid;
  gap: 2px;
}

.app-traffic-promo__action small {
  color: rgba(21, 18, 11, 0.72);
  font-size: 0.64rem;
  font-weight: 760;
}

.app-traffic-promo__action strong {
  color: #15120b;
  font-size: clamp(0.88rem, 1vw, 1rem);
  line-height: 1.2;
}

.app-traffic-promo__action b {
  display: grid;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  place-items: center;
  color: #fffdf8;
  background: #15120b;
  font-size: 1.15rem;
  transition: transform 220ms ease;
}

.app-traffic-promo__card:is(:hover, :focus-within) .app-traffic-promo__action b {
  transform: translateX(4px);
}

@media (max-width: 980px) {
  html body.page-premium main .app-traffic-promo__card {
    grid-template-columns: 1fr;
  }

  .app-traffic-promo__media {
    min-height: clamp(270px, 54vw, 420px);
  }

  .app-traffic-promo__media::after {
    background: linear-gradient(0deg, rgba(10, 10, 13, 0.96) 0%, transparent 52%);
  }

  .app-traffic-promo__media img { object-position: center 42%; }
  .app-traffic-promo__content ul { max-width: 660px; }
}

@media (max-width: 620px) {
  .app-traffic-promo { padding-block: 46px !important; }

  html body.page-premium main .app-traffic-promo__card {
    min-height: 0;
    border-radius: 26px;
  }

  .app-traffic-promo__media { min-height: 245px; }

  .app-traffic-promo__media figcaption {
    right: 20px;
    bottom: 18px;
    left: 20px;
  }

  .app-traffic-promo__content { padding: 28px 20px 22px; }

  html body.page-premium main .app-traffic-promo__content h2 {
    max-width: 12ch;
    font-size: clamp(2.3rem, 12.5vw, 3.25rem);
  }

  html body.page-premium main .app-traffic-promo__content > p:not(.eyebrow) {
    margin-top: 20px;
    font-size: 0.96rem;
  }

  .app-traffic-promo__content ul {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 24px;
  }

  .app-traffic-promo__content li {
    min-height: 0;
    padding: 13px 14px;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 12px;
  }

  .app-traffic-promo__action {
    margin-top: 22px;
    padding: 15px;
  }
}

/* About Dominik: focused training hero and a quieter two-image short profile. */
.page-about .ff-hero--about > .ff-hero__img {
  object-position: 50% 43%;
  filter: saturate(0.82) brightness(0.54);
}

.page-about .ff-hero--about .ff-hero__scrim {
  background:
    linear-gradient(180deg, rgba(7, 8, 12, 0.58) 0%, rgba(7, 8, 12, 0.18) 48%, rgba(7, 8, 12, 0.76) 100%),
    linear-gradient(90deg, rgba(7, 8, 12, 0.9) 0%, rgba(7, 8, 12, 0.68) 38%, rgba(7, 8, 12, 0.2) 72%, rgba(7, 8, 12, 0.08) 100%);
}

.page-about .editorial-stage--about-profile {
  grid-template-columns: minmax(420px, 0.96fr) minmax(520px, 1.04fr);
  gap: clamp(36px, 5vw, 76px);
}

.page-about .editorial-stage__media--duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.4vw, 20px);
  width: min(100%, 820px);
  min-height: 0;
  padding: 0;
  justify-self: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.page-about .editorial-stage__media--duo figure {
  aspect-ratio: 3 / 4;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(215, 195, 148, 0.2);
  border-radius: 24px;
  background: #121216;
  box-shadow: 0 24px 54px -34px rgba(0, 0, 0, 0.92);
}

.page-about .editorial-stage__media--duo img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  border-radius: 0;
}

.page-about .editorial-stage__media--duo figure:first-child img {
  object-position: center 35%;
}

.page-about .editorial-stage__media--duo figure:last-child img {
  object-position: center 30%;
}

@media (max-width: 1180px) {
  .page-about .editorial-stage--about-profile {
    grid-template-columns: 1fr;
  }

  .page-about .editorial-stage__media--duo {
    width: min(100%, 720px);
  }
}

@media (max-width: 720px) {
  .page-about .ff-hero--about > .ff-hero__img {
    object-position: 50% 44%;
  }

  .page-about .ff-hero--about .ff-hero__scrim {
    background:
      linear-gradient(180deg, rgba(7, 8, 12, 0.82) 0%, rgba(7, 8, 12, 0.34) 42%, rgba(7, 8, 12, 0.88) 100%),
      linear-gradient(90deg, rgba(7, 8, 12, 0.68), rgba(7, 8, 12, 0.14));
  }

  .page-about .editorial-stage__media--duo {
    gap: 10px;
  }

  .page-about .editorial-stage__media--duo figure {
    border-radius: 18px;
  }
}

/* About Dominik mobile opening: photo first, message second. */
.page-about .ff-hero__mobile-role {
  display: none;
}

@media (max-width: 720px) {
  .page-about .ff-hero--about {
    --about-mobile-media-height: clamp(430px, 61svh, 520px);
    min-height: 0;
    overflow: hidden;
    background: #0a0a0d;
  }

  .page-about .ff-hero--about > .ff-hero__img {
    inset: 0 0 auto;
    width: 100%;
    height: var(--about-mobile-media-height);
    object-position: center top;
    filter: saturate(0.9) brightness(0.78) contrast(1.03);
  }

  .page-about .ff-hero--about .ff-hero__scrim {
    inset: 0 0 auto;
    height: var(--about-mobile-media-height);
    background:
      linear-gradient(180deg, rgba(7, 8, 12, 0.16) 0%, rgba(7, 8, 12, 0.02) 46%, rgba(7, 8, 12, 0.38) 76%, #0a0a0d 100%);
  }

  .page-about .ff-hero--about .ff-hero__shell {
    display: block;
    width: min(calc(100% - 18px), 560px);
    min-height: 0;
    padding-top: calc(var(--about-mobile-media-height) - 38px);
    padding-bottom: 46px;
  }

  .page-about .ff-hero--about .ff-hero__mobile-role {
    position: absolute;
    z-index: 3;
    top: calc(var(--about-mobile-media-height) - 86px);
    left: 18px;
    display: inline-flex;
    width: fit-content;
    margin: 0;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #fffdf8;
    background: rgba(10, 10, 13, 0.5);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(12px);
    font-size: 0.69rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
  }

  .page-about .ff-hero--about .ff-hero__inner {
    position: relative;
    z-index: 4;
    max-width: none;
    padding: 28px 18px 0;
    border: 1px solid rgba(215, 195, 148, 0.16);
    border-bottom: 0;
    border-radius: 28px 28px 0 0;
    background:
      radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.12), transparent 34%),
      linear-gradient(180deg, rgba(18, 18, 22, 0.98), #0a0a0d 72%);
    box-shadow: 0 -24px 48px rgba(0, 0, 0, 0.28);
  }

  .page-about .ff-hero--about .ff-hero__eyebrow {
    margin-bottom: 15px;
    color: var(--cd-gold);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
  }

  .page-about .ff-hero--about .ff-hero__title {
    max-width: none;
    margin: 0;
    font-size: clamp(2.5rem, 11.2vw, 3rem) !important;
    line-height: 0.91 !important;
    letter-spacing: -0.045em;
  }

  .page-about .ff-hero--about .ff-hero__break--desktop {
    display: none;
  }

  .page-about .ff-hero--about .ff-hero__title > span {
    display: inline-block;
    margin-top: 4px;
  }

  .page-about .ff-hero--about .ff-hero__lead {
    max-width: 34ch;
    margin-top: 22px;
    font-size: 0.98rem;
    line-height: 1.58;
  }

  .page-about .ff-hero--about .ff-hero__support {
    display: none;
  }

  .page-about .ff-hero--about .ff-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    margin-top: 24px;
  }

  .page-about .ff-hero--about .ff-hero__actions .button {
    width: 100%;
    min-height: 52px;
    justify-content: space-between;
  }

  .page-about .ff-hero--about .ff-hero__actions .button--secondary-light {
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.045);
  }

  .page-about .ff-hero--about .ff-hero__facts {
    margin-top: 30px;
    padding-top: 22px;
  }
}

/* Home mobile opening: a clear photo stage followed by the brand promise. */
.page-home-reboot .ff-hero__home-card {
  display: contents;
}

@media (max-width: 900px) {
  .page-home-reboot .ff-hero--home-photo {
    --home-mobile-media-top: 68px;
    --home-mobile-media-height: clamp(370px, 48svh, 430px);
    min-height: 0;
    overflow: hidden;
    background: #0a0a0d;
  }

  .page-home-reboot .ff-hero--home-photo > picture .ff-hero__img {
    inset: var(--home-mobile-media-top) 0 auto;
    width: 100%;
    height: var(--home-mobile-media-height);
    object-position: 50% 20% !important;
    filter: saturate(0.9) brightness(0.82) contrast(1.03);
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__scrim {
    inset: var(--home-mobile-media-top) 0 auto;
    height: var(--home-mobile-media-height);
    background:
      linear-gradient(180deg, rgba(7, 8, 12, 0.12) 0%, rgba(7, 8, 12, 0.01) 46%, rgba(7, 8, 12, 0.34) 76%, #0a0a0d 100%);
  }

  .page-home-reboot .ff-hero--home-photo::after {
    display: none;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__inner {
    display: block;
    width: min(calc(100% - 18px), 560px);
    min-height: 0;
    padding-top: calc(var(--home-mobile-media-top) + var(--home-mobile-media-height) - 38px);
    padding-bottom: 46px;
    text-align: left;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__home-card {
    position: relative;
    z-index: 4;
    display: block;
    padding: 28px 18px 0;
    border: 1px solid rgba(215, 195, 148, 0.16);
    border-bottom: 0;
    border-radius: 28px 28px 0 0;
    background:
      radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.12), transparent 34%),
      linear-gradient(180deg, rgba(18, 18, 22, 0.98), #0a0a0d 72%);
    box-shadow: 0 -24px 48px rgba(0, 0, 0, 0.28);
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__mobile-welcome {
    position: absolute;
    top: -52px;
    left: 18px;
    display: inline-flex;
    width: fit-content;
    margin: 0;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #fffdf8;
    background: rgba(10, 10, 13, 0.5);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(12px);
    font-family: var(--font-sans);
    font-size: 0.69rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
    text-shadow: none;
    text-transform: uppercase;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__mobile-welcome::before {
    display: none;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__eyebrow {
    display: block;
    margin: 0 0 15px;
    color: var(--cd-gold) !important;
    font-size: 0.64rem;
    letter-spacing: 0.08em;
    line-height: 1.35;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__title {
    display: block;
    max-width: none;
    margin: 0;
    color: #fffdf8 !important;
    font-size: clamp(2.72rem, 12.2vw, 3.35rem) !important;
    line-height: 0.88 !important;
    letter-spacing: -0.04em;
    text-align: left;
    text-shadow: none;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__title > span {
    margin-top: 3px;
    color: #f2dfa8 !important;
    text-shadow: none;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__actions {
    display: none !important;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 14px;
    margin-top: 28px !important;
    padding-top: 22px;
    border-top-color: rgba(215, 195, 148, 0.2) !important;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__facts div {
    min-height: 54px;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__facts dt {
    color: #fffdf8 !important;
    font-size: clamp(1.28rem, 5.6vw, 1.55rem);
    line-height: 0.95;
  }

  .page-home-reboot .ff-hero--home-photo .ff-hero__facts dd {
    margin-top: 5px;
    color: rgba(255, 253, 248, 0.68) !important;
    font-size: 0.63rem;
    letter-spacing: 0.08em;
    line-height: 1.32;
  }
}

/* Events hero: permanent contrast guard for actions and format links. */
html body.page-premium.page-events main .ff-hero--events .ff-hero__actions .button {
  opacity: 1 !important;
  visibility: visible !important;
}

html body.page-premium.page-events main .ff-hero--events .ff-hero__actions .button--primary {
  color: #07101f !important;
  border-color: rgba(246, 224, 166, 0.72) !important;
  background: linear-gradient(115deg, #fff1b8 0%, #d7c394 45%, #b68727 100%) !important;
  box-shadow:
    0 18px 36px -20px rgba(182, 135, 39, 0.95),
    inset 0 1px 0 rgba(255, 252, 235, 0.82) !important;
}

html body.page-premium.page-events main .ff-hero--events .ff-hero__actions .button--primary > span {
  color: #07101f !important;
  -webkit-text-fill-color: #07101f !important;
}

html body.page-premium.page-events main .ff-hero--events .ff-hero__actions .button--secondary-light {
  color: #19140b !important;
  border-color: rgba(255, 253, 248, 0.9) !important;
  background: #fffdf8 !important;
  box-shadow:
    0 18px 34px -22px rgba(0, 0, 0, 0.88),
    inset 0 1px 0 #fff !important;
}

html body.page-premium.page-events main .ff-hero--events .ff-hero__actions .button--secondary-light > span {
  color: #19140b !important;
  -webkit-text-fill-color: #19140b !important;
}

html body.page-premium.page-events main .ff-hero--events .ff-hero__actions .button:hover,
html body.page-premium.page-events main .ff-hero--events .ff-hero__actions .button:focus-visible {
  filter: brightness(1.04);
  transform: translateY(-2px);
}

html body.page-premium.page-events main .ff-hero--events .ff-hero__actions .button:focus-visible {
  outline: 3px solid #fffdf8;
  outline-offset: 4px;
}

html body.page-premium.page-events main .ff-hero--events .ff-hero__pills span {
  opacity: 1 !important;
  visibility: visible !important;
  color: #fffdf8 !important;
  -webkit-text-fill-color: #fffdf8 !important;
  border-color: rgba(242, 223, 168, 0.42) !important;
  background: rgba(7, 10, 16, 0.72) !important;
  box-shadow:
    0 14px 30px -20px rgba(0, 0, 0, 0.9),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.42);
  backdrop-filter: blur(14px);
}

/* Team success hero: keep the new portrait clear of the floating navigation. */
.page-team .ff-hero--team .ff-hero__img {
  object-position: 50% top !important;
  filter: saturate(0.86) brightness(0.72) contrast(1.02) !important;
}

@media (max-width: 720px) {
  .page-team .ff-hero--team .ff-hero__img {
    object-position: 30% top !important;
  }

  /* Keep the complete footer system badge inside one correctly sized gold outline. */
  .site-footer .brand--footer small {
    display: inline-flex;
    align-items: center;
    width: max-content;
    max-width: 100%;
    min-height: 0;
    box-sizing: border-box;
    padding: 4px 8px;
    border: 1px solid #d7c394;
    border-radius: 6px;
    color: #f2dfa8 !important;
    background: transparent !important;
    line-height: 1.15;
    white-space: nowrap;
  }
}

/* Team results: permanent dark-surface contrast guard. */
html body.page-premium.page-team main section.coach-success {
  color: #fffdf8 !important;
  background:
    radial-gradient(circle at 82% 8%, rgba(215, 195, 148, 0.18), transparent 30%),
    linear-gradient(145deg, #07090d 0%, #10141c 54%, #080a0e 100%) !important;
}

html body.page-premium.page-team main section.coach-success .section-header h2 {
  color: #fffdf8 !important;
  -webkit-text-fill-color: #fffdf8 !important;
}

html body.page-premium.page-team main section.coach-success .section-header .eyebrow,
html body.page-premium.page-team main section.coach-success .coach-success__totals strong,
html body.page-premium.page-team main section.coach-success .coach-success__year-label {
  color: #f2dfa8 !important;
  -webkit-text-fill-color: #f2dfa8 !important;
}

html body.page-premium.page-team main section.coach-success :is(
  .section-header p:not(.eyebrow),
  .coach-success__totals span,
  .coach-success__years a,
  .coach-success__year-stats,
  .coach-success__results li > span:last-child,
  .coach-success__note
) {
  color: rgba(255, 253, 248, 0.82) !important;
  -webkit-text-fill-color: rgba(255, 253, 248, 0.82) !important;
}

html body.page-premium.page-team main section.coach-success .coach-success__year,
html body.page-premium.page-team main section.coach-success .coach-success__timeline {
  border-color: rgba(255, 255, 255, 0.16) !important;
}

html body.page-premium.page-team main section.coach-success .coach-success__year summary {
  color: #fffdf8 !important;
  border-radius: 16px;
  transition: background 180ms ease;
}

/* Contextual inquiry path: always reachable on conversion-relevant mobile pages. */
.mobile-inquiry-bar {
  display: none;
}

@media (max-width: 760px) {
  body.has-mobile-inquiry-bar {
    padding-bottom: calc(86px + env(safe-area-inset-bottom));
  }

  .mobile-inquiry-bar {
    position: fixed;
    z-index: 180;
    right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    left: 10px;
    display: block;
  }

  .mobile-inquiry-bar a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 66px;
    padding: 11px 14px 11px 18px;
    border: 1px solid rgba(215, 195, 148, 0.55);
    border-radius: 16px;
    color: #fffdf8;
    background: rgba(17, 16, 13, 0.97);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.32);
    text-decoration: none;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }

  .mobile-inquiry-bar__copy {
    display: grid;
    gap: 2px;
  }

  .mobile-inquiry-bar__copy small {
    color: #d7c394;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
  }

  .mobile-inquiry-bar__copy strong {
    color: #fffdf8;
    font-size: 0.98rem;
    line-height: 1.2;
  }

  .mobile-inquiry-bar__arrow {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    color: #17140f;
    background: #d7c394;
    font-size: 1.1rem;
  }
}

@media print {
  .mobile-inquiry-bar {
    display: none !important;
  }
}

/* Personal Trainer Nürnberg: authority and proof directly beneath the hero. */
.page-coaching .pt-authority {
  padding: clamp(44px, 6vw, 82px) 0;
  border-top: 1px solid rgba(215, 195, 148, 0.24);
  border-bottom: 1px solid rgba(215, 195, 148, 0.18);
  background:
    radial-gradient(circle at 88% 10%, rgba(215, 195, 148, 0.16), transparent 34%),
    linear-gradient(145deg, #1a1916, #0d1015 78%);
}

.page-coaching .pt-authority__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: clamp(34px, 6vw, 92px);
  align-items: end;
}

.page-coaching .pt-authority__copy .eyebrow {
  margin: 0 0 18px;
  color: #d7c394;
}

html body.page-premium.page-coaching main .pt-authority__copy h2 {
  max-width: 15ch;
  margin: 0;
  color: #fffdf8 !important;
  -webkit-text-fill-color: #fffdf8 !important;
  font-family: var(--font-cond);
  font-size: clamp(2.7rem, 4.6vw, 5rem);
  font-style: italic;
  line-height: 0.9;
  text-transform: uppercase;
}

html body.page-premium.page-coaching main .pt-authority__copy > p:not(.eyebrow) {
  max-width: 58ch;
  margin: 24px 0 0;
  color: rgba(255, 253, 248, 0.74) !important;
  -webkit-text-fill-color: rgba(255, 253, 248, 0.74) !important;
  line-height: 1.65;
}

.page-coaching .pt-authority__links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 26px;
  margin-top: 28px;
}

html body.page-premium.page-coaching main .pt-authority__links a {
  color: #e5ce8d !important;
  -webkit-text-fill-color: #e5ce8d !important;
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.page-coaching .pt-authority__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.page-coaching .pt-authority__facts div {
  min-height: 154px;
  padding: clamp(22px, 3vw, 36px);
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

html body.page-premium.page-coaching main .pt-authority__facts dt {
  color: #d7c394 !important;
  -webkit-text-fill-color: #d7c394 !important;
  font-family: var(--font-cond);
  font-size: clamp(2.5rem, 4vw, 4.5rem);
  font-style: italic;
  font-weight: 850;
  line-height: 0.86;
}

html body.page-premium.page-coaching main .pt-authority__facts dd {
  max-width: 23ch;
  margin: 16px 0 0;
  color: rgba(255, 253, 248, 0.72) !important;
  -webkit-text-fill-color: rgba(255, 253, 248, 0.72) !important;
  font-size: 0.76rem;
  font-weight: 750;
  line-height: 1.45;
  text-transform: uppercase;
}

@media (max-width: 860px) {
  .page-coaching .pt-authority__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 540px) {
  .page-coaching .pt-authority__facts {
    grid-template-columns: 1fr;
  }

  .page-coaching .pt-authority__facts div {
    min-height: 116px;
  }
}

/* Bodybuilding calendar source groups and international programme. */
.page-bodybuilding-calendar .bbcal-source-navigation {
  display: grid;
  gap: clamp(30px, 5vw, 54px);
  width: min(100%, 1540px);
  margin: clamp(44px, 7vw, 84px) auto 0;
}

.page-bodybuilding-calendar .bbcal-source-group > p {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #5b5244;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.page-bodybuilding-calendar .bbcal-source-group > p span {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  color: #201b12;
  background: #d7c394;
  font-size: 0.68rem;
  letter-spacing: 0;
}

.page-bodybuilding-calendar .bbcal-source-group .bbcal-source-grid {
  margin: 16px 0 0;
}

.page-bodybuilding-calendar .bbcal-source-grid--international {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-bodybuilding-calendar .bbcal-source-link--international {
  min-height: 156px;
  border-color: rgba(215, 195, 148, 0.35);
  color: #fffdf8;
  background:
    radial-gradient(circle at 92% 8%, rgba(215, 195, 148, 0.2), transparent 42%),
    linear-gradient(145deg, #20201c, #0c0f14);
  box-shadow: 0 26px 56px -34px rgba(10, 9, 6, 0.85);
}

.page-bodybuilding-calendar .bbcal-source-link--international > span,
.page-bodybuilding-calendar .bbcal-source-link--international b {
  color: #e1c986;
}

html body.page-premium.page-bodybuilding-calendar main .bbcal-source-link--international > span,
html body.page-premium.page-bodybuilding-calendar main .bbcal-source-link--international b {
  color: #e1c986 !important;
  -webkit-text-fill-color: #e1c986 !important;
}

html body.page-premium.page-bodybuilding-calendar main .bbcal-source-link--international strong {
  color: #fffdf8 !important;
  -webkit-text-fill-color: #fffdf8 !important;
}

html body.page-premium.page-bodybuilding-calendar main .bbcal-source-link--international small {
  color: rgba(255, 253, 248, 0.72) !important;
  -webkit-text-fill-color: rgba(255, 253, 248, 0.72) !important;
}

.page-bodybuilding-calendar .bbcal-source-link--international:hover,
.page-bodybuilding-calendar .bbcal-source-link--international:focus-visible {
  border-color: rgba(225, 201, 134, 0.78);
  box-shadow: 0 30px 62px -34px rgba(10, 9, 6, 0.95);
}

.page-bodybuilding-calendar .bbcal-section-heading--international {
  margin-top: clamp(72px, 10vw, 132px);
  padding-top: clamp(34px, 5vw, 62px);
  border-top: 1px solid rgba(42, 33, 18, 0.18);
}

.page-bodybuilding-calendar .bbcal-federation--international {
  border-color: rgba(215, 195, 148, 0.28);
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.16), transparent 38%),
    linear-gradient(145deg, #1b1b18, #0d1015);
}

.page-bodybuilding-calendar .bbcal-system-tag {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 7px 12px;
  border: 1px solid rgba(225, 201, 134, 0.38);
  border-radius: 999px;
  color: #e1c986;
  background: rgba(225, 201, 134, 0.08);
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
}

.page-bodybuilding-calendar .bbcal-more-events {
  margin-top: 4px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.page-bodybuilding-calendar .bbcal-more-events summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 92px;
  padding: 22px clamp(20px, 4vw, 54px);
  cursor: pointer;
  list-style: none;
  color: #fffdf8;
  font-family: var(--font-cond);
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  transition: background 180ms ease;
}

.page-bodybuilding-calendar .bbcal-more-events summary::-webkit-details-marker {
  display: none;
}

.page-bodybuilding-calendar .bbcal-more-events summary:hover,
.page-bodybuilding-calendar .bbcal-more-events summary:focus-visible {
  background: rgba(255, 255, 255, 0.045);
}

.page-bodybuilding-calendar .bbcal-more-events summary b {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 13px;
  border-radius: 999px;
  color: #19150e;
  background: #d7c394;
  font-family: var(--font-sans);
  font-size: 0.68rem;
  font-style: normal;
  letter-spacing: 0.07em;
  line-height: 1;
}

.page-bodybuilding-calendar .bbcal-more-events .bbcal-event-list {
  padding-top: 0;
}

@media (max-width: 680px) {
  .page-bodybuilding-calendar .bbcal-source-navigation {
    gap: 28px;
  }

  .page-bodybuilding-calendar .bbcal-source-group:not(.bbcal-source-group--international) .bbcal-source-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .page-bodybuilding-calendar .bbcal-source-link {
    min-height: 112px;
    padding: 16px;
    border-radius: 18px;
  }

  .page-bodybuilding-calendar .bbcal-source-link > span {
    font-size: 1.8rem;
  }

  .page-bodybuilding-calendar .bbcal-source-link strong {
    font-size: 1rem;
  }

  .page-bodybuilding-calendar .bbcal-source-link small {
    font-size: 0.7rem;
  }

  .page-bodybuilding-calendar .bbcal-source-grid--international {
    grid-template-columns: 1fr;
  }

  .page-bodybuilding-calendar .bbcal-source-link--international {
    min-height: 106px;
  }

  .page-bodybuilding-calendar .bbcal-more-events summary {
    align-items: flex-start;
    flex-direction: column;
    min-height: 0;
    padding-block: 20px;
  }
}

html body.page-premium.page-team main section.coach-success .coach-success__year summary:hover,
html body.page-premium.page-team main section.coach-success .coach-success__year summary:focus-visible {
  background: rgba(255, 255, 255, 0.055) !important;
}

html body.page-premium.page-team main section.coach-success .coach-success__results li {
  border-color: rgba(255, 255, 255, 0.1) !important;
  background: rgba(255, 255, 255, 0.045) !important;
}

html body.page-premium.page-team main section.coach-success .coach-success__year summary {
  grid-template-columns: 168px minmax(0, 1fr) 24px;
  gap: 28px;
}

@media (max-width: 640px) {
  html body.page-premium.page-team main section.coach-success .coach-success__year summary {
    grid-template-columns: minmax(0, 1fr) 24px;
    grid-template-rows: auto auto;
    gap: 4px 12px;
    min-height: 104px;
    padding: 17px 8px;
  }

  html body.page-premium.page-team main section.coach-success .coach-success__year-label {
    grid-column: 1;
    grid-row: 1;
  }

  html body.page-premium.page-team main section.coach-success .coach-success__year-stats {
    grid-column: 1;
    grid-row: 2;
  }

  html body.page-premium.page-team main section.coach-success .coach-success__toggle {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
  }
}

/* Firmenfitness: nationwide offer architecture and decision-ready corporate flow. */
.page-firmenfitness .corporate-offers-section {
  background:
    radial-gradient(circle at 10% 0%, rgba(215, 195, 148, 0.17), transparent 30%),
    linear-gradient(180deg, #fffdf8 0%, #f4ead9 100%) !important;
}

.page-firmenfitness .corporate-offers-section .section-header {
  max-width: 860px;
  margin-inline: auto;
}

.page-firmenfitness .corporate-offer-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 18px;
  margin-top: clamp(34px, 4.5vw, 62px);
}

.page-firmenfitness .corporate-offer-showcase__stack {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.page-firmenfitness .corporate-offer-card {
  overflow: hidden;
  border: 1px solid rgba(42, 33, 18, 0.13);
  border-radius: 30px;
  background: #fffdf8 !important;
  box-shadow: 0 30px 72px -50px rgba(43, 32, 12, 0.48);
}

.page-firmenfitness .corporate-offer-card--featured {
  display: grid;
  grid-template-rows: minmax(290px, 0.86fr) minmax(0, 1.14fr);
  min-height: 720px;
}

.page-firmenfitness .corporate-offer-card--compact {
  display: grid;
  grid-template-columns: minmax(190px, 0.78fr) minmax(0, 1.22fr);
  min-height: 351px;
}

.page-firmenfitness .corporate-offer-card__media {
  position: relative;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: #25231e;
}

.page-firmenfitness .corporate-offer-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 15, 13, 0.02) 35%, rgba(15, 15, 13, 0.58) 100%);
  pointer-events: none;
}

.page-firmenfitness .corporate-offer-card__media img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  transition: transform 600ms ease;
}

.page-firmenfitness .corporate-offer-card:hover .corporate-offer-card__media img {
  transform: scale(1.025);
}

.page-firmenfitness .corporate-offer-card__media-label {
  position: absolute;
  z-index: 1;
  left: 20px;
  bottom: 18px;
  padding: 8px 11px;
  border: 1px solid rgba(255, 253, 248, 0.38);
  border-radius: 999px;
  color: #fffdf8 !important;
  -webkit-text-fill-color: #fffdf8 !important;
  background: rgba(22, 21, 18, 0.55);
  backdrop-filter: blur(12px);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.page-firmenfitness .corporate-offer-card__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(26px, 3vw, 42px);
}

.page-firmenfitness .corporate-offer-card--compact .corporate-offer-card__body {
  padding: clamp(23px, 2.15vw, 32px);
}

.page-firmenfitness .corporate-offer-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: clamp(30px, 4vw, 54px);
}

.page-firmenfitness .corporate-offer-card--compact .corporate-offer-card__meta {
  margin-bottom: 26px;
}

.page-firmenfitness .corporate-offer-card__meta span {
  color: #9b741a !important;
  -webkit-text-fill-color: #9b741a !important;
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-style: italic;
  font-weight: 850;
  letter-spacing: -0.05em;
}

.page-firmenfitness .corporate-offer-card__meta small {
  color: rgba(25, 21, 14, 0.48) !important;
  -webkit-text-fill-color: rgba(25, 21, 14, 0.48) !important;
  font-size: 0.65rem;
  font-weight: 760;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.page-firmenfitness .corporate-offer-card h3 {
  max-width: 15ch;
  margin: 0 0 16px;
  color: #19150e !important;
  -webkit-text-fill-color: #19150e !important;
  font-size: clamp(2.1rem, 3.4vw, 4rem);
  letter-spacing: -0.06em;
  line-height: 0.94;
  text-transform: none;
}

.page-firmenfitness .corporate-offer-card--compact h3 {
  font-size: clamp(1.65rem, 2.2vw, 2.65rem);
}

.page-firmenfitness .corporate-offer-card__body > p {
  max-width: 58ch;
  margin: 0;
  color: rgba(25, 21, 14, 0.69) !important;
  -webkit-text-fill-color: rgba(25, 21, 14, 0.69) !important;
  font-size: 0.95rem;
  line-height: 1.62;
}

.page-firmenfitness .corporate-offer-card__points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: auto 0 0;
  padding: 28px 0 0;
  list-style: none;
}

.page-firmenfitness .corporate-offer-card__points li {
  position: relative;
  padding: 8px 11px 8px 25px;
  border: 1px solid rgba(155, 116, 26, 0.2);
  border-radius: 999px;
  color: #4a3a17 !important;
  -webkit-text-fill-color: #4a3a17 !important;
  background: rgba(215, 195, 148, 0.16) !important;
  font-size: 0.74rem;
  font-weight: 720;
  line-height: 1.2;
}

.page-firmenfitness .corporate-offer-card__points li::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b88a22;
  transform: translateY(-50%);
}

.page-firmenfitness .corporate-offers-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 22px;
  padding: 22px 26px;
  border: 1px solid rgba(155, 116, 26, 0.28);
  border-radius: 22px;
  background: #fffdf8;
  box-shadow: 0 22px 48px -38px rgba(43, 32, 12, 0.42);
}

.page-firmenfitness .corporate-offers-cta p {
  max-width: 720px;
  margin: 0;
  color: rgba(25, 21, 14, 0.72) !important;
  line-height: 1.6;
}

.page-firmenfitness .corporate-offers-cta strong { color: #19150e !important; }
.page-firmenfitness .corporate-offers-cta .button { flex: 0 0 auto; }

:is(.page-firmenfitness, .page-app) .corporate-cases-section {
  background: #f5ecdc !important;
}

:is(.page-firmenfitness, .page-app) .corporate-case-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: clamp(30px, 4vw, 52px);
}

:is(.page-firmenfitness, .page-app) .corporate-case-card {
  min-height: 430px;
  display: flex;
  flex-direction: column;
  padding: clamp(26px, 3vw, 38px);
  border: 1px solid rgba(42, 33, 18, 0.13);
  border-radius: 28px;
  background: linear-gradient(145deg, #fffefa, #f8f0e2) !important;
  box-shadow: 0 30px 60px -48px rgba(43, 32, 12, 0.5);
}

:is(.page-firmenfitness, .page-app) .corporate-case-card--accent {
  border-color: rgba(155, 116, 26, 0.34);
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.25), transparent 34%),
    linear-gradient(145deg, #fffdf8, #f2e1c2) !important;
}

:is(.page-firmenfitness, .page-app) .corporate-case-card__sector {
  color: #9b741a !important;
  font-size: 0.72rem;
  font-weight: 820;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

:is(.page-firmenfitness, .page-app) .corporate-case-card h3 {
  margin: 34px 0 16px;
  color: #19150e !important;
  font-size: clamp(1.8rem, 2.4vw, 2.65rem);
  letter-spacing: -0.05em;
  line-height: 0.98;
}

:is(.page-firmenfitness, .page-app) .corporate-case-card p {
  margin: 0;
  color: rgba(25, 21, 14, 0.7) !important;
  line-height: 1.65;
}

:is(.page-firmenfitness, .page-app) .corporate-case-card ul {
  display: grid;
  gap: 9px;
  margin: auto 0 0;
  padding: 28px 0 0;
  list-style: none;
}

:is(.page-firmenfitness, .page-app) .corporate-case-card li {
  padding-top: 9px;
  border-top: 1px solid rgba(42, 33, 18, 0.11);
  color: #19150e !important;
  font-size: 0.9rem;
  font-weight: 680;
}

.page-firmenfitness .corporate-reach-section {
  background:
    radial-gradient(circle at 90% 6%, rgba(215, 195, 148, 0.16), transparent 30%),
    #fffdf8 !important;
}

.page-firmenfitness .corporate-scale-grid,
.page-firmenfitness .corporate-decision-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: clamp(30px, 4vw, 52px);
}

.page-firmenfitness .corporate-scale-grid article,
.page-firmenfitness .corporate-decision-grid article {
  min-height: 300px;
  padding: 28px;
  border: 1px solid rgba(42, 33, 18, 0.12);
  border-radius: 24px;
  background: linear-gradient(145deg, #fffefa, #f7eddd) !important;
  box-shadow: 0 24px 48px -40px rgba(43, 32, 12, 0.44);
}

.page-firmenfitness .corporate-scale-grid span,
.page-firmenfitness .corporate-decision-grid span {
  display: block;
  color: #9b741a !important;
  font-size: clamp(1.45rem, 2.3vw, 2.4rem);
  font-style: italic;
  font-weight: 850;
  letter-spacing: -0.05em;
}

.page-firmenfitness .corporate-scale-grid h3,
.page-firmenfitness .corporate-decision-grid h3 {
  margin: 48px 0 14px;
  color: #19150e !important;
  font-size: clamp(1.25rem, 1.7vw, 1.65rem);
  letter-spacing: -0.035em;
  line-height: 1.05;
}

.page-firmenfitness .corporate-scale-grid p,
.page-firmenfitness .corporate-decision-grid p {
  margin: 0;
  color: rgba(25, 21, 14, 0.68) !important;
  line-height: 1.58;
}

html body.page-premium.page-firmenfitness main .corporate-process-section {
  background: linear-gradient(145deg, #171714, #24211b) !important;
}

.page-firmenfitness .corporate-process-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(48px, 7vw, 108px);
  align-items: start;
}

.page-firmenfitness .corporate-process-copy {
  position: sticky;
  top: 132px;
}

.page-firmenfitness .corporate-process-copy h2 {
  margin: 12px 0 22px;
  color: #fffdf8 !important;
  font-size: clamp(2.45rem, 4.5vw, 5rem);
  letter-spacing: -0.06em;
  line-height: 0.93;
}

.page-firmenfitness .corporate-process-copy .eyebrow {
  color: #d7c394 !important;
  -webkit-text-fill-color: #d7c394 !important;
}

.page-firmenfitness .corporate-process-copy > p:not(.eyebrow) {
  max-width: 560px;
  margin: 0 0 28px;
  color: rgba(255, 253, 248, 0.78) !important;
  line-height: 1.68;
}

.page-firmenfitness .corporate-process-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-firmenfitness .corporate-process-list li {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 20px;
  padding: 28px;
  border: 1px solid rgba(215, 195, 148, 0.2);
  border-radius: 22px;
  background: rgba(255, 253, 248, 0.055) !important;
}

.page-firmenfitness .corporate-process-list li > span {
  color: #d7c394 !important;
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 820;
}

.page-firmenfitness .corporate-process-list h3 {
  margin: 0 0 8px;
  color: #fffdf8 !important;
  font-size: clamp(1.25rem, 1.8vw, 1.65rem);
  letter-spacing: -0.035em;
}

.page-firmenfitness .corporate-process-list p {
  margin: 0;
  color: rgba(255, 253, 248, 0.72) !important;
  line-height: 1.58;
}

.page-firmenfitness .corporate-decision-section {
  background: #fffdf8 !important;
}

@media (max-width: 1020px) {
  .page-firmenfitness .corporate-offer-showcase { grid-template-columns: 1fr; }
  .page-firmenfitness .corporate-offer-card--featured {
    grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr);
    grid-template-rows: none;
    min-height: 460px;
  }
  .page-firmenfitness .corporate-offer-showcase__stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
  }
  .page-firmenfitness .corporate-offer-card--compact {
    grid-template-columns: 1fr;
    grid-template-rows: 220px minmax(0, 1fr);
  }
  :is(.page-firmenfitness, .page-app) .corporate-case-grid { grid-template-columns: 1fr; }
  :is(.page-firmenfitness, .page-app) .corporate-case-card { min-height: 0; }
  :is(.page-firmenfitness, .page-app) .corporate-case-card ul { margin-top: 26px; }
  .page-firmenfitness .corporate-scale-grid,
  .page-firmenfitness .corporate-decision-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-firmenfitness .corporate-process-layout { grid-template-columns: 1fr; }
  .page-firmenfitness .corporate-process-copy { position: static; }
}

@media (max-width: 640px) {
  .page-firmenfitness .corporate-offer-showcase__stack { grid-template-columns: 1fr; }
  .page-firmenfitness .corporate-offer-card--featured,
  .page-firmenfitness .corporate-offer-card--compact {
    grid-template-columns: 1fr;
    grid-template-rows: 230px minmax(0, 1fr);
    min-height: 0;
    border-radius: 24px;
  }
  .page-firmenfitness .corporate-offer-card__body,
  .page-firmenfitness .corporate-offer-card--compact .corporate-offer-card__body { padding: 24px 20px; }
  .page-firmenfitness .corporate-offer-card__meta,
  .page-firmenfitness .corporate-offer-card--compact .corporate-offer-card__meta { margin-bottom: 24px; }
  .page-firmenfitness .corporate-offer-card h3,
  .page-firmenfitness .corporate-offer-card--compact h3 { font-size: clamp(1.85rem, 9vw, 2.55rem); }
  .page-firmenfitness .corporate-offer-card__points { margin-top: 24px; padding-top: 0; }
  .page-firmenfitness .corporate-offers-cta {
    align-items: stretch;
    flex-direction: column;
    padding: 20px;
  }

  .page-firmenfitness .corporate-offers-cta .button { width: 100%; }
  :is(.page-firmenfitness, .page-app) .corporate-case-card { padding: 24px 20px; border-radius: 22px; }
  :is(.page-firmenfitness, .page-app) .corporate-case-card h3 { margin-top: 24px; }
  .page-firmenfitness .corporate-scale-grid,
  .page-firmenfitness .corporate-decision-grid { grid-template-columns: 1fr; }
  .page-firmenfitness .corporate-scale-grid article,
  .page-firmenfitness .corporate-decision-grid article { min-height: 0; padding: 24px 20px; }
  .page-firmenfitness .corporate-scale-grid h3,
  .page-firmenfitness .corporate-decision-grid h3 { margin-top: 30px; }
  .page-firmenfitness .corporate-process-list li { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 22px 18px; }
}

/* ============================================================
   PERSONAL TRAINING PRICING — conversion-led comparison page
   ============================================================ */
.page-guide-pricing .pt-pricing-section {
  padding-top: clamp(54px, 7vw, 100px);
}

.page-guide-pricing .pt-pricing-section .section-header {
  max-width: 850px;
  margin-inline: auto;
}

.page-guide-pricing .pt-price-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: clamp(34px, 5vw, 62px);
}

.page-guide-pricing .pt-price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 610px;
  padding: 30px 26px 26px;
  overflow: hidden;
  border: 1px solid rgba(42, 33, 18, 0.13);
  border-radius: 26px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.22), transparent 34%),
    linear-gradient(145deg, #fffefa, #f5ecdc);
  box-shadow: 0 28px 64px -46px rgba(43, 32, 12, 0.55);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.page-guide-pricing .pt-price-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #9b741a, #ead792 60%, transparent);
  content: "";
}

.page-guide-pricing .pt-price-card:hover {
  transform: translateY(-5px);
  border-color: rgba(155, 116, 26, 0.42);
  box-shadow: 0 34px 74px -44px rgba(43, 32, 12, 0.62);
}

.page-guide-pricing .pt-price-card--featured {
  border-color: rgba(155, 116, 26, 0.42);
  background:
    radial-gradient(circle at 100% 0%, rgba(234, 215, 146, 0.42), transparent 34%),
    linear-gradient(145deg, #fffdf5, #eddfbd);
  box-shadow: 0 32px 76px -42px rgba(112, 78, 8, 0.58);
}

.page-guide-pricing .pt-price-card--featured::after {
  position: absolute;
  top: 22px;
  right: -38px;
  width: 150px;
  padding: 7px 10px;
  transform: rotate(38deg);
  background: #17140e;
  color: #fffdf8;
  content: "Empfohlen";
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-align: center;
  text-transform: uppercase;
}

.page-guide-pricing .pt-price-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 52px;
}

.page-guide-pricing .pt-price-card__number {
  color: #9b741a;
  font-size: 1.2rem;
  font-style: italic;
  font-weight: 850;
}

.page-guide-pricing .pt-price-card__tag {
  max-width: 150px;
  color: rgba(25, 21, 14, 0.58);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-align: right;
  text-transform: uppercase;
}

.page-guide-pricing .pt-price-card h3 {
  margin: 0;
  color: #19150e !important;
  font-size: clamp(1.65rem, 2.1vw, 2.2rem);
  letter-spacing: -0.045em;
  line-height: 1;
}

.page-guide-pricing .pt-price-card__price {
  min-height: 2.7em;
  margin: 18px 0 22px;
  color: #9b741a !important;
  font-family: var(--font-cond);
  font-size: clamp(2rem, 2.7vw, 3rem);
  font-style: italic;
  font-weight: 850;
  letter-spacing: -0.045em;
  line-height: 0.95;
}

.page-guide-pricing .pt-price-card__price small {
  display: block;
  margin-top: 8px;
  color: rgba(25, 21, 14, 0.55);
  font-family: var(--font-sans);
  font-size: 0.65rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.page-guide-pricing .pt-price-card__fit {
  min-height: 5.2em;
  margin: 0 0 14px;
  padding: 14px 0;
  border-block: 1px solid rgba(42, 33, 18, 0.1);
  color: #3f321c !important;
  font-size: 0.88rem;
  font-weight: 750;
  line-height: 1.45;
}

.page-guide-pricing .pt-price-card__text {
  margin: 0;
  color: rgba(25, 21, 14, 0.7) !important;
  font-size: 0.92rem;
  line-height: 1.58;
}

.page-guide-pricing .pt-price-card ul {
  display: grid;
  gap: 9px;
  margin: 22px 0 26px;
  padding: 0;
  list-style: none;
}

.page-guide-pricing .pt-price-card li {
  position: relative;
  padding-left: 18px;
  color: #19150e;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.4;
}

.page-guide-pricing .pt-price-card li::before {
  position: absolute;
  top: 0.48em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #b98d29;
  box-shadow: 0 0 0 4px rgba(185, 141, 41, 0.12);
  content: "";
}

.page-guide-pricing .pt-price-card__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(42, 33, 18, 0.12);
  color: #19150e;
  font-size: 0.8rem;
  font-weight: 850;
  letter-spacing: 0.02em;
  text-decoration: none;
}

.page-guide-pricing .pt-price-card__link span {
  color: #9b741a;
  font-size: 1.25rem;
  transition: transform 160ms ease;
}

.page-guide-pricing .pt-price-card__link:hover span { transform: translateX(4px); }

.page-guide-pricing .pt-price-assurance {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 22px;
  padding: 22px 24px;
  border: 1px solid rgba(42, 33, 18, 0.12);
  border-radius: 22px;
  background: #fffdf8;
  box-shadow: 0 20px 50px -42px rgba(43, 32, 12, 0.5);
}

.page-guide-pricing .pt-price-assurance > div { display: grid; gap: 5px; max-width: 900px; }
.page-guide-pricing .pt-price-assurance strong { color: #19150e; font-size: 1.02rem; }
.page-guide-pricing .pt-price-assurance span { color: rgba(25, 21, 14, 0.68); line-height: 1.52; }
.page-guide-pricing .pt-price-assurance .button span { color: inherit; }
.page-guide-pricing .pricing-overview__note { color: rgba(25, 21, 14, 0.56); }

.page-guide-pricing .pt-comparison-section {
  position: relative;
}

.page-guide-pricing .pt-comparison {
  margin-top: 34px;
  overflow-x: auto;
  border: 1px solid rgba(42, 33, 18, 0.13);
  border-radius: 24px;
  background: #fffdf8;
  box-shadow: 0 28px 70px -52px rgba(43, 32, 12, 0.65);
}

.page-guide-pricing .pt-comparison table {
  width: 100%;
  min-width: 850px;
  border-collapse: collapse;
  color: #19150e;
}

.page-guide-pricing .pt-comparison th,
.page-guide-pricing .pt-comparison td {
  padding: 22px 24px;
  border-bottom: 1px solid rgba(42, 33, 18, 0.1);
  text-align: left;
  vertical-align: middle;
}

.page-guide-pricing .pt-comparison thead th {
  background: #17140e;
  color: #fffdf8;
  font-size: 0.68rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.page-guide-pricing .pt-comparison tbody th { font-size: 0.96rem; }
.page-guide-pricing .pt-comparison tbody td { color: rgba(25, 21, 14, 0.7); font-size: 0.9rem; }
.page-guide-pricing .pt-comparison tbody tr:last-child :is(th, td) { border-bottom: 0; }
.page-guide-pricing .pt-comparison .is-recommended { background: rgba(234, 215, 146, 0.28); }
.page-guide-pricing .pt-comparison tbody th span {
  display: inline-flex;
  margin-left: 8px;
  padding: 4px 7px;
  border-radius: 999px;
  background: #9b741a;
  color: #fff;
  font-size: 0.55rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-guide-pricing .pt-pricing-proof {
  padding: clamp(64px, 8vw, 112px) 0;
  background:
    radial-gradient(circle at 80% 0%, rgba(215, 195, 148, 0.12), transparent 30%),
    #171719;
}

.page-guide-pricing .pt-pricing-proof__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr);
  gap: clamp(48px, 7vw, 110px);
  align-items: center;
}

.page-guide-pricing .pt-pricing-proof__copy .eyebrow { color: #d7c394 !important; }
.page-guide-pricing .pt-pricing-proof__copy h2 {
  max-width: 760px;
  margin: 12px 0 24px;
  color: #fffdf8 !important;
  font-size: clamp(2.4rem, 4.5vw, 4.9rem);
  letter-spacing: -0.06em;
  line-height: 0.94;
}

.page-guide-pricing .pt-pricing-proof__copy > p:not(.eyebrow) {
  max-width: 620px;
  color: rgba(255, 253, 248, 0.7) !important;
  font-size: 1.02rem;
  line-height: 1.7;
}

.page-guide-pricing .pt-pricing-proof__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 30px;
}

.page-guide-pricing .pt-pricing-proof__links a,
.page-guide-pricing .pt-setup-links a {
  color: #d7c394;
  font-size: 0.85rem;
  font-weight: 800;
  text-decoration: none;
}

.page-guide-pricing .pt-pricing-proof__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.page-guide-pricing .pt-pricing-proof__facts div {
  min-height: 190px;
  padding: 28px;
  border: 1px solid rgba(215, 195, 148, 0.2);
  border-radius: 22px;
  background: rgba(255, 253, 248, 0.055);
}

.page-guide-pricing .pt-pricing-proof__facts dt {
  color: #d7c394;
  font-family: var(--font-cond);
  font-size: clamp(2.4rem, 4vw, 4.2rem);
  font-style: italic;
  font-weight: 850;
  line-height: 1;
}

.page-guide-pricing .pt-pricing-proof__facts dd {
  max-width: 210px;
  margin: 34px 0 0;
  color: rgba(255, 253, 248, 0.72);
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.45;
}

.page-guide-pricing .pt-setup-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 28px;
}

.page-guide-pricing .pt-setup-links a { color: #7f5d0e; }
.page-guide-pricing .editorial-stage__media img { object-position: center; }

@media (max-width: 1180px) {
  .page-guide-pricing .pt-price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-guide-pricing .pt-price-card { min-height: 560px; }
}

@media (max-width: 920px) {
  .page-guide-pricing .pt-pricing-proof__grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .page-guide-pricing .pt-price-grid { grid-template-columns: 1fr; gap: 14px; }
  .page-guide-pricing .pt-price-card { min-height: 0; padding: 26px 20px 22px; border-radius: 22px; }
  .page-guide-pricing .pt-price-card__top { margin-bottom: 34px; }
  .page-guide-pricing .pt-price-card__price,
  .page-guide-pricing .pt-price-card__fit { min-height: 0; }
  .page-guide-pricing .pt-price-assurance { align-items: stretch; flex-direction: column; padding: 20px; }
  .page-guide-pricing .pt-price-assurance .button { width: 100%; }
  .page-guide-pricing .pt-pricing-proof__facts { grid-template-columns: 1fr 1fr; }
  .page-guide-pricing .pt-pricing-proof__facts div { min-height: 150px; padding: 20px 16px; }
  .page-guide-pricing .pt-pricing-proof__facts dd { margin-top: 22px; }
  .page-guide-pricing .pt-comparison th,
  .page-guide-pricing .pt-comparison td { padding: 18px; }
}

/* ============================================================
   BODYBUILDING COACHING — local and online contest prep
   ============================================================ */
.page-bodybuilding-coaching {
  --bbc-gold: #d7c394;
  --bbc-gold-deep: #966f17;
  --bbc-ink: #17140f;
  --bbc-line: rgba(77, 57, 20, 0.15);
}

.page-bodybuilding-coaching main h1,
.page-bodybuilding-coaching main h2,
.page-bodybuilding-coaching main h3 {
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 900;
  letter-spacing: -0.045em;
  text-transform: uppercase;
}

.page-bodybuilding-coaching main .eyebrow { color: var(--bbc-gold-deep); }
.page-bodybuilding-coaching main h2 span,
.page-bodybuilding-coaching main h1 span { color: var(--bbc-gold); }

.bbc-hero {
  position: relative;
  min-height: min(920px, 94svh);
  overflow: hidden;
  color: #fffdf8;
  background: #08090c;
}

.bbc-hero__image,
.bbc-hero__scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.bbc-hero__image { object-fit: cover; object-position: 68% 25%; }
.bbc-hero__scrim {
  background:
    linear-gradient(90deg, rgba(7, 8, 11, 0.99) 0%, rgba(7, 8, 11, 0.91) 43%, rgba(7, 8, 11, 0.46) 69%, rgba(7, 8, 11, 0.16) 100%),
    linear-gradient(0deg, rgba(7, 8, 11, 0.94), transparent 46%);
}

.bbc-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: min(920px, 94svh);
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.72fr);
  gap: clamp(48px, 8vw, 140px);
  align-items: end;
  padding-block: clamp(150px, 20vh, 230px) clamp(70px, 10vh, 110px);
}

.bbc-hero__copy { max-width: 900px; }
.bbc-hero__copy .eyebrow { color: var(--bbc-gold) !important; }
.bbc-hero h1 {
  max-width: 950px;
  margin: 20px 0 0;
  color: #fffdf8;
  font-size: clamp(4rem, 7.5vw, 8rem);
  line-height: 0.84;
}

.bbc-hero h1 span {
  display: block;
  margin-top: 18px;
  font-size: 0.54em;
  line-height: 0.96;
}

.bbc-hero__lead {
  max-width: 780px;
  margin: 30px 0 0;
  color: rgba(255, 253, 248, 0.78);
  font-size: clamp(1.02rem, 1.5vw, 1.25rem);
  line-height: 1.65;
}

.bbc-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.bbc-hero__micro { margin: 16px 0 0; color: rgba(255, 253, 248, 0.5); font-size: 0.74rem; font-weight: 750; }
.bbc-hero__proof { display: grid; gap: 10px; margin: 0; }
.bbc-hero__proof div {
  display: grid;
  min-height: 125px;
  grid-template-columns: 130px 1fr;
  gap: 20px;
  align-items: center;
  padding: 22px 26px;
  border: 1px solid rgba(215, 195, 148, 0.23);
  border-radius: 20px;
  background: rgba(11, 12, 15, 0.72);
  backdrop-filter: blur(14px);
}

.bbc-hero__proof dt { color: var(--bbc-gold); font-family: var(--font-cond); font-size: 2.9rem; font-style: italic; font-weight: 900; line-height: 1; }
.bbc-hero__proof dd { margin: 0; color: rgba(255, 253, 248, 0.76); font-size: 0.82rem; font-weight: 800; line-height: 1.42; text-transform: uppercase; }

.bbc-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, 0.62fr);
  gap: clamp(50px, 9vw, 160px);
  align-items: end;
  margin-bottom: clamp(40px, 6vw, 76px);
}

.bbc-section-head h2,
.bbc-authority h2,
.bbc-fit h2,
.bbc-inquiry h2 {
  margin: 12px 0 0;
  color: var(--bbc-ink);
  font-size: clamp(2.7rem, 5vw, 5.5rem);
  line-height: 0.92;
}

.bbc-section-head > p { margin: 0; color: #655d50; font-size: 1rem; line-height: 1.7; }

.bbc-audience__grid,
.bbc-formats__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.bbc-audience__grid article,
.bbc-formats__grid article {
  position: relative;
  padding: clamp(28px, 4vw, 54px);
  border: 1px solid var(--bbc-line);
  border-radius: 30px;
  background: linear-gradient(145deg, #fffefa, #f4ead8);
  box-shadow: 0 32px 70px -58px rgba(48, 34, 10, 0.7);
}

.bbc-audience__grid article > span {
  color: var(--bbc-gold-deep);
  font-family: var(--font-cond);
  font-size: 3rem;
  font-style: italic;
  font-weight: 900;
}

.bbc-audience__grid small,
.bbc-formats__grid small {
  display: block;
  margin-top: 30px;
  color: var(--bbc-gold-deep);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.bbc-audience__grid h3,
.bbc-formats__grid h3,
.bbc-flow__grid h3 {
  margin: 12px 0 0;
  color: var(--bbc-ink);
  font-size: clamp(1.8rem, 3vw, 3.1rem);
  line-height: 0.98;
}

.bbc-audience__grid p,
.bbc-formats__grid p,
.bbc-flow__grid p { color: #655d50; line-height: 1.62; }
.bbc-audience__grid ul,
.bbc-formats__grid ul,
.bbc-fit ul { display: grid; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.bbc-audience__grid li,
.bbc-formats__grid li,
.bbc-fit li { position: relative; padding-left: 22px; font-size: 0.88rem; font-weight: 700; line-height: 1.45; }
.bbc-audience__grid li::before,
.bbc-formats__grid li::before,
.bbc-fit li::before { position: absolute; top: 0.48em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--bbc-gold-deep); content: ""; }

html body.page-premium.page-bodybuilding-coaching main .bbc-authority {
  background: #0d0f13 !important;
}
.bbc-authority__grid { display: grid; grid-template-columns: minmax(380px, 0.82fr) minmax(0, 1.18fr); gap: clamp(50px, 8vw, 130px); align-items: center; }
.bbc-authority figure { min-height: 700px; margin: 0; overflow: hidden; border-radius: 34px; }
.bbc-authority figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.bbc-authority .eyebrow { color: var(--bbc-gold) !important; }
.bbc-authority h2 { color: #fffdf8; }
.bbc-authority__lead { max-width: 800px; color: rgba(255, 253, 248, 0.73); font-size: 1.08rem; line-height: 1.72; }
.bbc-authority__facts { display: grid; gap: 0; margin-top: 32px; }
.bbc-authority__facts article { padding: 21px 0; border-top: 1px solid rgba(215, 195, 148, 0.18); }
.bbc-authority__facts strong { color: var(--bbc-gold); font-size: 0.74rem; letter-spacing: 0.09em; text-transform: uppercase; }
.bbc-authority__facts p { margin: 8px 0 0; color: rgba(255, 253, 248, 0.65); line-height: 1.55; }
.bbc-text-link { display: inline-flex; gap: 30px; margin-top: 22px; color: #fffdf8; font-size: 0.82rem; font-weight: 850; text-decoration: none; }
.bbc-text-link span:last-child { color: var(--bbc-gold); }

.bbc-system__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.bbc-system__steps li { min-height: 390px; padding: 30px; border: 1px solid var(--bbc-line); border-radius: 26px; background: #fffefa; }
.bbc-system__steps li > span { color: var(--bbc-gold-deep); font-family: var(--font-cond); font-size: 2.8rem; font-style: italic; font-weight: 900; }
.bbc-system__steps li div { margin-top: 82px; }
.bbc-system__steps small { color: var(--bbc-gold-deep); font-size: 0.64rem; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; }
.bbc-system__steps h3 { margin: 12px 0 0; color: var(--bbc-ink); font-size: 1.75rem; line-height: 1; }
.bbc-system__steps p { color: #655d50; font-size: 0.86rem; line-height: 1.62; }

.bbc-formats__grid article { display: flex; min-height: 520px; flex-direction: column; }
.bbc-formats__grid article:nth-child(2) { color: #fffdf8; background: radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.18), transparent 34%), #111318; }
.bbc-formats__grid article:nth-child(2) h3 { color: #fffdf8; }
.bbc-formats__grid article:nth-child(2) p { color: rgba(255, 253, 248, 0.66); }
.bbc-formats__grid article:nth-child(2) li { color: rgba(255, 253, 248, 0.8); }
.bbc-formats__grid a { margin-top: auto; padding-top: 24px; border-top: 1px solid var(--bbc-line); color: var(--bbc-gold-deep); font-size: 0.78rem; font-weight: 900; text-decoration: none; text-transform: uppercase; }
.bbc-formats__grid article:nth-child(2) a { border-color: rgba(255,255,255,.12); color: var(--bbc-gold); }

.bbc-flow__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.bbc-flow__grid > * { display: flex; min-height: 390px; flex-direction: column; padding: clamp(25px, 3vw, 38px); border: 1px solid var(--bbc-line); border-radius: 26px; color: inherit; background: linear-gradient(145deg, #fffefa, #f4ead8); text-decoration: none; }
.bbc-flow__grid > * > span { color: var(--bbc-gold-deep); font-size: 0.66rem; font-weight: 900; letter-spacing: 0.09em; text-transform: uppercase; }
.bbc-flow__grid b,
.bbc-flow__grid article a { margin-top: auto; color: var(--bbc-gold-deep); font-size: 0.75rem; font-weight: 900; text-decoration: none; text-transform: uppercase; }
.bbc-flow__grid > a { transition: transform 180ms ease, box-shadow 180ms ease; }
.bbc-flow__grid > a:hover { transform: translateY(-5px); box-shadow: 0 28px 65px -44px rgba(48, 34, 10, 0.65); }

html body.page-premium.page-bodybuilding-coaching main .bbc-fit {
  background: #0d0f13 !important;
}
.bbc-fit__grid { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(420px, 0.75fr); gap: clamp(50px, 10vw, 180px); align-items: center; }
.bbc-fit .eyebrow { color: var(--bbc-gold) !important; }
.bbc-fit h2 { color: #fffdf8; }
.bbc-fit li { color: rgba(255, 253, 248, 0.82); font-size: 1rem; }
.bbc-fit li::before { background: var(--bbc-gold); }
.bbc-fit__grid > div:last-child > p { margin: 30px 0 0; padding-top: 24px; border-top: 1px solid rgba(215, 195, 148, 0.18); color: rgba(255, 253, 248, 0.52); font-size: 0.82rem; line-height: 1.6; }

html body.page-premium.page-bodybuilding-coaching main .bbc-inquiry {
  color: #fffdf8;
  background: radial-gradient(circle at 8% 0%, rgba(215,195,148,.13), transparent 28%), #0d0f13 !important;
}
.bbc-inquiry__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(500px, 1fr); gap: clamp(50px, 8vw, 130px); align-items: start; }
.bbc-inquiry .eyebrow { color: var(--bbc-gold) !important; }
.bbc-inquiry h2 { color: #fffdf8; }
.bbc-inquiry__copy > p:not(.eyebrow) { color: rgba(255,253,248,.68); line-height: 1.7; }
.bbc-inquiry__copy > div { margin-top: 38px; padding: 28px; border: 1px solid rgba(215,195,148,.18); border-radius: 22px; background: rgba(255,255,255,.035); }
.bbc-inquiry__copy > div > strong { color: var(--bbc-gold); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.bbc-inquiry__copy ol { display: grid; gap: 16px; margin: 20px 0 0; padding: 0; list-style: none; }
.bbc-inquiry__copy li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; color: rgba(255,253,248,.72); font-size: .85rem; line-height: 1.45; }
.bbc-inquiry__copy li span { color: var(--bbc-gold); font-weight: 900; }
.bbc-inquiry__form { padding: clamp(26px, 4vw, 48px); border: 1px solid rgba(215,195,148,.2); border-radius: 30px; background: #fffdf8; color: var(--bbc-ink); box-shadow: 0 35px 85px -55px #000; }
.bbc-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.bbc-inquiry__form label { display: grid; gap: 8px; }
.bbc-inquiry__form label > span { color: #5f5545; font-size: .68rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.bbc-inquiry__form input,
.bbc-inquiry__form select,
.bbc-inquiry__form textarea { width: 100%; border: 1px solid rgba(52,39,15,.16); border-radius: 13px; color: var(--bbc-ink); background: #fff; font: inherit; }
.bbc-inquiry__form input,
.bbc-inquiry__form select { min-height: 55px; padding: 0 14px; }
.bbc-inquiry__form textarea { min-height: 170px; padding: 14px; resize: vertical; }
.bbc-inquiry__message { margin-top: 16px; }
.bbc-inquiry__privacy { color: #756b5c; font-size: .7rem; line-height: 1.5; }
.bbc-inquiry__privacy a { color: var(--bbc-gold-deep); }
.bbc-inquiry__form .button { width: 100%; margin-top: 8px; }
.bbc-inquiry__form .contact-form__status { color: #5f5545; }

@media (max-width: 1080px) {
  .bbc-hero__inner,
  .bbc-authority__grid,
  .bbc-inquiry__grid { grid-template-columns: 1fr; }
  .bbc-hero__proof { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bbc-hero__proof div { min-height: 150px; grid-template-columns: 1fr; }
  .bbc-system__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bbc-flow__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bbc-authority figure { min-height: 580px; }
}

@media (max-width: 820px) {
  .bbc-section-head,
  .bbc-fit__grid { grid-template-columns: 1fr; gap: 24px; }
  .bbc-audience__grid,
  .bbc-formats__grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .bbc-hero { min-height: 900px; }
  .bbc-hero__image { object-position: 61% 10%; }
  .bbc-hero__scrim { background: linear-gradient(0deg, rgba(7,8,11,.99) 0%, rgba(7,8,11,.94) 54%, rgba(7,8,11,.24) 100%); }
  .bbc-hero__inner { min-height: 900px; grid-template-columns: 1fr; gap: 34px; align-content: end; padding-block: 310px 48px; }
  .bbc-hero h1 { font-size: clamp(3.1rem, 15vw, 5rem); }
  .bbc-hero h1 span { margin-top: 13px; font-size: .52em; }
  .bbc-hero__actions { flex-direction: column; }
  .bbc-hero__actions .button { width: 100%; }
  .bbc-hero__proof { grid-template-columns: 1fr 1fr; }
  .bbc-hero__proof div { min-height: 115px; padding: 17px; }
  .bbc-hero__proof div:last-child { grid-column: 1 / -1; }
  .bbc-hero__proof dt { font-size: 2.2rem; }
  .bbc-hero__proof dd { font-size: .68rem; }
  .bbc-section-head h2,
  .bbc-authority h2,
  .bbc-fit h2,
  .bbc-inquiry h2 { font-size: clamp(2.35rem, 12vw, 3.7rem); }
  .bbc-system__steps,
  .bbc-flow__grid,
  .bbc-form-grid { grid-template-columns: 1fr; }
  .bbc-system__steps li { min-height: 320px; }
  .bbc-system__steps li div { margin-top: 52px; }
  .bbc-formats__grid article { min-height: 470px; }
  .bbc-flow__grid > * { min-height: 330px; }
  .bbc-authority figure { min-height: 480px; }
  .bbc-inquiry__form { padding: 24px 18px; border-radius: 23px; }
}

/* Mit sechs Hauptpunkten wird die Desktop-Leiste zwischen 980 und 1120 px zu eng
   und die Anfragen-Schaltfläche lief über den Rand. Etwas weniger Innenabstand
   in genau diesem Band löst das, ohne die Trefferfläche unter 44 px zu drücken. */
@media (min-width: 980px) and (max-width: 1119px) {
  body.page-premium .site-nav .site-nav__entry,
  body.page-home-reboot .site-nav .site-nav__entry {
    padding-inline: 4px !important;
  }
}
