@font-face {
  font-family: "Inter";
  src: url("/assets/fonts/inter-400.woff2?f-1e5a13e2c71e") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("/assets/fonts/inter-500.woff2?f-1e5a13e2c71e") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("/assets/fonts/inter-700.woff2?f-1e5a13e2c71e") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("/assets/fonts/inter-800.woff2?f-1e5a13e2c71e") format("woff2");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

@font-face {
  font-family: "Roboto Condensed";
  src: url("/assets/fonts/roboto-condensed-400.woff2?f-1e5a13e2c71e") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Roboto Condensed";
  src: url("/assets/fonts/roboto-condensed-700.woff2?f-1e5a13e2c71e") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Cormorant Garamond";
  src: url("/assets/fonts/cormorant-garamond-500.woff2?f-1e5a13e2c71e") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Cormorant Garamond";
  src: url("/assets/fonts/cormorant-garamond-600.woff2?f-1e5a13e2c71e") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Cormorant Garamond";
  src: url("/assets/fonts/cormorant-garamond-700.woff2?f-1e5a13e2c71e") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  color-scheme: light;
  --color-ink: #14110c;
  --color-ink-2: #2b2519;
  --color-muted: #62594b;
  --color-soft: #f4efe6;
  --color-soft-2: #e7ddcb;
  --color-panel: #fcfaf6;
  --color-line: #d8cdbc;
  --color-dark: #0f0d09;
  --color-dark-2: #17130d;
  --color-dark-line: rgba(255, 255, 255, 0.14);
  --accent: #d7c394;
  --accent-rgb: 215, 195, 148;
  --accent-strong: #9b741a;
  --accent-green: #f2dfa8;
  --accent-gold: #9b741a;
  --accent-warm: #d7c394;
  --shadow: 0 24px 64px rgba(20, 17, 12, 0.14);
  --shadow-soft: 0 14px 32px rgba(20, 17, 12, 0.08);
  --radius: 8px;
  --shell: 1280px;
  --header-height: 76px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--color-panel);
}

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: clamp(16px, 0.18vw + 15.35px, 17px);
  line-height: 1.72;
  color: var(--color-ink);
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.05), transparent 18%),
    radial-gradient(circle at left 14%, rgba(var(--accent-rgb), 0.025), transparent 20%),
    linear-gradient(180deg, #f5f2ec, #fbf9f4 34%, #f2eee5);
  letter-spacing: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body,
button,
input,
select,
textarea {
  letter-spacing: 0;
}

img,
svg {
  max-width: 100%;
  display: block;
}

/* Zusammen mit den width/height-Angaben im Markup kennt der Browser das
   Seitenverhältnis schon vor dem Laden und hält den Platz frei — sonst springt
   das Layout, sobald ein Bild eintrifft. */
img {
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

input,
select,
textarea {
  width: 100%;
}

::selection {
  color: var(--color-ink);
  background: var(--accent);
}

.skip-link {
  position: absolute;
  left: 16px;
  top: 12px;
  z-index: 30;
  transform: translateY(-140%);
  padding: 10px 14px;
  border-radius: var(--radius);
  color: var(--color-ink);
  background: var(--accent);
  transition: transform 180ms ease;
}

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

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: var(--header-height);
  background: rgba(255, 252, 244, 0.9);
  border-bottom: 1px solid rgba(225, 211, 170, 0.72);
  backdrop-filter: blur(18px);
  transition: box-shadow 180ms ease, background 180ms ease;
}

.site-header.is-scrolled {
  background: rgba(255, 252, 244, 0.96);
  box-shadow: 0 10px 30px rgba(20, 17, 12, 0.08);
}

.nav-shell,
.section-shell {
  width: min(100% - 40px, var(--shell));
  margin-inline: auto;
}

.section-shell--wide {
  width: min(100% - 28px, 1840px);
}

.nav-shell {
  min-height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.brand__mark {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 28px rgba(20, 17, 12, 0.12);
}

.brand__logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.brand__name,
.brand small {
  display: block;
}

.brand__name,
.site-nav__brand-name {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.1;
}

.brand small {
  margin-top: 2px;
  color: var(--color-muted);
  font-size: 0.76rem;
  line-height: 1.15;
}

.brand--footer .brand__mark {
  width: 72px;
  height: 72px;
  background: transparent;
  box-shadow: none;
}

.nav-toggle {
  border: 1px solid var(--color-line);
  background: rgba(255, 255, 255, 0.92);
  border-radius: var(--radius);
  display: inline-grid;
  grid-template-columns: 18px auto;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 12px;
  color: var(--color-ink);
  cursor: pointer;
}

.nav-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  background: currentColor;
}

.nav-toggle span + span {
  margin-top: 4px;
}

.nav-toggle__label {
  font-size: 0.86rem;
  font-weight: 700;
}

.site-nav {
  position: fixed;
  inset: var(--header-height) 16px auto 16px;
  display: none;
  flex-direction: column;
  padding: 12px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius);
  background: rgba(255, 252, 244, 0.98);
  box-shadow: var(--shadow-soft);
}

.site-nav.is-open {
  display: flex;
}

.site-nav a {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 10px 12px;
  border-radius: var(--radius);
  color: var(--color-muted);
  font-size: 0.94rem;
  font-weight: 700;
}

.site-nav a:hover,
.site-nav a:focus,
.site-nav a[aria-current="page"] {
  color: var(--color-ink);
  background: var(--color-soft);
}

.site-nav__overlay {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
}

.site-nav__brand-block {
  display: none;
}

.site-nav__list {
  display: grid;
  gap: 8px;
}

.site-nav__entry-main {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.site-nav__entry-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.site-nav__entry-label {
  min-width: 0;
}

.site-nav__entry-arrow {
  margin-left: auto;
  font-size: 1.45rem;
  line-height: 1;
  opacity: 0.72;
}

.site-nav__footer {
  display: none;
}

.site-nav__social-title {
  margin: 0;
}

.nav-cta {
  display: none;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
  color: var(--color-ink);
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.nav-extras {
  display: none;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

.language-switcher {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--color-muted);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.language-switcher__button {
  min-width: 28px;
  padding: 5px 2px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.language-switcher__button:hover,
.language-switcher__button:focus-visible,
.language-switcher__button.is-active {
  color: var(--color-ink);
  background: var(--color-soft);
}

.language-switcher--mobile {
  margin-left: auto;
  margin-right: 8px;
}

.language-switcher--desktop {
  display: none;
}

.nav-socials,
.site-nav__socials {
  display: flex;
  align-items: center;
}

.nav-socials .social-link-row,
.site-nav__socials .social-link-row {
  gap: 8px;
}

.social-link--nav {
  min-width: 38px;
  width: 38px;
  height: 38px;
  padding: 8px;
  border: 1px solid rgba(17, 16, 12, 0.14);
  background: rgba(17, 16, 12, 0.78);
  box-shadow: 0 14px 28px rgba(17, 16, 12, 0.12);
  backdrop-filter: blur(12px);
}

.social-link--nav .social-link__icon {
  width: 18px;
  height: 18px;
}

.social-link--nav:hover,
.social-link--nav:focus-visible {
  border-color: rgba(var(--accent-rgb), 0.34);
  background: rgba(17, 16, 12, 0.92);
}

.site-nav__socials {
  margin-top: 10px;
  padding: 14px 12px 4px;
  border-top: 1px solid var(--color-line);
}

.page-home {
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.06), transparent 24%),
    linear-gradient(180deg, #f8f3e7, #fffdf8 34%, #f6efe0);
}

.page-home main {
  overflow: clip;
}

.page-home .site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: transparent;
  border-bottom: 0;
  backdrop-filter: none;
}

.page-home .site-header.is-scrolled {
  background: transparent;
  box-shadow: none;
}

.page-home .nav-shell {
  width: 100%;
  min-height: 72px;
  padding-inline: clamp(18px, 2.4vw, 40px);
  border: 1px solid rgba(20, 17, 12, 0.08);
  border-radius: 0 0 30px 30px;
  background: rgba(255, 252, 244, 0.95);
  box-shadow: 0 20px 42px rgba(20, 17, 12, 0.1);
  backdrop-filter: blur(18px);
}

.page-home .nav-toggle {
  border-radius: 999px;
  border-color: rgba(20, 17, 12, 0.08);
  background: transparent;
  box-shadow: none;
}

.page-home .site-nav {
  inset: calc(var(--header-height) + 8px) 18px auto 18px;
  border-color: rgba(20, 17, 12, 0.08);
  background: rgba(255, 252, 244, 0.98);
}

.page-home .site-nav a:hover,
.page-home .site-nav a:focus,
.page-home .site-nav a[aria-current="page"] {
  background: rgba(var(--accent-rgb), 0.12);
}

.promo-strip {
  padding: 106px 0 16px;
  color: var(--accent-green);
  background: #0f0d09;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.promo-strip__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 0.76rem;
  font-weight: 850;
  text-transform: uppercase;
}

.promo-strip__inner span {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.promo-strip__inner span:not(:last-child)::after {
  content: "";
  width: 1px;
  height: 12px;
  background: rgba(255, 255, 255, 0.14);
}

.landing-hero {
  position: relative;
  overflow: hidden;
  padding: 116px 0 48px;
  color: #ffffff;
  background:
    linear-gradient(90deg, rgba(216, 184, 69, 0.14), rgba(216, 184, 69, 0) 32%),
    linear-gradient(180deg, #0f0d09 0%, #14110c 58%, #0f0d09 100%);
}

.landing-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
}

.landing-hero__desktop,
.landing-story,
.landing-app-block {
  width: min(100% - 32px, var(--shell));
  margin-inline: auto;
  display: grid;
  gap: 30px;
}

.landing-hero__intro,
.landing-hero__stage {
  display: grid;
  gap: 30px;
}

.landing-hero__content {
  max-width: 620px;
}

.landing-hero__rating {
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  font-size: 0.74rem;
  font-weight: 850;
  text-transform: uppercase;
}

.landing-hero__rating strong {
  color: var(--accent-green);
}

.landing-hero .eyebrow {
  color: var(--accent-green);
}

.landing-hero h1 {
  max-width: none;
  margin-top: 16px;
}

.landing-hero p {
  max-width: 42rem;
  color: rgba(255, 255, 255, 0.74);
}

.landing-hero__lead {
  margin-top: 18px;
  font-size: 1.1rem;
  font-weight: 680;
}

.landing-hero__support {
  margin-top: 14px;
  font-size: 0.98rem;
}

.landing-hero__actions {
  margin-top: 26px;
}

.landing-hero__actions .button,
.landing-final-actions .button {
  min-height: 52px;
  padding-inline: 20px;
  border-radius: 999px;
}

.landing-hero__ghost {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.04)),
    rgba(255, 255, 255, 0.02);
  box-shadow:
    0 18px 32px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.landing-hero__ghost > span:last-child {
  color: var(--accent-green);
  background: rgba(var(--accent-rgb), 0.14);
}

.button--primary:hover,
.button--primary:focus-visible {
  box-shadow:
    0 24px 40px rgba(155, 116, 26, 0.3),
    inset 0 -1px 0 rgba(80, 58, 9, 0.18);
}

.button--secondary:hover,
.button--secondary:focus-visible,
.button--secondary-light:hover,
.button--secondary-light:focus-visible,
.landing-hero__ghost:hover,
.landing-hero__ghost:focus-visible {
  border-color: rgba(var(--accent-rgb), 0.34);
}

.landing-hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.landing-hero__trust span {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.76);
  background: rgba(255, 255, 255, 0.03);
  font-size: 0.82rem;
  font-weight: 820;
}

.landing-hero__stage {
  position: relative;
  grid-template-areas: "figure";
  min-height: 620px;
  align-items: end;
}

.landing-hero__app {
  grid-area: app;
  z-index: 2;
}

.landing-hero__figure {
  grid-area: figure;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: end;
  min-height: 460px;
}

.landing-hero__figure::before {
  content: "";
  position: absolute;
  inset: 9% 8% 0 11%;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top, rgba(216, 184, 69, 0.2), transparent 58%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.01)),
    linear-gradient(90deg, rgba(216, 184, 69, 0.12), rgba(216, 184, 69, 0));
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.landing-hero__figure img {
  position: relative;
  z-index: 1;
  width: min(100%, 560px);
  max-height: 78svh;
  object-fit: contain;
  object-position: bottom center;
  filter: drop-shadow(0 26px 42px rgba(0, 0, 0, 0.28));
}

.landing-hero__coach-card {
  grid-area: coach;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius);
  color: #ffffff;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)),
    rgba(19, 15, 10, 0.9);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(18px);
  z-index: 2;
}

.landing-hero__coach-card .card-tag {
  background: rgba(var(--accent-rgb), 0.16);
  color: var(--accent-green);
}

.landing-hero__coach-card h2 {
  margin-top: 16px;
  font-size: 1.7rem;
}

.landing-hero__coach-card p {
  margin-top: 14px;
  color: rgba(255, 255, 255, 0.78);
}

.landing-hero__coach-card ul {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.landing-hero__coach-card li {
  position: relative;
  padding-left: 20px;
  color: rgba(255, 255, 255, 0.78);
}

.landing-hero__coach-card li + li {
  margin-top: 12px;
}

.landing-hero__coach-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
}

.landing-hero__app .app-visual {
  min-height: 390px;
}

.landing-hero__app .app-visual__phone {
  width: min(100%, 252px);
  min-height: 470px;
}

.landing-hero__app .app-visual__stack {
  display: none;
}

.landing-hero__visual {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.landing-hero__card,
.media-program-card,
.proof-mosaic__card,
.start-card {
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-radius: var(--radius);
  background: var(--color-panel);
  box-shadow: var(--shadow-soft);
}

.landing-hero__card {
  border-color: rgba(255, 255, 255, 0.14);
  background: #17130d;
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.26);
}

.landing-hero__card--center {
  grid-column: 1 / -1;
}

.landing-hero__card img,
.landing-story__media img,
.media-program-card__image img,
.proof-mosaic__image img {
  width: 100%;
  object-fit: cover;
}

.landing-hero__card img {
  aspect-ratio: 4 / 5;
}

.landing-stat-strip {
  display: grid;
  gap: 14px;
  margin-top: -44px;
  position: relative;
  z-index: 2;
}

.landing-stat {
  padding: 22px 20px;
  border-top: 3px solid var(--accent);
  border-radius: var(--radius);
  background: #ffffff;
  box-shadow: var(--shadow-soft);
}

.landing-stat__value,
.landing-stat span {
  display: block;
}

.landing-stat__value {
  color: var(--color-ink);
  font-size: 1.26rem;
  line-height: 1.08;
}

.landing-stat span {
  margin-top: 10px;
  color: var(--color-muted);
  font-size: 0.92rem;
}

.landing-story {
  align-items: center;
}

.landing-story__media,
.landing-app-block__visual {
  display: flex;
  justify-content: center;
}

.landing-story__media img {
  aspect-ratio: 4 / 4.8;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.landing-story__media--portrait img {
  aspect-ratio: 4 / 5;
}

.section-stack-top {
  margin-top: 28px;
}

.media-program-grid,
.proof-mosaic,
.start-card-grid {
  display: grid;
  gap: 16px;
}

.media-program-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.media-program-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.program-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: inline-grid;
  place-items: center;
  border-radius: 16px;
  color: var(--accent-gold);
  background:
    linear-gradient(180deg, rgba(var(--accent-rgb), 0.18), rgba(var(--accent-rgb), 0.08)),
    rgba(255, 255, 255, 0.7);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.54);
}

.program-icon svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.media-program-card:hover,
.media-program-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(var(--accent-rgb), 0.4);
  box-shadow: var(--shadow);
}

.media-program-card__image img {
  aspect-ratio: 4 / 4.7;
}

.media-program-card__body,
.proof-mosaic__body,
.start-card {
  padding: 20px;
}

.media-program-card__body h3 {
  margin-top: 8px;
  font-size: 1.78rem;
  line-height: 0.98;
}

.media-program-card__meta {
  display: block;
  margin-top: 12px;
  color: var(--accent-strong);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.media-program-card__body p,
.proof-mosaic__body p,
.start-card p {
  margin-top: 12px;
  color: var(--color-muted);
}

.media-program-card__body p {
  font-size: 1rem;
  line-height: 1.65;
}

.media-program-card__highlights {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.media-program-card__highlights li {
  position: relative;
  padding-left: 22px;
  color: var(--color-ink-2);
  font-size: 0.96rem;
  font-weight: 700;
}

.media-program-card__highlights li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.52em;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 4px rgba(var(--accent-rgb), 0.16);
}

.media-program-card__footer {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  color: var(--color-ink);
  font-size: 0.95rem;
  font-weight: 850;
}

.media-program-card__footer > span:last-child {
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(var(--accent-rgb), 0.16);
}

.proof-mosaic__card {
  display: grid;
}

.proof-mosaic__image img {
  aspect-ratio: 4 / 4.4;
}

.section--dark .proof-mosaic__card {
  border-color: var(--color-dark-line);
  background: rgba(255, 255, 255, 0.06);
  box-shadow: none;
}

.section--dark .proof-mosaic__body p {
  color: rgba(255, 255, 255, 0.72);
}

.landing-app-block {
  align-items: center;
}

.start-card {
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.06);
  border-color: var(--color-dark-line);
  box-shadow: none;
}

.start-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, var(--accent-gold), var(--accent), var(--accent-green));
}

.start-card__price {
  margin-top: 16px;
  color: var(--accent-green);
  font-size: 1.5rem;
  font-weight: 900;
}

.section--dark .start-card p {
  color: rgba(255, 255, 255, 0.72);
}

.landing-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
  justify-content: center;
}

.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 82svh;
  display: flex;
  align-items: center;
  padding: 86px 0 74px;
}

.hero--image {
  color: #ffffff;
  background-image:
    linear-gradient(90deg, rgba(8, 11, 15, 0.9), rgba(8, 11, 15, 0.6) 46%, rgba(8, 11, 15, 0.25)),
    var(--hero-image);
  background-size: cover;
  background-position: center;
}

.hero--plain {
  background-image:
    linear-gradient(90deg, rgba(255, 255, 255, 0.97), rgba(255, 255, 255, 0.9) 45%, rgba(255, 255, 255, 0.72)),
    url("/assets/images/camp-doerfl-hero.webp");
  background-size: cover;
  background-position: center;
}

.hero--plain::after,
.hero--image::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 5px;
  background: linear-gradient(90deg, var(--accent-gold), var(--accent), var(--accent-green), var(--accent));
  z-index: -1;
}

.hero__inner {
  width: min(100% - 32px, var(--shell));
  margin-inline: auto;
  display: grid;
  gap: 36px;
}

.hero__content {
  max-width: 820px;
}

.hero__brand-chip {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  padding: 7px 16px 7px 8px;
  border: 1px solid rgba(var(--accent-rgb), 0.32);
  border-radius: 999px;
  color: #f2dfa8;
  background: rgba(12, 10, 7, 0.58);
  backdrop-filter: blur(16px);
}

.hero__brand-chip .brand__mark {
  width: 38px;
  height: 38px;
  box-shadow: none;
}

.hero__brand-chip span {
  font-size: 0.8rem;
  font-weight: 850;
  letter-spacing: 0.1em;
}

.hero__visual {
  display: none;
  justify-content: center;
}

.eyebrow {
  margin: 0 0 14px;
  color: var(--accent);
  font-size: 0.78rem;
  line-height: 1.3;
  font-weight: 850;
  text-transform: uppercase;
}

.hero--image .eyebrow,
.section--dark .eyebrow,
.cta-band .eyebrow {
  color: var(--accent-green);
}

h1,
h2,
h3,
p {
  overflow-wrap: break-word;
}

h1,
h2,
h3 {
  margin: 0;
  font-family: var(--font-cond, var(--font-sans));
  color: inherit;
  line-height: 1.04;
  font-weight: 850;
  letter-spacing: -0.045em;
}

h1 {
  max-width: 980px;
  font-size: 2.36rem;
}

h2 {
  font-size: 2.05rem;
}

h3 {
  font-size: 1.18rem;
  line-height: 1.18;
}

p {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.72;
}

.hero__lead {
  max-width: 720px;
  margin-top: 22px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.12rem;
}

.hero--plain .hero__lead {
  color: var(--color-muted);
}

.hero__actions,
.inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  padding: 12px 14px 12px 20px;
  white-space: nowrap;
  font-weight: 850;
  font-size: 0.95rem;
  line-height: 1.2;
  letter-spacing: 0.01em;
  box-shadow: 0 12px 28px rgba(20, 17, 12, 0.12);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease;
}

.button::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0) 42%);
  opacity: 0.7;
  z-index: 0;
  pointer-events: none;
}

.button > span {
  position: relative;
  z-index: 1;
}

.button > span:last-child {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  font-size: 0.92rem;
  line-height: 1;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(20, 17, 12, 0.18);
}

.button:hover > span:last-child,
.button:focus-visible > span:last-child {
  transform: translateX(2px);
}

.button--primary {
  color: var(--color-ink);
  border-color: rgba(167, 133, 28, 0.42);
  background:
    linear-gradient(135deg, #fff1b8 0%, #d7c394 48%, #b68727 100%);
  box-shadow:
    0 18px 34px rgba(155, 116, 26, 0.24),
    inset 0 -1px 0 rgba(80, 58, 9, 0.18);
}

.button--primary > span:last-child {
  color: #f2dfa8;
  background: rgba(20, 17, 12, 0.18);
}

.button--secondary {
  color: var(--color-ink);
  border-color: rgba(255, 255, 255, 0.62);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 244, 234, 0.94));
  box-shadow:
    0 16px 28px rgba(20, 17, 12, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.button--secondary > span:last-child {
  color: var(--color-ink);
  background: rgba(var(--accent-rgb), 0.16);
}

.hero--plain .button--secondary {
  background: #ffffff;
  border-color: var(--color-line);
}

.button--secondary-light {
  color: #f2dfa8;
  border-color: rgba(var(--accent-rgb), 0.34);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)),
    rgba(255, 255, 255, 0.02);
  box-shadow:
    0 16px 28px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.button--secondary-light > span:last-child {
  color: var(--accent-green);
  background: rgba(var(--accent-rgb), 0.14);
}

.page-premium .button--secondary-light {
  color: var(--color-ink);
  border-color: rgba(20, 17, 12, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 244, 234, 0.94));
  box-shadow:
    0 16px 28px rgba(20, 17, 12, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.page-premium .button--secondary-light > span:last-child {
  color: var(--color-ink);
  background: rgba(var(--accent-rgb), 0.16);
}

.hero__stats {
  display: grid;
  gap: 10px;
  margin-top: 36px;
}

.hero__stats div {
  max-width: 680px;
  padding: 14px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.hero--plain .hero__stats div {
  border-color: var(--color-line);
}

.hero__stat-value,
.hero__stats span {
  display: block;
}

.hero__stat-value {
  font-size: 1.1rem;
}

.hero__stats span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.92rem;
}

.hero--plain .hero__stats span {
  color: var(--color-muted);
}

.section {
  padding: 78px 0;
}

.section--intro {
  padding-top: 58px;
}

.section--muted {
  background: var(--color-soft);
}

.section--dark {
  color: #ffffff;
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.22), transparent 32%),
    linear-gradient(135deg, rgba(var(--accent-rgb), 0.14), rgba(255, 255, 255, 0.02) 28%, rgba(0, 0, 0, 0) 56%),
    var(--color-dark);
}

.section-header {
  max-width: 760px;
  margin-bottom: 34px;
}

.section-header--center {
  margin-inline: auto;
  text-align: center;
}

.section-header p:not(.eyebrow) {
  margin-top: 16px;
  color: var(--color-muted);
  font-size: 1.04rem;
}

.section--dark .section-header p:not(.eyebrow),
.cta-band p {
  color: rgba(255, 255, 255, 0.72);
}

.card-grid,
.feature-grid,
.achievement-grid,
.pricing-grid,
.step-grid,
.capability-grid,
.summary-rows {
  display: grid;
  gap: 16px;
}

.offer-card,
.feature-card,
.capability-card,
.stat-card,
.pricing-card,
.step-card,
.summary-row,
.fact-panel,
.timeline__item,
.quote-grid blockquote,
.contact-form,
.faq details {
  border: 1px solid var(--color-line);
  border-radius: var(--radius);
  background: var(--color-panel);
  box-shadow: var(--shadow-soft);
}

.offer-card {
  position: relative;
  display: flex;
  min-height: 250px;
  flex-direction: column;
  padding: 24px;
  overflow: hidden;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.offer-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 4px;
  background: linear-gradient(90deg, var(--accent-gold), var(--accent), var(--accent-green));
  transform: scaleX(0.35);
  transform-origin: left;
  transition: transform 180ms ease;
}

.offer-card:hover,
.offer-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(var(--accent-rgb), 0.42);
  box-shadow: var(--shadow);
}

.offer-card:hover::after,
.offer-card:focus-visible::after {
  transform: scaleX(1);
}

.card-tag,
.feature-card__detail {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  margin-bottom: 16px;
  padding: 5px 9px;
  border-radius: var(--radius);
  color: var(--accent-gold);
  background: rgba(var(--accent-rgb), 0.12);
  font-size: 0.76rem;
  font-weight: 850;
  text-transform: uppercase;
}

.offer-card p,
.feature-card p,
.pricing-card p,
.timeline__item p,
.fact-panel li,
.rich-copy p,
.faq p,
.contact-details,
.site-footer p,
.site-footer span {
  color: var(--color-muted);
}

.offer-card p {
  margin-top: 12px;
}

.card-meta {
  margin-top: auto;
  padding-top: 24px;
  color: var(--color-ink);
  font-size: 0.86rem;
  font-weight: 850;
}

.feature-card,
.capability-card,
.stat-card,
.pricing-card,
.step-card,
.summary-row,
.timeline__item {
  padding: 24px;
}

.feature-card p,
.capability-card p,
.pricing-card p,
.step-card p,
.summary-row p,
.timeline__item p {
  margin-top: 12px;
}

.step-grid {
  counter-reset: steps;
}

.step-card {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(var(--accent-rgb), 0.08), rgba(255, 255, 255, 0.86) 42%);
}

.step-card__index {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  padding: 4px 10px;
  border-radius: 999px;
  color: var(--accent-gold);
  background: rgba(255, 255, 255, 0.9);
  font-size: 0.78rem;
  font-weight: 850;
}

.capability-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.capability-card ul,
.summary-row ul {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.capability-card li {
  position: relative;
  padding-left: 18px;
  color: var(--color-ink-2);
  font-weight: 700;
}

.capability-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
}

.summary-row {
  display: grid;
  gap: 8px;
  align-content: start;
}

.summary-row h3 {
  font-size: 1.04rem;
}

.split,
.app-preview,
.two-lists,
.quote-grid {
  display: grid;
  gap: 28px;
}

.split--top {
  align-items: start;
}

.rich-copy {
  display: grid;
  gap: 16px;
  font-size: 1.04rem;
}

.section--dark .rich-copy p,
.section--dark .proof-list span {
  color: rgba(255, 255, 255, 0.74);
}

.fact-panel {
  padding: 24px;
}

.fact-panel strong {
  display: block;
  margin-bottom: 16px;
  font-size: 1.04rem;
}

.fact-panel ul,
.pricing-card ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fact-panel li,
.pricing-card li {
  position: relative;
  padding-left: 20px;
}

.fact-panel li::before,
.pricing-card li::before {
  content: "";
  position: absolute;
  top: 0.73em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
}

.fact-panel--quiet li::before {
  background: var(--accent-gold);
}

.text-link {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  color: var(--accent-gold);
  font-weight: 850;
}

.app-preview {
  align-items: center;
}

.app-visual {
  position: relative;
  min-height: 520px;
  display: grid;
  place-items: center;
}

.app-visual__phone {
  position: relative;
  width: min(100%, 310px);
  min-height: 560px;
  border: 12px solid #111316;
  border-radius: 38px;
  padding: 24px 18px;
  color: #ffffff;
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.22), transparent 34%),
    linear-gradient(160deg, rgba(215, 195, 148, 0.12), rgba(155, 116, 26, 0.12)),
    #16120d;
  box-shadow: 0 32px 74px rgba(17, 19, 22, 0.22);
}

.app-visual__phone::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 50%;
  width: 74px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.24);
  transform: translateX(-50%);
}

.app-visual__topbar,
.metric-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.app-visual__topbar {
  margin-top: 22px;
  color: rgba(255, 255, 255, 0.72);
}

.app-visual__score-value {
  color: var(--accent-green);
  font-size: 1.45rem;
}

.score-ring {
  width: 162px;
  height: 162px;
  margin: 32px auto;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at center, #16120d 54%, transparent 55%),
    conic-gradient(var(--accent) 0 84%, rgba(255, 255, 255, 0.12) 84% 100%);
}

.score-ring span {
  font-size: 2.4rem;
  font-weight: 900;
}

.metric-row {
  min-height: 48px;
  margin-top: 10px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius);
  color: rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.06);
}

.metric-row__value {
  color: #ffffff;
}

.route-line {
  height: 74px;
  margin-top: 20px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, transparent 0 25%, rgba(var(--accent-rgb), 0.66) 26% 29%, transparent 30% 54%, rgba(242, 223, 168, 0.52) 55% 58%, transparent 59%),
    rgba(255, 255, 255, 0.05);
}

.app-visual__nav {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.app-visual__nav span {
  height: 5px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
}

.app-visual__nav span:first-child {
  background: var(--accent);
}

.app-visual__stack {
  position: absolute;
  left: calc(50% + 112px);
  top: 82px;
  display: none;
  gap: 10px;
  flex-direction: column;
}

.hero__visual .app-visual__stack {
  display: none;
}

.app-visual__stack span {
  min-width: 160px;
  padding: 12px 14px;
  border: 1px solid rgba(var(--accent-rgb), 0.18);
  border-radius: var(--radius);
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--shadow-soft);
  font-size: 0.9rem;
  font-weight: 850;
}

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

.stat-card__value {
  display: block;
  color: var(--accent-gold);
  font-size: 1.5rem;
  line-height: 1.08;
}

.stat-card span {
  display: block;
  margin-top: 10px;
  color: var(--color-muted);
  font-size: 0.92rem;
}

.quote-grid blockquote {
  margin: 0;
  padding: 28px;
}

.quote-grid blockquote p {
  color: var(--color-ink);
  font-size: 1.22rem;
  line-height: 1.45;
}

.quote-grid cite {
  display: block;
  margin-top: 18px;
  color: var(--color-muted);
  font-style: normal;
  font-weight: 850;
}

.proof-list {
  display: grid;
  gap: 10px;
}

.proof-list span {
  min-height: 50px;
  display: flex;
  align-items: center;
  padding: 12px 14px;
  border-left: 4px solid var(--accent);
  border-radius: var(--radius);
  color: var(--color-muted);
  background: #ffffff;
}

.proof-list--dark span,
.section--dark .proof-list span {
  border-color: var(--accent);
  background: rgba(255, 255, 255, 0.06);
}

.sponsor-strip {
  padding: 22px 0;
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
  background: #ffffff;
}

.sponsor-strip__inner,
.sponsor-strip__inner div {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.sponsor-strip__inner {
  justify-content: space-between;
}

.sponsor-strip span {
  color: var(--color-muted);
  font-size: 0.86rem;
  font-weight: 850;
  text-transform: uppercase;
}

.sponsor-strip__name {
  color: var(--color-ink-2);
  font-size: 0.98rem;
}

.cta-band {
  padding: 70px 0;
  color: #ffffff;
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.22), transparent 34%),
    linear-gradient(135deg, rgba(215, 195, 148, 0.16), rgba(0, 0, 0, 0.08)),
    var(--color-dark-2);
}

.cta-band__inner {
  max-width: 820px;
}

.cta-band h2 {
  font-size: 2.18rem;
}

.cta-band p:not(.eyebrow) {
  margin-top: 16px;
  font-size: 1.06rem;
}

.process-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: process;
}

.process-list li {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 16px;
  align-items: start;
  padding: 18px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius);
  background: #ffffff;
}

.process-list span {
  width: 44px;
  height: 44px;
  border-radius: var(--radius);
  display: grid;
  place-items: center;
  color: #ffffff;
  background: var(--color-ink);
  font-weight: 850;
}

.process-list p {
  align-self: center;
  color: var(--color-ink-2);
  font-weight: 740;
}

.section--dark .pricing-card,
.section--dark .section-header {
  color: #ffffff;
}

.section--dark .pricing-card {
  border-color: var(--color-dark-line);
  background: rgba(255, 255, 255, 0.07);
  box-shadow: none;
}

.pricing-card--featured {
  border-color: rgba(var(--accent-rgb), 0.54);
  box-shadow: 0 22px 58px rgba(var(--accent-rgb), 0.16);
}

.pricing-card__price {
  margin-top: 16px;
  color: var(--accent-gold);
  font-size: 1.45rem;
  font-weight: 900;
}

.section--dark .pricing-card__price {
  color: var(--accent-green);
}

.pricing-card ul {
  margin-top: 18px;
}

.pricing-card li {
  color: var(--color-muted);
}

.section--dark .pricing-card li,
.section--dark .pricing-card p:not(.pricing-card__price) {
  color: rgba(255, 255, 255, 0.72);
}

.timeline {
  display: grid;
  gap: 14px;
}

.timeline__item {
  position: relative;
  padding-left: 28px;
}

.timeline__item::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 0;
  width: 5px;
  height: calc(100% - 56px);
  background: linear-gradient(var(--accent-gold), var(--accent));
}

.fact-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.fact-cloud span {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 9px 12px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius);
  color: var(--color-ink-2);
  background: #ffffff;
  font-weight: 720;
}

.faq {
  display: grid;
  gap: 12px;
}

.faq details {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 24px;
  background: #17130d;
  box-shadow: none;
}

.faq summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px;
  cursor: pointer;
  color: #ffffff;
  font-weight: 850;
}

.faq summary::-webkit-details-marker {
  display: none;
}

.faq summary::after {
  content: "+";
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: var(--color-dark);
  background: var(--accent);
  font-size: 1.7rem;
  line-height: 1;
}

.faq details[open] summary::after {
  content: "−";
}

.faq p {
  margin: 0;
  padding: 0 24px 24px;
  color: rgba(255, 255, 255, 0.74);
}

.contact-form {
  display: grid;
  gap: 18px;
  padding: 22px;
}

.form-grid {
  display: grid;
  gap: 16px;
}

.contact-form label {
  display: grid;
  gap: 8px;
  color: var(--color-ink);
  font-weight: 760;
}

.contact-form label span {
  font-size: 0.9rem;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  min-height: 48px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius);
  padding: 12px 14px;
  color: var(--color-ink);
  background: #ffffff;
  outline: none;
}

.contact-form textarea {
  resize: vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(var(--accent-rgb), 0.14);
}

.form-footer {
  display: grid;
  gap: 14px;
}

.form-footer p {
  color: var(--color-muted);
  font-size: 0.9rem;
}

.form-footer .button {
  border: 0;
  cursor: pointer;
}

.contact-form__trap {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.contact-form--guided {
  position: relative;
  gap: 22px;
}

.contact-form__intro,
.contact-form__context,
.contact-guide-card {
  display: grid;
  gap: 12px;
}

.contact-form__eyebrow,
.contact-quick-card__eyebrow {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-form__intro h3 {
  font-size: clamp(1.35rem, 2.3vw, 1.8rem);
  line-height: 1.04;
}

.contact-form__intro p:last-child,
.contact-guide-card p,
.contact-form__note,
.contact-form__status {
  margin: 0;
}

.contact-topic-grid,
.contact-form__context {
  margin: 0;
  padding: 0;
  border: 0;
}

.contact-topic-grid {
  display: grid;
  gap: 14px;
}

.contact-topic-grid legend {
  padding: 0;
  font-size: 0.96rem;
  font-weight: 800;
}

.contact-topic-grid__options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.contact-topic-card {
  position: relative;
  display: block;
}

.contact-topic-card__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.contact-topic-card__surface {
  min-height: 100%;
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid var(--color-line);
  border-radius: calc(var(--radius) + 8px);
  background: rgba(255, 255, 255, 0.9);
  transition:
    border-color 180ms ease,
    transform 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease;
}

.contact-topic-card h3,
.contact-form__context-head h3,
.contact-guide-card h3,
.contact-quick-card h3 {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.12;
}

.contact-topic-card small,
.contact-form__note,
.contact-form__context-head span {
  line-height: 1.5;
}

.contact-topic-card__tag,
.contact-guide-card__points span,
.contact-form__context-head span {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contact-topic-card__input:checked + .contact-topic-card__surface,
.contact-topic-card:hover .contact-topic-card__surface,
.contact-topic-card:focus-within .contact-topic-card__surface {
  transform: translateY(-1px);
}

.contact-topic-card__input:focus-visible + .contact-topic-card__surface {
  outline: 2px solid rgba(var(--accent-rgb), 0.36);
  outline-offset: 3px;
}

.contact-guide-stack,
.contact-form__context-stack {
  display: grid;
  gap: 14px;
}

.contact-form__context-head {
  display: grid;
  gap: 8px;
}

.contact-guide-card,
.contact-form__context {
  padding: 18px;
  border: 1px solid var(--color-line);
  border-radius: calc(var(--radius) + 8px);
}

.contact-guide-card__points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.form-grid--contact-base,
.form-grid--contact-context {
  gap: 14px;
}

.contact-form__message {
  gap: 10px;
}

.contact-form__message textarea {
  min-height: 170px;
}

.form-footer--contact {
  gap: 16px;
}

.contact-form__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.contact-form__status {
  min-height: 1.4em;
  font-size: 0.92rem;
}

.contact-form__status[data-state="success"] {
  color: #17734a;
}

.contact-form__status[data-state="info"] {
  color: #8a5a03;
}

.contact-form__status[data-state="warn"] {
  color: #8f2f2f;
}

.contact-details {
  display: grid;
  gap: 10px;
  margin-top: 24px;
}

.social-link-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: inherit;
  text-decoration: none;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease,
    color 180ms ease;
}

.social-link__icon {
  display: block;
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.social-link--chip {
  min-width: 44px;
  width: 44px;
  height: 44px;
  padding: 10px;
  border: 1px solid var(--color-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}

.social-link--inline {
  vertical-align: middle;
}

.social-link--inline.social-link--chip {
  margin-left: 8px;
}

.social-link--footer,
.social-link--contact {
  min-height: 44px;
}

.social-button-label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.social-button-label .social-link__icon {
  width: 20px;
  height: 20px;
}

.contact-details a,
.contact-details span {
  width: fit-content;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  border-bottom: 2px solid var(--color-line);
  font-weight: 850;
}

.contact-details .social-link-row {
  margin-top: 2px;
}

.contact-details .social-link {
  min-height: 44px;
  border-bottom: 0;
}

.site-footer {
  color: #ffffff;
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.18), transparent 26%),
    #0d0b08;
}

.footer-grid {
  display: grid;
  gap: 30px;
  padding: 54px 0 34px;
}

.brand--footer small,
.site-footer p,
.site-footer span,
.site-footer a {
  color: rgba(255, 255, 255, 0.68);
}

.site-footer p {
  max-width: 430px;
  margin-top: 18px;
}

.site-footer h2 {
  margin-bottom: 14px;
  font-size: 0.86rem;
  text-transform: uppercase;
}

.site-footer a,
.site-footer span {
  display: block;
  width: fit-content;
  min-height: 30px;
}

.site-footer .social-link {
  display: inline-flex;
  width: 44px;
  min-height: 44px;
}

.site-footer .social-link-row {
  margin-top: 2px;
}

.site-footer a:hover,
.site-footer a:focus {
  color: #ffffff;
}

.footer-phone {
  margin-top: 4px;
  letter-spacing: 0.01em;
}

.footer-whatsapp {
  margin-top: 2px;
  font-size: 0.92rem;
}

.footer-link-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.68);
  font: inherit;
  cursor: pointer;
}

.social-link:hover,
.social-link:focus-visible {
  transform: translateY(-1px);
}

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 0.88rem;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 520ms ease, transform 520ms ease;
}

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

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  [data-reveal] {
    opacity: 1;
    transform: none;
  }
}

@media (min-width: 640px) {
  h1 {
    font-size: 3.35rem;
  }

  h2 {
    font-size: 2.35rem;
  }

  .landing-stat-strip,
  .media-program-grid,
  .proof-mosaic,
  .start-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 880px;
  }

  .card-grid--offers,
  .feature-grid,
  .pricing-grid,
  .two-lists,
  .step-grid,
  .capability-grid,
  .summary-rows {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

@media (min-width: 880px) {
  .nav-toggle {
    display: none;
  }

  .language-switcher--mobile {
    display: none;
  }

  .language-switcher--desktop {
    display: inline-flex;
  }

  .site-nav {
    position: static;
    display: flex;
    flex-direction: row;
    align-items: center;
    flex: 1 1 auto;
    justify-content: stretch;
    max-width: 1040px;
    margin-inline: auto;
    gap: clamp(8px, 0.9vw, 14px);
    padding-inline: clamp(6px, 1vw, 16px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .site-nav__overlay,
  .site-nav__list {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex: 1 1 auto;
    justify-content: space-between;
    gap: clamp(8px, 0.9vw, 14px);
  }

  .site-nav__overlay {
    flex: 1 1 auto;
  }

  .site-nav__brand-block,
  .site-nav__footer,
  /* Das Seitenverzeichnis gehört ins ausgeklappte Menü, nicht in die
     Leiste am Desktop — dort führt die Fußzeile durch dieselben Kategorien. */
  .site-nav__directory {
    display: none !important;
  }

  .site-nav__entry-icon,
  .site-nav__entry-arrow {
    display: none;
  }

  .site-nav a {
    min-height: 40px;
    padding: 8px clamp(10px, 1vw, 16px);
    font-size: 0.88rem;
  }

  .page-home .site-header {
    top: 18px;
  }

  .page-home .nav-shell {
    width: calc(100% - 36px);
    min-height: 72px;
    padding-inline: 22px;
  }

  .page-home .site-nav a {
    min-height: 42px;
    padding-inline: 12px;
    border-radius: 999px;
  }

  .site-nav__contact {
    display: none !important;
  }

  .site-nav__socials {
    display: none;
  }

  .nav-extras {
    display: flex;
  }

  .nav-cta {
    display: inline-flex;
  }

  .hero {
    min-height: 78svh;
    padding: 64px 0 54px;
  }

  .hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
    align-items: center;
  }

  .hero__visual {
    display: flex;
  }

  .hero--image .hero__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero--app .hero__inner {
    grid-template-columns: minmax(0, 0.98fr) minmax(330px, 0.72fr);
  }

  .landing-hero {
    padding: 120px 0 40px;
  }

  .landing-hero__desktop,
  .landing-story,
  .landing-app-block {
    align-items: center;
    gap: 54px;
  }

  .landing-hero__desktop {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    align-items: center;
    min-height: calc(100svh - 148px);
  }

  .landing-hero__intro {
    align-self: center;
  }

  .landing-hero__intro .landing-hero__content {
    text-align: left;
  }

  .landing-hero__rating {
    margin-inline: 0;
  }

  .landing-hero__stage {
    min-height: 620px;
  }

  .landing-hero h1 {
    max-width: none;
    margin-inline: 0;
    font-size: 4.2rem;
  }

  .landing-hero__lead {
    font-size: 1.18rem;
  }

  .landing-hero__actions {
    justify-content: flex-start;
  }

  .landing-hero__trust {
    justify-content: flex-start;
  }

  .landing-hero__app,
  .landing-hero__coach-card {
    position: absolute;
  }

  .landing-hero__app {
    left: 34px;
    bottom: 10px;
    align-self: auto;
  }

  .landing-hero__figure {
    position: absolute;
    inset: auto 18px 0 122px;
    min-height: 560px;
    justify-content: center;
  }

  .landing-hero__figure img {
    width: min(100%, 620px);
    max-height: 86svh;
    transform: none;
  }

  .landing-hero__app .app-visual {
    min-height: 340px;
  }

  .landing-hero__app .app-visual__phone {
    width: min(100%, 228px);
    min-height: 430px;
  }

  .landing-hero__app .app-visual__stack {
    display: flex;
  }

  .landing-hero__coach-card {
    top: 88px;
    right: 0;
    width: 300px;
  }

  .landing-stat-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

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

  .proof-mosaic {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .proof-mosaic__card {
    min-height: 100%;
  }

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

  .landing-final-actions {
    justify-content: flex-start;
  }

  .hero__lead {
    margin-top: 18px;
  }

  .hero__actions {
    margin-top: 24px;
  }

  .hero__stats {
    margin-top: 26px;
  }

  .hero__stats div {
    padding: 10px 0;
  }

  h1 {
    font-size: 3.95rem;
  }

  h2 {
    font-size: 2.75rem;
  }

  .section {
    padding: 96px 0;
  }

  .section--intro {
    padding-top: 70px;
  }

  .split,
  .app-preview,
  .quote-grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: center;
    gap: 54px;
  }

  .split--center {
    align-items: center;
  }

  .card-grid--offers {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .feature-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .feature-grid--coaching-flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

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

  .feature-grid .feature-card {
    min-height: 238px;
  }

  .capability-grid .capability-card,
  .summary-rows .summary-row,
  .step-grid .step-card {
    min-height: 100%;
  }

  .achievement-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

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

  .app-visual__stack {
    display: flex;
  }

  .hero__visual .app-visual__stack {
    display: none;
  }

  .footer-grid {
    grid-template-columns: 1.25fr 0.85fr 0.85fr;
  }
}

@media (max-width: 639px) {
  .hero {
    min-height: auto;
    padding: 56px 0 42px;
  }

  .landing-hero {
    padding-top: 104px;
    padding-bottom: 48px;
  }

  .landing-hero__figure {
    min-height: 360px;
    margin-top: 12px;
  }

  .landing-hero__figure::before {
    inset: 14% 8% 0 8%;
  }

  .landing-hero__figure img {
    width: min(100%, 420px);
    max-height: 50svh;
  }

  .landing-hero h1 {
    max-width: 10.5ch;
  }

  .landing-hero__coach-card h2 {
    font-size: 1.4rem;
  }

  .landing-hero__app .app-visual {
    min-height: 360px;
  }

  .landing-hero__app .app-visual__phone {
    width: min(100%, 240px);
    min-height: 430px;
  }

  .hero__lead {
    margin-top: 18px;
    font-size: 1rem;
  }

  .hero__actions {
    margin-top: 22px;
  }

  .hero__stats {
    display: none;
  }

  .section--intro {
    padding-top: 44px;
  }
}

@media (min-width: 1120px) {
  .site-nav a {
    padding-inline: 13px;
    font-size: 0.92rem;
  }

  h1 {
    font-size: 4.15rem;
  }

  .landing-hero h1 {
    max-width: none;
    font-size: 4.55rem;
  }

  .hero__lead {
    font-size: 1.22rem;
  }

  .landing-hero__stage {
    min-height: 680px;
  }

  .landing-hero__figure {
    inset: auto 24px 0 134px;
  }

  .landing-hero__coach-card {
    top: 104px;
    width: 320px;
  }
}

@media (max-width: 420px) {
  .nav-shell,
  .section-shell,
  .hero__inner {
    width: min(100% - 24px, var(--shell));
  }

  h1 {
    font-size: 2.28rem;
  }

  h2,
  .cta-band h2 {
    font-size: 1.82rem;
  }

  .button {
    width: 100%;
  }

  .achievement-grid {
    grid-template-columns: 1fr;
  }

  .step-grid,
  .capability-grid,
  .summary-rows {
    grid-template-columns: 1fr;
  }

  .landing-hero__visual,
  .landing-stat-strip,
  .media-program-grid,
  .proof-mosaic,
  .start-card-grid {
    grid-template-columns: 1fr;
  }

  .process-list li {
    grid-template-columns: 1fr;
  }

  .app-visual {
    min-height: 470px;
  }

  .app-visual__phone {
    min-height: 500px;
    border-width: 10px;
  }
}

/* Premium desktop redesign */

.page-premium {
  --shell: 1520px;
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.05), transparent 18%),
    radial-gradient(circle at left 18%, rgba(var(--accent-rgb), 0.025), transparent 16%),
    linear-gradient(180deg, #fdfbf7, #f7f2e9 34%, #fcfaf5 100%);
}

.page-premium main {
  overflow: clip;
  padding-top: 18px;
}

.page-premium .site-header {
  position: fixed;
  top: 12px;
  left: 0;
  right: 0;
  background: transparent;
  border-bottom: 0;
  backdrop-filter: none;
}

.page-premium .site-header.is-scrolled {
  background: transparent;
  box-shadow: none;
}

.page-premium .nav-shell {
  width: min(100% - 28px, var(--shell));
  min-height: 74px;
  padding-inline: clamp(22px, 2.6vw, 34px);
  border: 1px solid rgba(216, 205, 188, 0.74);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 252, 246, 0.98), rgba(250, 245, 236, 0.94)),
    rgba(255, 251, 243, 0.92);
  box-shadow: 0 14px 34px rgba(32, 25, 14, 0.07);
  backdrop-filter: blur(20px);
}

.page-premium .nav-toggle {
  border-radius: 999px;
  color: var(--color-ink);
  border-color: rgba(20, 17, 12, 0.08);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: none;
}

.page-premium .site-nav {
  inset: calc(var(--header-height) + 20px) 20px auto 20px;
  border-color: rgba(216, 205, 188, 0.74);
  background: rgba(255, 250, 243, 0.98);
  box-shadow: 0 18px 44px rgba(32, 25, 14, 0.08);
  gap: 8px;
}

.page-premium .brand__mark {
  background: linear-gradient(180deg, rgba(248, 239, 217, 0.98), rgba(220, 193, 119, 0.94));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.56),
    0 8px 20px rgba(32, 25, 14, 0.12);
}

.page-premium .brand strong {
  color: var(--color-ink);
  font-size: 1.08rem;
}

.page-premium .brand small {
  color: var(--color-muted);
  font-size: 0.8rem;
}

.page-premium .site-nav a {
  position: relative;
  min-height: auto;
  padding: 4px 0;
  color: rgba(24, 19, 11, 0.68);
  font-size: 0.98rem;
  font-weight: 700;
  border-radius: 0;
  background: transparent;
}

.page-premium .site-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -12px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(var(--accent-rgb), 0), rgba(var(--accent-rgb), 0.92), rgba(var(--accent-rgb), 0));
  opacity: 0;
  transform: scaleX(0.4);
  transition: opacity 180ms ease, transform 180ms ease;
}

.page-premium .nav-cta {
  gap: 14px;
  color: var(--color-ink);
}

.page-premium .site-nav a:hover,
.page-premium .site-nav a:focus,
.page-premium .site-nav a[aria-current="page"] {
  color: var(--color-ink);
  background: transparent;
}

.page-premium .site-nav a:hover::after,
.page-premium .site-nav a:focus::after,
.page-premium .site-nav a[aria-current="page"]::after {
  opacity: 1;
  transform: scaleX(1);
}

.page-premium .nav-cta span:first-child {
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(20, 17, 12, 0.14);
}

.page-premium .nav-cta span:last-child {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: var(--accent-strong);
  background: rgba(var(--accent-rgb), 0.16);
  transition: transform 180ms ease, background 180ms ease;
}

.page-premium .nav-cta:hover span:last-child,
.page-premium .nav-cta:focus-visible span:last-child,
.page-premium .nav-cta.is-active span:last-child {
  transform: translateX(2px);
  background: rgba(var(--accent-rgb), 0.24);
}

.page-premium .nav-cta.is-active span:first-child {
  border-color: rgba(var(--accent-rgb), 0.5);
}

.page-premium .section {
  padding-block: 62px;
}

.page-premium .section--tight {
  padding-top: 14px;
  padding-bottom: 28px;
}

.page-premium .section--muted {
  background: transparent;
}

.page-premium .section-header {
  max-width: 840px;
  margin-bottom: 28px;
}

.page-premium .section-header h2 {
  max-width: 14ch;
  font-size: clamp(3rem, 4.6vw, 5rem);
  line-height: 0.94;
}

.page-premium .section-header--center h2,
.page-premium .section-header--center p {
  margin-inline: auto;
}

.page-premium .section-header p:not(.eyebrow) {
  max-width: 48ch;
  color: var(--color-muted);
  font-size: 1.16rem;
  line-height: 1.78;
}

.premium-hero {
  padding: 138px 0 28px;
}

.premium-hero__shell {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(540px, 1.1fr);
  gap: 32px;
  align-items: center;
}

.premium-hero__copy {
  position: relative;
  z-index: 2;
}

.premium-badge {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 11px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(20, 17, 12, 0.08);
  box-shadow: var(--shadow-soft);
}

.premium-badge span {
  color: var(--accent-strong);
  font-size: 0.94rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.premium-badge small {
  color: var(--color-ink-2);
  font-size: 0.82rem;
  font-weight: 700;
}

.premium-badge--cinematic span {
  font-size: 0.78rem;
  letter-spacing: 0.16em;
}

.pill-icon {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
  opacity: 0.92;
}

.premium-hero h1 {
  margin: 18px 0 18px;
  max-width: 11ch;
  font-size: clamp(4.2rem, 6.2vw, 6.8rem);
  line-height: 0.9;
}

.premium-hero__lead {
  max-width: 30ch;
  margin: 0;
  color: var(--color-ink-2);
  font-size: 1.22rem;
  line-height: 1.48;
}

.premium-hero__support {
  max-width: 62ch;
  margin: 14px 0 0;
  color: var(--color-muted);
  font-size: 1rem;
  line-height: 1.62;
}

.premium-hero .hero__actions {
  margin-top: 26px;
  flex-wrap: wrap;
  gap: 14px;
}

.premium-proof-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.premium-proof-pills span,
.premium-chip-list span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 10px 15px;
  border-radius: 999px;
  border: 1px solid rgba(20, 17, 12, 0.08);
  background: rgba(255, 255, 255, 0.76);
  color: var(--color-ink-2);
  font-size: 0.88rem;
  font-weight: 700;
  box-shadow: var(--shadow-soft);
}

.premium-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.premium-hero__visual {
  position: relative;
  min-height: 710px;
}

.premium-hero--home .premium-hero__shell {
  position: relative;
  isolation: isolate;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 30px;
  padding: 42px;
  border-radius: 42px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    radial-gradient(circle at 82% 12%, rgba(var(--accent-rgb), 0.16), transparent 24%),
    linear-gradient(135deg, #0f0d09 0%, #17130d 44%, #2b1f10 100%);
  box-shadow: 0 34px 90px rgba(20, 17, 12, 0.28);
}

.premium-hero--home .premium-hero__shell::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.02), transparent 26%),
    radial-gradient(circle at 62% 54%, rgba(var(--accent-rgb), 0.14), transparent 30%);
  pointer-events: none;
  z-index: 0;
}

.premium-hero--home .premium-hero__shell::after {
  content: "";
  position: absolute;
  inset: auto 42px 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--accent-rgb), 0.7), transparent);
  pointer-events: none;
  z-index: 0;
}

.premium-hero--home .premium-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
}

.premium-hero--home .premium-badge {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(var(--accent-rgb), 0.22);
  box-shadow: none;
}

.premium-hero--home .premium-badge span {
  color: #f2dfa8;
}

.premium-hero--home .premium-badge small {
  color: rgba(255, 255, 255, 0.82);
}

.premium-hero--home .eyebrow {
  color: rgba(242, 223, 168, 0.92);
}

.premium-hero--home h1 {
  color: #ffffff;
  font-size: clamp(4.2rem, 6.1vw, 6.55rem);
}

.premium-hero__title span {
  display: block;
}

.premium-hero--home .premium-hero__title span {
  white-space: nowrap;
}

.premium-hero--home .premium-hero__lead {
  max-width: 28ch;
  color: rgba(255, 255, 255, 0.86);
}

.premium-hero--home .premium-hero__support {
  max-width: 56ch;
  color: rgba(255, 255, 255, 0.68);
}

.premium-hero--home .premium-proof-pills span {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.84);
  box-shadow: none;
}

.premium-hero--home .button--secondary-light {
  color: #f2dfa8;
  border-color: rgba(var(--accent-rgb), 0.34);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)),
    rgba(255, 255, 255, 0.02);
  box-shadow:
    0 16px 28px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.premium-hero--home .button--secondary-light > span:last-child {
  color: var(--accent-green);
  background: rgba(var(--accent-rgb), 0.14);
}

.premium-hero__halo {
  position: absolute;
  inset: 7% 10% 14% 18%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--accent-rgb), 0.24), rgba(var(--accent-rgb), 0) 72%);
  filter: blur(14px);
}

.premium-hero__figure,
.premium-photo-frame,
.premium-hero__panel,
.contact-intro-card {
  border-radius: 34px;
}

.premium-hero__figure {
  position: absolute;
  z-index: 2;
}

.premium-hero__figure--cutout {
  inset: auto auto -8px 88px;
  width: min(82%, 560px);
}

.premium-hero--home .premium-hero__figure--cutout {
  position: relative;
  inset: auto;
  grid-column: 2 / span 8;
  grid-row: 3 / -1;
  width: min(100%, 540px);
  align-self: end;
  justify-self: center;
  transform: translateY(24px);
}

.premium-hero__figure img {
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 28px 46px rgba(20, 17, 12, 0.2));
}

.premium-hero__panel,
.contact-intro-card {
  position: absolute;
  z-index: 3;
  padding: 24px;
  border: 1px solid rgba(20, 17, 12, 0.08);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 26px 60px rgba(20, 17, 12, 0.12);
  backdrop-filter: blur(18px);
}

.premium-hero__panel h2,
.contact-intro-card h2 {
  margin: 10px 0 0;
  font-size: 1.52rem;
  line-height: 1.08;
}

.premium-hero__panel p {
  margin-top: 14px;
  color: var(--color-muted);
  font-size: 0.98rem;
  line-height: 1.58;
}

.premium-hero__panel--app {
  top: 18px;
  right: 18px;
  width: 360px;
}

.premium-hero__panel--coaching {
  right: 0;
  bottom: 82px;
  width: 360px;
}

.premium-hero--home .premium-hero__panel--app {
  top: 48px;
  right: 22px;
}

.premium-hero--home .premium-hero__panel--coaching {
  bottom: 54px;
}

.premium-hero__beam {
  position: absolute;
  top: 4%;
  right: 24%;
  width: 220px;
  height: 72%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0));
  filter: blur(18px);
  opacity: 0.5;
  transform: skewX(-10deg);
  pointer-events: none;
  z-index: 0;
}

.premium-hero__stat-badge {
  display: grid;
  gap: 8px;
}

.premium-hero__stat-badge strong,
.premium-hero__stat-badge span {
  display: block;
}

.premium-hero__stat-badge strong {
  color: #ffffff;
  font-size: 1.14rem;
  line-height: 1.12;
}

.premium-hero__stat-badge span {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.92rem;
  line-height: 1.5;
}

.premium-hero--home .premium-hero__visual {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(12, minmax(0, 1fr));
  height: clamp(620px, 56vw, 740px);
  min-height: 640px;
  padding: 18px;
  border-radius: 34px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.01)),
    linear-gradient(160deg, #120f0a 0%, #17120c 52%, rgba(93, 71, 21, 0.52) 100%);
}

.premium-hero--home .premium-hero__visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 66% 34%, rgba(var(--accent-rgb), 0.34), transparent 20%),
    radial-gradient(circle at 48% 56%, rgba(255, 255, 255, 0.08), transparent 18%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.28));
  pointer-events: none;
  z-index: 0;
}

.premium-hero--home .premium-hero__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, transparent 22%, rgba(255, 255, 255, 0.06) 31%, transparent 42%),
    linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.32));
  mix-blend-mode: screen;
  opacity: 0.7;
  pointer-events: none;
  z-index: 0;
}

.premium-hero--home .premium-hero__halo {
  inset: 12% 18% 16% 16%;
  background: radial-gradient(circle, rgba(var(--accent-rgb), 0.3), rgba(var(--accent-rgb), 0) 70%);
  filter: blur(28px);
  z-index: 0;
}

.premium-hero--home .premium-hero__figure img {
  filter: drop-shadow(0 34px 50px rgba(0, 0, 0, 0.42));
}

.premium-hero--home .premium-hero__panel,
.premium-hero--home .premium-hero__stat-badge {
  position: relative;
  inset: auto;
  width: auto;
  z-index: 3;
  padding: 22px;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.06));
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.24);
}

.premium-hero--home .premium-hero__stat-badge {
  grid-column: 1 / span 5;
  grid-row: 2 / span 3;
  align-self: start;
}

.premium-hero--home .premium-hero__panel h2 {
  max-width: 11ch;
  color: #ffffff;
}

.premium-hero--home .premium-hero__panel p {
  color: rgba(255, 255, 255, 0.72);
}

.premium-hero--home .premium-hero__panel .card-tag {
  color: #f2dfa8;
  background: rgba(var(--accent-rgb), 0.12);
}

.premium-hero--home .premium-hero__panel--statement {
  grid-column: 7 / -1;
  grid-row: 2 / span 4;
  align-self: start;
}

.premium-hero--home .premium-hero__panel--proof {
  grid-column: 8 / -1;
  grid-row: 8 / span 4;
  align-self: end;
}

.premium-hero--home .premium-checklist li {
  color: rgba(255, 255, 255, 0.78);
}

.premium-hero--home .premium-checklist li::before {
  box-shadow: 0 0 0 5px rgba(var(--accent-rgb), 0.12);
}

.premium-hero__panel--floating {
  right: 0;
  bottom: 52px;
  width: 360px;
}

.premium-checklist {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.premium-checklist li {
  position: relative;
  padding-left: 24px;
  color: var(--color-muted);
  font-size: 0.96rem;
}

.premium-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.58em;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 5px rgba(var(--accent-rgb), 0.18);
}

.premium-device-stage {
  position: absolute;
  inset: 16px 84px 40px 0;
  display: grid;
  place-items: center;
  padding: 34px;
  border-radius: 40px;
  border: 1px solid rgba(20, 17, 12, 0.08);
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.16), transparent 40%),
    rgba(255, 255, 255, 0.78);
  box-shadow: 0 26px 60px rgba(20, 17, 12, 0.12);
}

.premium-device-stage .app-visual {
  width: 100%;
  min-height: 590px;
  background: transparent;
  box-shadow: none;
}

.premium-device-stage .app-visual__phone {
  min-height: 560px;
}

.premium-photo-frame {
  position: absolute;
  inset: 14px 38px 26px 0;
  padding: 18px;
  border: 1px solid rgba(20, 17, 12, 0.08);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 26px 60px rgba(20, 17, 12, 0.12);
}

.premium-photo-frame--tall {
  inset: 12px 78px 42px 0;
}

.premium-photo-frame--wide {
  inset: 22px 54px 62px 0;
}

.premium-photo-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 26px;
}

.premium-hero--contact .premium-hero__visual {
  min-height: 100%;
}

.premium-hero--compact .premium-hero__shell {
  align-items: stretch;
}

.contact-intro-card {
  position: relative;
  inset: auto;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact-details {
  display: grid;
  gap: 10px;
  margin-top: 22px;
}

.contact-details a,
.contact-details span {
  color: var(--color-ink-2);
  font-weight: 700;
}

.premium-stat-wrap .landing-stat-strip {
  gap: 18px;
}

.page-premium .landing-stat {
  padding: 30px 26px;
  border-radius: 30px;
  border: 1px solid rgba(20, 17, 12, 0.08);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: var(--shadow-soft);
}

.page-premium .landing-stat strong {
  font-size: 2.9rem;
  line-height: 0.92;
}

.page-premium .landing-stat span {
  color: var(--color-muted);
  font-size: 0.94rem;
  font-weight: 700;
}

.page-premium .media-program-grid,
.page-premium .feature-grid,
.page-premium .capability-grid,
.page-premium .summary-rows,
.page-premium .proof-mosaic,
.page-premium .achievement-grid {
  gap: 20px;
}

.page-premium .media-program-card,
.page-premium .feature-card,
.page-premium .capability-card,
.page-premium .summary-row,
.page-premium .proof-mosaic__card,
.page-premium .stat-card,
.page-premium .faq details,
.page-premium .contact-form,
.contact-quick-card {
  border: 1px solid rgba(20, 17, 12, 0.08);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: var(--shadow-soft);
}

.page-premium .media-program-card,
.page-premium .feature-card,
.page-premium .capability-card,
.page-premium .summary-row,
.page-premium .proof-mosaic__card,
.page-premium .stat-card,
.page-premium .faq details,
.page-premium .contact-form,
.contact-quick-card {
  border-radius: 30px;
}

.page-premium .media-program-card {
  position: relative;
  overflow: hidden;
}

.page-premium .media-program-card__image {
  aspect-ratio: 1.15;
}

.page-premium .media-program-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-premium .media-program-card__image--contain {
  display: grid;
  place-items: center;
  padding: 18px;
  background:
    radial-gradient(circle at center, rgba(215, 195, 148, 0.08), transparent 52%),
    rgba(255, 255, 255, 0.92);
}

.page-premium .media-program-card__image--contain img {
  object-fit: contain;
  object-position: center;
}

.page-premium .media-program-card__body {
  padding: 26px 26px 30px;
}

.page-premium .media-program-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--accent-rgb), 0.65), transparent);
  opacity: 0;
  transition: opacity 180ms ease;
}

.page-premium .media-program-card:hover::after,
.page-premium .media-program-card:focus-visible::after {
  opacity: 1;
}

.page-premium .media-program-card__body h3 {
  font-size: 2rem;
}

.page-premium .media-program-card__body p {
  font-size: 1.08rem;
  line-height: 1.74;
}

.page-premium .media-program-card__highlights {
  margin-top: 20px;
}

.page-premium .feature-card,
.page-premium .capability-card,
.page-premium .summary-row {
  padding: 26px;
}

.page-premium .feature-card h3,
.page-premium .capability-card h3,
.page-premium .summary-row h3 {
  font-size: 1.34rem;
  line-height: 1.12;
}

.page-premium .feature-card p,
.page-premium .capability-card p,
.page-premium .summary-row p,
.page-premium .proof-mosaic__body p {
  color: var(--color-muted);
}

.page-premium .feature-card__detail {
  color: var(--accent-strong);
}

.app-system-grid {
  display: grid;
  gap: 20px;
  margin-top: 6px;
}

.app-system-card {
  position: relative;
  display: grid;
  gap: 24px;
  padding: clamp(24px, 2.4vw, 34px);
  border: 1px solid rgba(20, 17, 12, 0.08);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(250, 246, 236, 0.82));
  box-shadow: 0 18px 44px rgba(20, 17, 12, 0.06);
}

.app-system-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, rgba(215, 195, 148, 0.9), rgba(215, 195, 148, 0.12));
}

.app-system-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.app-system-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.app-system-card__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  color: #18130b;
  background: rgba(215, 195, 148, 0.18);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.app-system-card__detail {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid rgba(20, 17, 12, 0.08);
  border-radius: 999px;
  color: var(--accent-strong);
  background: rgba(255, 255, 255, 0.72);
  font-size: 0.77rem;
  font-weight: 850;
  text-transform: uppercase;
}

.app-system-card .program-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 16px;
}

.app-system-card__copy h3 {
  max-width: 16ch;
  margin: 0;
  font-size: clamp(1.7rem, 2vw, 2.2rem);
  line-height: 1;
}

.app-system-card__copy p {
  max-width: 48ch;
  margin: 14px 0 0;
  color: var(--color-muted);
  font-size: 1rem;
  line-height: 1.65;
}

.app-system-card__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.app-system-card__items span {
  min-height: 54px;
  display: flex;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(20, 17, 12, 0.08);
  color: var(--color-ink-2);
  background: rgba(255, 255, 255, 0.74);
  font-weight: 760;
  line-height: 1.35;
}

.page-premium .proof-mosaic__image {
  aspect-ratio: 1.08;
}

.page-premium .proof-mosaic__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-premium .proof-mosaic__body {
  padding: 22px 22px 26px;
}

.page-premium .transformation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.transformation-card {
  overflow: hidden;
  border: 1px solid rgba(20, 17, 12, 0.08);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--shadow-soft);
}

.transformation-card__image {
  padding: 18px;
  background:
    radial-gradient(circle at top left, rgba(var(--accent-rgb), 0.08), transparent 46%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 243, 233, 0.9));
}

.transformation-card__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 22px;
}

.transformation-card__body {
  padding: 0 24px 28px;
}

.transformation-card__body h3 {
  margin: 0;
  color: var(--color-ink);
  font-size: 1.54rem;
  line-height: 1.06;
}

.transformation-card__body p {
  margin: 14px 0 0;
  color: var(--color-muted);
  font-size: 0.98rem;
  line-height: 1.62;
}

.page-premium .stat-card {
  padding: 28px 24px;
}

.page-premium .stat-card__value {
  font-size: 1.84rem;
}

.page-premium .faq details {
  padding: 4px 24px;
}

.page-premium .faq summary {
  min-height: 76px;
  font-size: 1.04rem;
}

.page-premium .faq p {
  color: var(--color-muted);
}

.editorial-stage {
  display: grid;
  grid-template-columns: minmax(430px, 0.96fr) minmax(0, 1.04fr);
  gap: 26px;
  align-items: center;
}

.editorial-stage--reverse {
  grid-template-columns: minmax(0, 1.04fr) minmax(430px, 0.96fr);
}

.editorial-stage--reverse .editorial-stage__copy {
  order: 1;
}

.editorial-stage--reverse .editorial-stage__media {
  order: 2;
}

.editorial-stage__media,
.editorial-stage__form {
  position: relative;
  min-height: 100%;
}

.editorial-stage__media {
  padding: 18px;
  border-radius: 34px;
  border: 1px solid rgba(20, 17, 12, 0.08);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: var(--shadow-soft);
}

.editorial-stage__media img {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
  border-radius: 26px;
}

.editorial-stage__media--video {
  display: grid;
  align-items: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.premium-video-embed {
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 22px;
  background: transparent;
  box-shadow: none;
}

.premium-video-embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.premium-video-embed video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
  background: transparent;
}

.premium-video-launch {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  overflow: hidden;
}

.premium-video-launch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.premium-video-launch:hover img,
.premium-video-launch:focus-visible img {
  transform: scale(1.04);
}

.premium-video-launch__scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(8, 8, 10, 0.08) 0%, rgba(8, 8, 10, 0.22) 42%, rgba(8, 8, 10, 0.9) 100%),
    linear-gradient(90deg, rgba(8, 8, 10, 0.64) 0%, rgba(8, 8, 10, 0.14) 48%, rgba(8, 8, 10, 0.34) 100%);
}

.premium-video-launch__content {
  position: absolute;
  inset: auto 22px 22px 22px;
  z-index: 1;
  display: grid;
  gap: 10px;
}

.premium-video-launch__eyebrow {
  color: var(--cd-gold, var(--gold));
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.premium-video-launch__headline {
  max-width: 13ch;
  font-family: var(--font-cond, var(--font-sans));
  font-style: italic;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: 0.96;
  text-transform: uppercase;
  color: #fff;
}

.premium-video-launch__action {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff;
  font-weight: 700;
  font-size: 0.92rem;
  backdrop-filter: blur(12px);
}

.premium-video-launch__action::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid var(--cd-gold, var(--gold));
}

.premium-video-launch__hint {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.78rem;
}

.premium-video-launch--short .premium-video-launch__content {
  inset: auto 18px 18px 18px;
}

.premium-video-launch--short .premium-video-launch__headline {
  font-size: clamp(1.3rem, 4vw, 1.9rem);
  max-width: 9ch;
}

.editorial-stage__media--short {
  justify-items: center;
}

.premium-video-embed--short {
  width: min(100%, 430px);
  aspect-ratio: 9 / 16;
  border-radius: 24px;
  box-shadow: none;
}

.editorial-stage__form .contact-form {
  padding: 30px;
}

.summary-rows--compact {
  gap: 16px;
  margin-top: 12px;
}

.premium-proof-mosaic {
  margin-top: 22px;
}

.contact-quick-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.contact-quick-card {
  display: grid;
  gap: 10px;
  padding: 24px;
}

.contact-quick-card h3 {
  display: block;
  font-size: 1.1rem;
  line-height: 1.15;
}

.contact-quick-card__eyebrow {
  width: fit-content;
}

.contact-quick-card p {
  margin: 0;
  color: var(--color-muted);
}

.page-premium .sponsor-strip {
  padding: 0;
  background: transparent;
  border: 0;
}

.page-premium .sponsor-strip__inner {
  padding: 20px 24px;
  border-radius: 30px;
  border: 1px solid rgba(20, 17, 12, 0.08);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: var(--shadow-soft);
}

.page-premium .cta-band {
  margin: 16px 20px 28px;
  border: 1px solid rgba(20, 17, 12, 0.08);
  border-radius: 40px;
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.18), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(250, 245, 232, 0.94));
  color: var(--color-ink);
  box-shadow: var(--shadow);
}

.page-premium .cta-band__inner {
  padding: 72px 52px;
}

.page-premium .cta-band .eyebrow {
  color: var(--accent-strong);
}

.page-premium .cta-band p {
  color: var(--color-muted);
}

.page-home-reboot .section-header h2 {
  max-width: 14ch;
}

.page-home-reboot .section-header p:not(.eyebrow) {
  max-width: 68ch;
}

.page-home-reboot .media-program-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 26px;
}

.page-home-reboot .feature-grid--performance {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 22px;
}

.page-home-reboot .achievement-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
}

.page-home-reboot .proof-mosaic {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 22px;
}

.reboot-hero {
  padding: 152px 0 34px;
}

.reboot-hero__frame {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(0, 1.02fr);
  gap: 42px;
  align-items: center;
  padding: 46px;
  border: 1px solid rgba(216, 205, 188, 0.8);
  border-radius: 48px;
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.18), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 243, 234, 0.98));
  box-shadow: 0 24px 60px rgba(20, 17, 12, 0.08);
  overflow: hidden;
}

.reboot-hero__frame::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.46), transparent 26%),
    radial-gradient(circle at 78% 78%, rgba(var(--accent-rgb), 0.12), transparent 22%);
  pointer-events: none;
}

.reboot-hero__copy,
.reboot-hero__visual {
  position: relative;
  z-index: 1;
}

.reboot-hero__copy {
  padding: 6px 4px 6px 8px;
}

.reboot-hero__copy .eyebrow {
  color: var(--accent-strong);
}

.reboot-hero h1 {
  max-width: 10.4ch;
  font-size: clamp(4.2rem, 6.5vw, 7rem);
  line-height: 0.92;
}

.reboot-hero__lead {
  max-width: 34ch;
  margin-top: 24px;
  color: var(--color-ink-2);
  font-size: 1.28rem;
  line-height: 1.58;
}

.reboot-hero__support {
  max-width: 38ch;
  margin-top: 16px;
  color: var(--color-muted);
  font-size: 1.1rem;
  line-height: 1.78;
}

.reboot-hero__copy .hero__actions {
  margin-top: 30px;
}

.reboot-keyword-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.reboot-keyword-row span {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  padding: 12px 16px;
  border: 1px solid rgba(20, 17, 12, 0.08);
  border-radius: 999px;
  color: var(--color-ink-2);
  background: rgba(255, 255, 255, 0.7);
  box-shadow: var(--shadow-soft);
  font-size: 0.94rem;
  font-weight: 700;
}

.reboot-hero__visual {
  min-height: 820px;
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  grid-template-rows: repeat(10, minmax(0, 1fr));
  gap: 20px;
}

.reboot-hero__main-photo,
.reboot-hero__support-photo {
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(216, 205, 188, 0.82);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 24px 56px rgba(20, 17, 12, 0.1);
}

.reboot-hero__main-photo {
  grid-column: 3 / -1;
  grid-row: 1 / -1;
}

.reboot-hero__support-photo {
  grid-column: 1 / span 4;
  grid-row: 6 / span 4;
}

.reboot-hero__main-photo img,
.reboot-hero__support-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.reboot-hero__main-photo img {
  object-position: center top;
}

.reboot-hero__support-photo img {
  object-position: center;
}

.reboot-hero__floating {
  align-self: start;
  padding: 22px;
  border: 1px solid rgba(216, 205, 188, 0.78);
  border-radius: 28px;
  background: rgba(255, 251, 243, 0.88);
  box-shadow: 0 18px 40px rgba(20, 17, 12, 0.08);
  backdrop-filter: blur(14px);
}

.reboot-hero__floating strong {
  display: block;
  margin-top: 10px;
  color: var(--color-ink);
  font-size: 1.18rem;
  line-height: 1.3;
}

.reboot-hero__floating p {
  margin-top: 12px;
  color: var(--color-muted);
}

.reboot-hero__floating--system {
  grid-column: 1 / span 4;
  grid-row: 2 / span 2;
}

.reboot-hero__floating--mission {
  grid-column: 7 / -1;
  grid-row: 8 / span 2;
}

.page-home-reboot .premium-stat-wrap .landing-stat-strip {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-top: -20px;
}

.page-home-reboot .landing-stat {
  min-height: 132px;
  padding: 28px 26px;
  border-radius: 26px;
  border-top: 0;
}

.page-home-reboot .landing-stat strong {
  font-size: 2rem;
}

.page-home-reboot .media-program-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.page-home-reboot .media-program-card__image {
  aspect-ratio: 0.95;
}

.page-home-reboot .media-program-card__body {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.page-home-reboot .media-program-card__body h3 {
  font-size: 1.7rem;
  line-height: 1.02;
}

.page-home-reboot .media-program-card__body strong {
  font-size: 0.98rem;
}

.page-home-reboot .media-program-card__body p {
  font-size: 1.08rem;
  line-height: 1.74;
}

.page-home-reboot .media-program-card__footer {
  margin-top: auto;
}

.page-home-reboot .feature-grid--performance .feature-card {
  min-height: 100%;
  padding: 30px;
  border-radius: 32px;
  background:
    linear-gradient(180deg, rgba(var(--accent-rgb), 0.09), rgba(255, 255, 255, 0.92) 40%);
}

.page-home-reboot .feature-grid--performance .feature-card h3 {
  font-size: 1.5rem;
}

.wide-story {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 34px;
  align-items: center;
}

.wide-story__media {
  padding: 20px;
  border: 1px solid rgba(216, 205, 188, 0.74);
  border-radius: 38px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--shadow-soft);
}

.wide-story__media img {
  width: 100%;
  min-height: 620px;
  object-fit: cover;
  border-radius: 28px;
}

.wide-story .summary-rows {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 14px;
}

.spotlight-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
  gap: 26px;
}

.spotlight-card {
  padding: 38px;
  border-radius: 38px;
  border: 1px solid rgba(216, 205, 188, 0.78);
  box-shadow: var(--shadow-soft);
}

.spotlight-card h3 {
  margin-top: 10px;
  max-width: 15ch;
  font-size: clamp(2.2rem, 3.4vw, 3.2rem);
  line-height: 0.98;
}

.spotlight-card p {
  max-width: 46ch;
  margin-top: 16px;
  color: var(--color-muted);
  font-size: 1.04rem;
  line-height: 1.72;
}

.spotlight-card .button {
  margin-top: 24px;
}

.spotlight-card--light {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 242, 231, 0.92));
}

.spotlight-card--accent {
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.22), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(242, 235, 220, 0.94));
}

.page-home-reboot .summary-row {
  border-radius: 28px;
}

@media (max-width: 1180px) {
  .page-premium .nav-shell {
    width: calc(100% - 20px);
    border-radius: 24px;
  }

  .page-home-reboot .premium-stat-wrap .landing-stat-strip,
  .page-home-reboot .media-program-grid,
  .page-home-reboot .feature-grid--performance,
  .page-home-reboot .achievement-grid,
  .page-home-reboot .proof-mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reboot-hero__frame,
  .wide-story,
  .spotlight-grid {
    grid-template-columns: 1fr;
  }

  .reboot-hero__visual {
    min-height: 620px;
  }

  .wide-story__media img {
    min-height: 480px;
  }

  .premium-hero__shell,
  .editorial-stage,
  .editorial-stage--reverse,
  .editorial-stage--contact {
    grid-template-columns: 1fr;
  }

  .premium-hero__visual {
    min-height: 620px;
  }

  .premium-hero__figure--cutout {
    left: 48px;
    width: min(76%, 500px);
  }

  .premium-hero--home .premium-hero__shell {
    gap: 24px;
    padding: 34px;
  }

  .premium-hero--home .premium-hero__shell::after {
    inset-inline: 34px;
  }

  .premium-hero--home .premium-hero__visual {
    min-height: 580px;
  }

  .premium-hero--home .premium-hero__stat-badge {
    grid-column: 1 / span 6;
  }

  .premium-hero--home .premium-hero__panel--statement {
    grid-column: 6 / -1;
  }

  .premium-hero--home .premium-hero__panel--proof {
    grid-column: 7 / -1;
  }

  .premium-hero__panel--app,
  .premium-hero__panel--coaching,
  .premium-hero__panel--floating {
    width: 320px;
  }

  .premium-photo-frame--tall,
  .premium-photo-frame--wide,
  .premium-device-stage {
    inset: 12px 24px 34px 0;
  }

  .contact-quick-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
}

@media (max-width: 640px) {
  .contact-topic-grid__options,
  .contact-form__actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .section-shell--wide {
    width: min(100% - 24px, 1640px);
  }

  .page-home-reboot .premium-stat-wrap .landing-stat-strip,
  .page-home-reboot .media-program-grid,
  .page-home-reboot .feature-grid--performance,
  .page-home-reboot .achievement-grid,
  .page-home-reboot .proof-mosaic,
  .page-premium .transformation-grid,
  .wide-story .summary-rows,
  .spotlight-grid {
    grid-template-columns: 1fr;
  }

  .reboot-hero {
    padding-top: 128px;
  }

  .reboot-hero__frame {
    padding: 24px;
    border-radius: 32px;
  }

  .reboot-hero h1 {
    font-size: clamp(3rem, 12vw, 4.5rem);
  }

  .reboot-hero__visual {
    min-height: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .reboot-hero__main-photo,
  .reboot-hero__support-photo,
  .reboot-hero__floating--system,
  .reboot-hero__floating--mission {
    grid-column: auto;
    grid-row: auto;
  }

  .reboot-hero__main-photo {
    min-height: 420px;
  }

  .reboot-hero__support-photo {
    min-height: 280px;
  }

  .reboot-hero__floating {
    padding: 20px;
  }

  .premium-hero {
    padding-top: 124px;
  }

  .premium-hero h1 {
    font-size: clamp(3rem, 10vw, 4.2rem);
  }

  .premium-hero__lead {
    font-size: 1.08rem;
  }

  .premium-hero__visual {
    min-height: 540px;
  }

  .premium-hero--home .premium-hero__shell {
    padding: 24px;
    border-radius: 32px;
  }

  .premium-hero--home .premium-hero__shell::after {
    inset-inline: 24px;
  }

  .premium-hero--home h1 {
    font-size: clamp(3.2rem, 12vw, 4.7rem);
  }

  .premium-hero--home .premium-hero__title span {
    white-space: normal;
  }

  .premium-hero--home .premium-hero__visual {
    display: flex;
    flex-direction: column;
    min-height: auto;
    padding: 16px;
  }

  .premium-hero--home .premium-hero__stat-badge {
    order: 1;
  }

  .premium-hero--home .premium-hero__figure--cutout {
    order: 3;
    width: min(82%, 320px);
    margin: -92px auto 0;
    transform: none;
  }

  .premium-hero--home .premium-hero__panel--statement {
    order: 4;
  }

  .premium-hero--home .premium-hero__panel--proof {
    order: 5;
  }

  .premium-hero--home .premium-hero__stat-badge,
  .premium-hero--home .premium-hero__panel--statement,
  .premium-hero--home .premium-hero__panel--proof {
    width: 100%;
    margin-top: 14px;
  }

  .premium-hero__panel--app,
  .premium-hero__panel--coaching,
  .premium-hero__panel--floating {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    margin-top: 18px;
  }

  .premium-hero__figure--cutout {
    inset: auto auto 0 24px;
    width: min(82%, 420px);
  }

  .premium-device-stage,
  .premium-photo-frame,
  .editorial-stage__media {
    inset: auto;
    min-height: auto;
  }

  .editorial-stage__media img {
    min-height: 420px;
  }

  .page-premium .cta-band {
    margin-inline: 16px;
  }

  .page-premium .cta-band__inner {
    padding: 54px 28px;
  }
}

/* Clean premium website layer */

.page-premium {
  --radius: 8px;
  --shell: 1720px;
  background:
    linear-gradient(180deg, #fdfbf6 0%, #f7f1e7 42%, #fcfaf5 100%);
}

.page-premium .nav-shell {
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(32, 25, 14, 0.07);
}

.page-premium .nav-cta {
  display: none !important;
}

.page-premium .nav-toggle,
.button,
.premium-badge,
.premium-proof-pills span,
.premium-chip-list span,
.reboot-hero__quicklinks a,
.reboot-keyword-row span {
  border-radius: 999px;
}

.button {
  min-height: 60px;
  width: auto;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 12px 10px 22px;
  white-space: nowrap;
  letter-spacing: 0;
  box-shadow:
    0 14px 28px rgba(20, 17, 12, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.58);
}

.button > span:first-child {
  flex: 1 1 auto;
}

.button > span:last-child {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  font-size: 1rem;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-1px);
  box-shadow:
    0 18px 34px rgba(20, 17, 12, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.button--primary {
  color: #18130b;
  border-color: rgba(167, 133, 28, 0.5);
  background:
    linear-gradient(180deg, #fff1b8 0%, #d7c394 52%, #b68727 100%);
  box-shadow:
    0 18px 34px rgba(155, 116, 26, 0.16),
    inset 0 1px 0 rgba(255, 248, 225, 0.72),
    inset 0 -1px 0 rgba(80, 58, 9, 0.12);
}

.button--primary > span:last-child {
  color: #fff7df !important;
  background: rgba(24, 19, 11, 0.14) !important;
}

.button--secondary,
.button--secondary-light,
.page-premium .button--secondary-light {
  color: var(--color-ink);
  border-color: rgba(20, 17, 12, 0.12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 241, 231, 0.94));
  box-shadow:
    0 12px 26px rgba(20, 17, 12, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.button--secondary > span:last-child,
.button--secondary-light > span:last-child,
.page-premium .button--secondary-light > span:last-child {
  color: var(--accent-gold) !important;
  background: rgba(var(--accent-rgb), 0.14) !important;
}

.hero__actions,
.page-premium .hero__actions,
.premium-hero .hero__actions {
  width: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 320px));
  gap: 14px;
  justify-content: start;
}

.page-premium .contact-form .button,
.page-premium .form-footer .button {
  width: 100%;
}

.page-premium .media-program-card,
.page-premium .feature-card,
.page-premium .capability-card,
.page-premium .summary-row,
.page-premium .proof-mosaic__card,
.page-premium .stat-card,
.page-premium .faq details,
.page-premium .contact-form,
.contact-quick-card,
.spotlight-card,
.wide-story__media,
.editorial-stage__media,
.premium-photo-frame,
.premium-device-stage,
.premium-hero__panel,
.contact-intro-card,
.page-premium .landing-stat,
.page-premium .sponsor-strip__inner,
.page-premium .cta-band {
  border-radius: 10px;
  box-shadow: none;
}

.page-premium .section {
  padding-block: 74px;
}

.page-premium .section-header {
  max-width: 940px;
  margin-bottom: 34px;
}

.page-premium .section-header h2 {
  max-width: 16ch;
  font-size: clamp(2.55rem, 4vw, 4.4rem);
  line-height: 1;
}

.page-premium .section-header p:not(.eyebrow) {
  max-width: 64ch;
}

.premium-badge {
  width: 100%;
  justify-content: flex-start;
  padding: 14px 16px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.58);
  box-shadow: none;
}

.premium-badge span {
  flex: 0 0 auto;
}

.premium-badge small {
  max-width: 46ch;
}

.reboot-hero {
  position: relative;
  min-height: min(780px, calc(100svh - 18px));
  display: flex;
  align-items: flex-end;
  padding: 144px 0 42px;
  overflow: hidden;
  background: #efe8dc;
}

.reboot-hero__media {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(253, 251, 246, 0.98) 0%, rgba(253, 251, 246, 0.9) 38%, rgba(253, 251, 246, 0.18) 72%),
    linear-gradient(180deg, rgba(253, 251, 246, 0.35), rgba(20, 17, 12, 0.16)),
    url("/assets/images/dominik-athlete-bike-yellow.webp") 63% 18% / 104% auto no-repeat;
}

.reboot-hero__content {
  position: relative;
  z-index: 1;
}

.reboot-hero__copy {
  max-width: 860px;
  padding: 0;
}

.reboot-hero__copy .eyebrow {
  color: var(--accent-strong);
}

.reboot-hero h1 {
  max-width: 9.5ch;
  margin: 16px 0 0;
  font-size: clamp(4.4rem, 7vw, 7.4rem);
  line-height: 0.93;
}

.reboot-hero__lead {
  max-width: 46ch;
  margin-top: 28px;
  font-size: 1.32rem;
  line-height: 1.55;
}

.reboot-hero__support {
  max-width: 44ch;
  margin-top: 14px;
  font-size: 1.04rem;
}

.reboot-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 28px;
  margin-top: 32px;
}

.reboot-hero__actions .button {
  width: auto;
  min-width: min(100%, 320px);
}

.reboot-hero__secondary {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--color-ink);
  font-weight: 800;
}

.reboot-hero__secondary span:first-child {
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(20, 17, 12, 0.14);
}

.reboot-hero__secondary span:last-child {
  color: var(--accent-strong);
  transition: transform 180ms ease;
}

.reboot-hero__secondary:hover span:last-child,
.reboot-hero__secondary:focus-visible span:last-child {
  transform: translateX(2px);
}

.reboot-hero__entryline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  margin-top: 22px;
  color: var(--color-muted);
  font-size: 0.98rem;
}

.reboot-hero__entryline > span {
  color: var(--accent-strong);
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.reboot-hero__entryline a {
  color: rgba(24, 19, 11, 0.78);
  font-weight: 700;
}

.reboot-hero__entryline a:hover,
.reboot-hero__entryline a:focus-visible {
  color: var(--color-ink);
}

.reboot-hero__visual,
.reboot-hero__floating,
.reboot-hero__main-photo,
.reboot-hero__support-photo,
.reboot-hero__frame::before {
  display: none;
}

.page-home-reboot .media-program-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid rgba(20, 17, 12, 0.12);
  background: rgba(20, 17, 12, 0.12);
}

.page-home-reboot .media-program-card {
  border: 0;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.9);
}

.page-home-reboot .media-program-card__image {
  aspect-ratio: 1.08;
}

.page-home-reboot .media-program-card__image img {
  border-radius: 0;
}

.page-home-reboot .media-program-card__body {
  padding: 24px;
}

.media-program-card__top {
  align-items: center;
}

.program-icon {
  border-radius: 8px;
  box-shadow: none;
}

.card-tag,
.feature-card__detail {
  letter-spacing: 0.08em;
}

.page-home-reboot .feature-grid--performance {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid rgba(20, 17, 12, 0.12);
  background: rgba(20, 17, 12, 0.12);
}

.page-home-reboot .feature-grid--performance .feature-card {
  border: 0;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.82);
}

.reboot-section--line {
  border-top: 1px solid rgba(20, 17, 12, 0.08);
  border-bottom: 1px solid rgba(20, 17, 12, 0.08);
  background: rgba(255, 255, 255, 0.34);
}

.spotlight-grid {
  gap: 1px;
  border: 1px solid rgba(20, 17, 12, 0.12);
  background: rgba(20, 17, 12, 0.12);
}

.spotlight-card {
  border: 0;
  border-radius: 0;
  padding: clamp(28px, 4vw, 54px);
}

.spotlight-card h3 {
  max-width: 18ch;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
}

.spotlight-card .button {
  margin-top: 30px;
}

.page-home-reboot .achievement-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.reference-band {
  padding-block: 18px;
  border-top: 1px solid rgba(20, 17, 12, 0.1);
  border-bottom: 1px solid rgba(20, 17, 12, 0.1);
}

.reference-band .eyebrow {
  margin-bottom: 14px;
  color: var(--accent-strong);
}

.reference-band__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}

.reference-band__list span {
  color: var(--color-ink-2);
  font-size: 0.94rem;
  font-weight: 800;
}

.event-reference-band {
  display: grid;
  gap: clamp(22px, 3vw, 34px);
  padding-block: clamp(30px, 4vw, 54px);
  border-top: 1px solid rgba(20, 17, 12, 0.1);
  border-bottom: 1px solid rgba(20, 17, 12, 0.1);
}

.event-reference-band__intro h2 {
  max-width: 14ch;
  margin: 12px 0 0;
  color: var(--color-ink);
  font-size: clamp(2.5rem, 4.4vw, 4.8rem);
  line-height: 0.94;
  letter-spacing: -0.07em;
}

.event-reference-band__intro p:not(.eyebrow) {
  max-width: 52ch;
  margin: 18px 0 0;
  color: var(--color-muted);
  font-size: clamp(1.05rem, 1.2vw, 1.14rem);
  line-height: 1.76;
}

.device-preview-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.device-preview-card {
  display: grid;
  gap: 18px;
  padding: clamp(18px, 2vw, 24px);
  border: 1px solid rgba(20, 17, 12, 0.08);
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.12), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 243, 233, 0.9));
  box-shadow: 0 20px 44px rgba(20, 17, 12, 0.08);
}

.device-preview-card__frame {
  width: min(100%, 308px);
  margin-inline: auto;
  padding: 12px;
  border-radius: 34px;
  background:
    linear-gradient(160deg, #18140f 0%, #221a11 62%, #3a2c16 100%);
  box-shadow:
    0 22px 52px rgba(20, 17, 12, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.device-preview-card__frame img {
  width: 100%;
  border-radius: 24px;
}

.device-preview-card__body {
  display: grid;
  gap: 10px;
}

.device-preview-card__body h3 {
  font-size: 1.52rem;
  line-height: 1.06;
}

.device-preview-card__body p {
  color: var(--color-muted);
  font-size: 1.04rem;
  line-height: 1.68;
}

.premium-device-stage--app-story {
  inset: 16px 90px 36px 0;
  display: grid;
  align-items: center;
  justify-items: center;
  overflow: visible;
}

.app-hero-poster {
  position: relative;
  z-index: 1;
  width: min(100%, 410px);
  padding: 14px;
  border-radius: 38px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(246, 239, 223, 0.82));
  box-shadow:
    0 24px 56px rgba(20, 17, 12, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

.app-hero-poster img {
  width: 100%;
  aspect-ratio: 0.67;
  border-radius: 28px;
  object-fit: cover;
  object-position: top center;
}

.app-hero-float {
  position: absolute;
  right: 18px;
  bottom: 26px;
  z-index: 2;
  width: min(36%, 200px);
  padding: 10px;
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 239, 223, 0.88));
  box-shadow: 0 18px 38px rgba(20, 17, 12, 0.14);
}

.app-hero-float img {
  width: 100%;
  aspect-ratio: 0.68;
  border-radius: 22px;
  object-fit: cover;
  object-position: top center;
}

.page-app .editorial-stage__media--app-screen {
  display: grid;
  place-items: center;
  padding: 20px;
  border-radius: 34px;
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.12), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 241, 231, 0.92));
}

.page-app .editorial-stage__media--app-screen img {
  width: min(100%, 360px);
  border-radius: 34px;
  box-shadow: 0 24px 54px rgba(20, 17, 12, 0.16);
}

.page-app .editorial-stage__media--app-poster {
  display: grid;
  place-items: center;
  padding: 30px;
  border-radius: 36px;
  border-color: var(--cd-line);
  background:
    radial-gradient(circle at top left, rgba(var(--accent-rgb), 0.18), transparent 28%),
    radial-gradient(circle at bottom right, rgba(255, 255, 255, 0.08), transparent 30%),
    linear-gradient(160deg, #17171b, #101012);
  overflow: hidden;
}

.app-premium-stage {
  width: 100%;
  display: grid;
  justify-items: center;
  gap: 20px;
}

.page-app .editorial-stage__media--app-poster .app-hero-poster {
  width: min(100%, 470px);
  box-shadow:
    0 34px 74px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.page-app .editorial-stage__media--app-poster .app-hero-poster img {
  min-height: 0;
  height: auto;
}

.app-premium-stage__note {
  width: min(100%, 470px);
  padding: 16px 18px;
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.24);
}

.app-premium-stage__note h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.16rem, 1.8vw, 1.52rem);
  line-height: 1;
}

.app-premium-stage__note p {
  margin: 0;
  color: var(--cd-dim);
  font-size: 0.98rem;
  line-height: 1.68;
}

.page-app .app-system-stage,
.page-app .app-preview-stage,
.page-app .app-function-stage {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 38px;
  box-shadow: 0 40px 96px rgba(0, 0, 0, 0.3);
}

.page-app .app-system-stage,
.page-app .app-function-stage {
  background:
    radial-gradient(circle at 0% 0%, rgba(215, 195, 148, 0.15), transparent 30%),
    radial-gradient(circle at 100% 100%, rgba(97, 111, 152, 0.16), transparent 34%),
    linear-gradient(160deg, rgba(18, 18, 22, 0.98) 0%, rgba(8, 8, 10, 0.98) 58%, rgba(15, 16, 20, 0.96) 100%);
}

.page-app .app-preview-stage {
  padding: clamp(28px, 3vw, 42px);
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.14), transparent 26%),
    radial-gradient(circle at 0% 100%, rgba(97, 111, 152, 0.18), transparent 28%),
    linear-gradient(160deg, rgba(16, 18, 24, 0.98) 0%, rgba(9, 10, 14, 0.98) 56%, rgba(13, 15, 19, 0.96) 100%);
}

.page-app .app-system-stage {
  padding: clamp(28px, 3vw, 42px);
}

.page-app .app-function-stage {
  padding: clamp(28px, 3vw, 42px);
}

.page-app .app-system-stage::before,
.page-app .app-preview-stage::before,
.page-app .app-function-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0) 24%),
    linear-gradient(120deg, transparent 18%, rgba(255, 255, 255, 0.05) 32%, transparent 46%);
  mix-blend-mode: screen;
  opacity: 0.64;
  pointer-events: none;
}

.page-app .app-system-stage > *,
.page-app .app-preview-stage > *,
.page-app .app-function-stage > * {
  position: relative;
  z-index: 1;
}

.page-app .app-system-stage .section-header,
.page-app .app-preview-stage .section-header,
.page-app .app-function-stage .section-header {
  max-width: none;
  margin-bottom: 0;
}

.page-app .app-system-stage .section-header h2,
.page-app .app-preview-stage .section-header h2,
.page-app .app-function-stage .section-header h2 {
  margin-inline: 0;
}

.page-app .app-system-stage .section-header h2 {
  max-width: 8ch;
  font-size: clamp(2.9rem, 4.7vw, 5rem);
}

.page-app .app-preview-stage .section-header h2 {
  max-width: 14ch;
  font-size: clamp(2.5rem, 3.8vw, 4.3rem);
}

.page-app .app-function-stage .section-header h2 {
  max-width: 15ch;
  font-size: clamp(2.5rem, 3.8vw, 4rem);
}

.page-app .app-system-stage .section-header p:not(.eyebrow),
.page-app .app-preview-stage .section-header p:not(.eyebrow),
.page-app .app-function-stage .section-header p:not(.eyebrow) {
  max-width: 56ch;
  font-size: clamp(1rem, 1.1vw, 1.08rem);
  line-height: 1.7;
}

.page-app .app-system-grid {
  margin-top: clamp(26px, 2.6vw, 34px);
  gap: clamp(18px, 1.9vw, 24px);
}

.page-app .app-system-card {
  min-height: 100%;
  gap: 22px;
  padding: clamp(24px, 2.3vw, 32px);
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background:
    radial-gradient(circle at top right, rgba(215, 195, 148, 0.12), transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 24px 56px rgba(0, 0, 0, 0.2);
}

.page-app .app-system-card::before {
  height: 3px;
  background: linear-gradient(90deg, rgba(215, 195, 148, 0.96), rgba(215, 195, 148, 0.26), transparent);
}

.page-app .app-system-card__number {
  color: var(--cd-gold);
  background: rgba(215, 195, 148, 0.14);
}

.page-app .app-system-card__detail {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.06);
  color: var(--cd-gold);
}

.page-app .app-system-card__copy h3 {
  color: #fff;
  max-width: 13ch;
  font-size: clamp(1.7rem, 2vw, 2.15rem);
  line-height: 0.98;
}

.page-app .app-system-card__copy p {
  color: var(--cd-dim);
}

.page-app .app-system-card__items span {
  min-height: 58px;
  border-radius: 18px;
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.9);
}

.page-app .editorial-stage--app-product {
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  align-items: start;
}

.page-app .editorial-stage--app-product .section-header h2 {
  max-width: 7ch;
  margin-inline: 0;
  font-size: clamp(2.8rem, 4vw, 4.5rem);
}

.page-app .editorial-stage--app-product .section-header p:not(.eyebrow) {
  max-width: 50ch;
}

.page-app .editorial-stage--app-product .summary-rows {
  margin-top: 14px;
}

.page-app .app-preview-stage .device-preview-gallery {
  margin-top: clamp(26px, 2.6vw, 34px);
  gap: clamp(18px, 1.8vw, 24px);
}

.page-app .device-preview-card {
  min-height: 100%;
  padding: clamp(18px, 2vw, 24px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(215, 195, 148, 0.12), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 22px 48px rgba(0, 0, 0, 0.18);
}

.page-app .device-preview-card__body h3 {
  color: #fff;
}

.page-app .device-preview-card__body p {
  color: var(--cd-dim);
}

.page-app .app-function-stage .summary-rows {
  counter-reset: app-function-card;
  margin-top: clamp(26px, 2.6vw, 34px);
  gap: clamp(18px, 1.9vw, 24px);
}

.page-app .app-function-stage .summary-row {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  padding: 26px 24px 24px 74px;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background:
    radial-gradient(circle at top right, rgba(215, 195, 148, 0.12), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 22px 48px rgba(0, 0, 0, 0.18);
}

.page-app .app-function-stage .summary-row::before {
  counter-increment: app-function-card;
  content: "0" counter(app-function-card);
  position: absolute;
  top: 22px;
  left: 24px;
  color: rgba(215, 195, 148, 0.92);
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  font-size: clamp(1.8rem, 2vw, 2.2rem);
  line-height: 1;
}

.page-app .app-function-stage .summary-row h3 {
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.14;
}

.page-app .app-function-stage .summary-row p {
  color: var(--cd-dim);
  line-height: 1.66;
}

.page-app .app-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
}

.page-app .app-feature-card {
  position: relative;
  min-height: 196px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid var(--feature-line);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, var(--feature-glow), transparent 56%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.025));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.page-app .app-feature-card__number {
  position: absolute;
  top: 22px;
  right: 22px;
  color: var(--feature-accent);
  font-family: var(--font-cond);
  font-size: 1rem;
  font-style: italic;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.page-app .app-feature-card__icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 22px;
  border: 1px solid var(--feature-line);
  border-radius: 18px;
  color: var(--feature-accent);
  background: color-mix(in srgb, var(--feature-accent) 16%, transparent);
}

.page-app .app-feature-card__icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.page-app .app-feature-card--ai .app-feature-card__icon svg {
  fill: currentColor;
  stroke: none;
}

.page-app .app-feature-card__label {
  margin: 0 0 7px;
  color: var(--feature-accent);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  line-height: 1.2;
  text-transform: uppercase;
}

.page-app .app-feature-card h3 {
  max-width: 15ch;
  color: #fff;
  font-size: clamp(1.35rem, 1.55vw, 1.7rem);
  line-height: 1;
}

.page-app .app-feature-card:nth-child(1) {
  --feature-accent: #d7c394;
  --feature-line: rgba(215, 195, 148, 0.42);
  --feature-glow: rgba(215, 195, 148, 0.23);
}

.page-app .app-feature-card:nth-child(2) {
  --feature-accent: #eb9d59;
  --feature-line: rgba(235, 157, 89, 0.42);
  --feature-glow: rgba(235, 157, 89, 0.23);
}

.page-app .app-feature-card:nth-child(3) {
  --feature-accent: #80c5a0;
  --feature-line: rgba(128, 197, 160, 0.42);
  --feature-glow: rgba(128, 197, 160, 0.23);
}

.page-app .app-feature-card:nth-child(4) {
  --feature-accent: #83bce8;
  --feature-line: rgba(131, 188, 232, 0.42);
  --feature-glow: rgba(131, 188, 232, 0.23);
}

.page-app .app-feature-card:nth-child(5) {
  --feature-accent: #b99ae8;
  --feature-line: rgba(185, 154, 232, 0.42);
  --feature-glow: rgba(185, 154, 232, 0.23);
}

.page-app .app-feature-card:nth-child(6) {
  --feature-accent: #e88f99;
  --feature-line: rgba(232, 143, 153, 0.42);
  --feature-glow: rgba(232, 143, 153, 0.23);
}

@media (max-width: 900px) {
  .page-app .app-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 580px) {
  .page-app .app-feature-grid {
    grid-template-columns: 1fr;
  }
}

/* A denser editorial rhythm for the app landing page. */
@media (min-width: 901px) {
  .page-app .section {
    padding-block: 34px;
  }

  .page-app .section--tight {
    padding-block: 22px;
  }

  .page-app .app-function-stage,
  .page-app .app-preview-stage {
    padding: 38px 42px;
  }

  .page-app .app-function-stage .section-header h2,
  .page-app .app-preview-stage .section-header h2 {
    font-size: clamp(3.1rem, 4.2vw, 5rem);
    line-height: 0.94;
  }

  .page-app .app-function-stage .section-header p:not(.eyebrow),
  .page-app .app-preview-stage .section-header p:not(.eyebrow) {
    font-size: 1.15rem;
    line-height: 1.55;
  }

  .page-app .app-feature-card {
    min-height: 230px;
    padding: 28px;
  }

  .page-app .app-feature-card__icon {
    width: 70px;
    height: 70px;
    margin-bottom: 26px;
    border-radius: 21px;
  }

  .page-app .app-feature-card__icon svg {
    width: 34px;
    height: 34px;
  }

  .page-app .app-feature-card__label {
    font-size: 0.78rem;
  }

  .page-app .app-feature-card h3 {
    max-width: 16ch;
    font-size: clamp(1.55rem, 1.85vw, 2rem);
  }

  .page-app .device-preview-card {
    min-height: 300px;
  }

  .page-app .device-preview-card__body h3 {
    font-size: clamp(1.5rem, 1.75vw, 1.95rem);
    line-height: 1.04;
  }

  .page-app .device-preview-card__body p {
    font-size: 1.04rem;
    line-height: 1.55;
  }

  .page-app .faq summary {
    min-height: 72px;
    font-size: 1.16rem;
  }

  .page-app .faq p {
    font-size: 1.06rem;
  }

  .page-app .cta-band h2 {
    font-size: clamp(3rem, 4.2vw, 5rem);
  }

  .page-app .cta-band p {
    font-size: 1.16rem;
  }
}

/* App page: keep each desktop section scannable without a long scroll. */
@media (min-width: 901px) {
  .page-app .app-function-stage .section-header,
  .page-app .app-preview-stage .section-header {
    max-width: none;
    text-align: center;
  }

  .page-app .app-function-stage .section-header h2,
  .page-app .app-preview-stage .section-header h2,
  .page-app .app-function-stage .section-header p:not(.eyebrow),
  .page-app .app-preview-stage .section-header p:not(.eyebrow) {
    margin-inline: auto;
  }

  .page-app .app-function-stage .section-header h2 {
    max-width: 22ch;
  }

  .page-app .app-preview-stage .section-header h2 {
    max-width: 24ch;
  }

  .page-app .app-function-stage .section-header p:not(.eyebrow),
  .page-app .app-preview-stage .section-header p:not(.eyebrow) {
    max-width: 70ch;
  }

  .page-app .app-preview-stage .device-preview-gallery {
    gap: 16px;
  }

  .page-app .device-preview-card {
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: center;
    min-height: 252px;
    padding: 16px;
    gap: 16px;
  }

  .page-app .device-preview-card__frame {
    width: 112px;
    max-height: 216px;
    padding: 6px;
    overflow: hidden;
    border-radius: 20px;
  }

  .page-app .device-preview-card__frame img {
    aspect-ratio: 9 / 16;
    object-fit: cover;
    object-position: top;
    border-radius: 14px;
  }

  .page-app .device-preview-card__body h3 {
    font-size: clamp(1.25rem, 1.45vw, 1.62rem);
  }

  .page-app .device-preview-card__body p {
    font-size: 0.94rem;
    line-height: 1.5;
  }
}

.page-app .app-function-stage .summary-row:nth-child(1),
.page-app .device-preview-card:nth-child(1) {
  border-color: rgba(215, 195, 148, 0.36);
  background: radial-gradient(circle at top right, rgba(215, 195, 148, 0.2), transparent 42%), linear-gradient(180deg, rgba(215, 195, 148, 0.09), rgba(255, 255, 255, 0.03));
}

.page-app .app-function-stage .summary-row:nth-child(2),
.page-app .device-preview-card:nth-child(2) {
  border-color: rgba(224, 140, 77, 0.36);
  background: radial-gradient(circle at top right, rgba(224, 140, 77, 0.2), transparent 42%), linear-gradient(180deg, rgba(224, 140, 77, 0.09), rgba(255, 255, 255, 0.03));
}

.page-app .app-function-stage .summary-row:nth-child(3),
.page-app .device-preview-card:nth-child(3) {
  border-color: rgba(121, 184, 143, 0.36);
  background: radial-gradient(circle at top right, rgba(121, 184, 143, 0.2), transparent 42%), linear-gradient(180deg, rgba(121, 184, 143, 0.09), rgba(255, 255, 255, 0.03));
}

.page-app .app-function-stage .summary-row:nth-child(4) {
  border-color: rgba(127, 179, 213, 0.36);
  background: radial-gradient(circle at top right, rgba(127, 179, 213, 0.2), transparent 42%), linear-gradient(180deg, rgba(127, 179, 213, 0.09), rgba(255, 255, 255, 0.03));
}

.page-app .app-function-stage .summary-row:nth-child(5) {
  border-color: rgba(166, 139, 210, 0.36);
  background: radial-gradient(circle at top right, rgba(166, 139, 210, 0.2), transparent 42%), linear-gradient(180deg, rgba(166, 139, 210, 0.09), rgba(255, 255, 255, 0.03));
}

.page-app .app-function-stage .summary-row:nth-child(6) {
  border-color: rgba(212, 124, 124, 0.36);
  background: radial-gradient(circle at top right, rgba(212, 124, 124, 0.2), transparent 42%), linear-gradient(180deg, rgba(212, 124, 124, 0.09), rgba(255, 255, 255, 0.03));
}

@media (min-width: 1180px) {
  .page-app .app-function-stage .summary-rows {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1180px) {
  .page-app .editorial-stage--app-product {
    grid-template-columns: 1fr;
  }

  .page-app .app-function-stage .summary-rows {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .page-app .app-system-stage,
  .page-app .app-preview-stage,
  .page-app .app-function-stage {
    padding: 22px 18px;
    border-radius: 28px;
  }

  .page-app .app-function-stage .summary-rows {
    grid-template-columns: 1fr;
  }
}

.event-reference-band__logos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.event-reference-card,
.corporate-reference-card {
  min-height: 196px;
  margin: 0;
  display: grid;
  grid-template-columns: minmax(132px, 176px) 1px minmax(0, 1fr) 30px;
  align-items: center;
  gap: clamp(16px, 1.6vw, 22px);
  padding: clamp(22px, 2.3vw, 30px);
  border: 1px solid rgba(215, 195, 148, 0.28);
  border-radius: 28px;
  background:
    radial-gradient(circle at top left, rgba(215, 195, 148, 0.08), transparent 28%),
    linear-gradient(180deg, rgba(20, 20, 24, 0.96), rgba(8, 8, 12, 0.96));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 28px 70px rgba(0, 0, 0, 0.26);
  color: inherit;
  text-decoration: none;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.event-reference-card__logo,
.corporate-reference-card__logo {
  display: grid;
  align-items: center;
  justify-items: center;
  min-height: 126px;
}

.event-reference-card img,
.corporate-reference-card img {
  width: 100%;
  max-width: 156px;
  max-height: 124px;
  object-fit: contain;
}

.event-reference-card__divider,
.corporate-reference-card__divider {
  width: 1px;
  height: min(110px, 100%);
  background: linear-gradient(180deg, transparent, rgba(215, 195, 148, 0.68), transparent);
}

.event-reference-card__body,
.event-reference-card__copy,
.corporate-reference-card__body {
  display: grid;
  align-content: center;
  gap: 12px;
  min-width: 0;
}

.event-reference-card__body .reference-card__name,
.event-reference-card__copy .reference-card__name,
.corporate-reference-card__body .reference-card__name {
  color: #fff;
  font-family: var(--font-cond);
  font-size: clamp(1.5rem, 1.9vw, 2.1rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.02;
}

.event-reference-card__body span,
.event-reference-card__copy span,
.corporate-reference-card__body span {
  color: rgba(255, 255, 255, 0.72);
  font-size: clamp(0.96rem, 1.05vw, 1.08rem);
  font-weight: 500;
  line-height: 1.7;
  text-transform: none;
  letter-spacing: 0;
}

.event-reference-card__arrow,
.corporate-reference-card__arrow {
  justify-self: end;
  color: var(--cd-gold, var(--accent));
  font-size: 2.4rem;
  line-height: 1;
  opacity: 0.92;
}

.event-reference-card:hover,
.event-reference-card:focus-visible,
.corporate-reference-card:hover,
.corporate-reference-card:focus-visible {
  border-color: rgba(var(--accent-rgb), 0.38);
  box-shadow: 0 28px 68px rgba(20, 17, 12, 0.11);
  transform: translateY(-3px);
}

.event-reference-card:focus-visible,
.corporate-reference-card:focus-visible,
.event-client-links a:focus-visible {
  outline: 3px solid rgba(var(--accent-rgb), 0.34);
  outline-offset: 4px;
}

.event-reference-band__foot {
  max-width: 72ch;
  margin: 0;
  padding-top: 16px;
  border-top: 1px solid rgba(20, 17, 12, 0.08);
  color: var(--color-muted);
  font-size: 0.98rem;
  line-height: 1.7;
}

.event-client-links {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: 6px;
  vertical-align: baseline;
}

.event-client-links a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 5px 10px;
  border: 1px solid rgba(20, 17, 12, 0.09);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.62);
  color: var(--color-ink-2);
  font-size: 0.9rem;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.event-client-links a:hover {
  border-color: rgba(var(--accent-rgb), 0.32);
  background: rgba(var(--accent-rgb), 0.14);
  color: var(--color-ink);
  transform: translateY(-1px);
}

.event-stage-showcase {
  position: relative;
  display: grid;
  gap: clamp(24px, 2.8vw, 36px);
  padding: clamp(22px, 2.8vw, 38px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 30px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.14), transparent 32%),
    radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.07), transparent 24%),
    linear-gradient(160deg, #17171b 0%, #101014 52%, #0a0a0d 100%);
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.34);
  isolation: isolate;
}

.event-stage-showcase::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  border: 1px solid rgba(255, 255, 255, 0.04);
  pointer-events: none;
}

.event-stage-showcase__head {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.72fr);
  gap: clamp(20px, 2vw, 28px);
  align-items: start;
  position: relative;
  z-index: 1;
}

.event-stage-showcase__headline {
  max-width: 760px;
}

.event-stage-showcase__headline h2 {
  max-width: 11.5ch;
  margin: 10px 0 0;
  color: #fff;
  font-size: clamp(2.75rem, 4.7vw, 5.65rem);
  line-height: 0.9;
  letter-spacing: -0.075em;
  text-wrap: balance;
}

.event-stage-showcase__intro {
  display: grid;
  gap: 16px;
  align-content: start;
}

.event-stage-showcase__intro > p {
  max-width: 37ch;
  margin: 0;
  color: rgba(243, 241, 236, 0.82);
  font-size: clamp(1.03rem, 1.18vw, 1.16rem);
  line-height: 1.68;
}

.event-stage-showcase__signal {
  display: grid;
  gap: 10px;
  padding: 18px 20px 20px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.event-stage-showcase__signal span {
  width: fit-content;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(215, 195, 148, 0.14);
  color: var(--cd-gold);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.event-stage-showcase__signal strong {
  color: #fff;
  font-size: clamp(1.22rem, 1.45vw, 1.55rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.event-stage-showcase__signal p {
  margin: 0;
  color: rgba(243, 241, 236, 0.68);
  font-size: 0.98rem;
  line-height: 1.6;
}

.event-stage-showcase__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.event-stage-showcase__chips span {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(243, 241, 236, 0.92);
  font-size: 0.86rem;
  font-weight: 750;
  letter-spacing: 0.01em;
}

.event-stage-showcase__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: clamp(14px, 1.6vw, 20px);
  align-items: stretch;
  position: relative;
  z-index: 1;
}

.event-stage-spotlight {
  position: relative;
  min-height: 680px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 28px;
  background: #09090b;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.28);
  isolation: isolate;
}

.event-stage-spotlight__media {
  position: absolute;
  inset: 0;
  margin: 0;
}

.event-stage-spotlight__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(8, 8, 10, 0.08) 0%, rgba(8, 8, 10, 0.24) 34%, rgba(8, 8, 10, 0.92) 100%),
    linear-gradient(90deg, rgba(8, 8, 10, 0.74) 0%, rgba(8, 8, 10, 0.18) 54%, rgba(8, 8, 10, 0.5) 100%),
    radial-gradient(circle at 84% 14%, rgba(215, 195, 148, 0.16), transparent 24%);
}

.event-stage-spotlight__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform 320ms ease;
}

.event-stage-spotlight:hover .event-stage-spotlight__media img,
.event-stage-spotlight:focus-within .event-stage-spotlight__media img {
  transform: scale(1.06);
}

.event-stage-spotlight__body {
  position: relative;
  z-index: 2;
  min-height: 100%;
  display: grid;
  align-content: end;
  gap: 14px;
  padding: clamp(22px, 2.8vw, 38px);
  color: #fffdf7;
}

.event-stage-spotlight__eyebrow {
  width: fit-content;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid rgba(215, 195, 148, 0.28);
  border-radius: 999px;
  background: rgba(15, 13, 9, 0.38);
  color: var(--cd-gold-2);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(14px);
}

.event-stage-spotlight__body h3 {
  max-width: 10ch;
  margin: 0;
  color: #fffdf7;
  font-size: clamp(2.35rem, 3.15vw, 4.35rem);
  line-height: 0.92;
  letter-spacing: -0.06em;
  text-wrap: balance;
}

.event-stage-spotlight__body p {
  max-width: 40ch;
  margin: 0;
  color: rgba(255, 253, 247, 0.84);
  font-size: clamp(1rem, 1.08vw, 1.08rem);
  line-height: 1.62;
}

.event-stage-spotlight__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
}

.event-stage-spotlight__list li {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
  color: rgba(255, 253, 247, 0.94);
  font-size: 0.86rem;
  font-weight: 750;
  letter-spacing: 0.01em;
  backdrop-filter: blur(12px);
}

.event-stage-step-list {
  display: grid;
  gap: clamp(12px, 1.2vw, 16px);
  align-content: start;
}

.event-stage-step {
  min-height: 208px;
  display: grid;
  grid-template-columns: minmax(170px, 0.44fr) minmax(0, 0.56fr);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 24px 56px rgba(0, 0, 0, 0.18);
}

.event-stage-step__media {
  position: relative;
  min-height: 100%;
  margin: 0;
  background: #09090b;
}

.event-stage-step__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(8, 8, 10, 0.02), rgba(8, 8, 10, 0.48)),
    linear-gradient(90deg, rgba(8, 8, 10, 0.08), rgba(8, 8, 10, 0.58));
}

.event-stage-step__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.event-stage-step__body {
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 22px 22px 24px;
}

.event-stage-step__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.event-stage-step__number {
  color: var(--cd-gold);
  font-family: var(--font-cond);
  font-size: clamp(1.3rem, 1.45vw, 1.7rem);
  font-style: italic;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.event-stage-step__detail {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(215, 195, 148, 0.14);
  color: var(--cd-gold);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.event-stage-step__body h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.45rem, 1.7vw, 1.92rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.event-stage-step__body p {
  margin: 0;
  color: rgba(243, 241, 236, 0.72);
  font-size: 0.98rem;
  line-height: 1.62;
}

.event-stage-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.2vw, 16px);
  position: relative;
  z-index: 1;
}

.event-stage-proof-card {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 22px 22px 24px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.025));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 22px 48px rgba(0, 0, 0, 0.16);
}

.event-stage-proof-card span {
  width: fit-content;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(215, 195, 148, 0.14);
  color: var(--cd-gold);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.event-stage-proof-card strong {
  color: #fff;
  font-size: clamp(1.2rem, 1.45vw, 1.56rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.event-stage-proof-card p {
  margin: 0;
  color: rgba(243, 241, 236, 0.68);
  font-size: 0.97rem;
  line-height: 1.64;
}

.event-format-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(320px, 0.94fr);
  gap: clamp(14px, 1.6vw, 20px);
  align-items: stretch;
}

.event-format-showcase__stack {
  display: grid;
  gap: clamp(14px, 1.6vw, 20px);
}

.event-format-card {
  position: relative;
  min-height: 340px;
  overflow: hidden;
  border: 1px solid rgba(255, 250, 240, 0.1);
  border-radius: 30px;
  background: #12100c;
  box-shadow: 0 34px 90px rgba(20, 17, 12, 0.24);
  isolation: isolate;
}

.event-format-card--featured {
  min-height: 680px;
}

.event-format-card__media {
  position: absolute;
  inset: 0;
  margin: 0;
}

.event-format-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(10, 9, 7, 0.06) 0%, rgba(10, 9, 7, 0.18) 34%, rgba(10, 9, 7, 0.92) 100%),
    linear-gradient(90deg, rgba(10, 9, 7, 0.72) 0%, rgba(10, 9, 7, 0.18) 58%, rgba(10, 9, 7, 0.46) 100%),
    radial-gradient(circle at 82% 10%, rgba(215, 195, 148, 0.18), transparent 24%);
}

.event-format-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform 320ms ease;
}

.event-format-card:hover .event-format-card__media img,
.event-format-card:focus-within .event-format-card__media img {
  transform: scale(1.06);
}

.event-format-card__body {
  position: relative;
  z-index: 2;
  min-height: 100%;
  display: grid;
  align-content: end;
  gap: 14px;
  padding: clamp(22px, 2.6vw, 34px);
  color: #fffdf7;
}

.event-format-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.event-format-card__number {
  color: #d7c394;
  font-family: var(--font-cond);
  font-size: clamp(1.4rem, 1.4vw, 1.7rem);
  font-style: italic;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.event-format-card__detail {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border: 1px solid rgba(215, 195, 148, 0.28);
  border-radius: 999px;
  background: rgba(19, 16, 11, 0.32);
  color: #f2dfa8;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(14px);
}

.event-format-card h3 {
  max-width: 11ch;
  margin: 0;
  color: #fffdf7;
  font-size: clamp(2rem, 2.7vw, 3.5rem);
  line-height: 0.92;
  letter-spacing: -0.06em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

.event-format-card--featured h3 {
  max-width: 8ch;
  font-size: clamp(2.6rem, 3.8vw, 4.8rem);
}

.event-format-showcase__stack .event-format-card h3 {
  max-width: 9ch;
  font-size: clamp(1.75rem, 2.1vw, 2.7rem);
}

.event-format-card p {
  max-width: 40ch;
  margin: 0;
  color: rgba(255, 253, 247, 0.8);
  font-size: clamp(1rem, 1.08vw, 1.08rem);
  line-height: 1.62;
}

.event-format-card__note {
  max-width: 38ch;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 250, 240, 0.14);
  color: rgba(255, 253, 247, 0.96);
  font-size: 0.9rem;
  line-height: 1.58;
}

.event-rule-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(360px, 1.18fr);
  gap: clamp(20px, 2.4vw, 34px);
  align-items: center;
  padding: clamp(22px, 2.8vw, 34px);
  overflow: hidden;
  border: 1px solid rgba(255, 250, 240, 0.1);
  border-radius: 34px;
  background:
    radial-gradient(circle at 0% 0%, rgba(215, 195, 148, 0.16), transparent 30%),
    radial-gradient(circle at 100% 100%, rgba(130, 159, 221, 0.12), transparent 28%),
    linear-gradient(160deg, #13161b 0%, #0d1015 48%, #090b0f 100%);
  box-shadow: 0 34px 88px rgba(20, 17, 12, 0.24);
  isolation: isolate;
}

.event-rule-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0) 24%),
    linear-gradient(120deg, transparent 18%, rgba(255, 255, 255, 0.05) 34%, transparent 52%);
  mix-blend-mode: screen;
  opacity: 0.7;
  pointer-events: none;
}

.event-rule-stage__copy,
.event-rule-stage__gallery {
  position: relative;
  z-index: 1;
}

.event-rule-stage__copy .section-header {
  max-width: none;
  margin-bottom: 0;
}

.event-rule-stage__copy .section-header h2 {
  max-width: 8ch;
  margin-inline: 0;
}

.event-rule-stage__copy .section-header p:not(.eyebrow) {
  max-width: 43ch;
  color: var(--cd-dim);
}

.event-rule-stage__pills {
  margin-top: 22px;
}

.event-rule-stage__pills span {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
  color: #fffdf7;
  box-shadow: none;
}

.event-rule-stage__signal {
  margin-top: 24px;
  display: grid;
  gap: 10px;
  padding: 20px 22px 22px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04));
  box-shadow:
    0 22px 48px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.event-rule-stage__signal span {
  color: #d7c394;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.event-rule-stage__signal p {
  max-width: 40ch;
  margin: 0;
  color: rgba(255, 253, 247, 0.8);
  font-size: clamp(1rem, 1.06vw, 1.06rem);
  line-height: 1.62;
}

.event-rule-stage__gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.6vw, 18px);
}

.event-rule-stage__card {
  position: relative;
  min-height: 540px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 250, 240, 0.1);
  border-radius: 28px;
  background: #111;
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.24);
}

.event-rule-stage__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(8, 9, 12, 0.02) 0%, rgba(8, 9, 12, 0.16) 34%, rgba(8, 9, 12, 0.9) 100%),
    linear-gradient(90deg, rgba(8, 9, 12, 0.46) 0%, rgba(8, 9, 12, 0.02) 48%, rgba(8, 9, 12, 0.28) 100%);
  pointer-events: none;
}

.event-rule-stage__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 360ms ease;
}

.event-rule-stage__card--award img {
  object-position: center 16%;
}

.event-rule-stage__card--stage img {
  object-position: center 30%;
}

.event-rule-stage__card--podium img {
  object-position: center 24%;
}

.event-rule-stage__card:hover img,
.event-rule-stage__card:focus-within img {
  transform: scale(1.04);
}

.event-rule-stage__card figcaption {
  position: absolute;
  inset: auto 18px 18px 18px;
  z-index: 1;
  display: grid;
  gap: 0;
}

.event-rule-stage__card figcaption p {
  max-width: 24ch;
  margin: 0;
  color: rgba(255, 253, 247, 0.86);
  font-size: clamp(1rem, 1.06vw, 1.08rem);
  line-height: 1.56;
  text-shadow: 0 12px 34px rgba(0, 0, 0, 0.42);
}

.event-fun-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.84fr) minmax(340px, 1.16fr);
  gap: clamp(18px, 2vw, 28px);
  align-items: start;
  padding: clamp(18px, 2.2vw, 28px);
  overflow: hidden;
  border: 1px solid rgba(255, 250, 240, 0.1);
  border-radius: 34px;
  background:
    radial-gradient(circle at 100% 0%, rgba(77, 144, 255, 0.18), transparent 30%),
    radial-gradient(circle at 0% 100%, rgba(215, 195, 148, 0.12), transparent 28%),
    linear-gradient(160deg, #14171d 0%, #0e1117 48%, #0a0c10 100%);
  box-shadow: 0 34px 88px rgba(20, 17, 12, 0.24);
  isolation: isolate;
}

.event-fun-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0) 26%),
    linear-gradient(120deg, transparent 20%, rgba(255, 255, 255, 0.05) 36%, transparent 50%);
  mix-blend-mode: screen;
  opacity: 0.7;
  pointer-events: none;
}

.event-fun-stage__copy,
.event-fun-stage__gallery {
  position: relative;
  z-index: 1;
}

.event-fun-stage__copy .section-header {
  max-width: none;
  margin-bottom: 0;
}

.event-fun-stage__copy .section-header h2 {
  max-width: 8ch;
  margin-inline: 0;
  font-size: clamp(2.7rem, 4vw, 4.3rem);
}

.event-fun-stage__copy .section-header p:not(.eyebrow) {
  max-width: 39ch;
  color: var(--cd-dim);
  font-size: 1.06rem;
  line-height: 1.62;
}

.event-fun-stage__pills {
  margin-top: 18px;
}

.event-fun-stage__pills span {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
  color: #fffdf7;
  box-shadow: none;
}

.event-fun-stage__signal {
  margin-top: 18px;
  display: grid;
  gap: 8px;
  padding: 16px 18px 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04));
  box-shadow:
    0 22px 48px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.event-fun-stage__signal span {
  color: #8cc4ff;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.event-fun-stage__signal h3 {
  color: #fffdf7;
  font-size: clamp(1.14rem, 1.35vw, 1.42rem);
  line-height: 1.04;
}

.event-fun-stage__gallery {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 0.84fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.3vw, 16px);
}

.event-fun-stage__card {
  position: relative;
  height: 236px;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 250, 240, 0.1);
  border-radius: 24px;
  background: #111;
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.24);
}

.event-fun-stage__card--lead {
  grid-row: 1 / span 2;
  height: 488px;
}

.event-fun-stage__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(8, 9, 12, 0.02) 0%, rgba(8, 9, 12, 0.16) 34%, rgba(8, 9, 12, 0.9) 100%),
    linear-gradient(90deg, rgba(8, 9, 12, 0.48) 0%, rgba(8, 9, 12, 0.02) 52%, rgba(8, 9, 12, 0.24) 100%);
  pointer-events: none;
}

.event-fun-stage__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 360ms ease;
}

.event-fun-stage__card--lead img {
  object-position: center 24%;
}

.event-fun-stage__card--stemmen img {
  object-position: center 24%;
}

.event-fun-stage__card--hosting img {
  object-position: center 28%;
}

.event-fun-stage__card:hover img,
.event-fun-stage__card:focus-within img {
  transform: scale(1.04);
}

.event-fun-stage__card figcaption {
  position: absolute;
  inset: auto 16px 16px 16px;
  z-index: 1;
  display: grid;
  gap: 6px;
}

.event-fun-stage__card figcaption span {
  width: fit-content;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(10, 10, 12, 0.56);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #f5f9ff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(14px);
}

.event-fun-stage__card figcaption h3 {
  max-width: 16ch;
  color: #fffdf7;
  font-size: clamp(1.08rem, 1.26vw, 1.32rem);
  line-height: 1.08;
}

.corporate-module-stage {
  display: grid;
  gap: clamp(16px, 1.8vw, 22px);
}

.corporate-module-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
  overflow: hidden;
  border: 1px solid rgba(255, 250, 240, 0.1);
  border-radius: 34px;
  background:
    radial-gradient(circle at 16% 18%, rgba(215, 195, 148, 0.18), transparent 28%),
    linear-gradient(150deg, #17171b, #0f0f12 58%, #13100c);
  box-shadow: 0 42px 100px rgba(20, 17, 12, 0.24);
}

.corporate-module-hero__copy,
.corporate-outcome-hero__copy {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: center;
  gap: 16px;
  padding: clamp(26px, 3vw, 42px);
}

.corporate-module-hero__eyebrow,
.corporate-outcome-hero__eyebrow {
  width: fit-content;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border: 1px solid rgba(215, 195, 148, 0.24);
  border-radius: 999px;
  background: rgba(215, 195, 148, 0.12);
  color: var(--cd-gold);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.corporate-module-hero__copy h3,
.corporate-outcome-hero__copy h3 {
  max-width: 9ch;
  color: #fffdf7;
  font-size: clamp(3rem, 5.2vw, 5.7rem);
  line-height: 0.88;
  letter-spacing: -0.07em;
  text-wrap: balance;
}

.corporate-outcome-hero__copy h3 {
  max-width: 12ch;
}

.corporate-outcome-hero__copy h3 .corporate-outcome-hero__nowrap {
  display: inline-block;
  white-space: nowrap;
}

.corporate-outcome-hero__copy h3 .corporate-outcome-hero__accent {
  color: var(--cd-gold);
}

.corporate-module-hero__copy p,
.corporate-outcome-hero__copy p {
  max-width: 44ch;
  color: rgba(255, 253, 247, 0.76);
  font-size: clamp(1rem, 1.08vw, 1.08rem);
  line-height: 1.68;
}

.corporate-module-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.corporate-module-hero__chips span {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 253, 247, 0.92);
  font-size: 0.84rem;
  font-weight: 700;
}

.corporate-module-hero__media,
.corporate-outcome-hero__media {
  position: relative;
  min-height: 100%;
  margin: 0;
}

.corporate-module-hero__media::after,
.corporate-outcome-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(10, 9, 7, 0.56) 0%, rgba(10, 9, 7, 0.12) 46%, rgba(10, 9, 7, 0.46) 100%),
    linear-gradient(180deg, rgba(10, 9, 7, 0.02) 0%, rgba(10, 9, 7, 0.34) 100%);
}

.corporate-module-hero__media img,
.corporate-outcome-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

.corporate-module-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.6vw, 20px);
}

.corporate-module-card {
  position: relative;
  min-height: 500px;
  overflow: hidden;
  border: 1px solid rgba(255, 250, 240, 0.08);
  border-radius: 28px;
  background: #14110c;
  box-shadow: 0 34px 82px rgba(20, 17, 12, 0.22);
}

.corporate-module-card__media {
  position: absolute;
  inset: 0;
  margin: 0;
}

.corporate-module-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(11, 10, 8, 0.08) 0%, rgba(11, 10, 8, 0.16) 34%, rgba(11, 10, 8, 0.92) 100%),
    linear-gradient(90deg, rgba(11, 10, 8, 0.68) 0%, rgba(11, 10, 8, 0.18) 58%, rgba(11, 10, 8, 0.48) 100%);
}

.corporate-module-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform 320ms ease;
}

.corporate-module-card:hover .corporate-module-card__media img,
.corporate-module-card:focus-within .corporate-module-card__media img {
  transform: scale(1.06);
}

.corporate-module-card__body {
  position: relative;
  z-index: 2;
  min-height: 100%;
  display: grid;
  align-content: end;
  gap: 14px;
  padding: clamp(22px, 2.4vw, 32px);
  color: #fffdf7;
}

.corporate-module-card__meta,
.corporate-outcome-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.corporate-module-card__number,
.corporate-outcome-card__number {
  color: var(--cd-gold);
  font-family: var(--font-cond);
  font-size: clamp(1.35rem, 1.5vw, 1.7rem);
  font-style: italic;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.corporate-module-card__detail,
.corporate-outcome-card__detail {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border: 1px solid rgba(215, 195, 148, 0.26);
  border-radius: 999px;
  background: rgba(215, 195, 148, 0.12);
  color: #f2dfa8;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.corporate-module-card h3,
.corporate-outcome-card h3 {
  margin: 0;
  color: #fffdf7;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  font-size: clamp(1.85rem, 2.1vw, 2.7rem);
  line-height: 0.94;
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.corporate-module-card h3 {
  max-width: 10ch;
}

.corporate-module-card p {
  max-width: 34ch;
  margin: 0;
  color: rgba(255, 253, 247, 0.78);
  font-size: 0.98rem;
  line-height: 1.62;
}

.corporate-module-card__list,
.corporate-outcome-card__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.corporate-module-card__list li,
.corporate-outcome-card__list li {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 7px 13px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 253, 247, 0.92);
  font-size: 0.84rem;
  font-weight: 700;
}

.corporate-outcome-stage {
  position: relative;
  display: grid;
  gap: clamp(16px, 1.8vw, 22px);
  padding: clamp(18px, 2vw, 24px);
  overflow: hidden;
  border: 1px solid rgba(255, 250, 240, 0.1);
  border-radius: 34px;
  background:
    radial-gradient(circle at 84% 12%, rgba(215, 195, 148, 0.14), transparent 24%),
    linear-gradient(155deg, #17171b, #0f0f12 62%, #14110c);
  box-shadow: 0 38px 94px rgba(20, 17, 12, 0.22);
}

.corporate-outcome-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(320px, 1.08fr);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.025));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 22px 54px rgba(0, 0, 0, 0.18);
}

.corporate-outcome-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.2vw, 16px);
}

.corporate-outcome-card {
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: 220px;
  padding: 24px 22px 26px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 18px 44px rgba(0, 0, 0, 0.16);
}

.corporate-outcome-card h3 {
  max-width: 12ch;
}

.corporate-outcome-card p {
  margin: 0;
  color: rgba(255, 253, 247, 0.74);
  font-size: 0.97rem;
  line-height: 1.66;
}

.page-premium .corporate-module-stage {
  display: grid;
  gap: clamp(18px, 2vw, 24px);
  padding: clamp(22px, 2.6vw, 30px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 30px;
  background:
    radial-gradient(circle at 0% 0%, rgba(215, 195, 148, 0.12), transparent 28%),
    linear-gradient(155deg, #17171b, #0f0f12 62%, #14110c);
  box-shadow: 0 30px 72px rgba(20, 17, 12, 0.18);
}

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

.page-premium .corporate-module-grid .corporate-module-card:last-child {
  grid-column: auto;
}

.page-premium .corporate-module-card {
  min-height: auto;
  display: grid;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.025));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 18px 44px rgba(0, 0, 0, 0.16);
}

.page-premium .corporate-module-card__body {
  position: static;
  min-height: auto;
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 22px 20px 24px;
  color: #fffdf7;
}

.page-premium .corporate-module-card h3 {
  max-width: 13ch;
  font-size: clamp(1.5rem, 1.8vw, 2rem);
  line-height: 0.98;
  letter-spacing: -0.03em;
}

.page-premium .corporate-module-card p {
  max-width: none;
  margin: 0;
  color: rgba(255, 253, 247, 0.76);
  font-size: 0.95rem;
  line-height: 1.62;
}

.page-premium .corporate-module-card__list {
  display: grid;
  gap: 10px;
}

.page-premium .corporate-module-card__list li {
  min-height: 0;
  padding: 0 0 0 16px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(255, 253, 247, 0.92);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
}

.page-premium .corporate-module-card__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--cd-gold);
}

.page-premium .corporate-module-card:nth-child(2) {
  border-color: rgba(215, 195, 148, 0.28);
  background:
    radial-gradient(circle at 50% 0%, rgba(215, 195, 148, 0.14), transparent 44%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.03));
}

.editorial-stage--event-video {
  align-items: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.event-live-banner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(340px, 0.86fr);
  gap: clamp(24px, 3vw, 40px);
  align-items: start;
  padding: clamp(24px, 3vw, 36px);
  overflow: hidden;
  border: 1px solid var(--cd-line);
  border-radius: 34px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.18), transparent 24%),
    radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.06), transparent 28%),
    linear-gradient(160deg, #17171b 0%, #101114 48%, #09090b 100%);
  box-shadow: 0 38px 96px rgba(0, 0, 0, 0.28);
  isolation: isolate;
}

.event-live-banner::before {
  content: "";
  position: absolute;
  inset: 18px auto auto 18px;
  width: 240px;
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(215, 195, 148, 0.18), rgba(215, 195, 148, 0));
  filter: blur(12px);
  pointer-events: none;
  opacity: 0.9;
}

.event-live-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0) 24%),
    linear-gradient(120deg, transparent 20%, rgba(255, 255, 255, 0.05) 34%, transparent 48%);
  mix-blend-mode: screen;
  opacity: 0.6;
  pointer-events: none;
}

.event-live-banner__copy,
.event-live-banner__media {
  position: relative;
  z-index: 1;
}

.event-live-banner__copy {
  display: grid;
}

.event-live-banner__copy-shell {
  position: relative;
  display: grid;
  gap: clamp(18px, 2vw, 26px);
  min-height: 100%;
  padding: clamp(22px, 2.4vw, 30px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 30px;
  background:
    radial-gradient(circle at 0% 0%, rgba(215, 195, 148, 0.1), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.02));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 24px 56px rgba(0, 0, 0, 0.16);
}

.event-live-banner__copy-shell::before {
  content: "";
  position: absolute;
  inset: 26px auto 26px 22px;
  width: 1px;
  background: linear-gradient(180deg, rgba(215, 195, 148, 0.68), rgba(215, 195, 148, 0));
  opacity: 0.78;
}

.event-live-banner__copy .section-header {
  padding-left: 26px;
  max-width: none;
  margin-bottom: 0;
}

.event-live-banner__copy .section-header h2 {
  max-width: 7ch;
  margin-inline: 0;
}

.event-live-banner__copy .section-header p:not(.eyebrow) {
  max-width: 39ch;
  color: var(--cd-dim);
  font-size: clamp(1.06rem, 1.25vw, 1.16rem);
}

.event-live-banner__signal {
  display: grid;
  gap: 10px;
  max-width: 38rem;
  margin-left: 26px;
  padding: 14px 0 16px;
  border-top: 1px solid rgba(215, 195, 148, 0.16);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.event-live-banner__signal span {
  color: var(--cd-gold, var(--gold));
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.event-live-banner__signal p {
  margin: 0;
  color: #fffdf7;
  font-family: var(--font-cond, var(--font-sans));
  font-style: italic;
  font-size: clamp(1.08rem, 1.35vw, 1.34rem);
  line-height: 1.1;
}

.event-live-banner__focus-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-left: 26px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.event-live-banner__focus-item {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 16px 18px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.event-live-banner__focus-item:not(:first-child) {
  padding-left: 18px;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

.event-live-banner__focus-item small {
  color: rgba(215, 195, 148, 0.82);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.18em;
}

.event-live-banner__focus-item strong {
  color: #fffdf7;
  font-size: 0.98rem;
  line-height: 1.24;
}

.event-live-banner__media {
  width: 100%;
  align-self: stretch;
}

.event-live-banner__media-stage {
  position: relative;
  width: min(100%, 550px);
  margin-left: auto;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 36px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.18), transparent 24%),
    linear-gradient(160deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.025));
  box-shadow:
    0 30px 72px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.event-live-banner__media-stage::before {
  content: "";
  position: absolute;
  inset: auto auto -18% -12%;
  width: 240px;
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(215, 195, 148, 0.22), rgba(215, 195, 148, 0));
  filter: blur(18px);
  pointer-events: none;
}

.event-live-banner__media-stage::after {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 28px;
  pointer-events: none;
}

.event-live-banner__media-stage > * {
  position: relative;
  z-index: 1;
}

.event-live-banner__media-kicker {
  position: absolute;
  top: 24px;
  left: 24px;
  display: inline-flex;
  align-items: center;
  padding: 0 0 0 18px;
  color: #fff9ec;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.event-live-banner__media-kicker::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 12px;
  height: 1px;
  background: rgba(215, 195, 148, 0.84);
  transform: translateY(-50%);
}

.event-live-banner__media .premium-video-embed {
  width: min(100%, 432px);
  margin: 0 12px 0 auto;
  border-radius: 28px;
  box-shadow: 0 30px 74px rgba(0, 0, 0, 0.34);
}

.event-live-banner__media .premium-video-launch__content {
  display: none;
}

.event-live-banner__media .premium-video-launch img {
  object-position: center 18%;
  transform: scale(1.06);
}

.event-live-banner__media .premium-video-launch:hover img,
.event-live-banner__media .premium-video-launch:focus-visible img {
  transform: scale(1.1);
}

.event-live-banner__media-card {
  position: absolute;
  left: 18px;
  right: 112px;
  bottom: 18px;
  display: grid;
  gap: 10px;
  padding: 16px 18px 18px;
  border: 1px solid rgba(215, 195, 148, 0.18);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(17, 17, 21, 0.94), rgba(9, 9, 12, 0.88));
  box-shadow:
    0 20px 46px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(18px);
}

.event-live-banner__media-card span {
  color: var(--cd-gold, var(--gold));
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.event-live-banner__media-card strong {
  color: #fffdf7;
  font-family: var(--font-cond, var(--font-sans));
  font-style: italic;
  font-size: clamp(1.08rem, 1.32vw, 1.28rem);
  line-height: 1.06;
}

.event-live-banner__media-card p {
  margin: 0;
  color: rgba(255, 253, 247, 0.68);
  font-size: 0.84rem;
  line-height: 1.5;
}

.event-authority-tile {
  margin-top: 22px;
  padding: clamp(18px, 2vw, 24px);
  border: 1px solid rgba(154, 120, 49, 0.2);
  border-radius: 26px;
  background:
    radial-gradient(circle at top right, rgba(215, 195, 148, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(244, 236, 218, 0.88));
  box-shadow:
    0 24px 60px rgba(20, 17, 12, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.event-authority-tile__head {
  display: grid;
  gap: 12px;
  margin-bottom: 18px;
}

.event-authority-tile__eyebrow {
  width: fit-content;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 8px 18px;
  border: 1px solid rgba(17, 16, 12, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.56);
  color: rgba(17, 16, 12, 0.68);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.event-authority-tile__head strong {
  color: var(--color-ink);
  font-size: clamp(1.4rem, 1.9vw, 1.85rem);
  line-height: 1.04;
}

.event-authority-tile__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.event-authority-tile__item {
  min-height: 168px;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 18px 18px 20px;
  border: 1px solid rgba(17, 16, 12, 0.08);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(255, 249, 238, 0.68));
  box-shadow: 0 18px 38px rgba(20, 17, 12, 0.06);
}

.event-authority-tile__item span {
  width: fit-content;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(215, 195, 148, 0.16);
  color: var(--accent-strong);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.event-authority-tile__item strong {
  color: var(--color-ink);
  font-size: clamp(1.28rem, 1.5vw, 1.56rem);
  line-height: 0.98;
}

.event-authority-tile__item p {
  margin: 0;
  color: var(--color-muted);
  font-size: 0.96rem;
  line-height: 1.58;
}

.corporate-reference-band {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: clamp(28px, 5vw, 82px);
  align-items: center;
  padding-block: clamp(30px, 5vw, 66px);
  border-top: 1px solid rgba(20, 17, 12, 0.1);
  border-bottom: 1px solid rgba(20, 17, 12, 0.1);
}

.corporate-reference-band__copy h2 {
  max-width: 13ch;
  margin: 12px 0 0;
  color: var(--color-ink);
  font-size: clamp(2.4rem, 4.8vw, 5.2rem);
  line-height: 0.92;
  letter-spacing: -0.07em;
}

.corporate-reference-band__copy p:not(.eyebrow) {
  max-width: 48ch;
  margin: 20px 0 0;
  color: var(--color-muted);
  font-size: clamp(1.06rem, 1.3vw, 1.16rem);
  line-height: 1.76;
}

.corporate-reference-band__logos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.partner-brand-band {
  display: grid;
  gap: clamp(24px, 3vw, 38px);
  padding-block: clamp(30px, 4vw, 58px);
  border-top: 1px solid rgba(20, 17, 12, 0.1);
  border-bottom: 1px solid rgba(20, 17, 12, 0.1);
}

.partner-brand-band__copy h2 {
  max-width: 13ch;
  margin: 12px 0 0;
  color: var(--color-ink);
  font-size: clamp(2.5rem, 4.8vw, 5rem);
  line-height: 0.92;
  letter-spacing: -0.07em;
}

.partner-brand-band__copy p:not(.eyebrow) {
  max-width: 52ch;
  margin: 18px 0 0;
  color: var(--color-muted);
  font-size: clamp(1.05rem, 1.24vw, 1.14rem);
  line-height: 1.74;
}

.partner-brand-band__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.partner-brand-card {
  min-height: 228px;
  display: grid;
  align-content: start;
  gap: 14px;
  padding: clamp(18px, 2vw, 26px);
  border: 1px solid rgba(20, 17, 12, 0.1);
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb), 0.12), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 243, 233, 0.88));
  box-shadow: 0 24px 60px rgba(20, 17, 12, 0.08);
}

.partner-brand-card span {
  width: fit-content;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(var(--accent-rgb), 0.12);
  color: var(--accent-strong);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.partner-brand-card img {
  width: 100%;
  max-width: 200px;
  max-height: 64px;
  object-fit: contain;
}

.partner-brand-card h3 {
  color: var(--color-ink);
  font-size: clamp(1.08rem, 1.3vw, 1.26rem);
  line-height: 1.08;
}

.partner-brand-card__text-logo {
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  font-size: clamp(1.5rem, 2vw, 1.95rem) !important;
  line-height: 0.94 !important;
}

.partner-brand-card p {
  margin: 0;
  color: var(--color-muted);
  font-size: 0.95rem;
  line-height: 1.58;
}

.partner-brand-card--featured-video {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(20px, 2.4vw, 32px);
  min-height: 0;
}

.partner-brand-card__media,
.partner-brand-card__body {
  min-width: 0;
}

.partner-brand-card__media {
  display: grid;
  justify-items: center;
}

.partner-brand-card__media .premium-video-embed {
  width: min(100%, 320px);
  border-radius: 24px;
  box-shadow: 0 28px 70px rgba(20, 17, 12, 0.18);
}

.partner-brand-card__body {
  display: grid;
  align-content: start;
  gap: 14px;
}

.partner-brand-card__note {
  padding-top: 14px;
  border-top: 1px solid rgba(20, 17, 12, 0.12);
  color: var(--color-ink);
  font-size: 0.9rem;
  line-height: 1.6;
}

.partner-brand-card__footer {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.partner-brand-card__meta {
  display: inline-block;
  color: var(--color-ink);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Sichtbare Werbekennzeichnung für Affiliate-Links, verlinkt auf die Erklärseite. */
.ad-note {
  display: inline-block;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ad-note--card {
  color: var(--color-ink);
}

.ad-note--hero {
  margin-top: 12px;
  color: rgba(255, 255, 255, 0.88);
}

/* Auf der hellen Sponsorenkarte steht der Hinweis als Text, nicht als Link. */
.ad-note--sponsor {
  width: fit-content;
  margin-bottom: 4px;
  color: #5d5549;
  font-size: 0.66rem;
  letter-spacing: 0.1em;
  text-decoration: none;
}

.ad-note--hero:hover,
.ad-note--hero:focus-visible {
  color: #f2dfa8;
}

.partner-brand-card__link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(20, 17, 12, 0.12);
  background: rgba(255, 255, 255, 0.9);
  color: var(--color-ink);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.partner-brand-card__link:hover,
.partner-brand-card__link:focus-visible {
  border-color: rgba(var(--accent-rgb), 0.38);
  background: rgba(var(--accent-rgb), 0.12);
  transform: translateY(-1px);
}

.editorial-stage--partner-videos {
  grid-template-columns: 1fr;
  align-items: start;
  gap: 24px;
}

.partner-video-stage {
  width: 100%;
  display: grid;
  justify-items: start;
}

.partner-video-stage__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 360px));
  justify-content: center;
  gap: 18px;
  width: 100%;
}

.partner-video-card {
  display: grid;
  gap: 14px;
  align-content: start;
}

.partner-video-card .premium-video-embed--short {
  width: 100%;
}

.partner-video-card__button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0 16px;
  border: 1px solid rgba(20, 17, 12, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-ink);
  font-family: var(--font-cond);
  font-size: 0.94rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.partner-video-card__button:hover,
.partner-video-card__button:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(var(--accent-rgb), 0.4);
  background: rgba(var(--accent-rgb), 0.12);
}

@media (max-width: 899px) {
  .partner-video-stage__grid {
    grid-template-columns: 1fr;
  }
}

.event-proof-strip {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 34px;
  align-items: center;
  padding-block: 24px;
}

.event-proof-strip figure {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(20, 17, 12, 0.1);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
}

.event-proof-strip img {
  width: 100%;
  min-height: 560px;
  object-fit: cover;
  object-position: center 34%;
}

.event-proof-strip h2 {
  max-width: 13ch;
  margin: 12px 0 0;
  font-size: clamp(2.4rem, 4vw, 4.2rem);
  line-height: 1;
}

.event-proof-strip p:not(.eyebrow) {
  max-width: 48ch;
  color: var(--color-muted);
  font-size: 1.08rem;
  line-height: 1.7;
}

.page-events .premium-photo-frame img {
  object-position: center 24%;
}

.page-events .cta-band__inner {
  text-align: center;
}

.page-events .cta-band .eyebrow,
.page-events .cta-band .hero__actions {
  justify-content: center;
}

.page-events .cta-band h2,
.page-events .cta-band p:not(.eyebrow) {
  margin-inline: auto;
}

.page-partner .cta-band__inner {
  text-align: center;
}

.page-partner .cta-band .eyebrow,
.page-partner .cta-band .hero__actions {
  justify-content: center;
}

.page-partner .cta-band h2,
.page-partner .cta-band p:not(.eyebrow) {
  margin-inline: auto;
}

.page-coaching .premium-photo-frame img {
  object-position: center 14%;
}

.page-coaching .cta-band__inner {
  text-align: center;
}

.page-coaching .cta-band .eyebrow,
.page-coaching .cta-band .hero__actions {
  justify-content: center;
}

.page-coaching .cta-band h2,
.page-coaching .cta-band p:not(.eyebrow) {
  margin-inline: auto;
}

.page-firmenfitness .cta-band__inner {
  text-align: center;
}

.page-firmenfitness .cta-band .eyebrow,
.page-firmenfitness .cta-band .hero__actions {
  justify-content: center;
}

.page-firmenfitness .cta-band h2,
.page-firmenfitness .cta-band p:not(.eyebrow) {
  margin-inline: auto;
}

.page-firmenfitness .premium-photo-frame img {
  object-position: center 20%;
}

.page-premium .cta-band {
  margin: 0;
  border-inline: 0;
  border-radius: 0;
  background: #16120c;
  color: #fffaf0;
}

.page-premium .cta-band__inner {
  width: min(100% - 28px, var(--shell));
  padding: 76px 0;
}

.page-premium .cta-band p {
  color: rgba(255, 250, 240, 0.72);
}

.page-premium .cta-band .eyebrow {
  color: #d7c394;
}

.page-premium .cta-band .button--secondary-light {
  color: #fffaf0;
  border-color: rgba(255, 250, 240, 0.26);
  background: transparent;
}

@media (max-width: 1180px) {
  .device-preview-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-home-reboot .media-program-grid,
  .page-home-reboot .feature-grid--performance {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .event-reference-band__logos {
    grid-template-columns: 1fr;
  }

  .event-live-banner {
    grid-template-columns: 1fr;
  }

  .event-rule-stage,
  .event-fun-stage {
    grid-template-columns: 1fr;
  }

  .event-rule-stage__gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .event-fun-stage__gallery {
    grid-template-columns: minmax(0, 0.96fr) minmax(0, 1fr);
  }

  .event-live-banner__copy-shell {
    padding: 24px;
  }

  .event-live-banner__focus-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .event-live-banner__media-stage {
    width: min(100%, 560px);
    margin-inline: auto;
  }

  .event-live-banner__media .premium-video-embed {
    width: min(100%, 440px);
    margin-inline: auto;
  }

  .event-stage-showcase__head,
  .event-stage-showcase__layout {
    grid-template-columns: 1fr;
  }

  .event-stage-spotlight {
    min-height: 620px;
  }

  .event-stage-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .corporate-module-hero,
  .corporate-outcome-hero {
    grid-template-columns: 1fr;
  }

  .corporate-module-grid,
  .corporate-outcome-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .corporate-module-grid .corporate-module-card:last-child {
    grid-column: span 2;
  }

  .event-format-showcase {
    grid-template-columns: 1fr;
  }

  .event-rule-stage,
  .event-fun-stage {
    padding: 18px;
    border-radius: 24px;
  }

  .event-rule-stage__gallery,
  .event-fun-stage__gallery {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .event-rule-stage__card,
  .event-fun-stage__card,
  .event-fun-stage__card--lead {
    height: 420px;
    min-height: 420px;
    grid-row: auto;
    border-radius: 22px;
  }

  .event-rule-stage__signal,
  .event-fun-stage__signal {
    padding: 18px 18px 20px;
    border-radius: 20px;
  }

  .event-format-card--featured {
    min-height: 560px;
  }

  .event-authority-tile__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .device-preview-gallery {
    grid-template-columns: 1fr;
  }

  .hero__actions,
  .page-premium .hero__actions,
  .premium-hero .hero__actions,
  .page-home-reboot .media-program-grid,
  .page-home-reboot .feature-grid--performance,
  .page-home-reboot .achievement-grid {
    grid-template-columns: 1fr;
  }

  .reboot-hero {
    min-height: 760px;
    padding: 128px 0 28px;
  }

  .reboot-hero__media {
    background:
      linear-gradient(180deg, rgba(253, 251, 246, 0.96) 0%, rgba(253, 251, 246, 0.86) 50%, rgba(253, 251, 246, 0.18) 100%),
      url("/assets/images/dominik-athlete-bike-yellow.webp") 58% 24% / cover no-repeat;
  }

  .reboot-hero h1 {
    font-size: clamp(3.35rem, 15vw, 4.8rem);
  }

  .reboot-hero__lead {
    font-size: 1.1rem;
  }

  .reboot-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .reboot-hero__actions .button {
    width: 100%;
    min-width: 0;
  }

  .reboot-hero__secondary {
    justify-content: flex-start;
  }

  .reboot-hero__entryline {
    gap: 8px 14px;
  }

  .premium-device-stage--app-story {
    inset: 0;
    padding: 18px;
    overflow: hidden;
  }

  .app-hero-poster {
    width: min(100%, 360px);
  }

  .app-hero-float {
    right: 12px;
    bottom: 18px;
    width: min(42%, 170px);
  }

  .premium-hero h1 {
    font-size: clamp(2.8rem, 10vw, 4rem);
    line-height: 0.98;
  }

  .premium-hero__visual {
    min-height: auto;
    display: grid;
    gap: 16px;
  }

  .premium-photo-frame,
  .premium-device-stage,
  .premium-hero__panel--floating {
    position: relative;
    inset: auto;
    width: 100%;
  }

  .premium-photo-frame {
    padding: 0;
    overflow: hidden;
  }

  .event-authority-tile {
    padding: 18px;
    border-radius: 22px;
  }

  .event-live-banner {
    padding: 18px;
    border-radius: 22px;
  }

  .event-live-banner__copy-shell {
    padding: 20px;
    border-radius: 24px;
  }

  .event-live-banner__copy-shell::before {
    inset: 22px auto 22px 18px;
  }

  .event-live-banner__copy .section-header {
    padding-left: 18px;
  }

  .event-live-banner__signal,
  .event-live-banner__focus-grid {
    margin-left: 0;
  }

  .event-live-banner__media-stage {
    width: min(100%, 100%);
    padding: 12px;
    border-radius: 24px;
  }

  .event-live-banner__copy .section-header h2 {
    max-width: 9ch;
  }

  .event-live-banner__signal {
    padding: 12px 0 14px;
  }

  .event-live-banner__signal p {
    font-size: 1.08rem;
  }

  .event-live-banner__focus-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .event-live-banner__focus-item {
    min-height: 0;
    gap: 8px;
    padding: 14px 0;
  }

  .event-live-banner__focus-item:not(:first-child) {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }

  .event-live-banner__media .premium-video-embed {
    width: min(100%, 360px);
    margin-inline: auto;
  }

  .event-live-banner__media-kicker {
    top: 18px;
    left: 18px;
    padding-left: 16px;
    font-size: 0.7rem;
  }

  .event-live-banner__media-card {
    position: static;
    width: auto;
    margin-top: 12px;
    padding: 15px 16px 17px;
    border-radius: 20px;
  }

  .event-authority-tile__head strong {
    font-size: 1.34rem;
  }

  .event-authority-tile__item {
    min-height: 0;
    padding: 16px 16px 18px;
    border-radius: 18px;
  }

  .premium-photo-frame img {
    min-height: 420px;
    border-radius: 0;
  }

  .page-premium .section {
    padding-block: 54px;
  }

  .event-proof-strip {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .event-reference-band__logos {
    grid-template-columns: 1fr;
  }

  .event-stage-showcase {
    border-radius: 20px;
  }

  .event-stage-showcase__head {
    grid-template-columns: 1fr;
  }

  .event-stage-showcase__headline h2 {
    max-width: 10ch;
  }

  .event-stage-showcase__intro > p {
    max-width: 44ch;
  }

  .event-stage-showcase__signal {
    padding: 18px;
  }

  .event-stage-spotlight {
    min-height: 540px;
    border-radius: 22px;
  }

  .event-stage-spotlight__body h3 {
    max-width: none;
    font-size: clamp(2rem, 8.8vw, 3rem);
  }

  .event-stage-spotlight__body p {
    max-width: 28ch;
  }

  .corporate-module-hero__copy h3,
  .corporate-outcome-hero__copy h3 {
    max-width: 10ch;
    font-size: clamp(2.5rem, 10vw, 4rem);
  }

  .corporate-outcome-hero__copy h3 {
    max-width: 12ch;
  }

  .corporate-module-card,
  .corporate-module-grid .corporate-module-card:last-child {
    min-height: 520px;
    grid-column: auto;
  }

  .corporate-module-card,
  .corporate-outcome-card,
  .corporate-outcome-hero,
  .corporate-module-hero,
  .corporate-outcome-stage {
    border-radius: 22px;
  }

  .corporate-module-grid,
  .corporate-outcome-grid {
    grid-template-columns: 1fr;
  }

  .corporate-module-hero__media img,
  .corporate-outcome-hero__media img {
    min-height: 320px;
  }

  .corporate-module-card h3,
  .corporate-outcome-card h3 {
    max-width: 10ch;
    font-size: clamp(1.9rem, 7vw, 2.8rem);
  }

  .page-premium .corporate-module-stage,
  .page-premium .corporate-outcome-stage {
    border-radius: 22px;
  }

  .page-premium .corporate-module-grid,
  .page-premium .corporate-outcome-grid {
    grid-template-columns: 1fr;
  }

  .page-premium .corporate-module-card,
  .page-premium .corporate-outcome-card {
    border-radius: 20px;
  }

  .event-format-card,
  .event-format-card--featured {
    min-height: 520px;
    border-radius: 22px;
  }

  .event-format-card h3,
  .event-format-card--featured h3 {
    max-width: 9ch;
    font-size: clamp(2.1rem, 8vw, 3.2rem);
  }

  .event-stage-step {
    grid-template-columns: 1fr;
  }

  .event-stage-step__media {
    min-height: 220px;
  }

  .event-stage-proof-grid {
    grid-template-columns: 1fr;
  }

  .event-stage-proof-card {
    border-radius: 18px;
  }

  .event-reference-card,
  .corporate-reference-card {
    min-height: 0;
    grid-template-columns: minmax(112px, 148px) 1px minmax(0, 1fr) 24px;
    padding: 20px 18px;
  }

  .corporate-reference-band {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .corporate-reference-band__copy h2 {
    max-width: 12ch;
  }

  .partner-brand-band__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .partner-brand-card--featured-video {
    grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
  }

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

  .app-system-grid,
  .app-system-card__items {
    grid-template-columns: 1fr;
  }

  .app-system-card {
    gap: 20px;
  }

  .event-proof-strip img {
    min-height: 520px;
  }
}

@media (max-width: 700px) {
  .event-reference-card,
  .corporate-reference-card {
    grid-template-columns: 1fr;
    justify-items: start;
    gap: 16px;
    padding: 20px 18px;
  }

  .event-reference-card__logo,
  .corporate-reference-card__logo {
    min-height: 0;
    width: 100%;
    justify-items: start;
  }

  .event-reference-card img,
  .corporate-reference-card img {
    max-width: 120px;
    max-height: 92px;
  }

  .event-reference-card__divider,
  .corporate-reference-card__divider {
    width: 100%;
    height: 1px;
  }

  .event-reference-card__body,
  .event-reference-card__copy,
  .corporate-reference-card__body {
    gap: 10px;
  }

  .event-reference-card__body strong,
  .corporate-reference-card__body strong {
    font-size: 1.5rem;
  }

  .event-reference-card__body span,
  .corporate-reference-card__body span {
    font-size: 0.96rem;
    line-height: 1.62;
  }

  .event-reference-card__arrow,
  .corporate-reference-card__arrow {
    justify-self: end;
  }
}

@media (min-width: 900px) {
  .app-system-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 880px) {
  .page-premium .site-nav {
    gap: clamp(18px, 1.6vw, 28px);
  }

  .page-premium .nav-cta {
    display: inline-flex !important;
    width: auto;
  }
}

@media (max-width: 640px) {
  .page-premium .nav-shell {
    width: min(100% - 16px, var(--shell));
    min-height: 68px;
    padding-inline: 12px;
  }

  .page-premium .brand {
    gap: 9px;
  }

  .page-premium .brand__mark {
    width: 46px;
    height: 46px;
  }

  .page-premium .brand strong {
    font-size: 0.98rem;
  }

  .page-premium .brand small {
    max-width: 96px;
    font-size: 0.72rem;
  }

  .page-premium .nav-toggle {
    min-height: 44px;
    padding-inline: 12px;
  }
}

/* 2026 visual upgrade layer */

.page-premium,
.page-home-reboot {
  --premium-ink: #11100c;
  --premium-graphite: #1c1b17;
  --premium-line: rgba(17, 16, 12, 0.12);
  --premium-gold: #d7c394;
  --premium-gold-strong: #9b741a;
  --premium-olive: #385342;
  --premium-sky: #c9ddd8;
  background:
    linear-gradient(180deg, #fffefa 0%, #f7f2e8 44%, #fffdf8 100%);
}

.page-premium *,
.page-home-reboot * {
  letter-spacing: 0 !important;
}

.page-premium .section-shell,
.page-premium .section-shell--wide,
.page-premium .cta-band__inner {
  width: calc(100% - 28px);
  max-width: none;
}

.page-premium .site-header {
  background: transparent;
  border-bottom: 0;
}

.page-premium .site-header.is-scrolled .nav-shell {
  background: rgba(255, 254, 249, 0.94);
  box-shadow: 0 18px 60px rgba(17, 16, 12, 0.1);
}

.page-premium .nav-shell {
  width: min(100% - 28px, 1760px);
  min-height: 76px;
  margin-top: 12px;
  padding: 8px 16px;
  border: 1px solid rgba(17, 16, 12, 0.08);
  border-radius: 18px;
  background: rgba(255, 254, 249, 0.78);
  box-shadow: 0 24px 80px rgba(17, 16, 12, 0.08);
  backdrop-filter: blur(22px);
}

.page-premium .brand__mark {
  width: 50px;
  height: 50px;
  box-shadow:
    0 14px 36px rgba(17, 16, 12, 0.14),
    0 0 0 1px rgba(154, 120, 49, 0.18);
}

.page-premium .brand strong {
  font-size: 1.04rem;
  font-weight: 850;
}

.page-premium .brand small {
  color: rgba(17, 16, 12, 0.62);
  font-size: 0.78rem;
  font-weight: 650;
}

.page-premium .site-nav {
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.4);
}

.page-premium .site-nav a {
  position: relative;
  min-height: 42px;
  padding: 8px 0;
  color: rgba(17, 16, 12, 0.64);
  font-size: 0.96rem;
  font-weight: 780;
  white-space: nowrap;
  background: transparent !important;
}

.page-premium .site-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5px;
  height: 2px;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, var(--premium-gold-strong), var(--premium-gold));
  transition: transform 180ms ease;
}

.page-premium .site-nav a:hover,
.page-premium .site-nav a:focus-visible,
.page-premium .site-nav a[aria-current="page"] {
  color: var(--premium-ink);
}

.page-premium .site-nav a:hover::after,
.page-premium .site-nav a:focus-visible::after,
.page-premium .site-nav a[aria-current="page"]::after {
  transform: scaleX(1);
}

.page-premium .nav-cta {
  min-height: 48px;
  padding: 6px 8px 6px 18px;
  border: 1px solid rgba(154, 120, 49, 0.26);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(244, 236, 218, 0.9));
  box-shadow:
    0 16px 34px rgba(17, 16, 12, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.page-premium .nav-cta span:last-child {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fffaf0;
  background: linear-gradient(180deg, #d7c394, #9b741a);
}

@media (min-width: 980px) {
  .page-premium .nav-shell {
    gap: clamp(20px, 2.2vw, 36px);
    padding-inline: clamp(18px, 2vw, 28px);
  }

  .page-premium .site-nav {
    flex: 1 1 auto;
    justify-content: stretch;
    max-width: 1080px;
    margin-inline: auto;
    gap: clamp(10px, 1vw, 16px);
    padding-inline: clamp(20px, 2.4vw, 34px);
  }

  .page-premium .site-nav__overlay,
  .page-premium .site-nav__list {
    justify-content: space-between;
    gap: clamp(10px, 1vw, 16px);
  }

  .page-premium .site-nav a {
    min-height: 46px;
    justify-content: center;
    padding-inline: clamp(12px, 1vw, 18px);
    text-align: center;
  }

  .page-home-reboot .nav-socials .social-link-row,
  .page-premium .nav-socials .social-link-row {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 8px 10px;
    align-items: center;
  }
}

.button {
  min-height: 64px;
  padding: 9px 10px 9px 24px;
  border-radius: 999px;
  font-size: 0.98rem;
  font-weight: 850;
  letter-spacing: 0 !important;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.button > span:first-child {
  white-space: nowrap;
}

.button > span:last-child {
  width: 42px;
  height: 42px;
  flex-basis: 42px;
}

.button--primary {
  color: #11100c;
  border-color: rgba(154, 120, 49, 0.36);
  background:
    linear-gradient(135deg, #fff1b8 0%, #d7c394 42%, #b68727 100%);
  box-shadow:
    0 20px 48px rgba(154, 120, 49, 0.22),
    inset 0 1px 0 rgba(255, 250, 230, 0.88),
    inset 0 -1px 0 rgba(74, 54, 13, 0.18);
}

.button--primary > span:last-child {
  color: #fffaf0 !important;
  background: rgba(17, 16, 12, 0.18) !important;
}

.button--secondary,
.button--secondary-light,
.page-premium .button--secondary-light {
  border-color: rgba(17, 16, 12, 0.12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 243, 234, 0.9));
}

.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
}

.page-home-reboot .nav-shell {
  background: rgba(255, 254, 249, 0.82);
  box-shadow: 0 30px 80px rgba(17, 16, 12, 0.09);
}

.page-home-reboot .nav-cta {
  color: #fffdf7;
  border-color: rgba(17, 16, 12, 0.04);
  background: linear-gradient(180deg, #171511, #090908);
  box-shadow:
    0 18px 40px rgba(17, 16, 12, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.page-home-reboot .nav-cta span:last-child {
  color: #14110c;
  background: linear-gradient(180deg, #fff1b8, #b68727);
}

.page-home-reboot .reboot-hero {
  min-height: 790px;
  padding: 152px 0 126px;
  overflow: hidden;
  background:
    radial-gradient(circle at 16% 22%, rgba(242, 223, 168, 0.18), transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(242, 223, 168, 0.26), transparent 20%),
    linear-gradient(180deg, #fffdfa 0%, #f8f2e8 48%, #f4ede0 100%);
}

.page-home-reboot .reboot-hero::before {
  content: "";
  position: absolute;
  inset: auto -10% -24% 46%;
  height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(240, 211, 114, 0.34), rgba(240, 211, 114, 0));
  filter: blur(24px);
  pointer-events: none;
}

.page-home-reboot .reboot-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 220px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 253, 248, 0), rgba(255, 253, 248, 0.96));
}

.page-home-reboot .reboot-hero__shell {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.98fr);
  align-items: center;
  gap: clamp(30px, 5vw, 82px);
}

.page-home-reboot .reboot-hero__copy {
  max-width: 760px;
}

.page-home-reboot .reboot-hero h1 {
  max-width: none;
  margin-top: 16px;
  color: #0f0e0a;
  font-size: clamp(4.8rem, 6.5vw, 7.25rem);
  line-height: 0.9;
  letter-spacing: -0.06em;
  text-wrap: nowrap;
}

.page-home-reboot .reboot-hero h1 span {
  display: block;
}

.page-home-reboot .reboot-hero__rule {
  width: 72px;
  height: 3px;
  display: block;
  margin-top: 28px;
  border-radius: 999px;
  background: linear-gradient(90deg, #b68727, #fff1b8);
}

.page-home-reboot .reboot-hero__lead {
  max-width: 18ch;
  margin-top: 30px;
  color: rgba(17, 16, 12, 0.92);
  font-size: 1.48rem;
  line-height: 1.42;
  font-weight: 620;
  text-wrap: balance;
}

.page-home-reboot .reboot-hero__support {
  max-width: 36ch;
  margin-top: 18px;
  color: rgba(17, 16, 12, 0.68);
  font-size: 1.08rem;
  line-height: 1.62;
  font-weight: 560;
}

.page-home-reboot .reboot-hero__actions {
  gap: 18px 24px;
  margin-top: 34px;
}

.page-home-reboot .reboot-hero__actions .button--primary {
  color: #fffdf7;
  border-color: rgba(17, 16, 12, 0.06);
  background:
    linear-gradient(180deg, #171512 0%, #090908 100%);
  box-shadow:
    0 22px 42px rgba(17, 16, 12, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.page-home-reboot .reboot-hero__actions .button--primary > span:last-child {
  color: #15120d !important;
  background: linear-gradient(180deg, #fff1b8, #b68727) !important;
}

.page-home-reboot .reboot-hero__secondary {
  min-height: 62px;
  padding: 0 8px 0 20px;
  border: 1px solid rgba(17, 16, 12, 0.09);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow:
    0 16px 34px rgba(17, 16, 12, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.page-home-reboot .reboot-hero__secondary span:first-child {
  padding-bottom: 0;
  border-bottom: 0;
  white-space: nowrap;
}

.page-home-reboot .reboot-hero__secondary span:last-child {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #14110c;
  background: rgba(215, 195, 148, 0.22);
}

.page-home-reboot .reboot-hero__note {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  color: rgba(17, 16, 12, 0.74);
  font-size: 0.98rem;
  font-weight: 700;
}

.page-home-reboot .reboot-hero__note span {
  width: 18px;
  height: 18px;
  display: block;
  border-radius: 999px;
  background:
    radial-gradient(circle at center, #fffdf7 0 24%, transparent 28%),
    linear-gradient(180deg, #fff1b8, #b68727);
  box-shadow: 0 10px 26px rgba(185, 142, 47, 0.24);
}

.page-home-reboot .reboot-hero__note p {
  margin: 0;
}

.page-home-reboot .reboot-hero__visual {
  display: block;
}

.page-home-reboot .reboot-hero__visual-stage {
  position: relative;
  min-height: 640px;
}

.page-home-reboot .reboot-hero__visual-glow {
  position: absolute;
  inset: 9% 10% auto auto;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(242, 223, 168, 0.42), rgba(242, 223, 168, 0));
  filter: blur(18px);
  pointer-events: none;
}

.page-home-reboot .reboot-hero__portrait {
  position: relative;
  min-height: 640px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(17, 16, 12, 0.08);
  border-radius: 40px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.38), rgba(255, 255, 255, 0)),
    linear-gradient(135deg, #f0e4ca 0%, #f7f1e7 100%);
  box-shadow:
    0 34px 90px rgba(17, 16, 12, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.page-home-reboot .reboot-hero__portrait::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 28%;
  background: linear-gradient(180deg, rgba(17, 16, 12, 0), rgba(17, 16, 12, 0.14));
  pointer-events: none;
}

.page-home-reboot .reboot-hero__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% 14%;
}

.page-home-reboot .reboot-hero__floating-card {
  position: absolute;
  left: 28px;
  bottom: 28px;
  max-width: 320px;
  padding: 20px 22px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 24px;
  background: rgba(18, 16, 13, 0.8);
  backdrop-filter: blur(18px);
  box-shadow: 0 22px 54px rgba(17, 16, 12, 0.24);
}

.page-home-reboot .reboot-hero__floating-card span {
  display: block;
  color: rgba(242, 223, 168, 0.92);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.page-home-reboot .reboot-hero__floating-card strong {
  display: block;
  margin-top: 10px;
  color: #fffdf7;
  font-size: 1.1rem;
  line-height: 1.42;
}

.page-home-reboot .reboot-section--hero-cards {
  position: relative;
  z-index: 4;
  padding-top: 0;
  margin-top: -74px;
}

.page-home-reboot .section-header--center {
  margin-inline: auto;
  text-align: center;
}

.page-home-reboot .section-header h2,
.page-premium .section-header h2 {
  max-width: 13ch;
  margin-inline: auto;
  font-size: 4.2rem;
  line-height: 0.94;
  text-wrap: balance;
}

.page-home-reboot .section-header p:not(.eyebrow) {
  max-width: 54ch;
  margin-inline: auto;
  color: rgba(17, 16, 12, 0.64);
  font-size: 1.05rem;
}

.page-home-reboot .media-program-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  border: 0;
  background: transparent;
}

.page-home-reboot .media-program-card {
  position: relative;
  min-height: 620px;
  display: grid;
  align-items: end;
  overflow: hidden;
  border: 1px solid rgba(17, 16, 12, 0.12);
  border-radius: 18px;
  color: #fffdf7;
  background: var(--premium-graphite);
  box-shadow: 0 28px 70px rgba(17, 16, 12, 0.14);
  isolation: isolate;
}

.page-home-reboot .media-program-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(17, 16, 12, 0.08) 0%, rgba(17, 16, 12, 0.08) 34%, rgba(17, 16, 12, 0.84) 100%),
    linear-gradient(90deg, rgba(17, 16, 12, 0.18), rgba(17, 16, 12, 0));
}

.page-home-reboot .media-program-card__image {
  position: absolute;
  inset: 0;
  aspect-ratio: auto;
  overflow: hidden;
}

.page-home-reboot .media-program-card__image img {
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform 520ms ease, filter 520ms ease;
}

.page-home-reboot .media-program-card:hover .media-program-card__image img,
.page-home-reboot .media-program-card:focus-visible .media-program-card__image img {
  transform: scale(1.07);
  filter: saturate(1.05) contrast(1.03);
}

.page-home-reboot .media-program-card__body {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 14px;
  padding: 28px;
}

.page-home-reboot .media-program-card__top {
  align-items: center;
}

.page-home-reboot .program-icon {
  color: #fffdf7;
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
}

.page-home-reboot .media-program-card .card-tag {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #14110c;
  background: linear-gradient(180deg, #fff1b8, #b68727);
}

.page-home-reboot .media-program-card h3 {
  max-width: 9ch;
  color: #fffdf7;
  font-size: 2.15rem;
  line-height: 0.98;
  text-wrap: balance;
}

.page-home-reboot .media-program-card strong {
  color: rgba(255, 253, 247, 0.78);
  font-size: 0.94rem;
  line-height: 1.42;
}

.page-home-reboot .media-program-card p {
  max-width: 31ch;
  color: rgba(255, 253, 247, 0.76);
  font-size: 0.96rem;
  line-height: 1.52;
}

.page-home-reboot .media-program-card__highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2px;
}

.page-home-reboot .media-program-card__highlights li {
  padding: 7px 9px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  color: rgba(255, 253, 247, 0.78);
  background: rgba(255, 255, 255, 0.08);
  font-size: 0.74rem;
  line-height: 1;
}

.page-home-reboot .media-program-card__footer {
  min-height: 52px;
  margin-top: 8px;
  padding: 7px 7px 7px 16px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  color: #14110c;
  background: rgba(255, 253, 247, 0.92);
}

.page-home-reboot .media-program-card__footer span:last-child {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fffdf7;
  background: linear-gradient(180deg, #d7c394, #9b741a);
}

.page-home-reboot .feature-grid--performance {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  border: 0;
  background: transparent;
}

.page-home-reboot .feature-grid--performance .feature-card {
  min-height: 300px;
  display: grid;
  align-content: end;
  border: 1px solid rgba(17, 16, 12, 0.1);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(244, 239, 228, 0.92));
  box-shadow: 0 20px 56px rgba(17, 16, 12, 0.08);
}

.page-home-reboot .feature-grid--performance .feature-card:nth-child(2) {
  background:
    linear-gradient(145deg, rgba(25, 36, 31, 0.96), rgba(57, 83, 66, 0.94));
  color: #fffdf7;
}

.page-home-reboot .feature-grid--performance .feature-card:nth-child(2) p,
.page-home-reboot .feature-grid--performance .feature-card:nth-child(2) .feature-card__detail {
  color: rgba(255, 253, 247, 0.72);
}

.page-home-reboot .feature-grid--performance .feature-card h3 {
  max-width: 13ch;
  font-size: 2.1rem;
  line-height: 1;
}

.page-home-reboot .feature-grid--performance .feature-card p {
  color: rgba(17, 16, 12, 0.62);
  font-size: 0.98rem;
  line-height: 1.56;
}

.page-home-reboot .spotlight-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  border: 0;
  background: transparent;
}

.page-home-reboot .spotlight-grid--home-entries {
  gap: 18px;
}

.page-home-reboot .spotlight-card {
  position: relative;
  min-height: 420px;
  display: grid;
  align-items: end;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(17, 16, 12, 0.1);
  border-radius: 28px;
  background: #12100d;
  box-shadow:
    0 30px 78px rgba(17, 16, 12, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.spotlight-card__image {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.spotlight-card__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(17, 16, 12, 0.04) 0%, rgba(17, 16, 12, 0.18) 38%, rgba(17, 16, 12, 0.88) 100%);
}

.spotlight-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform 520ms ease, filter 520ms ease;
}

.page-home-reboot .spotlight-card:hover .spotlight-card__image img,
.page-home-reboot .spotlight-card:focus-within .spotlight-card__image img {
  transform: scale(1.07);
  filter: saturate(1.04) contrast(1.03);
}

.spotlight-card--light .spotlight-card__image img {
  object-position: center 24%;
}

.spotlight-card--accent .spotlight-card__image img {
  object-position: center 18%;
}

.spotlight-card--coaching .spotlight-card__image img {
  object-position: center 18%;
}

.spotlight-card--app .spotlight-card__image {
  background:
    radial-gradient(circle at 50% 20%, rgba(242, 223, 168, 0.22), transparent 28%),
    linear-gradient(180deg, #14110f 0%, #090909 100%);
}

.spotlight-card--app .spotlight-card__image::after {
  background:
    linear-gradient(180deg, rgba(10, 12, 18, 0.02), rgba(10, 12, 18, 0.9)),
    radial-gradient(circle at 50% 14%, rgba(242, 223, 168, 0.18), transparent 30%);
}

.spotlight-card--app .spotlight-card__image img {
  object-fit: contain;
  object-position: center 62%;
  padding: 22px 0 0;
}

.spotlight-card__content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
  align-self: end;
  padding: 28px;
  color: #fffdf7;
}

.spotlight-card__content .card-tag {
  width: max-content;
  color: #18140d;
  background: linear-gradient(180deg, #fff1b8, #b68727);
}

.spotlight-card__content h3 {
  max-width: none;
  margin-top: 2px;
  color: #fffdf7;
  font-size: clamp(2rem, 2.15vw, 2.65rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
  white-space: nowrap;
}

.spotlight-card__content p {
  max-width: 25ch;
  margin: 0;
  color: rgba(255, 253, 247, 0.8);
  font-size: 1rem;
  line-height: 1.52;
}

.spotlight-card__cta {
  width: max-content;
  max-width: 100%;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  padding: 7px 8px 7px 18px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  color: #fffdf7;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(16px);
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.spotlight-card__cta span:first-child {
  white-space: nowrap;
}

.spotlight-card__cta span:last-child {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #14110c;
  background: linear-gradient(180deg, #fff1b8, #b68727);
  transition: transform 180ms ease;
}

.spotlight-card__cta:hover,
.spotlight-card__cta:focus-visible {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.22);
}

.spotlight-card__cta:hover span:last-child,
.spotlight-card__cta:focus-visible span:last-child {
  transform: translateX(2px);
}

.page-home-reboot .achievement-grid {
  gap: 12px;
}

.page-home-reboot .stat-card {
  min-height: 190px;
  border: 1px solid rgba(17, 16, 12, 0.1);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 241, 231, 0.9));
  box-shadow: 0 18px 48px rgba(17, 16, 12, 0.07);
}

.page-home-reboot .stat-card__value {
  color: var(--premium-olive);
}

.page-premium .cta-band {
  margin: 0;
  border-radius: 0;
  background:
    linear-gradient(135deg, #151410 0%, #222119 52%, #3c3322 100%);
}

.page-premium .cta-band__inner {
  width: min(100% - 28px, 1760px);
  padding: 76px clamp(22px, 5vw, 80px);
  color: #fffdf7;
}

.page-premium .cta-band h2 {
  max-width: 12ch;
  color: #fffdf7;
  font-size: 4.4rem;
  line-height: 0.94;
}

.page-premium .cta-band p:not(.eyebrow) {
  max-width: 44ch;
  color: rgba(255, 253, 247, 0.74);
}

@media (max-width: 1320px) {
  .page-home-reboot .reboot-hero h1 {
    font-size: 5.5rem;
  }

  .page-home-reboot .media-program-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-home-reboot .media-program-card {
    min-height: 540px;
  }
}

@media (max-width: 980px) {
  .page-premium .section-shell,
  .page-premium .section-shell--wide,
  .page-premium .cta-band__inner,
  .page-home-reboot .section-shell,
  .page-home-reboot .ed-hero .section-shell,
  .page-home-reboot .ed-section .section-shell,
  .page-home-reboot .ed-proof .section-shell,
  .page-home-reboot .cta-band__inner {
    width: calc(100% - 20px);
  }

  .page-premium .nav-shell {
    width: min(100% - 20px, 1760px);
  }

  .page-home-reboot .reboot-hero {
    min-height: 790px;
    padding-top: 126px;
  }

  .page-home-reboot .reboot-hero__media {
    background:
      linear-gradient(180deg, rgba(255, 253, 248, 0.98) 0%, rgba(255, 253, 248, 0.9) 46%, rgba(255, 253, 248, 0.32) 100%),
      url("/assets/images/dominik-athlete-bike-yellow.webp") 58% 20% / cover no-repeat;
  }

  .page-home-reboot .reboot-hero h1 {
    font-size: 4.2rem;
  }

  .reboot-hero__proof,
  .page-home-reboot .feature-grid--performance,
  .page-home-reboot .spotlight-grid {
    grid-template-columns: 1fr;
  }

  .reboot-hero__proof a {
    min-height: 96px;
  }

  .page-home-reboot .section-header h2,
  .page-premium .section-header h2,
  .page-premium .cta-band h2 {
    font-size: 3rem;
  }

  .page-home-reboot .spotlight-card {
    min-height: 520px;
  }
}

@media (max-height: 760px) and (min-width: 900px) {
  .page-home-reboot .reboot-hero {
    min-height: 650px;
    padding: 106px 0 18px;
  }

  .page-home-reboot .reboot-hero h1 {
    max-width: 11ch;
    margin-top: 10px;
    font-size: 4.25rem;
  }

  .page-home-reboot .reboot-hero__lead {
    max-width: 44ch;
    margin-top: 16px;
    font-size: 1.08rem;
    line-height: 1.45;
  }

  .page-home-reboot .reboot-hero__support {
    display: none;
  }

  .page-home-reboot .reboot-hero__actions {
    margin-top: 18px;
  }

  .reboot-hero__proof {
    width: min(100%, 900px);
    margin-top: 16px;
  }

  .reboot-hero__proof a {
    min-height: 76px;
    padding: 12px 14px;
  }

  .reboot-hero__proof small {
    display: none;
  }
}

@media (max-width: 700px) {
  .page-premium .nav-shell {
    margin-top: 8px;
    border-radius: 16px;
  }

  .page-home-reboot .reboot-hero {
    min-height: 810px;
    padding-top: 116px;
    padding-bottom: 24px;
  }

  .page-home-reboot .reboot-hero h1 {
    font-size: 3.28rem;
  }

  .page-home-reboot .reboot-hero__lead {
    font-size: 1.08rem;
  }

  .page-home-reboot .reboot-hero__support {
    display: none;
  }

  .page-home-reboot .reboot-hero__actions {
    margin-top: 24px;
  }

  .page-home-reboot .reboot-hero__proof {
    grid-template-columns: 1fr 1fr;
    margin-top: 22px;
  }

  .reboot-hero__proof a {
    min-height: 78px;
    padding: 14px;
  }

  .reboot-hero__proof small {
    display: none;
  }

  .page-home-reboot .media-program-grid {
    grid-template-columns: 1fr;
  }

  .page-home-reboot .media-program-card,
  .page-home-reboot .spotlight-card {
    min-height: 500px;
    border-radius: 16px;
  }

  .page-home-reboot .media-program-card__body,
  .spotlight-card__content {
    padding: 22px;
  }

  .spotlight-card__content h3 {
    font-size: 2.35rem;
  }

  .page-premium .cta-band__inner {
    padding-block: 58px;
  }
}

/* ============================================================
   EDITORIAL 2026 — Light editorial design language
   Serif display, generous whitespace, restrained gold.
   Later rules in the cascade refine the legacy base.
   ============================================================ */

:root {
  --font-display: "Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --font-sans: "Inter", "Aptos", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --ink: #1b1714;
  --ink-soft: #4f463c;
  --muted: #847868;
  --paper: #f7f3ec;
  --paper-2: #efe9df;
  --card: #fffdf9;
  --hair: rgba(27, 23, 20, 0.12);
  --hair-strong: rgba(27, 23, 20, 0.22);
  --gold: #9b741a;
  --gold-soft: #d7c394;
  --ed-shell: 1180px;
  --ed-gap: clamp(64px, 9vh, 128px);
}

body {
  font-family: var(--font-sans);
  color: var(--ink);
  background:
    radial-gradient(120% 80% at 100% -10%, rgba(215, 195, 148, 0.08), transparent 55%),
    linear-gradient(180deg, #faf7f1, var(--paper));
  letter-spacing: 0.002em;
}

/* --- Typography: serif display headings site-wide --- */
h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: -0.012em;
  line-height: 1.06;
  font-optical-sizing: auto;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  color: var(--gold);
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.eyebrow::before {
  content: "";
  width: 26px;
  height: 1px;
  background: currentColor;
  opacity: 0.6;
}
.section-header--center .eyebrow,
.ed-section__head .eyebrow,
.ed-proof__head .eyebrow {
  justify-content: center;
}

/* --- Reveal motion (calmer, longer) --- */
[data-reveal] {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}
[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; transition: none; }
}

/* --- Shell --- */
.ed-hero .section-shell,
.ed-section .section-shell,
.ed-proof .section-shell {
  width: min(100% - 48px, var(--ed-shell));
  margin-inline: auto;
}

/* ============================ HERO ============================ */
.ed-hero {
  padding: clamp(56px, 9vw, 124px) 0 clamp(48px, 6vw, 88px);
}
.ed-hero__shell {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  align-items: center;
  gap: clamp(40px, 6vw, 88px);
}
.ed-hero__title {
  margin: 0;
  max-width: 15ch;
  font-size: clamp(2.7rem, 5.2vw, 4.6rem);
  line-height: 1.02;
  letter-spacing: -0.018em;
  text-wrap: balance;
}
.ed-hero__title::after {
  content: "";
  display: block;
  width: 64px;
  height: 2px;
  margin-top: 28px;
  background: linear-gradient(90deg, var(--gold), transparent);
}
.ed-hero__lead {
  max-width: 46ch;
  margin-top: 26px;
  color: var(--ink-soft);
  font-size: clamp(1.06rem, 1.3vw, 1.22rem);
  line-height: 1.72;
}
.ed-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 28px;
  margin-top: 36px;
}
.ed-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-weight: 600;
  color: var(--ink);
  border-bottom: 1px solid var(--hair-strong);
  padding-bottom: 4px;
  transition: gap 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
.ed-link:hover {
  gap: 14px;
  color: var(--gold);
  border-color: var(--gold);
}
.ed-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin: 48px 0 0;
  padding-top: 30px;
  border-top: 1px solid var(--hair);
}
.ed-hero__facts div { display: flex; flex-direction: column; gap: 4px; }
.ed-hero__facts dt {
  font-family: var(--font-display);
  font-size: 1.85rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.ed-hero__facts dd {
  margin: 0;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  color: var(--muted);
}
.ed-hero__figure {
  position: relative;
  margin: 0;
}
.ed-hero__figure img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 6px;
  box-shadow: 0 40px 80px -32px rgba(27, 23, 20, 0.4);
}
.ed-hero__figure figcaption {
  position: absolute;
  left: 22px;
  bottom: 22px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 14px 20px;
  background: rgba(255, 253, 249, 0.86);
  backdrop-filter: blur(10px);
  border: 1px solid var(--hair);
  border-radius: 4px;
}
.ed-hero__figure figcaption span {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.05rem;
  color: var(--ink);
}
.ed-hero__figure figcaption strong {
  font-family: var(--font-sans);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}

/* ============================ SECTIONS ============================ */
.ed-section,
.ed-proof {
  padding: var(--ed-gap) 0;
}
.ed-section__head,
.ed-proof__head {
  max-width: 720px;
  margin-bottom: clamp(40px, 5vw, 68px);
}
.ed-section__title,
.section-header h2 {
  font-size: clamp(2rem, 3.4vw, 3.1rem);
  line-height: 1.06;
  letter-spacing: -0.015em;
  text-wrap: balance;
}
.ed-section__lead {
  max-width: 52ch;
  margin-top: 20px;
  color: var(--ink-soft);
  font-size: 1.08rem;
  line-height: 1.7;
}

/* Vier Einstiege: Die Überschrift steht über der vollen Kachelbreite und bleibt
   auf einer Zeile — der Umbruch nach "4 Wege" hat den Titel zerrissen.
   Unterhalb von 700 px darf sie wieder umbrechen, sonst läuft sie aus dem Bild. */
.ed-section--hero-sync .ed-section__head {
  max-width: none;
}

@media (min-width: 700px) {
  .ed-section--hero-sync .ed-section__title {
    font-size: clamp(2rem, 3.1vw, 3.1rem);
    white-space: nowrap;
  }
}

/* --- Entry grid --- */
.ed-entry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 44px);
}
.ed-entry {
  display: flex;
  flex-direction: column;
  background: var(--card);
  border: 1px solid var(--hair);
  border-radius: 8px;
  overflow: hidden;
  color: inherit;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease, border-color 0.5s ease;
}
.ed-entry:hover {
  transform: translateY(-6px);
  border-color: var(--hair-strong);
  box-shadow: 0 32px 64px -34px rgba(27, 23, 20, 0.45);
}
.ed-entry__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}
.ed-entry__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.ed-entry:hover .ed-entry__media img { transform: scale(1.05); }
.ed-entry__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: clamp(26px, 3vw, 38px);
}
.ed-entry__body .eyebrow { margin: 0; }
.ed-entry__body h3 {
  font-size: clamp(1.5rem, 2.1vw, 1.95rem);
  line-height: 1.1;
}
.ed-entry__body p {
  color: var(--ink-soft);
  font-size: 1rem;
  line-height: 1.68;
}
.ed-entry__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--gold);
  transition: gap 0.3s ease;
}
.ed-entry:hover .ed-entry__cta { gap: 13px; }
.ed-entry__cta span { transition: transform 0.3s ease; }

/* --- Proof / achievements --- */
.ed-proof__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  background: var(--hair);
  border: 1px solid var(--hair);
  border-radius: 8px;
  overflow: hidden;
}
.ed-proof__item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: clamp(30px, 3.4vw, 48px);
  background: var(--paper);
}
.ed-proof__item dt {
  font-family: var(--font-display);
  font-size: clamp(2rem, 3vw, 2.9rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--ink);
}
.ed-proof__item dd {
  margin: 0;
  color: var(--muted);
  font-size: 0.98rem;
  line-height: 1.55;
}

/* --- CTA band: calm editorial --- */
.page-home-reboot .cta-band {
  background: none;
  padding: var(--ed-gap) 0;
}
.page-home-reboot .cta-band__inner {
  width: min(100% - 48px, 880px);
  margin-inline: auto;
  text-align: center;
  padding: clamp(48px, 6vw, 84px) clamp(28px, 5vw, 72px);
  background: var(--card);
  border: 1px solid var(--hair);
  border-radius: 12px;
  box-shadow: 0 40px 90px -50px rgba(27, 23, 20, 0.4);
}
.page-home-reboot .cta-band .eyebrow { color: var(--gold); justify-content: center; }
.page-home-reboot .cta-band h2 {
  max-width: 18ch;
  margin-inline: auto;
  font-size: clamp(2rem, 3.4vw, 3rem);
  color: var(--ink);
}
.page-home-reboot .cta-band p {
  max-width: 50ch;
  margin: 18px auto 0;
  color: var(--ink-soft);
}
.page-home-reboot .cta-band .hero__actions { justify-content: center; margin-top: 32px; }
/* secondary-light is built for dark backgrounds — restyle for the light card */
.page-home-reboot .cta-band .button--secondary-light {
  color: var(--ink);
  background: transparent;
  border: 1px solid var(--hair-strong);
}
.page-home-reboot .cta-band .button--secondary-light > span:last-child {
  color: var(--ink);
}
.page-home-reboot .cta-band .button--secondary-light:hover,
.page-home-reboot .cta-band .button--secondary-light:focus-visible {
  color: var(--ink);
  border-color: var(--ink);
  background: rgba(27, 23, 20, 0.04);
}

/* ============================ RESPONSIVE ============================ */
@media (max-width: 900px) {
  .ed-hero__shell { grid-template-columns: 1fr; gap: 44px; }
  .ed-hero__figure { order: -1; }
  .ed-hero__figure img { aspect-ratio: 4 / 3; }
  .ed-entry-grid { grid-template-columns: 1fr; }
  .ed-proof__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .ed-hero__facts { gap: 26px; }
  .ed-proof__grid { grid-template-columns: 1fr; }
  .ed-hero__figure figcaption { left: 14px; bottom: 14px; padding: 11px 15px; }
}

/* --- Buttons: flatter, calmer, editorial (site-wide) --- */
.button {
  font-family: var(--font-sans);
  font-weight: 600;
  letter-spacing: 0.01em;
  box-shadow: none;
}
.button::before { opacity: 0; }
.button:hover,
.button:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px -16px rgba(20, 17, 12, 0.5);
}
.button--primary {
  color: #fdfaf2;
  border-color: transparent;
  background: linear-gradient(180deg, #d7c394, #9b741a);
  box-shadow: 0 12px 26px -14px rgba(124, 97, 21, 0.7);
}
.button--primary > span:last-child {
  color: #fdfaf2;
  background: rgba(255, 255, 255, 0.18);
}

/* ============================================================
   COLOR LAYER 2026 — vivid, light, high-energy
   Keeps the editorial bones, injects saturated brand colour.
   ============================================================ */
:root {
  --amber: #f5a524;
  --amber-ink: #9b741a;
  --coral: #ff5d3b;
  --coral-ink: #c5300f;
  --green: #18b86a;
  --green-ink: #0a7a44;
  --blue: #3b5bff;
  --blue-ink: #2238b8;
  --violet: #7c4dff;
}

/* Warm, living paper with soft colour blooms */
.page-home-reboot {
  background:
    radial-gradient(60% 50% at 8% 2%, rgba(245, 165, 36, 0.18), transparent 60%),
    radial-gradient(55% 45% at 98% 0%, rgba(255, 93, 59, 0.16), transparent 60%),
    radial-gradient(50% 45% at 80% 38%, rgba(24, 184, 106, 0.12), transparent 60%),
    radial-gradient(55% 50% at 0% 60%, rgba(59, 91, 255, 0.10), transparent 60%),
    linear-gradient(180deg, #fffdf8, var(--paper));
  background-attachment: fixed;
}

/* Gradient accent word in the hero */
.ed-hl {
  background: linear-gradient(100deg, var(--amber) 0%, var(--coral) 52%, var(--violet) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.ed-hero__title::after {
  background: linear-gradient(90deg, var(--coral), var(--amber) 60%, transparent);
  height: 4px;
  width: 96px;
}

/* Colourful hero facts */
.ed-hero__facts div { position: relative; padding-left: 16px; }
.ed-hero__facts div::before {
  content: "";
  position: absolute;
  left: 0; top: 6px; bottom: 6px;
  width: 4px; border-radius: 4px;
}
.ed-fact--amber::before { background: var(--amber); }
.ed-fact--coral::before { background: var(--coral); }
.ed-fact--green::before { background: var(--green); }
.ed-fact--amber dt { color: var(--amber-ink); }
.ed-fact--coral dt { color: var(--coral-ink); }
.ed-fact--green dt { color: var(--green-ink); }

/* Make the primary button vivid */
.page-home-reboot .button--primary,
.cta-band .button--primary {
  background: linear-gradient(120deg, var(--amber), var(--coral));
  color: #fff;
  box-shadow: 0 16px 30px -14px rgba(255, 93, 59, 0.6);
}
.page-home-reboot .button--primary > span:last-child { background: rgba(255, 255, 255, 0.26); }

/* ---- Colour-coded entry cards ---- */
.ed-entry { position: relative; }
.ed-entry::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  z-index: 2;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.ed-entry:hover::before { transform: scaleX(1); }
.ed-entry-grid .ed-entry:nth-child(1) { background: linear-gradient(180deg, #fff7e8, var(--card)); }
.ed-entry-grid .ed-entry:nth-child(1)::before { background: var(--amber); }
.ed-entry-grid .ed-entry:nth-child(1) .eyebrow,
.ed-entry-grid .ed-entry:nth-child(1) .ed-entry__cta { color: var(--amber-ink); }
.ed-entry-grid .ed-entry:nth-child(1):hover { box-shadow: 0 34px 60px -30px rgba(245, 165, 36, 0.55); }

.ed-entry-grid .ed-entry:nth-child(2) { background: linear-gradient(180deg, #fff0ec, var(--card)); }
.ed-entry-grid .ed-entry:nth-child(2)::before { background: var(--coral); }
.ed-entry-grid .ed-entry:nth-child(2) .eyebrow,
.ed-entry-grid .ed-entry:nth-child(2) .ed-entry__cta { color: var(--coral-ink); }
.ed-entry-grid .ed-entry:nth-child(2):hover { box-shadow: 0 34px 60px -30px rgba(255, 93, 59, 0.5); }

.ed-entry-grid .ed-entry:nth-child(3) { background: linear-gradient(180deg, #e9faf1, var(--card)); }
.ed-entry-grid .ed-entry:nth-child(3)::before { background: var(--green); }
.ed-entry-grid .ed-entry:nth-child(3) .eyebrow,
.ed-entry-grid .ed-entry:nth-child(3) .ed-entry__cta { color: var(--green-ink); }
.ed-entry-grid .ed-entry:nth-child(3):hover { box-shadow: 0 34px 60px -30px rgba(24, 184, 106, 0.45); }

.ed-entry-grid .ed-entry:nth-child(4) { background: linear-gradient(180deg, #ecf0ff, var(--card)); }
.ed-entry-grid .ed-entry:nth-child(4)::before { background: var(--blue); }
.ed-entry-grid .ed-entry:nth-child(4) .eyebrow,
.ed-entry-grid .ed-entry:nth-child(4) .ed-entry__cta { color: var(--blue-ink); }
.ed-entry-grid .ed-entry:nth-child(4):hover { box-shadow: 0 34px 60px -30px rgba(59, 91, 255, 0.4); }

/* Section eyebrows get a punch of colour */
.ed-section__head .eyebrow { color: var(--coral-ink); }
.ed-proof__head .eyebrow { color: var(--green-ink); }

.page-home-reboot .section-shell,
.page-home-reboot .ed-hero .section-shell,
.page-home-reboot .ed-section .section-shell,
.page-home-reboot .ed-proof .section-shell,
.page-home-reboot .cta-band__inner {
  width: calc(100% - 28px);
  max-width: none;
}

/* ---- Proof band: bold colour panel ---- */
.ed-proof__grid {
  background: transparent;
  border: 0;
  gap: clamp(14px, 1.6vw, 22px);
  border-radius: 0;
  overflow: visible;
}
.ed-proof__item {
  border-radius: 16px;
  border: 1px solid var(--hair);
}
.ed-proof__item:nth-child(6n+1) { background: linear-gradient(160deg, #fff4e0, #fffdf9); }
.ed-proof__item:nth-child(6n+1) dt { color: var(--amber-ink); }
.ed-proof__item:nth-child(6n+2) { background: linear-gradient(160deg, #ffeae4, #fffdf9); }
.ed-proof__item:nth-child(6n+2) dt { color: var(--coral-ink); }
.ed-proof__item:nth-child(6n+3) { background: linear-gradient(160deg, #e6f8ef, #fffdf9); }
.ed-proof__item:nth-child(6n+3) dt { color: var(--green-ink); }
.ed-proof__item:nth-child(6n+4) { background: linear-gradient(160deg, #e9edff, #fffdf9); }
.ed-proof__item:nth-child(6n+4) dt { color: var(--blue-ink); }
.ed-proof__item:nth-child(6n+5) { background: linear-gradient(160deg, #f1ebff, #fffdf9); }
.ed-proof__item:nth-child(6n+5) dt { color: var(--violet); }
.ed-proof__item:nth-child(6n+6) { background: linear-gradient(160deg, #fff4e0, #fffdf9); }
.ed-proof__item:nth-child(6n+6) dt { color: var(--amber-ink); }

/* ---- CTA band: vivid gradient panel ---- */
.page-home-reboot .cta-band__inner {
  position: relative;
  overflow: hidden;
  border: 0;
  color: #fff;
  background:
    radial-gradient(80% 120% at 0% 0%, rgba(255, 255, 255, 0.18), transparent 50%),
    linear-gradient(125deg, var(--amber) 0%, var(--coral) 48%, var(--violet) 100%);
  box-shadow: 0 40px 80px -40px rgba(255, 93, 59, 0.65);
}
.page-home-reboot .cta-band .eyebrow { color: #fff; opacity: 0.92; }
.page-home-reboot .cta-band h2 { color: #fff; }
.page-home-reboot .cta-band p { color: rgba(255, 255, 255, 0.92); }
.page-home-reboot .cta-band .button--primary {
  background: #fff;
  color: var(--coral-ink);
  box-shadow: 0 16px 30px -14px rgba(0, 0, 0, 0.35);
}
.page-home-reboot .cta-band .button--primary > span:last-child {
  background: rgba(255, 93, 59, 0.16);
  color: var(--coral-ink);
}
.page-home-reboot .cta-band .button--secondary-light {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.08);
}
.page-home-reboot .cta-band .button--secondary-light > span:last-child { color: #fff; }
.page-home-reboot .cta-band .button--secondary-light:hover {
  color: #fff;
  border-color: #fff;
  background: rgba(255, 255, 255, 0.16);
}

/* ============================================================
   DARK / CINEMATIC 2026 — Fitness-First-inspired, Camp-Dörfl gold
   Scoped to the homepage (.page-home-reboot). Overrides the
   light editorial + colour layers above.
   ============================================================ */
:root {
  --font-cond: "Roboto Condensed", "Arial Narrow", "Aptos Narrow", "Helvetica Neue", Arial, sans-serif;
  --cd-bg: #0c0c0e;
  --cd-bg-2: #131316;
  --cd-card: #16161a;
  --cd-line: rgba(255, 255, 255, 0.10);
  --cd-line-2: rgba(255, 255, 255, 0.18);
  --cd-text: #f3f1ec;
  --cd-dim: rgba(243, 241, 236, 0.62);
  --cd-gold: #d7c394;
  --cd-gold-2: #f2dfa8;
  --cd-gold-deep: #9b741a;
}

/* ---- Base dark canvas ---- */
.page-home-reboot {
  background:
    radial-gradient(70% 50% at 80% -5%, rgba(215, 195, 148, 0.10), transparent 60%),
    linear-gradient(180deg, #0b0b0d, var(--cd-bg) 30%, #0a0a0c);
  background-attachment: scroll;
  color: var(--cd-text);
}
.page-home-reboot h1,
.page-home-reboot h2,
.page-home-reboot h3 { color: #fff; }
.page-home-reboot .eyebrow {
  color: var(--cd-gold);
  font-family: var(--font-sans);
}

/* ---- Transparent header that solidifies on scroll ---- */
.page-home-reboot .site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  background: transparent;
  border-bottom: 1px solid transparent;
  backdrop-filter: none;
}
.page-home-reboot .site-header.is-scrolled {
  background: rgba(10, 10, 12, 0.88);
  border-bottom-color: var(--cd-line);
  backdrop-filter: blur(16px);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.5);
}
.page-home-reboot .brand strong { color: #fff; }
.page-home-reboot .brand small { color: var(--cd-dim); }
.page-home-reboot .site-nav a { color: rgba(255, 255, 255, 0.86); }
.page-home-reboot .site-nav a:hover,
.page-home-reboot .site-nav a[aria-current="page"] { color: #fff; }
.page-home-reboot .nav-toggle span { background: #fff; }
.page-home-reboot .nav-toggle b { color: #fff; }
.page-home-reboot .social-link--nav {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(10, 10, 12, 0.34);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.24);
}
.page-home-reboot .social-link--nav:hover,
.page-home-reboot .social-link--nav:focus-visible {
  border-color: rgba(215, 195, 148, 0.42);
  background: rgba(20, 18, 12, 0.7);
}
.page-home-reboot .site-nav__socials {
  border-top-color: rgba(255, 255, 255, 0.12);
}
.page-home-reboot .nav-cta {
  color: #10100e;
  background: var(--cd-gold);
  border-color: transparent;
}
.page-home-reboot .nav-cta:hover { background: var(--cd-gold-2); }
.page-home-reboot .nav-socials .social-link-row,
.page-premium .nav-socials .social-link-row {
  display: flex;
  flex-wrap: nowrap;
}
.page-home-reboot .nav-shell { background: transparent; }
.page-home-reboot .nav-toggle {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #fff;
}
.page-home-reboot .nav-toggle b { color: #fff; }
@media (max-width: 980px) {
  .page-home-reboot .site-nav {
    background: rgba(10, 10, 12, 0.97);
    border-color: var(--cd-line);
  }
  .page-home-reboot .site-header.is-scrolled .nav-shell,
  .page-home-reboot .nav-shell { background: transparent; }
}

/* ---- Athletic condensed buttons ---- */
.page-home-reboot .button {
  font-family: var(--font-cond);
  font-weight: 700;
  font-size: 1.12rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 4px;
  min-height: 58px;
}
.page-home-reboot .button > span:last-child {
  width: 24px; height: 24px; flex-basis: 24px; background: transparent !important;
}
.page-home-reboot .button--primary,
.page-home-reboot .cta-band .button--primary {
  color: #100f0c;
  background: var(--cd-gold);
  box-shadow: 0 16px 34px -16px rgba(215, 195, 148, 0.7);
}
.page-home-reboot .button--primary:hover,
.page-home-reboot .cta-band .button--primary:hover {
  background: var(--cd-gold-2);
}
.page-home-reboot .button--primary > span:last-child { color: #100f0c; }
.page-home-reboot .button--ghost {
  color: #fff;
  background: transparent;
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  box-shadow: none;
}
.page-home-reboot .button--ghost:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.08);
}
.page-home-reboot .button--ghost > span:last-child { color: #fff; }

.page-home-reboot .ff-hero__actions .button {
  min-height: 60px;
  backdrop-filter: blur(16px);
}

.page-home-reboot .ff-hero__actions .button--primary {
  color: #0f0d0a;
  border-color: rgba(255, 241, 184, 0.24);
  background: linear-gradient(180deg, #fff1b8 0%, #b68727 100%);
  box-shadow:
    0 20px 42px -20px rgba(215, 195, 148, 0.82),
    inset 0 1px 0 rgba(255, 255, 255, 0.26);
}

.page-home-reboot .ff-hero__actions .button--primary > span:first-child {
  color: #0f0d0a;
}

.page-home-reboot .ff-hero__actions .button--primary > span:last-child {
  color: #0f0d0a !important;
  background: rgba(255, 255, 255, 0.34) !important;
}

.page-home-reboot .ff-hero__actions .button--ghost {
  color: #fffdf7;
  border-color: rgba(255, 255, 255, 0.28);
  background:
    linear-gradient(180deg, rgba(10, 10, 12, 0.72), rgba(10, 10, 12, 0.5));
  box-shadow:
    0 20px 40px -24px rgba(0, 0, 0, 0.9),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.page-home-reboot .ff-hero__actions .button--ghost > span:first-child {
  color: #fffdf7;
}

.page-home-reboot .ff-hero__actions .button--ghost > span:last-child {
  color: #15120d !important;
  background: linear-gradient(180deg, #fff1b8, #b68727) !important;
}

.page-home-reboot .ff-hero__actions .button--ghost:hover,
.page-home-reboot .ff-hero__actions .button--ghost:focus-visible {
  border-color: rgba(255, 255, 255, 0.48);
  background:
    linear-gradient(180deg, rgba(10, 10, 12, 0.84), rgba(10, 10, 12, 0.62));
}

/* ============================ FF HERO ============================ */
.ff-hero {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.ff-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  right: -3%;
  bottom: -4%;
  width: clamp(760px, 58vw, 1140px);
  height: 120%;
  border-radius: 44% 0 0 34%;
  background:
    linear-gradient(270deg, rgba(6, 7, 10, 0.998) 0%, rgba(6, 7, 10, 0.985) 34%, rgba(6, 7, 10, 0.9) 52%, rgba(7, 8, 12, 0.58) 68%, rgba(8, 8, 10, 0.16) 84%, transparent 100%),
    radial-gradient(circle at 30% 42%, rgba(34, 40, 54, 0.34), transparent 40%);
  filter: blur(24px);
  pointer-events: none;
}
.ff-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 57% center;
}
.ff-hero__scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(270deg, rgba(8, 8, 10, 0.82) 0%, rgba(8, 8, 10, 0.74) 16%, rgba(8, 8, 10, 0.5) 30%, rgba(8, 8, 10, 0.1) 50%, rgba(8, 8, 10, 0) 60%),
    linear-gradient(95deg, rgba(8, 8, 10, 0.76) 0%, rgba(8, 8, 10, 0.56) 32%, rgba(8, 8, 10, 0.18) 58%, rgba(8, 8, 10, 0.46) 80%, rgba(8, 8, 10, 0.72) 100%),
    linear-gradient(0deg, rgba(8, 8, 10, 0.84) 0%, transparent 42%);
}
.ff-hero__inner {
  position: relative;
  z-index: 2;
  padding-top: 132px;
  padding-bottom: 72px;
  transform: translateX(var(--hero-copy-shift, 0));
}
.ff-hero__eyebrow {
  margin: 0 0 22px;
  color: var(--cd-gold);
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}
.ff-hero__title {
  margin: 0;
  max-width: none;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  font-size: clamp(3.4rem, 9vw, 8.2rem);
  line-height: 0.86;
  letter-spacing: -0.005em;
  color: #fff;
  text-shadow: 0 8px 40px rgba(0, 0, 0, 0.5);
}
.ff-hero__title span { color: var(--cd-gold); }
.ff-hero__lead {
  max-width: 44ch;
  margin-top: 28px;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1.06rem, 1.3vw, 1.28rem);
  line-height: 1.62;
}
.ff-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 36px;
}
.ff-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 44px;
  margin: 52px 0 0;
  padding-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}
.ff-hero__facts div { display: flex; flex-direction: column; gap: 2px; }
.ff-hero__facts dt {
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  font-size: 2.1rem;
  line-height: 1;
  color: #fff;
}
.ff-hero__facts dd {
  margin: 0;
  font-size: 0.74rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

/* The coaching hero sits on a detailed photo. Keep supporting copy bright
   enough to read immediately, while gold remains reserved for emphasis. */
.page-coaching .ff-hero__eyebrow {
  color: #f2dfa8;
}

.page-coaching .ff-hero__lead {
  color: rgba(255, 255, 255, 0.92);
}

.page-coaching .ff-hero__facts dd {
  color: rgba(255, 255, 255, 0.82);
}

/* ============================ DARK SECTIONS ============================ */
.page-home-reboot .ed-section,
.page-home-reboot .ed-proof { background: transparent; }
.page-home-reboot .ff-hero__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 28px;
  align-items: start;
  justify-content: flex-start;
}
.page-home-reboot .ff-hero__facts div {
  min-width: 0;
}
.page-home-reboot .ff-hero__facts dt {
  font-size: clamp(1.6rem, 2.2vw, 2.1rem);
}
.page-home-reboot .ff-hero__facts dd {
  max-width: 16ch;
  line-height: 1.45;
}
.page-home-reboot .ed-section__title,
.page-home-reboot .ed-proof .ed-section__title {
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  font-size: clamp(2.4rem, 4.6vw, 4.4rem);
  line-height: 0.92;
  color: #fff;
}
.page-home-reboot .ed-section__lead,
.page-home-reboot .ed-proof .ed-section__lead { color: var(--cd-dim); }
.page-home-reboot .ed-section__head .eyebrow,
.page-home-reboot .ed-proof__head .eyebrow { color: var(--cd-gold); }

/* ---- Entry cards: dark, gold-accented ---- */
.page-home-reboot .ed-entry-grid .ed-entry,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(1),
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(2),
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(3),
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(4) {
  background: var(--cd-card);
  border: 1px solid var(--cd-line);
}
.page-home-reboot .ed-entry {
  --entry-accent: var(--cd-gold);
  --entry-accent-2: var(--cd-gold-2);
  --entry-accent-ink: #1a1308;
  --entry-accent-shadow: rgba(215, 195, 148, 0.38);
  --entry-accent-border: rgba(215, 195, 148, 0.4);
  --entry-arrow-bg: rgba(20, 15, 9, 0.18);
  --entry-arrow-color: #110d08;
  --entry-arrow-border: rgba(20, 15, 9, 0.12);
}
.page-home-reboot .ed-entry::before {
  background: linear-gradient(90deg, var(--entry-accent), var(--entry-accent-2)) !important;
  height: 4px;
}
.page-home-reboot .ed-entry__body .eyebrow,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(1) .eyebrow,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(2) .eyebrow,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(3) .eyebrow,
.page-home-reboot .ed-entry-grid .ed-entry:nth-child(4) .eyebrow { color: var(--cd-gold); }
.page-home-reboot .ed-entry__body h3 {
  font-family: var(--font-cond);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  color: #fff;
  /* Automatische Trennung hat "GESUNDHEITSTA-GE," ergeben — falsch getrennt und
     mitten in der Überschrift. Getrennt wird deshalb nur noch dort, wo im Text
     ein weiches Trennzeichen steht; zu lange Zeilen regelt die Schriftgröße. */
  hyphens: manual;
  overflow-wrap: break-word;
}
.page-home-reboot .ed-entry__body p { color: var(--cd-dim); }
.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 {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 10px;
  margin-top: 8px;
  padding: 3px 4px 3px 14px;
  min-height: 38px;
  border: 1px solid var(--entry-accent-border);
  border-radius: 999px;
  background: linear-gradient(90deg, var(--entry-accent) 0%, var(--entry-accent-2) 100%);
  box-shadow: 0 22px 32px -22px var(--entry-accent-shadow);
  font-family: var(--font-cond);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: 0.78rem;
  color: var(--entry-accent-ink);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease,
    gap 0.35s ease;
}
.page-home-reboot .ed-entry__cta-label {
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1;
  white-space: nowrap;
}
.page-home-reboot .ed-entry__cta span:last-child {
  display: inline-grid;
  place-items: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border: 1px solid var(--entry-arrow-border);
  border-radius: 999px;
  background: var(--entry-arrow-bg);
  color: var(--entry-arrow-color);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
  transition: transform 0.35s ease, background 0.35s ease, color 0.35s ease;
}
.page-home-reboot .ed-entry--accent {
  --entry-accent: #ffbe5b;
  --entry-accent-2: #ff7a1f;
  --entry-accent-ink: #1d1208;
  --entry-accent-shadow: rgba(255, 122, 31, 0.42);
  --entry-accent-border: rgba(255, 159, 76, 0.44);
}
.page-home-reboot .ed-entry--light {
  --entry-accent: #3d74ff;
  --entry-accent-2: #f8fbff;
  --entry-accent-ink: #16316d;
  --entry-accent-shadow: rgba(61, 116, 255, 0.38);
  --entry-accent-border: rgba(104, 145, 255, 0.34);
  --entry-arrow-bg: rgba(255, 255, 255, 0.7);
  --entry-arrow-color: #2955c8;
  --entry-arrow-border: rgba(45, 92, 214, 0.18);
}
.page-home-reboot .ed-entry--coaching {
  --entry-accent: #d7c394;
  --entry-accent-2: #121212;
  --entry-accent-ink: #15100a;
  --entry-accent-shadow: rgba(215, 195, 148, 0.38);
  --entry-accent-border: rgba(215, 195, 148, 0.34);
  --entry-arrow-bg: rgba(255, 255, 255, 0.12);
  --entry-arrow-color: #d7c394;
  --entry-arrow-border: rgba(215, 195, 148, 0.2);
}
.page-home-reboot .ed-entry--app {
  --entry-accent: #ead7c0;
  --entry-accent-2: #fff8ef;
  --entry-accent-ink: #433224;
  --entry-accent-shadow: rgba(234, 215, 192, 0.34);
  --entry-accent-border: rgba(234, 215, 192, 0.3);
  --entry-arrow-bg: rgba(118, 91, 64, 0.08);
  --entry-arrow-color: #765b40;
  --entry-arrow-border: rgba(118, 91, 64, 0.12);
}
.page-home-reboot .ed-entry-grid .ed-entry:hover {
  border-color: var(--entry-accent-border);
  box-shadow: 0 36px 70px -34px rgba(0, 0, 0, 0.8) !important;
}
.page-home-reboot .ed-entry:hover .ed-entry__cta {
  gap: 12px;
  transform: translateY(-1px);
  box-shadow: 0 28px 38px -22px var(--entry-accent-shadow);
}
.page-home-reboot .ed-entry:hover .ed-entry__cta span:last-child {
  transform: translateX(2px);
}

/* ---- Proof band: dark tiles, gold figures ---- */
.page-home-reboot .ed-proof__grid {
  background: transparent;
  border: 0;
  gap: clamp(14px, 1.6vw, 20px);
}
.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) {
  background: var(--cd-card);
  border: 1px solid var(--cd-line);
  border-radius: 10px;
}
.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 {
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--cd-gold);
}
.page-home-reboot .ed-proof__item dd { color: var(--cd-dim); }

/* ---- CTA: cinematic dark panel, gold button ---- */
.page-home-reboot .cta-band__inner {
  text-align: center;
  border: 1px solid var(--cd-line);
  color: #fff;
  background:
    radial-gradient(90% 140% at 100% 0%, rgba(215, 195, 148, 0.16), transparent 55%),
    linear-gradient(160deg, #18181c, #101012);
  box-shadow: 0 50px 100px -50px rgba(0, 0, 0, 0.9);
}
.page-home-reboot .cta-band .eyebrow { color: var(--cd-gold); opacity: 1; justify-content: center; }
.page-home-reboot .cta-band h2 {
  margin-inline: auto;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  font-size: clamp(2.4rem, 4.2vw, 3.8rem);
  line-height: 0.92;
  color: #fff;
}
.page-home-reboot .cta-band p { margin-inline: auto; color: var(--cd-dim); }
.page-home-reboot .cta-band .hero__actions {
  grid-template-columns: minmax(240px, 320px);
  justify-content: center;
  justify-items: center;
  width: min(100%, 320px);
  margin-inline: auto;
}
.page-home-reboot .cta-band .button--primary {
  background: var(--cd-gold);
  color: #100f0c;
  box-shadow: 0 16px 34px -16px rgba(215, 195, 148, 0.7);
}
.page-home-reboot .cta-band .button--primary > span:last-child { color: #100f0c; background: transparent; }
.page-home-reboot .cta-band .button--secondary-light {
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, 0.5);
  background: transparent;
}
.page-home-reboot .cta-band .button--secondary-light > span:last-child { color: #fff; }
.page-home-reboot .cta-band .button--secondary-light:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.1);
}

/* ---- Hero responsive ---- */
@media (max-width: 600px) {
  .ff-hero__img { object-position: 66% center; }
  .ff-hero__inner { padding-top: 116px; padding-bottom: 56px; }
  .ff-hero__facts { gap: 16px 28px; }
  .ff-hero::after { display: none; }
}

/* ============================================================
   DARK SITEWIDE 2026 — roll the cinematic dark theme across
   every page (all share .page-premium). Home keeps its extra
   .page-home-reboot tuning above; this themes the shared
   components used by the other pages.
   ============================================================ */
html { background: #0a0a0c; }
.page-premium {
  background:
    radial-gradient(60% 40% at 85% -5%, rgba(215, 195, 148, 0.09), transparent 60%),
    linear-gradient(180deg, #0b0b0d, var(--cd-bg) 32%, #0a0a0c);
  color: var(--cd-text);
}

/* ---- Typography ---- */
/* Hier stand früher zusätzlich "color: #fff". Das war der Grund für die immer
   wiederkehrenden unlesbaren Überschriften: Die Regel galt für jede Seite mit
   hellen Flächen und schlug den dunklen Standard aus mobile-overrides.css
   (dessen :where(...) keine Spezifität hat). Jede helle Komponente brauchte
   deshalb eine eigene Gegenregel — und wer eine vergaß, bekam Weiß auf Weiß.
   Die Schriftfarbe kommt jetzt aus dem Standard für Inhaltsabschnitte; dunkle
   Flächen setzen sie wie gehabt selbst. Geprüft wird das von
   "npm run kontrast". */
.page-premium h1,
.page-premium h2,
.page-premium h3,
.page-premium h4 {
  font-family: var(--font-cond);
}
.page-premium h1,
.page-premium h2 {
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  line-height: 0.94;
}
.page-premium h3,
.page-premium h4 {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.015em;
  line-height: 1.08;
}
/* Grundfarbe für Fließtext — bewusst in :where() und damit ohne Spezifität.
   Vorher stand hier ".page-premium p", was jede Komponentenregel schlug: Der
   dunkle Standard gewann selbst in dunklen Bereichen wie dem Bodybuilding-Kopf,
   wo helle Schrift gesetzt war. Jetzt gilt: Wer eine Farbe setzt, bekommt sie;
   wer keine setzt, erbt diesen Standard. */
:where(.page-premium) :is(p, li, dd, summary, figcaption),
:where(.page-premium) blockquote p,
:where(.page-premium) .section-header p:not(.eyebrow) { color: var(--cd-dim); }
/* --cd-gold ist das helle Gold für dunkle Flächen. Als Standard für alle
   Überzeilen war es auf hellem Grund praktisch unlesbar (1,7:1). Standard ist
   deshalb das dunkle Gold; auf dunklen Flächen gilt weiter das helle. */
.page-premium .eyebrow,
.page-premium .card-tag { color: var(--accent-strong); font-family: var(--font-sans); }

.page-premium .ff-hero .eyebrow,
.page-premium .ff-hero .card-tag,
.page-premium .section--dark .eyebrow,
.page-premium .section--dark .card-tag,
.page-premium [data-color-scheme="dark"] .eyebrow,
.page-premium [data-color-scheme="dark"] .card-tag { color: var(--cd-gold); }

.page-premium .summary-row,
.page-premium .proof-mosaic__body,
.page-premium .device-preview-card__body,
.page-premium .transformation-card__body,
.page-premium .partner-brand-card__body,
.page-premium .contact-quick-card,
.page-premium .app-premium-stage__note {
  display: grid;
  align-content: start;
  gap: 12px;
}

.page-premium .summary-row p,
.page-premium .proof-mosaic__body p,
.page-premium .device-preview-card__body p,
.page-premium .transformation-card__body p,
.page-premium .partner-brand-card p,
.page-premium .contact-quick-card p,
.page-premium .app-premium-stage__note p {
  margin: 0;
}

/* ---- Header / nav / buttons (mirror the home rules) ---- */
.page-premium .site-header { position: fixed; top: 0; left: 0; right: 0; background: transparent; border-bottom: 1px solid transparent; backdrop-filter: none; }
.page-premium .site-header.is-scrolled { background: rgba(10, 10, 12, 0.88); border-bottom-color: var(--cd-line); backdrop-filter: blur(16px); box-shadow: 0 14px 40px rgba(0, 0, 0, 0.5); }
.page-premium .brand strong { color: #fff; }
.page-premium .brand small { color: var(--cd-dim); }
.page-premium .nav-shell { background: transparent; }
.page-premium .site-header.is-scrolled .nav-shell {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(10, 10, 12, 0.82);
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.42);
  backdrop-filter: blur(22px);
}
.page-premium .site-nav a { color: rgba(255, 255, 255, 0.86); }
.page-premium .site-nav a:hover,
.page-premium .site-nav a[aria-current="page"] { color: #fff; }
.page-premium .nav-toggle { background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.28); color: #fff; }
.page-premium .nav-toggle span { background: #fff; }
.page-premium .nav-toggle b { color: #fff; }
.page-premium .social-link--nav {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(10, 10, 12, 0.34);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.24);
}
.page-premium .social-link--nav:hover,
.page-premium .social-link--nav:focus-visible {
  border-color: rgba(215, 195, 148, 0.42);
  background: rgba(20, 18, 12, 0.7);
}
.page-premium .site-nav__socials {
  border-top-color: rgba(255, 255, 255, 0.12);
}
.page-premium .nav-cta { color: #10100e; background: var(--cd-gold); border-color: transparent; }
.page-premium .nav-cta:hover { background: var(--cd-gold-2); }
@media (max-width: 980px) {
  .page-premium .site-nav { background: rgba(10, 10, 12, 0.97); border-color: var(--cd-line); }
}
.page-premium .button {
  font-family: var(--font-cond);
  font-weight: 700; font-size: 1.1rem; letter-spacing: 0.04em;
  text-transform: uppercase; border-radius: 4px; min-height: 56px;
}
.page-premium .button::before { opacity: 0; }
.page-premium .button > span:last-child { background: transparent !important; }
.page-premium .button--primary { color: #100f0c; background: var(--cd-gold); box-shadow: 0 16px 34px -16px rgba(215, 195, 148, 0.65); }
.page-premium .button--primary:hover { background: var(--cd-gold-2); }
.page-premium .button--primary > span:last-child { color: #100f0c; }
.page-premium .button--secondary,
.page-premium .button--secondary-light,
.page-premium .button--ghost {
  color: #fff; background: transparent; border: 1.5px solid rgba(255, 255, 255, 0.5); box-shadow: none;
}
.page-premium .button--secondary > span:last-child,
.page-premium .button--secondary-light > span:last-child,
.page-premium .button--ghost > span:last-child { color: #fff; }
.page-premium .button--secondary:hover,
.page-premium .button--secondary-light:hover,
.page-premium .button--ghost:hover { border-color: #fff; background: rgba(255, 255, 255, 0.1); color: #fff; }

/* ---- Section bands ---- */
.page-premium .section--muted { background: rgba(255, 255, 255, 0.025); }
.page-premium .section--dark { background: #08080a; }
.page-premium .section--intro { background: transparent; }

/* ---- Premium hero (sub pages) ---- */
.page-premium .premium-hero { background: transparent; }
.page-premium .premium-hero h1 { font-size: clamp(2.6rem, 5.2vw, 5rem); line-height: 0.92; }
.page-premium .premium-hero__lead { color: rgba(255, 255, 255, 0.82); }
.page-premium .premium-hero__support { color: var(--cd-dim); }
.page-premium .premium-badge { background: rgba(255, 255, 255, 0.05); border: 1px solid var(--cd-line); }
.page-premium .premium-badge span { color: var(--cd-gold); }
.page-premium .premium-badge small { color: var(--cd-dim); }
.page-premium .premium-proof-pills span { background: rgba(255, 255, 255, 0.06); border: 1px solid var(--cd-line); color: var(--cd-text); }
.page-premium .premium-photo-frame { border: 1px solid var(--cd-line); box-shadow: 0 40px 80px -38px rgba(0,0,0,.8); }
.page-premium .premium-hero__panel { background: var(--cd-card); border: 1px solid var(--cd-line); color: var(--cd-text); }
.page-premium .premium-checklist li { color: var(--cd-text); }

/* ---- Cards & panels ---- */
.page-premium .feature-card,
.page-premium .capability-card,
.page-premium .app-system-card,
.page-premium .summary-row,
.page-premium .stat-card,
.page-premium .timeline__item,
.page-premium .media-program-card,
.page-premium .proof-mosaic__card,
.page-premium .device-preview-card,
.page-premium .transformation-card,
.page-premium .pricing-card,
.page-premium .start-card,
.page-premium .editorial-stage__form,
.page-premium .contact-form,
.page-premium blockquote,
.page-premium .faq details {
  background: var(--cd-card);
  border: 1px solid var(--cd-line);
  color: var(--cd-text);
}
.page-premium .pricing-card--featured { border-color: rgba(215, 195, 148, 0.55); }
/* Diese Karten stehen auf hellem Grund — mit dem hellen Gold lagen die
   Detailzeilen bei 1,6:1 und waren kaum zu entziffern. Die dunklen Varianten
   der App-Karten setzen ihre Farbe direkt darunter selbst. */
.page-premium .feature-card__detail,
.page-premium .app-system-card__detail,
.page-premium .app-system-card__number { color: var(--accent-strong); }

.page-premium .section--dark .app-system-card__detail,
.page-premium .section--dark .app-system-card__number,
.page-premium [data-color-scheme="dark"] .app-system-card__detail,
.page-premium [data-color-scheme="dark"] .app-system-card__number { color: var(--cd-gold); }
.page-premium .stat-card__value,
.page-premium .pricing-card__price,
.page-premium .start-card__price {
  color: var(--cd-gold);
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
}

/* Die Kennzahlen-Karten stehen auf hellem Weiß. Das helle Gold der dunklen
   Flächen (--cd-gold) verschwindet dort — hier gilt der dunklere Ton. */
.page-premium .stat-card__value {
  color: var(--accent-strong);
}

.page-guide-pricing .section--pricing-overview {
  position: relative;
  background:
    radial-gradient(circle at 50% 0%, rgba(215, 195, 148, 0.12), transparent 36%),
    #08080a;
}

.page-guide-pricing .section--pricing-overview .section-header h2 {
  margin-inline: auto;
}

.page-guide-pricing .section--pricing-overview .pricing-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.page-guide-pricing .section--pricing-overview .pricing-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.page-guide-pricing .section--pricing-overview .pricing-card__price {
  min-height: 2.8em;
  font-size: clamp(1.75rem, 2.5vw, 2.7rem);
  line-height: 0.95;
}

.page-guide-pricing .section--pricing-overview .pricing-card__price small {
  display: block;
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.58);
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.page-guide-pricing .section--pricing-overview .pricing-card ul {
  margin-top: auto;
  padding-top: 18px;
}

.page-guide-pricing .pricing-overview__note {
  max-width: 820px;
  margin: 24px auto 0;
  color: rgba(255, 255, 255, 0.52);
  font-size: 0.82rem;
  line-height: 1.65;
  text-align: center;
}

@media (max-width: 1080px) {
  .page-guide-pricing .section--pricing-overview .pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .page-guide-pricing .section--pricing-overview .pricing-grid {
    grid-template-columns: 1fr;
  }

  .page-guide-pricing .section--pricing-overview .pricing-card__price {
    min-height: 0;
  }
}
.page-premium .app-system-card__items span,
.page-premium .capability-card ul li { border-color: var(--cd-line); color: var(--cd-text); }
.page-premium .proof-list span { color: var(--cd-text); border-color: var(--cd-line); background: rgba(255,255,255,.04); }
.page-premium blockquote cite { color: var(--cd-gold); }

/* ---- Forms ---- */
.page-premium input,
.page-premium select,
.page-premium textarea {
  background: #0f0f13;
  border: 1px solid var(--cd-line);
  color: var(--cd-text);
}
.page-premium input::placeholder,
.page-premium textarea::placeholder { color: rgba(255, 255, 255, 0.4); }
.page-premium label span { color: var(--cd-dim); }
.page-premium select option { color: #111; }
.page-premium .form-footer p { color: var(--cd-dim); }

/* ---- FAQ ---- */
.page-premium .faq {
  gap: 8px;
}
.page-premium .faq details {
  padding: 0;
}
.page-premium .faq summary {
  min-height: 0;
  padding: 17px 20px;
  gap: 16px;
  color: #fff;
  line-height: 1.35;
}
.page-premium .faq summary::after {
  width: 36px;
  height: 36px;
  font-size: 1.35rem;
}
.page-premium .faq p {
  padding: 0 20px 18px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.55;
}
.page-premium .faq summary::-webkit-details-marker { color: var(--cd-gold); }

/* ---- Reference logo bands ---- */
.page-premium .corporate-reference-card,
.page-premium .event-reference-card {
  background:
    radial-gradient(circle at top left, rgba(215, 195, 148, 0.08), transparent 28%),
    linear-gradient(180deg, rgba(20, 20, 24, 0.96), rgba(8, 8, 12, 0.96));
  border-radius: 28px;
  border: 1px solid rgba(215, 195, 148, 0.24);
}
.page-premium .corporate-reference-card__body .reference-card__name,
.page-premium .event-reference-card__body .reference-card__name { color: #fff; }
.page-premium .corporate-reference-card__body span,
.page-premium .event-reference-card__body span { color: rgba(255, 255, 255, 0.72); }
.page-premium .corporate-reference-card__arrow,
.page-premium .event-reference-card__arrow { color: var(--cd-gold); }
.page-premium .event-reference-band__foot { color: var(--cd-dim); }

/* ---- Sponsor strip ---- */
.page-premium .sponsor-strip { border-color: var(--cd-line); }
.page-premium .sponsor-strip span { color: var(--cd-dim); }
.page-premium .sponsor-strip strong { color: rgba(255, 255, 255, 0.78); }

/* ---- CTA band sitewide (other pages use the default markup) ---- */
.page-premium .cta-band__inner {
  border: 1px solid var(--cd-line);
  color: #fff;
  background:
    radial-gradient(90% 140% at 100% 0%, rgba(215, 195, 148, 0.16), transparent 55%),
    linear-gradient(160deg, #18181c, #101012);
  box-shadow: 0 50px 100px -50px rgba(0, 0, 0, 0.9);
}
.page-premium .cta-band .eyebrow { color: var(--cd-gold); }
.page-premium .cta-band h2 { color: #fff; }
.page-premium .cta-band p { color: var(--cd-dim); }

/* ---- Process list (numbered steps) ---- */
.page-premium .process-list li {
  background: var(--cd-card);
  border: 1px solid var(--cd-line);
  color: var(--cd-text);
}
.page-premium .process-list li span { color: var(--cd-gold); font-family: var(--font-cond); font-style: italic; }
.page-premium .process-list li p { color: var(--cd-text); }

/* ---- Editorial stage media: no light fill behind images ---- */
.page-premium .editorial-stage__media { background: transparent; }

/* ---- Prevent mid-word breaks in big condensed headings ---- */
.page-premium h1,
.page-premium h2 { overflow-wrap: normal; word-break: normal; hyphens: none; }

/* ---- Light gradient/solid panels that the colour scan misses ---- */
.page-premium .event-stage-showcase {
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.16), transparent 32%),
    radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.07), transparent 24%),
    linear-gradient(160deg, #17171b 0%, #101012 52%, #0a0a0c 100%);
  border-color: var(--cd-line);
}
.page-premium .event-stage-showcase__headline h2 { color: #fff; }
.page-premium .event-stage-showcase__intro > p,
.page-premium .event-stage-showcase__signal p,
.page-premium .event-stage-step__body p,
.page-premium .event-stage-proof-card p { color: var(--cd-dim); }
.page-premium .editorial-stage__media--video {
  background: transparent;
  border-color: transparent;
}
.page-premium .corporate-wide-video-stage {
  width: 100%;
  max-width: none;
  margin-inline: auto;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
}
.page-premium .corporate-wide-video-stage .premium-video-embed {
  width: min(100%, 1040px);
  margin-inline: auto;
  border-radius: 22px;
}
.page-premium .editorial-stage__media--app-screen { background: #101012; }
.page-premium .editorial-stage--event-video {
  padding: clamp(22px, 2.6vw, 34px);
  border: 1px solid var(--cd-line);
  border-radius: 30px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.14), transparent 28%),
    radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.05), transparent 24%),
    linear-gradient(160deg, #151519 0%, #101114 52%, #09090b 100%);
  box-shadow: 0 34px 86px rgba(0, 0, 0, 0.24);
}
.page-premium .editorial-stage--event-video .section-header p:not(.eyebrow) {
  color: var(--cd-dim);
}
.page-premium .editorial-stage--event-video .summary-row {
  border-color: var(--cd-line);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.025));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 18px 42px rgba(0, 0, 0, 0.18);
}
.page-premium .editorial-stage--event-video .summary-row h3 {
  color: #fff;
  font-size: clamp(1.18rem, 1.35vw, 1.34rem);
  line-height: 1.08;
  letter-spacing: 0.015em;
}
.page-premium .editorial-stage--event-video .summary-row p {
  color: var(--cd-dim);
}
.page-premium .event-authority-tile {
  border-color: var(--cd-line);
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.14), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.025));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 26px 56px rgba(0, 0, 0, 0.18);
}
.page-premium .event-authority-tile__eyebrow {
  border-color: rgba(215, 195, 148, 0.18);
  background: rgba(215, 195, 148, 0.12);
  color: var(--cd-gold);
  box-shadow: none;
}
.page-premium .event-authority-tile__head strong,
.page-premium .event-authority-tile__item strong {
  color: #fff;
}
.page-premium .event-authority-tile__item {
  border-color: var(--cd-line);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.025));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 18px 38px rgba(0, 0, 0, 0.14);
}
.page-premium .event-authority-tile__item span {
  background: rgba(215, 195, 148, 0.14);
  color: var(--cd-gold);
}
.page-premium .event-authority-tile__item p {
  color: var(--cd-dim);
}
.page-premium .premium-photo-frame { background: var(--cd-card); }
.page-premium .premium-video-embed { border-color: transparent; }
/* small icon chips (program-icon) inside cards */
.page-premium .program-icon {
  background: rgba(215, 195, 148, 0.12);
  border-color: var(--cd-line);
  color: var(--cd-gold);
}
.page-premium .program-icon svg { stroke: var(--cd-gold); }

/* ---- Contact page panels ---- */
.page-premium .contact-intro-card,
.page-premium .contact-quick-card {
  background: var(--cd-card);
  border: 1px solid var(--cd-line);
  color: var(--cd-text);
}
.page-premium .contact-form__eyebrow,
.page-premium .contact-quick-card__eyebrow,
.page-premium .contact-topic-card__tag,
.page-premium .contact-form__context-head span {
  color: var(--cd-gold);
}
.page-premium .contact-form__intro h3,
.page-premium .contact-guide-card h3,
.page-premium .contact-form__context-head h3,
.page-premium .contact-topic-card h3 {
  color: #fff;
}
.page-premium .contact-topic-card__surface,
.page-premium .contact-guide-card,
.page-premium .contact-form__context {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.025));
  border: 1px solid var(--cd-line);
  color: var(--cd-text);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 18px 42px rgba(0, 0, 0, 0.14);
}
.page-premium .contact-topic-card small,
.page-premium .contact-form__intro p:last-child,
.page-premium .contact-guide-card p,
.page-premium .contact-form__note,
.page-premium .contact-form__status {
  color: var(--cd-dim);
}
.page-premium .contact-topic-card__tag,
.page-premium .contact-guide-card__points span,
.page-premium .contact-form__context-head span,
.page-premium .contact-quick-card__eyebrow {
  background: rgba(215, 195, 148, 0.12);
  border: 1px solid rgba(215, 195, 148, 0.18);
}
.page-premium .contact-topic-card__input:checked + .contact-topic-card__surface {
  border-color: rgba(215, 195, 148, 0.42);
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.03));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 24px 54px rgba(0, 0, 0, 0.18);
}
.page-premium .contact-topic-card:hover .contact-topic-card__surface,
.page-premium .contact-topic-card:focus-within .contact-topic-card__surface {
  border-color: rgba(215, 195, 148, 0.24);
}
.page-premium .contact-quick-card h3 { color: #fff; }
.page-premium .premium-chip-list span {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--cd-line);
  color: var(--cd-text);
}
.page-premium .contact-details a,
.page-premium .contact-details span { color: var(--cd-text); }
.page-premium .contact-details a:hover { color: var(--cd-gold); }
.page-premium .social-link--chip {
  border-color: var(--cd-line);
  background: rgba(255, 255, 255, 0.06);
}
.page-premium .social-link:hover,
.page-premium .social-link:focus-visible {
  border-color: rgba(215, 195, 148, 0.45);
  background: rgba(255, 255, 255, 0.12);
}
.page-premium .contact-form__status[data-state="success"] { color: #8fe0b7; }
.page-premium .contact-form__status[data-state="info"] { color: #f2dfa8; }
.page-premium .contact-form__status[data-state="warn"] { color: #ff9b9b; }

/* ---- Transformation card image frames ---- */
.page-premium .transformation-card__image,
.page-premium .proof-mosaic__image,
.page-premium .device-preview-card__frame { background: #0f0f12; }

/* ============================================================
   REFINEMENTS 2026 — personalised hero portrait, modern
   FF-style buttons, image-forward overlay cards.
   ============================================================ */

/* ---- Hero: cut-out portrait + nameplate ---- */
.ff-hero__inner {
  max-width: 58%;
  --hero-copy-shift: clamp(-76px, -4.8vw, -44px);
}
.ff-hero__img { object-position: 31% center; }
.ff-hero--home-photo::after {
  display: none;
}
.ff-hero--home-photo .ff-hero__inner {
  width: min(100% - 40px, var(--shell));
  max-width: none;
  margin-inline: auto;
  --hero-copy-shift: 0px;
}
.ff-hero--home-photo .ff-hero__img {
  object-position: 55% center;
  filter: saturate(0.92) contrast(1.03) brightness(0.92);
}
.ff-hero--home-photo .ff-hero__scrim {
  background:
    linear-gradient(90deg, rgba(7, 8, 12, 0.72) 0%, rgba(7, 8, 12, 0.58) 16%, rgba(7, 8, 12, 0.34) 34%, rgba(7, 8, 12, 0.1) 52%, rgba(7, 8, 12, 0.02) 68%, rgba(7, 8, 12, 0.22) 100%),
    linear-gradient(180deg, rgba(7, 8, 12, 0.38) 0%, rgba(7, 8, 12, 0.08) 24%, rgba(7, 8, 12, 0.03) 58%, rgba(7, 8, 12, 0.74) 100%);
}
.ff-hero--coaching-photo::after {
  display: none;
}
.ff-hero--app .ff-hero__inner,
.ff-hero--coaching-photo .ff-hero__inner {
  width: min(100% - 40px, var(--shell));
  max-width: none;
  margin-inline: auto;
  --hero-copy-shift: 0px;
}
.ff-hero--coaching-photo .ff-hero__img {
  object-position: 55% center;
  filter: saturate(0.9) contrast(1.04) brightness(0.88);
}
.ff-hero--coaching-photo .ff-hero__scrim {
  background:
    linear-gradient(90deg, rgba(7, 8, 12, 0.88) 0%, rgba(7, 8, 12, 0.82) 18%, rgba(7, 8, 12, 0.58) 36%, rgba(7, 8, 12, 0.18) 54%, rgba(7, 8, 12, 0.06) 68%, rgba(7, 8, 12, 0.22) 100%),
    linear-gradient(180deg, rgba(7, 8, 12, 0.54) 0%, rgba(7, 8, 12, 0.14) 26%, rgba(7, 8, 12, 0.06) 58%, rgba(7, 8, 12, 0.8) 100%);
}
.ff-hero--firmenfitness-photo::after {
  display: none;
}
.ff-hero--firmenfitness-photo .ff-hero__inner {
  width: min(100% - 40px, var(--shell));
  max-width: none;
  margin-inline: auto;
  --hero-copy-shift: 0px;
}
.ff-hero--firmenfitness-photo .ff-hero__img {
  object-position: 19% center;
  filter: saturate(0.9) contrast(1.04) brightness(0.88);
}
.ff-hero--firmenfitness-photo .ff-hero__scrim {
  background:
    linear-gradient(90deg, rgba(7, 8, 12, 0.88) 0%, rgba(7, 8, 12, 0.82) 18%, rgba(7, 8, 12, 0.6) 36%, rgba(7, 8, 12, 0.2) 56%, rgba(7, 8, 12, 0.06) 70%, rgba(7, 8, 12, 0.2) 100%),
    linear-gradient(180deg, rgba(7, 8, 12, 0.52) 0%, rgba(7, 8, 12, 0.14) 24%, rgba(7, 8, 12, 0.06) 58%, rgba(7, 8, 12, 0.8) 100%);
}
.ff-hero--events-photo::after {
  display: none;
}
.ff-hero--events-photo .ff-hero__inner {
  width: min(100% - 40px, var(--shell));
  max-width: none;
  margin-inline: auto;
  --hero-copy-shift: 0px;
}
.ff-hero--events-photo .ff-hero__img {
  object-position: 53% center;
  filter: saturate(0.92) contrast(1.02) brightness(0.9);
}
.ff-hero--events-photo .ff-hero__scrim {
  background:
    linear-gradient(90deg, rgba(7, 8, 12, 0.86) 0%, rgba(7, 8, 12, 0.8) 20%, rgba(7, 8, 12, 0.54) 38%, rgba(7, 8, 12, 0.16) 56%, rgba(7, 8, 12, 0.06) 70%, rgba(7, 8, 12, 0.18) 100%),
    linear-gradient(180deg, rgba(7, 8, 12, 0.52) 0%, rgba(7, 8, 12, 0.12) 24%, rgba(7, 8, 12, 0.06) 58%, rgba(7, 8, 12, 0.8) 100%);
}
/* Das 12-Wochen-Programm hat einen reinen Foto-Kopf ohne Freisteller rechts.
   Ohne diese Angaben erbt er den Versatz der geteilten Heroes und rutscht mit
   der halben Überschrift aus dem Bild. */
.offer40-hero .ff-hero__inner {
  width: min(100% - 40px, var(--shell));
  max-width: none;
  margin-inline: auto;
  --hero-copy-shift: 0px;
}
.ff-hero__portrait {
  position: absolute;
  z-index: 2;
  right: clamp(-10px, 0.8vw, 18px);
  bottom: -10px;
  width: clamp(520px, 47vw, 760px);
  height: auto;
  max-width: none;
  object-fit: contain;
  object-position: bottom center;
  transform: translateX(0);
  filter:
    saturate(0.76)
    brightness(0.84)
    contrast(1.08)
    sepia(0.08)
    hue-rotate(-12deg)
    drop-shadow(-30px 34px 62px rgba(0, 0, 0, 0.82));
  pointer-events: none;
}
.ff-hero__nameplate {
  position: absolute;
  z-index: 3;
  right: clamp(20px, 5vw, 88px);
  bottom: clamp(30px, 6vh, 70px);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  text-align: right;
  text-shadow: 0 2px 22px rgba(0, 0, 0, 0.8);
}
.ff-hero__nameplate-rule {
  width: 56px; height: 2px; margin-bottom: 9px;
  background: linear-gradient(90deg, transparent, var(--cd-gold));
}
.ff-hero__nameplate strong {
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  font-size: clamp(1.5rem, 2.2vw, 2.2rem);
  line-height: 1;
  color: #fff;
}
.ff-hero__nameplate span {
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--cd-gold);
}

.ff-hero__support {
  max-width: 48ch;
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.66);
  font-size: 1rem;
  line-height: 1.68;
}

.ff-hero__pills {
  margin-top: 24px;
}

.page-app .ff-hero__inner {
  padding-top: 126px;
  padding-bottom: 68px;
}

.page-app .ff-hero__title {
  max-width: 8.2ch;
  font-size: clamp(3.15rem, 6.5vw, 6rem);
  line-height: 0.9;
}

.page-app .ff-hero__lead {
  max-width: 40ch;
  margin-top: 24px;
}

.page-app .ff-hero__actions {
  margin-top: 30px;
}

.app-store-symbol {
  width: 58px;
  height: 58px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 14px;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24);
}

.app-store-symbol svg {
  width: 27px;
  height: 27px;
  fill: currentColor;
}

.app-store-symbol--apple {
  color: #10100e;
  background: var(--cd-gold);
  border-color: transparent;
}

.app-store-symbol--android {
  color: #fff;
  background: rgba(8, 8, 10, 0.46);
}

.ff-hero__app-balance {
  position: absolute;
  z-index: 2;
  left: clamp(28px, 5vw, 108px);
  bottom: clamp(110px, 10vh, 150px);
  width: clamp(170px, 14vw, 262px);
  max-height: 64svh;
  object-fit: cover;
  object-position: center top;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 20px;
  box-shadow: 0 28px 66px rgba(0, 0, 0, 0.48);
}

@media (min-width: 901px) {
  .page-app .ff-hero__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .page-app .ff-hero__title {
    max-width: 22ch;
    font-size: clamp(3.1rem, 4.8vw, 5.8rem);
  }

  .page-app .ff-hero__lead,
  .page-app .ff-hero__support {
    max-width: 62ch;
    margin-inline: auto;
  }

  .page-app .ff-hero__actions {
    justify-content: center;
  }

  .ff-hero--app .ff-hero__scrim {
    background:
      linear-gradient(90deg, rgba(8, 8, 10, 0.86) 0%, rgba(8, 8, 10, 0.58) 50%, rgba(8, 8, 10, 0.86) 100%),
      linear-gradient(0deg, rgba(8, 8, 10, 0.88) 0%, rgba(8, 8, 10, 0.22) 54%, rgba(8, 8, 10, 0.7) 100%);
  }
}

@media (max-width: 1180px) {
  .ff-hero__app-balance,
  .ff-hero__app-nutrition {
    display: none;
  }

  .page-app .ff-hero__app-copy {
    width: 100%;
  }
}

@media (min-width: 1181px) {
  .page-app .ff-hero__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .page-app .ff-hero__app-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
  }

  .page-app .ff-hero__app-balance,
  .page-app .ff-hero__app-nutrition {
    position: relative;
    z-index: 2;
    left: auto;
    bottom: auto;
    width: 100%;
    height: 100%;
    max-height: none;
    min-height: 0;
    object-fit: cover;
    object-position: center top;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 22px;
    box-shadow: 0 28px 66px rgba(0, 0, 0, 0.48);
  }
}

/* Desktop-wide content density: cards grow with their content instead of
   reserving oversized empty areas or cutting the next option off-screen. */
@media (min-width: 1181px) {
  .page-premium .section {
    padding-block: clamp(30px, 3vw, 52px);
  }

  .page-premium .feature-grid,
  .page-premium .capability-grid,
  .page-premium .summary-rows,
  .page-premium .pricing-grid,
  .page-premium .achievement-grid,
  .page-premium .device-preview-gallery {
    gap: clamp(14px, 1.35vw, 22px);
    align-items: stretch;
  }

  .page-premium .feature-card,
  .page-premium .capability-card,
  .page-premium .summary-row,
  .page-premium .pricing-card,
  .page-premium .stat-card,
  .page-premium .timeline__item {
    min-height: 0;
  }

  .page-premium .feature-card h3,
  .page-premium .capability-card h3,
  .page-premium .summary-row h3,
  .page-premium .pricing-card h3 {
    font-size: clamp(1.2rem, 1.35vw, 1.55rem);
    line-height: 1.08;
  }

  .page-premium .feature-card p,
  .page-premium .capability-card p,
  .page-premium .summary-row p,
  .page-premium .pricing-card p {
    font-size: clamp(1rem, 1.08vw, 1.16rem);
    line-height: 1.52;
  }
}

.page-app .ff-hero__pills {
  max-width: 760px;
}

.page-app .ff-hero__facts {
  margin-top: 42px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 22px;
  align-items: start;
}

.page-app .ff-hero__facts div {
  min-width: 0;
}

.page-app .ff-hero__facts dt {
  font-size: clamp(1.24rem, 1.65vw, 1.6rem);
}

.page-app .ff-hero__facts dd {
  max-width: none;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .page-app .ff-hero__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 18px;
  }

  .page-app .ff-hero__facts dt {
    font-size: clamp(1.12rem, 4.4vw, 1.38rem);
  }
}

@media (max-width: 520px) {
  .page-app .ff-hero__facts {
    grid-template-columns: 1fr;
  }
}

/* Erfolge im Team: vollständige Coach-Bilanz mit kompakter Jahresansicht. */
.page-team .coach-success {
  position: relative;
  overflow: clip;
  color: #fffdf8;
  background:
    radial-gradient(circle at 82% 8%, rgba(215, 195, 148, 0.18), transparent 30%),
    linear-gradient(145deg, #07090d 0%, #10141c 54%, #080a0e 100%);
}

.page-team .coach-success::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% 72px;
  mask-image: linear-gradient(to bottom, #000, transparent 86%);
}

.page-team .coach-success .section-shell {
  position: relative;
}

.page-team .coach-success__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(430px, 0.8fr);
  gap: clamp(34px, 6vw, 84px);
  align-items: end;
  margin-bottom: 34px;
}

.page-team .coach-success .section-header {
  margin-bottom: 0;
}

.page-team .coach-success .section-header h2 {
  color: #fffdf8;
}

.page-team .coach-success .section-header p:not(.eyebrow) {
  color: rgba(255, 253, 248, 0.7);
}

.page-team .coach-success__totals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(242, 223, 168, 0.32);
  border-left: 1px solid rgba(242, 223, 168, 0.18);
}

.page-team .coach-success__totals div {
  min-width: 0;
  padding: 22px 20px 20px;
  border-right: 1px solid rgba(242, 223, 168, 0.18);
  border-bottom: 1px solid rgba(242, 223, 168, 0.18);
}

.page-team .coach-success__totals strong,
.page-team .coach-success__totals span {
  display: block;
}

.page-team .coach-success__totals strong {
  color: #f2dfa8;
  font-family: var(--font-cond);
  font-size: clamp(2.25rem, 4vw, 3.6rem);
  font-style: italic;
  line-height: 0.9;
}

.page-team .coach-success__totals span {
  margin-top: 9px;
  color: rgba(255, 253, 248, 0.6);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-team .coach-success__years {
  display: flex;
  gap: 8px;
  margin: 0 0 16px;
  padding: 0 0 12px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.page-team .coach-success__years a {
  flex: 0 0 auto;
  min-width: 72px;
  padding: 10px 14px;
  color: rgba(255, 253, 248, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 999px;
  font-family: var(--font-cond);
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: color 180ms ease, border-color 180ms ease, background 180ms ease;
}

.page-team .coach-success__years a:hover,
.page-team .coach-success__years a:focus-visible {
  color: #15120b;
  border-color: #f2dfa8;
  background: #f2dfa8;
  outline: none;
}

.page-team .coach-success__timeline {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.page-team .coach-success__year {
  scroll-margin-top: 120px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.page-team .coach-success__year summary {
  display: grid;
  grid-template-columns: 130px 1fr 24px;
  gap: 22px;
  align-items: center;
  min-height: 92px;
  padding: 16px 4px;
  cursor: pointer;
  list-style: none;
}

.page-team .coach-success__year summary::-webkit-details-marker {
  display: none;
}

.page-team .coach-success__year summary:focus-visible {
  outline: 2px solid #f2dfa8;
  outline-offset: 4px;
}

.page-team .coach-success__year-label {
  color: #f2dfa8;
  font-family: var(--font-cond);
  font-size: clamp(2.4rem, 4vw, 4rem);
  font-style: italic;
  font-weight: 800;
  line-height: 1;
}

.page-team .coach-success__year-stats {
  color: rgba(255, 253, 248, 0.7);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.page-team .coach-success__toggle {
  position: relative;
  width: 22px;
  height: 22px;
}

.page-team .coach-success__toggle::before,
.page-team .coach-success__toggle::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 2px;
  width: 18px;
  height: 2px;
  background: #f2dfa8;
  transition: transform 180ms ease;
}

.page-team .coach-success__toggle::after {
  transform: rotate(90deg);
}

.page-team .coach-success__year[open] .coach-success__toggle::after {
  transform: rotate(0deg);
}

.page-team .coach-success__results {
  columns: 2;
  column-gap: clamp(24px, 5vw, 68px);
  margin: 0;
  padding: 8px 4px 34px;
  list-style: none;
}

.page-team .coach-success__results li {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  break-inside: avoid;
  margin-bottom: 8px;
  padding: 12px 14px;
  color: rgba(255, 253, 248, 0.84);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.035);
  font-size: 0.93rem;
  line-height: 1.5;
}

.page-team .coach-success__place {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: rgba(255, 253, 248, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  font-family: var(--font-cond);
  font-weight: 800;
  line-height: 1;
}

.page-team .coach-success__place--1 {
  color: #18130a;
  border-color: #e2c770;
  background: linear-gradient(145deg, #fff0b1, #b98b29);
}

.page-team .coach-success__place--2 {
  color: #17191d;
  border-color: #d6dce5;
  background: linear-gradient(145deg, #f4f7fa, #929ba7);
}

.page-team .coach-success__place--3 {
  color: #1b1009;
  border-color: #d69a67;
  background: linear-gradient(145deg, #efbd8d, #8c4d27);
}

.page-team .coach-success__note {
  max-width: 780px;
  margin: 22px 0 0;
  color: rgba(255, 253, 248, 0.48);
  font-size: 0.8rem;
  line-height: 1.6;
}

@media (max-width: 900px) {
  .page-team .coach-success__intro {
    grid-template-columns: 1fr;
  }

  .page-team .coach-success__totals {
    max-width: 640px;
  }
}

@media (max-width: 640px) {
  .page-team .coach-success__totals div {
    padding: 18px 14px 16px;
  }

  .page-team .coach-success__year summary {
    grid-template-columns: 92px 1fr 20px;
    gap: 12px;
    min-height: 82px;
  }

  .page-team .coach-success__year-stats {
    font-size: 0.72rem;
    line-height: 1.55;
  }

  .page-team .coach-success__results {
    columns: 1;
    padding-bottom: 26px;
  }

  .page-team .coach-success__results li {
    padding-inline: 10px;
  }
}

/* Sport Spot Finder */
.page-sport-spots {
  --spot-blue: #12345a;
  --spot-blue-dark: #07182b;
  --spot-cream: #f7f1e5;
  --spot-gold: #d7c394;
}

.page-sport-spots main { overflow: hidden; }

.spot-hero {
  position: relative;
  padding: clamp(84px, 10vw, 148px) 0 clamp(62px, 8vw, 112px);
  color: #f8fafc;
  background:
    radial-gradient(circle at 78% 16%, rgba(215, 195, 148, .22), transparent 24rem),
    radial-gradient(circle at 10% 88%, rgba(63, 121, 181, .2), transparent 30rem),
    linear-gradient(135deg, #061321 0%, #0a213b 54%, #102f51 100%);
}

.spot-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .14;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(90deg, transparent, #000 58%);
}

.spot-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); align-items: center; gap: clamp(38px, 7vw, 98px); }
.spot-hero__copy { max-width: 730px; }
.spot-hero__copy .eyebrow { color: var(--spot-gold); }
.spot-hero__copy h1 { max-width: 11ch; margin: 16px 0 24px; color: #fff; font-family: var(--font-display); font-size: clamp(3.6rem, 7.4vw, 7.4rem); line-height: .87; letter-spacing: -.055em; }
.spot-hero__copy h1 span { color: var(--spot-gold); }
.spot-hero__copy > p:not(.eyebrow) { max-width: 58ch; margin: 0; color: rgba(245,248,252,.72); font-size: clamp(1rem, 1.35vw, 1.2rem); line-height: 1.65; }
.spot-hero__proof { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 30px; }
.spot-hero__proof span { min-height: 34px; padding: 6px 11px; border: 1px solid rgba(215,195,148,.25); border-radius: 999px; color: rgba(255,255,255,.82) !important; background: rgba(255,255,255,.045); font-size: .72rem; font-weight: 760; letter-spacing: .04em; text-transform: uppercase; }

.spot-search { display: grid; grid-template-columns: minmax(0, 1fr) 138px; gap: 13px; padding: clamp(25px, 3vw, 36px); border: 1px solid rgba(255,255,255,.13); border-radius: 28px; color: #0a1725; background: rgba(252,250,246,.97); box-shadow: 0 34px 80px -36px rgba(0,0,0,.85); }
.spot-search__heading { grid-column: 1 / -1; display: flex; gap: 14px; align-items: center; margin-bottom: 6px; }
.spot-search__heading > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: #07182b !important; background: var(--spot-gold); font-size: .75rem; font-weight: 850; }
.spot-search__heading div { display: grid; }
.spot-search__heading small { color: #6f6557; font-size: .68rem; font-weight: 780; letter-spacing: .11em; text-transform: uppercase; }
.spot-search__heading strong { color: #091728; font-size: 1.1rem; line-height: 1.25; }
.spot-field { display: grid; gap: 7px; }
.spot-field--place { grid-column: 1 / -1; }
.spot-field > span { color: #5c5448 !important; font-size: .72rem; font-weight: 780; letter-spacing: .06em; text-transform: uppercase; }
.spot-field input, .spot-field select { min-height: 56px; padding: 0 15px; border: 1px solid #d9d0c1; border-radius: 12px; color: #0b1928; background: #fff; font-weight: 680; outline: none; transition: border-color 160ms ease, box-shadow 160ms ease; }
.spot-field input:focus, .spot-field select:focus { border-color: #a68131; box-shadow: 0 0 0 3px rgba(215,195,148,.28); }
.spot-search__submit { grid-column: 1 / -1; width: 100%; justify-content: space-between; margin-top: 4px; }
.spot-search__note { grid-column: 1 / -1; margin: 1px 0 0; color: #756d61 !important; font-size: .7rem; line-height: 1.5; }

.spot-section-head, .spot-results-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: clamp(30px, 5vw, 52px); }
.spot-section-head h2, .spot-results-head h2 { max-width: 14ch; margin: 7px 0 0; color: #0a192a; font-size: clamp(2.5rem, 5vw, 5rem); line-height: .96; letter-spacing: -.045em; }
.spot-section-head > p { max-width: 50ch; margin: 0 0 6px; color: #655c4f; }
.spot-categories { background: #fbf8f2; }
.spot-category-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 11px; }
.spot-category { position: relative; display: grid; min-height: 126px; align-content: space-between; gap: 16px; padding: 16px; border: 1px solid #ddd4c5; border-radius: 17px; color: #122132; background: #fff; text-align: left; cursor: pointer; transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease; }
.spot-category[hidden] { display: none; }
.spot-category:hover, .spot-category:focus-visible { transform: translateY(-3px); border-color: #bea568; box-shadow: 0 17px 34px -26px rgba(16,36,59,.48); }
.spot-category.is-active { color: #fff; border-color: #0b2745; background: linear-gradient(145deg, #0b2745, #07182b); box-shadow: 0 18px 38px -24px rgba(7,24,43,.78); }
.spot-category__icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: #0a213b !important; background: #eadcb9; font-size: .7rem; font-weight: 850; letter-spacing: .04em; }
.spot-category.is-active .spot-category__icon { background: var(--spot-gold); }
.spot-category > span:nth-child(2) { color: inherit !important; font-size: .88rem; font-weight: 780; line-height: 1.25; }
.spot-category small { position: absolute; top: 15px; right: 14px; color: #8a6a21; font-size: .6rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.spot-category.is-active small { color: #eadcb9; }
.spot-category-toggle { display: inline-flex; align-items: center; gap: 12px; margin-top: 20px; padding: 10px 0; border: 0; border-bottom: 1px solid #b99a55; color: #0c2847; background: transparent; font-weight: 760; cursor: pointer; }

.spot-discovery { background: #eee8dc; }
.spot-results-head { align-items: center; }
.spot-results-count { display: flex; align-items: baseline; gap: 8px; min-width: 155px; justify-content: flex-end; }
.spot-results-count strong { color: #0b2745; font-family: var(--font-display); font-size: 3.4rem; line-height: 1; }
.spot-results-count span { color: #6d6252; font-size: .78rem; font-weight: 760; }
.spot-results-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); gap: 18px; align-items: start; }
.spot-map { position: sticky; top: calc(var(--header-height) + 18px); min-height: 660px; overflow: hidden; border: 1px solid rgba(15,39,67,.15); border-radius: 25px; background: #dce5e6; box-shadow: 0 24px 50px -36px rgba(7,24,43,.55); }
.spot-map__tiles { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); transform: scale(1.02); }
.spot-map__tile { width: 100%; height: 100%; object-fit: cover; filter: saturate(.48) contrast(.9) brightness(1.05); }
.spot-map__grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(7,24,43,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(7,24,43,.06) 1px, transparent 1px); background-size: 70px 70px; }
.spot-map__pins { position: absolute; inset: 0; }
.spot-map-pin { position: absolute; display: grid; width: 36px; height: 36px; place-items: center; transform: translate(-50%, -100%); border: 3px solid #fff; border-radius: 50% 50% 50% 8px; color: #fff; background: #0b2745; box-shadow: 0 8px 18px rgba(7,24,43,.3); rotate: -45deg; cursor: pointer; }
.spot-map-pin span { color: #fff !important; font-size: .67rem; font-weight: 850; rotate: 45deg; }
.spot-map-pin:hover, .spot-map-pin:focus-visible, .spot-map-pin.is-active { z-index: 3; background: #a47b23; transform: translate(-50%, -100%) scale(1.16); }
.spot-map__empty { position: absolute; inset: 0; display: grid; max-width: 350px; place-content: center; justify-items: center; margin: auto; padding: 35px; text-align: center; }
.spot-map__empty > span { display: grid; width: 82px; height: 82px; place-items: center; margin-bottom: 22px; border: 1px solid rgba(11,39,69,.18); border-radius: 50%; color: #0b2745 !important; background: rgba(255,255,255,.52); font-family: var(--font-display); font-size: 1.8rem; }
.spot-map__empty strong { color: #0b2745; font-size: 1.2rem; }
.spot-map__empty p { margin: 7px 0 0; color: #536371; font-size: .9rem; }
.spot-map__badge { position: absolute; top: 17px; left: 17px; display: flex; align-items: center; gap: 8px; min-height: 39px; padding: 7px 12px; border: 1px solid rgba(7,24,43,.12); border-radius: 11px; color: #0b2745; background: rgba(255,255,255,.91); box-shadow: 0 8px 20px -14px rgba(7,24,43,.5); font-size: .76rem; font-weight: 780; }
.spot-map__attribution { position: absolute; right: 8px; bottom: 7px; padding: 2px 5px; color: #43505a; background: rgba(255,255,255,.85); font-size: .56rem; }
.spot-results-panel { min-width: 0; }
.spot-results-status { display: flex; gap: 15px; align-items: flex-start; padding: 19px; border: 1px solid #d9cfbd; border-radius: 17px; background: rgba(255,255,255,.72); }
.spot-results-status__mark { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 10px; color: #0b2745 !important; background: var(--spot-gold); font-size: .7rem; font-weight: 850; }
.spot-results-status strong { color: #102236; font-size: .92rem; }
.spot-results-status p { margin: 3px 0 0; color: #6d6457; font-size: .78rem; line-height: 1.55; }
.spot-result-list { display: grid; gap: 11px; margin-top: 12px; }
.spot-result { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 15px; align-items: center; padding: 18px; border: 1px solid #d8cebd; border-radius: 17px; background: #fff; transition: border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease; }
.spot-result:hover, .spot-result.is-active { z-index: 1; transform: translateY(-2px); border-color: #b99c59; box-shadow: 0 18px 36px -30px rgba(7,24,43,.55); }
.spot-result__number { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; color: #fff !important; background: #0b2745; font-size: .72rem; font-weight: 850; }
.spot-result__copy { min-width: 0; }
.spot-result__copy small { display: block; margin-bottom: 4px; color: #91702a; font-size: .64rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.spot-result__copy strong { display: block; overflow: hidden; color: #0c2035; font-size: .98rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.spot-result__copy p { margin: 5px 0 0; color: #6b6357; font-size: .75rem; line-height: 1.45; }
.spot-result__distance { align-self: start; min-width: 62px; padding: 6px 8px; border-radius: 8px; color: #0b2745 !important; background: #eee3c9; text-align: center; font-size: .68rem; font-weight: 820; }
.spot-result__link { position: absolute; inset: 0; border-radius: inherit; }
.spot-result__link:focus-visible { outline: 3px solid #b58a31; outline-offset: 2px; }
.spot-results-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 15px; }
.spot-results-actions a, .spot-load-more { border: 0; color: #0b2745; background: transparent; font-size: .78rem; font-weight: 780; cursor: pointer; }
.spot-load-more { padding: 9px 13px; border: 1px solid #bba871; border-radius: 10px; }

.spot-nearby { background: #fbf8f2; }
.spot-nearby-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.spot-nearby-card { position: relative; display: grid; min-height: 360px; align-content: end; overflow: hidden; padding: clamp(26px, 4vw, 48px); border: 0; border-radius: 25px; color: #fff; text-align: left; cursor: pointer; box-shadow: 0 28px 50px -38px rgba(7,24,43,.7); transition: transform 180ms ease; }
.spot-nearby-card:hover, .spot-nearby-card:focus-visible { transform: translateY(-4px); }
.spot-nearby-card::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 42px 42px; }
.spot-nearby-card--outdoor { background: radial-gradient(circle at 84% 16%, rgba(228,205,144,.38), transparent 12rem), linear-gradient(145deg, #173f39, #0b2526); }
.spot-nearby-card--gym { background: radial-gradient(circle at 84% 16%, rgba(74,132,191,.42), transparent 13rem), linear-gradient(145deg, #102e4c, #07182b); }
.spot-nearby-card > * { position: relative; z-index: 1; }
.spot-nearby-card__number { position: absolute; top: 26px; right: 28px; color: rgba(255,255,255,.42) !important; font-family: var(--font-display); font-size: 4.5rem; line-height: 1; }
.spot-nearby-card small { margin-bottom: 8px; color: var(--spot-gold); font-size: .68rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.spot-nearby-card strong { max-width: 12ch; color: #fff; font-family: var(--font-display); font-size: clamp(2.25rem, 4vw, 4.2rem); line-height: .92; letter-spacing: -.04em; }
.spot-nearby-card p { max-width: 48ch; margin: 18px 0 22px; color: rgba(255,255,255,.7); font-size: .88rem; line-height: 1.55; }
.spot-nearby-card__action { color: #fff !important; font-size: .78rem; font-weight: 780; }

.spot-how { padding: clamp(62px, 8vw, 108px) 0; color: #fff; background: #07182b; }
.spot-how .section-shell { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(40px, 8vw, 110px); }
.spot-how h2 { max-width: 10ch; margin: 10px 0 0; color: #fff; font-size: clamp(2.7rem, 5vw, 5rem); line-height: .95; }
.spot-how ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }
.spot-how li { padding: 22px; border: 1px solid rgba(215,195,148,.16); border-radius: 16px; background: rgba(255,255,255,.035); }
.spot-how li > span { color: var(--spot-gold) !important; font-size: .68rem; font-weight: 850; }
.spot-how li strong { display: block; margin-top: 28px; color: #fff; font-size: .95rem; }
.spot-how li p { margin: 7px 0 0; color: rgba(255,255,255,.58); font-size: .75rem; line-height: 1.55; }

@media (max-width: 1050px) {
  .spot-category-grid { grid-template-columns: repeat(4, 1fr); }
  .spot-results-layout { grid-template-columns: 1fr; }
  .spot-map { position: relative; top: auto; min-height: 520px; }
  .spot-how .section-shell { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  .spot-hero__inner { grid-template-columns: 1fr; }
  .spot-hero__copy h1 { font-size: clamp(3.5rem, 15vw, 6rem); }
  .spot-section-head, .spot-results-head { align-items: flex-start; flex-direction: column; }
  .spot-category-grid { grid-template-columns: repeat(3, 1fr); }
  .spot-nearby-grid { grid-template-columns: 1fr; }
  .spot-how ol { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
  .spot-hero { padding-top: 64px; }
  .spot-search { grid-template-columns: 1fr; padding: 20px; border-radius: 21px; }
  .spot-search__heading, .spot-search__submit, .spot-search__note, .spot-field--place { grid-column: auto; }
  .spot-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .spot-category { min-height: 116px; padding: 14px; }
  .spot-map { min-height: 430px; border-radius: 20px; }
  .spot-result { grid-template-columns: auto 1fr; padding: 15px; }
  .spot-result__distance { grid-column: 2; justify-self: start; }
  .spot-results-actions { align-items: flex-start; flex-direction: column; }
  .spot-nearby-card { min-height: 330px; }
}

/* Explicit contrast for light copy on the Personal Training stage. */
body.page-premium.page-coaching .coaching-start-stage__head .section-header h2 {
  color: #fffdf8 !important;
}

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

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

/* The interview callouts are intentionally light, so their full copy stays dark. */
body.page-premium.page-events .editorial-stage--event-video .summary-row :is(h2, h3, h4, strong) {
  color: #19150e !important;
}

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

body.page-premium.page-events .editorial-stage--event-video .event-interview-card__text {
  color: #4f4537 !important;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.62;
}

.coaching-start-stage {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(28px, 3vw, 44px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 38px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.18), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(255, 255, 255, 0.06), transparent 26%),
    linear-gradient(160deg, rgba(18, 18, 22, 0.98) 0%, rgba(8, 8, 10, 0.98) 58%, rgba(15, 16, 20, 0.96) 100%);
  box-shadow: 0 40px 96px rgba(0, 0, 0, 0.34);
}

.coaching-start-stage::before {
  content: "";
  position: absolute;
  top: -14%;
  right: -8%;
  width: clamp(420px, 42vw, 700px);
  height: 138%;
  border-radius: 44% 0 0 34%;
  background:
    linear-gradient(270deg, rgba(6, 7, 10, 0.92) 0%, rgba(6, 7, 10, 0.76) 28%, rgba(6, 7, 10, 0.14) 68%, transparent 100%),
    radial-gradient(circle at 26% 34%, rgba(34, 40, 54, 0.24), transparent 44%);
  filter: blur(24px);
  pointer-events: none;
  z-index: 0;
}

.coaching-start-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0) 22%),
    linear-gradient(120deg, transparent 18%, rgba(255, 255, 255, 0.05) 30%, transparent 42%);
  mix-blend-mode: screen;
  opacity: 0.72;
  pointer-events: none;
  z-index: 0;
}

.coaching-start-stage__top,
.feature-grid--coaching-start {
  position: relative;
  z-index: 1;
}

.coaching-start-stage__top {
  display: grid;
  gap: clamp(20px, 2.4vw, 28px);
  align-items: end;
  margin-bottom: clamp(28px, 3vw, 38px);
}

.coaching-start-stage__head .section-header {
  max-width: none;
  margin-bottom: 0;
}

.coaching-start-stage__head .section-header h2 {
  max-width: 11ch;
  margin-inline: 0;
  font-size: clamp(3rem, 5vw, 5.4rem);
  line-height: 0.9;
}

.coaching-start-stage__head .section-header h2 span {
  color: var(--cd-gold);
}

.coaching-start-stage__head .section-header p:not(.eyebrow) {
  max-width: 58ch;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(1.02rem, 1.2vw, 1.12rem);
}

.coaching-start-stage__photo {
  position: relative;
  width: min(100%, 360px);
  justify-self: end;
  align-self: start;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 30px;
  background:
    radial-gradient(circle at top left, rgba(215, 195, 148, 0.16), transparent 30%),
    rgba(255, 255, 255, 0.04);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 28px 62px rgba(0, 0, 0, 0.26);
}

.coaching-start-stage__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(8, 8, 10, 0.04) 0%, rgba(8, 8, 10, 0.34) 100%),
    linear-gradient(90deg, rgba(8, 8, 10, 0.02) 0%, rgba(8, 8, 10, 0.16) 100%);
  pointer-events: none;
}

.coaching-start-stage__photo img {
  display: block;
  width: 100%;
  aspect-ratio: 0.78;
  object-fit: cover;
  object-position: center 18%;
}

.coaching-start-stage__signal {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 12px;
  align-self: stretch;
  padding: clamp(22px, 2.4vw, 30px);
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.05));
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(18px);
}

.coaching-start-stage__signal::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(215, 195, 148, 0.68), transparent);
}

.coaching-start-stage__signal strong {
  color: #fff;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  font-size: clamp(1.8rem, 2.2vw, 2.5rem);
  line-height: 0.92;
}

.coaching-start-stage__signal p {
  margin: 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 1rem;
  line-height: 1.68;
}

.feature-grid--coaching-start {
  gap: clamp(18px, 2vw, 28px);
}

.feature-grid--coaching-start .feature-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: clamp(320px, 32vw, 420px);
  padding: clamp(24px, 2.2vw, 32px);
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04));
  box-shadow: 0 26px 60px rgba(0, 0, 0, 0.24);
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
  isolation: isolate;
}

.feature-grid--coaching-start .feature-card::before {
  position: absolute;
  top: 10px;
  right: 16px;
  z-index: 0;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  font-size: clamp(5.6rem, 10vw, 8rem);
  line-height: 1;
  letter-spacing: -0.04em;
  color: rgba(255, 255, 255, 0.05);
}

.feature-grid--coaching-start .feature-card:nth-child(1)::before { content: "01"; }
.feature-grid--coaching-start .feature-card:nth-child(2)::before { content: "02"; }
.feature-grid--coaching-start .feature-card:nth-child(3)::before { content: "03"; }

.feature-grid--coaching-start .feature-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 4px;
  background: linear-gradient(90deg, rgba(215, 195, 148, 0.95), rgba(215, 195, 148, 0.24), transparent);
  transform: scaleX(0.34);
  transform-origin: left;
  transition: transform 0.35s ease;
}

.feature-grid--coaching-start .feature-card > * {
  position: relative;
  z-index: 1;
}

.feature-grid--coaching-start .feature-card:hover,
.feature-grid--coaching-start .feature-card:focus-within {
  transform: translateY(-8px);
  border-color: rgba(215, 195, 148, 0.36);
  box-shadow: 0 34px 72px rgba(0, 0, 0, 0.32);
}

.feature-grid--coaching-start .feature-card:hover::after,
.feature-grid--coaching-start .feature-card:focus-within::after {
  transform: scaleX(1);
}

.feature-grid--coaching-start .feature-card h3 {
  max-width: 13ch;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  font-size: clamp(1.58rem, 1.95vw, 2.2rem);
  line-height: 0.92;
  color: #fff;
}

.feature-grid--coaching-start .feature-card p {
  margin-top: 18px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.02rem;
  line-height: 1.7;
}

.feature-grid--coaching-start .feature-card__detail {
  margin-bottom: 22px;
  padding: 7px 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(215, 195, 148, 0.14);
  color: var(--cd-gold);
}

.feature-grid--coaching-start .feature-card:nth-child(1) {
  background:
    radial-gradient(circle at top left, rgba(215, 195, 148, 0.18), transparent 44%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.04));
}

.feature-grid--coaching-start .feature-card:nth-child(2) {
  border-color: rgba(215, 195, 148, 0.42);
  background:
    radial-gradient(circle at 50% 0%, rgba(215, 195, 148, 0.22), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.05));
  box-shadow: 0 32px 76px rgba(0, 0, 0, 0.28);
}

.feature-grid--coaching-start .feature-card:nth-child(2) .feature-card__detail {
  background: rgba(215, 195, 148, 0.2);
}

.feature-grid--coaching-start .feature-card:nth-child(3) {
  background:
    radial-gradient(circle at 100% 0%, rgba(97, 111, 152, 0.2), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04));
}

@media (min-width: 1100px) {
  .coaching-start-stage__top {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.55fr);
  }
}

@media (min-width: 1180px) {
  .feature-grid--coaching-start {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .feature-grid--coaching-start .feature-card:nth-child(2) {
    transform: translateY(-12px);
  }

  .feature-grid--coaching-start .feature-card:nth-child(2):hover,
  .feature-grid--coaching-start .feature-card:nth-child(2):focus-within {
    transform: translateY(-20px);
  }
}

@media (max-width: 899px) {
  .coaching-start-stage {
    padding: 22px 18px;
    border-radius: 28px;
  }

  .coaching-start-stage__head .section-header h2 {
    max-width: 9ch;
    font-size: clamp(2.4rem, 9vw, 3.5rem);
  }

  .coaching-start-stage__photo {
    width: min(100%, 320px);
    justify-self: start;
    border-radius: 24px;
  }

  .coaching-start-stage__signal {
    padding: 20px 18px;
    border-radius: 24px;
  }

  .feature-grid--coaching-start .feature-card {
    min-height: auto;
    border-radius: 24px;
  }
}

.coaching-reference-stage {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: grid;
  gap: clamp(22px, 3vw, 40px);
  align-items: center;
  padding: clamp(28px, 3vw, 42px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 38px;
  background:
    radial-gradient(circle at 0% 0%, rgba(215, 195, 148, 0.14), transparent 28%),
    radial-gradient(circle at 100% 100%, rgba(97, 111, 152, 0.16), transparent 34%),
    linear-gradient(160deg, rgba(18, 18, 22, 0.98) 0%, rgba(8, 8, 10, 0.98) 58%, rgba(15, 16, 20, 0.96) 100%);
  box-shadow: 0 40px 96px rgba(0, 0, 0, 0.34);
}

.coaching-reference-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0) 24%),
    linear-gradient(120deg, transparent 18%, rgba(255, 255, 255, 0.05) 32%, transparent 44%);
  mix-blend-mode: screen;
  opacity: 0.68;
  pointer-events: none;
  z-index: 0;
}

.coaching-reference-stage__copy,
.coaching-reference-stage__media {
  position: relative;
  z-index: 1;
}

.coaching-reference-stage__copy .section-header {
  max-width: 42rem;
  margin-bottom: 0;
}

.coaching-reference-stage__copy .section-header h2 {
  max-width: 12ch;
  font-size: clamp(2.8rem, 4.3vw, 4.6rem);
  line-height: 0.92;
}

.coaching-reference-stage__copy .section-header h2 span {
  color: var(--cd-gold);
}

.coaching-reference-stage__copy .section-header p:not(.eyebrow) {
  max-width: 54ch;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(1rem, 1.15vw, 1.08rem);
}

.coaching-reference-stage__pills {
  margin-top: 22px;
}

.coaching-reference-stage__pills span {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.86);
}

.coaching-reference-stage .summary-rows {
  gap: 16px;
  margin-top: 18px;
}

.coaching-reference-stage .summary-row {
  padding: 22px 22px 24px;
  border-radius: 26px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.03));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 24px 54px rgba(0, 0, 0, 0.2);
}

.coaching-reference-stage .summary-row h3 {
  max-width: 16ch;
  color: #fff;
  font-size: clamp(1.14rem, 1.35vw, 1.34rem);
  line-height: 1.04;
}

.coaching-reference-stage .summary-row p {
  color: rgba(255, 255, 255, 0.74);
}

.coaching-reference-stage__media {
  justify-self: center;
  width: min(100%, 430px);
}

.coaching-reference-stage__media .premium-video-embed--short {
  width: min(100%, 430px);
  border-radius: 28px;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.32);
}

.coaching-reference-stage__media .premium-video-launch__headline {
  max-width: 10ch;
}

@media (min-width: 1060px) {
  .coaching-reference-stage {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.48fr);
  }

  .coaching-reference-stage .summary-rows {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 899px) {
  .coaching-reference-stage {
    padding: 22px 18px;
    border-radius: 28px;
  }

  .coaching-reference-stage__copy .section-header h2 {
    max-width: 10ch;
    font-size: clamp(2.35rem, 8.5vw, 3.45rem);
  }

  .coaching-reference-stage .summary-row {
    padding: 20px 18px 22px;
    border-radius: 22px;
  }

  .coaching-reference-stage__media {
    width: min(100%, 390px);
  }
}

.coaching-outcome-stage {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(28px, 3vw, 46px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 38px;
  background:
    radial-gradient(circle at 0% 0%, rgba(215, 195, 148, 0.16), transparent 30%),
    radial-gradient(circle at 100% 100%, rgba(97, 111, 152, 0.16), transparent 32%),
    linear-gradient(160deg, rgba(18, 18, 22, 0.98) 0%, rgba(8, 8, 10, 0.98) 58%, rgba(15, 16, 20, 0.96) 100%);
  box-shadow: 0 40px 96px rgba(0, 0, 0, 0.34);
}

.coaching-outcome-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0) 22%),
    linear-gradient(120deg, transparent 18%, rgba(255, 255, 255, 0.05) 30%, transparent 42%);
  mix-blend-mode: screen;
  opacity: 0.72;
  pointer-events: none;
  z-index: 0;
}

.coaching-outcome-stage .section-header,
.coaching-outcome-stage .summary-rows {
  position: relative;
  z-index: 1;
}

.coaching-outcome-stage .section-header {
  max-width: 60rem;
  margin-bottom: clamp(28px, 3vw, 38px);
}

.coaching-outcome-stage .section-header h2 {
  max-width: 11ch;
  font-size: clamp(3rem, 5vw, 5.2rem);
  line-height: 0.9;
}

.coaching-outcome-stage .section-header h2 span {
  color: var(--cd-gold);
}

.coaching-outcome-stage .section-header p:not(.eyebrow) {
  max-width: 56ch;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(1.02rem, 1.2vw, 1.12rem);
}

.coaching-outcome-stage .summary-rows {
  counter-reset: coaching-outcome;
  gap: clamp(18px, 2vw, 28px);
}

.coaching-outcome-stage .summary-row {
  position: relative;
  overflow: hidden;
  min-height: clamp(280px, 28vw, 340px);
  padding: clamp(24px, 2.2vw, 32px);
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.04));
  box-shadow: 0 26px 60px rgba(0, 0, 0, 0.24);
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
  isolation: isolate;
}

.coaching-outcome-stage .summary-row::before {
  counter-increment: coaching-outcome;
  content: "0" counter(coaching-outcome);
  position: absolute;
  top: 10px;
  right: 16px;
  z-index: 0;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  font-size: clamp(5.6rem, 10vw, 8rem);
  line-height: 1;
  letter-spacing: -0.04em;
  color: rgba(255, 255, 255, 0.05);
}

.coaching-outcome-stage .summary-row::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 4px;
  background: linear-gradient(90deg, rgba(215, 195, 148, 0.95), rgba(215, 195, 148, 0.24), transparent);
  transform: scaleX(0.34);
  transform-origin: left;
  transition: transform 0.35s ease;
}

.coaching-outcome-stage .summary-row > * {
  position: relative;
  z-index: 1;
}

.coaching-outcome-stage .summary-row:hover,
.coaching-outcome-stage .summary-row:focus-within {
  transform: translateY(-8px);
  border-color: rgba(215, 195, 148, 0.36);
  box-shadow: 0 34px 72px rgba(0, 0, 0, 0.32);
}

.coaching-outcome-stage .summary-row:hover::after,
.coaching-outcome-stage .summary-row:focus-within::after {
  transform: scaleX(1);
}

.coaching-outcome-stage .summary-row h3 {
  max-width: 12ch;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  font-size: clamp(1.6rem, 2vw, 2.24rem);
  line-height: 0.92;
  color: #fff;
}

.coaching-outcome-stage .summary-row p {
  margin-top: 18px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.02rem;
  line-height: 1.7;
}

.coaching-outcome-stage .summary-row:nth-child(1) {
  background:
    radial-gradient(circle at top left, rgba(215, 195, 148, 0.18), transparent 44%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.04));
}

.coaching-outcome-stage .summary-row:nth-child(2) {
  border-color: rgba(215, 195, 148, 0.42);
  background:
    radial-gradient(circle at 50% 0%, rgba(215, 195, 148, 0.22), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.05));
  box-shadow: 0 32px 76px rgba(0, 0, 0, 0.28);
}

.coaching-outcome-stage .summary-row:nth-child(3) {
  background:
    radial-gradient(circle at 100% 0%, rgba(97, 111, 152, 0.2), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04));
}

@media (min-width: 1180px) {
  .coaching-outcome-stage .summary-rows {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .coaching-outcome-stage .summary-row:nth-child(2) {
    transform: translateY(-12px);
  }

  .coaching-outcome-stage .summary-row:nth-child(2):hover,
  .coaching-outcome-stage .summary-row:nth-child(2):focus-within {
    transform: translateY(-20px);
  }
}

@media (max-width: 899px) {
  .coaching-outcome-stage {
    padding: 22px 18px;
    border-radius: 28px;
  }

  .coaching-outcome-stage .section-header h2 {
    max-width: 9ch;
    font-size: clamp(2.4rem, 9vw, 3.5rem);
  }

  .coaching-outcome-stage .summary-row {
    min-height: auto;
    border-radius: 24px;
  }
}

.ff-hero--split .ff-hero__shell {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 68px);
  align-items: center;
  padding-top: 132px;
  padding-bottom: 72px;
}

.ff-hero--split .ff-hero__inner {
  max-width: none;
  padding-top: 0;
  padding-bottom: 0;
  --hero-copy-shift: 0px;
}

.ff-hero--split .premium-badge {
  margin-bottom: 22px;
}

.ff-hero--split .ff-hero__facts {
  max-width: 44rem;
}

.ff-hero__showcase {
  position: relative;
  z-index: 2;
  min-height: 650px;
}

.ff-hero__showcase--solo {
  min-height: 620px;
}

.ff-hero__photo-card {
  position: absolute;
  inset: 20px 52px 68px 0;
  padding: 18px;
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.04));
  box-shadow: 0 34px 72px -34px rgba(0, 0, 0, 0.88);
  backdrop-filter: blur(12px);
}

.ff-hero__photo-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 26px;
}

.ff-hero__aside {
  position: absolute;
  right: 0;
  bottom: 34px;
  width: min(360px, 82%);
  padding: 24px;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.07));
  box-shadow: 0 26px 60px rgba(0, 0, 0, 0.34);
  backdrop-filter: blur(18px);
}

.ff-hero__aside h2 {
  margin: 10px 0 0;
  max-width: 12ch;
  font-size: clamp(1.45rem, 2vw, 1.82rem);
  line-height: 1.02;
  color: #fff;
}

.ff-hero__aside p {
  margin-top: 14px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.98rem;
  line-height: 1.58;
}

.ff-hero__aside .premium-checklist {
  margin-top: 18px;
}

.ff-hero__aside .premium-checklist li {
  color: rgba(255, 255, 255, 0.82);
}

.ff-hero__aside .premium-checklist li::before {
  background: var(--cd-gold);
  box-shadow: 0 0 0 5px rgba(215, 195, 148, 0.14);
}

.ff-hero--app .ff-hero__img {
  object-position: 46% 18%;
  filter: saturate(0.76) brightness(0.62);
}

.ff-hero--app .ff-hero__showcase {
  min-height: 690px;
}

.ff-hero--app .premium-device-stage {
  inset: 18px 92px 44px 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
    linear-gradient(160deg, rgba(18, 18, 22, 0.92), rgba(10, 10, 12, 0.86));
  box-shadow: 0 36px 72px -36px rgba(0, 0, 0, 0.92);
}

.ff-hero--app .app-hero-poster {
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

.ff-hero__showcase--solo .ff-hero__photo-card {
  inset: 18px 0 18px 0;
}

.ff-hero--app .ff-hero__showcase--solo .premium-device-stage {
  inset: 18px 0 18px 0;
}

.ff-hero--app .ff-hero__aside {
  bottom: 12px;
}

.ff-hero--photo .ff-hero__img {
  filter: saturate(0.8) brightness(0.64);
}

.ff-hero--firmenfitness .ff-hero__img {
  object-position: 62% center;
}

.ff-hero--firmenfitness .ff-hero__photo-card img {
  object-position: 58% center;
}

.ff-hero--events .ff-hero__img {
  object-position: 46% 16%;
}

.ff-hero--team .ff-hero__img {
  object-position: 42% 24%;
}

.ff-hero--events .ff-hero__photo-card img {
  object-position: 50% 22%;
}

.ff-hero--team .ff-hero__photo-card img {
  object-position: 50% 28%;
}

.ff-hero--contact {
  background:
    radial-gradient(64% 52% at 84% 12%, rgba(215, 195, 148, 0.14), transparent 56%),
    linear-gradient(160deg, #121216 0%, #09090b 54%, #0f1014 100%);
}

.ff-hero--contact .ff-hero__scrim {
  background:
    linear-gradient(270deg, rgba(8, 8, 10, 0.58) 0%, rgba(8, 8, 10, 0.42) 22%, rgba(8, 8, 10, 0.1) 46%, rgba(8, 8, 10, 0) 68%),
    linear-gradient(95deg, rgba(8, 8, 10, 0.84) 0%, rgba(8, 8, 10, 0.64) 34%, rgba(8, 8, 10, 0.16) 62%, rgba(8, 8, 10, 0.5) 100%),
    linear-gradient(0deg, rgba(8, 8, 10, 0.9) 0%, transparent 52%);
}

.ff-hero--contact .ff-hero__showcase {
  min-height: 100%;
  display: flex;
  align-items: stretch;
}

.ff-hero__aside--contact {
  position: relative;
  inset: auto;
  width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ff-hero--contact .contact-intro-card {
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06));
  box-shadow: 0 26px 60px rgba(0, 0, 0, 0.32);
}

.ff-hero--contact .contact-intro-card h2 {
  color: #fff;
}

.ff-hero--partner {
  background:
    radial-gradient(24% 28% at 16% 10%, rgba(255, 255, 255, 0.05), transparent 56%),
    linear-gradient(160deg, #121216 0%, #09090b 54%, #0f1014 100%);
}

.ff-hero--partner .ff-hero__scrim {
  background:
    linear-gradient(270deg, rgba(8, 8, 10, 0.54) 0%, rgba(8, 8, 10, 0.4) 24%, rgba(8, 8, 10, 0.08) 48%, rgba(8, 8, 10, 0) 70%),
    linear-gradient(95deg, rgba(8, 8, 10, 0.8) 0%, rgba(8, 8, 10, 0.62) 34%, rgba(8, 8, 10, 0.14) 64%, rgba(8, 8, 10, 0.46) 100%),
    linear-gradient(0deg, rgba(8, 8, 10, 0.84) 0%, transparent 52%);
}

.ff-hero--partner .ff-hero__shell {
  grid-template-columns: minmax(0, 0.88fr) minmax(280px, 0.72fr);
}

.ff-hero--partner .ff-hero__inner {
  max-width: none;
}

.partner-hero__actions {
  align-items: center;
  gap: 14px 16px;
}

.partner-hero__logos {
  display: inline-flex;
  align-items: center;
  gap: 0;
  min-height: 84px;
  padding: 14px 24px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.05));
  box-shadow: 0 24px 52px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(18px);
}

.ff-hero--partner .ff-hero__showcase {
  min-height: 100%;
  display: grid;
  align-items: center;
  justify-items: end;
}

.partner-hero__visual {
  width: min(100%, 760px);
  margin: 0;
}

.partner-hero__visual img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 42px 86px rgba(0, 0, 0, 0.34));
}

/* Partnerlogo statt Bühnenfoto: Die editorial-stage erzwingt für ihre Bilder
   min-height: 420px und object-fit: cover. Bei einem 259x194-Logo schneidet das
   zu — am Desktop rund ein Fünftel, auf dem Handy fast die Hälfte der Breite.
   Deshalb hier ohne Mindesthöhe, ohne Beschnitt und deutlich kleiner. */
.partner-hero__visual--logo {
  width: min(100%, 340px);
  margin-inline: auto;
  justify-self: center;
}

.partner-hero__visual--logo img {
  width: 100%;
  height: auto;
  min-height: 0;
  max-width: 100%;
  object-fit: contain;
  border-radius: 0;
}

.partner-hero__logo {
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  transition: transform 180ms ease, opacity 180ms ease;
}

.partner-hero__logo + .partner-hero__logo {
  margin-left: 18px;
  padding-left: 24px;
  border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.partner-hero__logo--aeke {
  height: 42px;
}

.partner-hero__logo:hover,
.partner-hero__logo:focus-visible {
  transform: translateY(-1px);
  opacity: 0.92;
}

.partner-hero__logo img {
  display: block;
  width: auto;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.18));
}

/* ---- Modern FF-style buttons (site-wide) ---- */
.page-premium .button {
  font-style: italic;
  font-weight: 800;
  letter-spacing: 0.03em;
  gap: 11px;
  padding: 15px 28px;
}
.page-premium .button > span:last-child {
  width: auto !important;
  height: auto !important;
  flex: 0 0 auto !important;
  display: inline-flex;
  border-radius: 0;
  background: transparent !important;
  font-size: 1.08em;
  transform: translateX(0);
  transition: transform 0.25s ease;
}
.page-premium .button:hover > span:last-child,
.page-premium .button:focus-visible > span:last-child { transform: translateX(4px); }

/* ---- Image-forward overlay cards (Vier Einstiege) ---- */
.page-home-reboot .ed-section--hero-sync {
  padding-top: clamp(22px, 3vw, 40px);
}

.page-home-reboot .ed-section--hero-sync .ed-section__stage {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 3.2vw, 44px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 34px;
  background:
    radial-gradient(circle at 84% 16%, rgba(var(--accent-rgb), 0.18), transparent 24%),
    radial-gradient(circle at 16% 0%, rgba(255, 255, 255, 0.06), transparent 26%),
    linear-gradient(160deg, rgba(18, 18, 22, 0.98) 0%, rgba(8, 8, 10, 0.98) 56%, rgba(15, 16, 20, 0.96) 100%);
  box-shadow: 0 40px 96px rgba(0, 0, 0, 0.34);
  isolation: isolate;
}

.page-home-reboot .ed-section--hero-sync .ed-section__stage::before {
  content: "";
  position: absolute;
  top: -12%;
  right: -8%;
  width: clamp(420px, 42vw, 680px);
  height: 132%;
  border-radius: 44% 0 0 34%;
  background:
    linear-gradient(270deg, rgba(6, 7, 10, 0.92) 0%, rgba(6, 7, 10, 0.76) 26%, rgba(6, 7, 10, 0.16) 68%, transparent 100%),
    radial-gradient(circle at 26% 34%, rgba(34, 40, 54, 0.24), transparent 44%);
  filter: blur(24px);
  pointer-events: none;
  z-index: 0;
}

.page-home-reboot .ed-section--hero-sync .ed-section__stage::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0) 22%),
    linear-gradient(120deg, transparent 18%, rgba(255, 255, 255, 0.05) 30%, transparent 42%);
  mix-blend-mode: screen;
  opacity: 0.72;
  pointer-events: none;
  z-index: 0;
}

.page-home-reboot .ed-section--hero-sync .ed-section__head,
.page-home-reboot .ed-section--hero-sync .ed-entry-grid {
  position: relative;
  z-index: 1;
}

.page-home-reboot .ed-section--hero-sync .ed-section__head {
  /* Volle Breite: Die Überschrift der vier Einstiege soll auf einer Zeile
     stehen und nicht nach "4 Wege" umbrechen. */
  max-width: none;
  margin-inline: auto;
  margin-bottom: clamp(28px, 3.4vw, 42px);
  text-align: center;
}

.page-home-reboot .ed-section--hero-sync .ed-section__title span {
  color: var(--cd-gold);
}

.page-home-reboot .ed-section--hero-sync .ed-entry-grid {
  gap: clamp(18px, 2vw, 28px);
}

.page-home-reboot .ed-section--hero-sync .ed-section__lead,
.page-home-reboot .ed-proof__head,
.page-home-reboot .ed-proof .ed-section__lead {
  margin-inline: auto;
}

.page-home-reboot .ed-proof__head {
  text-align: center;
}

.page-home-reboot .ed-entry {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: clamp(400px, 36vw, 540px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: #050506;
  border-radius: 30px;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.26);
}
.page-home-reboot .ed-entry__media {
  position: absolute;
  inset: 0;
  aspect-ratio: auto;
  height: 100%;
}
.page-home-reboot .ed-entry__media img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  filter: saturate(0.9) brightness(0.8) contrast(1.03);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.45s ease;
}
.page-home-reboot .ed-entry__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(5, 5, 6, 0.04) 0%, rgba(5, 5, 6, 0.16) 28%, rgba(5, 5, 6, 0.74) 72%, rgba(5, 5, 6, 0.96) 100%),
    linear-gradient(100deg, rgba(5, 5, 6, 0.06) 0%, rgba(5, 5, 6, 0) 42%, rgba(5, 5, 6, 0.3) 100%);
}
.page-home-reboot .ed-entry__body {
  position: relative;
  z-index: 3;
  align-self: stretch;
  width: calc(100% - 28px);
  gap: 6px;
  margin: auto 14px 14px;
  padding: clamp(16px, 1.8vw, 22px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.05));
  box-shadow: 0 24px 44px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(18px);
}
.page-home-reboot .ed-entry__body p {
  max-width: 29ch;
  font-size: 0.9rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.76);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.page-home-reboot .ed-entry__body h3 {
  max-width: 13ch;
  font-size: clamp(1.2rem, 1.5vw, 1.55rem);
  font-style: italic;
  line-height: 0.92;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}
.page-home-reboot .ed-entry__cta {
  min-height: 40px;
  padding-left: 14px;
  font-size: 0.76rem;
  letter-spacing: 0.04em;
}
.page-home-reboot .ed-entry:nth-child(1) .ed-entry__media img { object-position: center 18%; }
.page-home-reboot .ed-entry:nth-child(2) .ed-entry__media img { object-position: center 42%; }
.page-home-reboot .ed-entry:nth-child(3) .ed-entry__media img { object-position: center 26%; }
/* Das Handy gehört in die Mitte der Kachel — es ist die Überleitung zur App.
   Der Ausschnitt wandert deshalb nach links ins Bild, wo Dominik es hält. */
.page-home-reboot .ed-entry:nth-child(4) .ed-entry__media img { object-position: 30% 42%; }
.page-home-reboot .ed-entry:nth-child(3) .ed-entry__body h3 {
  max-width: 18ch;
  font-size: clamp(1.08rem, 1.32vw, 1.42rem);
}
.page-home-reboot .ed-entry:nth-child(3) .ed-entry__body p {
  max-width: none;
}
.page-home-reboot .ed-entry:nth-child(3) .ed-entry__cta {
  width: fit-content;
  max-width: 100%;
}
.page-home-reboot .ed-entry:hover {
  transform: translateY(-6px);
  border-color: var(--entry-accent-border);
  box-shadow: 0 40px 70px -34px rgba(0, 0, 0, 0.85) !important;
}
.page-home-reboot .ed-entry:hover .ed-entry__media img {
  filter: saturate(0.96) brightness(0.88) contrast(1.04);
}

.footer-bottom__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px 18px;
}

.footer-link-button:hover,
.footer-link-button:focus-visible {
  color: #fff;
}

.page-legal .section-header {
  max-width: 860px;
}

.legal-grid,
.legal-stack {
  display: grid;
  gap: 18px;
}

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

.legal-grid--intro {
  margin-top: 30px;
}

.legal-card {
  padding: clamp(24px, 2.8vw, 34px);
  border-radius: 22px;
  border: 1px solid var(--cd-line);
  background: var(--cd-card);
  box-shadow: 0 28px 60px -38px rgba(0, 0, 0, 0.72);
}

.legal-card h2 {
  margin-bottom: 14px;
  font-size: 1.18rem;
  line-height: 1.18;
  color: #fff;
  font-size: clamp(1.32rem, 1.7vw, 1.7rem);
}

.legal-card p,
.legal-card li,
.legal-card address {
  color: var(--cd-text);
}

.legal-card p + p {
  margin-top: 12px;
}

.legal-card address {
  font-style: normal;
  line-height: 1.72;
}

/* Auf der hellen Karte braucht die Auszeichnung einen dunklen Grundton —
   weiß auf hell war schlicht nicht zu lesen. */
.legal-card code {
  padding: 0.15em 0.42em;
  border-radius: 0.45rem;
  background: rgba(155, 116, 26, 0.1);
  color: var(--color-ink);
  font-size: 0.92em;
}

.legal-label {
  font-weight: 800;
}

.legal-list {
  margin: 0;
  padding-left: 1.2rem;
  display: grid;
  gap: 10px;
}

.legal-note {
  color: var(--cd-dim) !important;
  font-size: 0.94rem;
}

.legal-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.consent-root[hidden] {
  display: none;
}

.consent-banner[hidden],
.consent-backdrop[hidden],
.consent-modal[hidden] {
  display: none;
}

.consent-root {
  position: fixed;
  inset: 0;
  z-index: 1400;
  pointer-events: none;
}

.consent-root > * {
  pointer-events: auto;
}

.consent-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(7, 8, 12, 0.72);
  backdrop-filter: blur(12px);
}

.consent-banner {
  position: fixed;
  right: 20px;
  bottom: 20px;
  left: 20px;
  display: grid;
  gap: 18px;
  max-width: 1120px;
  margin-left: auto;
  padding: clamp(18px, 2vw, 28px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(215, 195, 148, 0.14), transparent 36%),
    linear-gradient(160deg, rgba(20, 20, 24, 0.96), rgba(10, 10, 12, 0.94));
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
}

.consent-banner__copy h2,
.consent-modal__head h2 {
  margin-top: 10px;
  font-size: clamp(2rem, 3.4vw, 3rem);
  line-height: 0.96;
  text-transform: uppercase;
}

.consent-banner__copy p:not(.eyebrow),
.consent-modal__body p {
  max-width: 70ch;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
}

.consent-banner__actions,
.consent-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.consent-banner__note {
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.92rem;
}

.consent-banner__note a {
  color: #fff;
}

.consent-modal {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
}

.consent-modal__panel {
  width: min(100%, 840px);
  max-height: min(92vh, 920px);
  overflow: auto;
  padding: clamp(20px, 2.4vw, 30px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(215, 195, 148, 0.12), transparent 34%),
    linear-gradient(160deg, rgba(20, 20, 24, 0.98), rgba(10, 10, 12, 0.98));
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.46);
}

.consent-modal__head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.consent-close {
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

.consent-close:hover,
.consent-close:focus-visible {
  background: rgba(255, 255, 255, 0.14);
}

.consent-modal__body {
  margin-top: 20px;
  display: grid;
  gap: 16px;
}

.consent-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 18px;
  border: 1px solid var(--cd-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.04);
}

.consent-option__copy h3 {
  margin-bottom: 8px;
  font-size: 1.18rem;
}

.consent-switch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-weight: 700;
}

.consent-switch input {
  width: 18px;
  height: 18px;
  accent-color: #d7c394;
}

.consent-switch--locked span {
  color: rgba(255, 255, 255, 0.72);
}

.consent-modal__foot {
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.92rem;
}

.consent-modal__actions {
  margin-top: 24px;
}

body.consent-modal-open {
  overflow: hidden;
}

/* Die Rechtsseiten liegen auf hellem Grund. Schrift- und Verweisfarben stammten
   noch aus dem früheren dunklen Layout — Überschriften, Links und die
   Kennzeichnungen waren dadurch praktisch unsichtbar. */
.page-legal main :is(h1, h2, h3, h4) {
  color: var(--color-ink);
}

.page-legal main .eyebrow {
  color: var(--accent-strong);
}

.page-legal .section a {
  color: var(--accent-strong);
  text-decoration: underline;
  text-decoration-color: rgba(155, 116, 26, 0.5);
  text-underline-offset: 0.18em;
}

.page-legal .section a:hover,
.page-legal .section a:focus-visible {
  color: #7d5c11;
  text-decoration-color: currentColor;
}

@media (max-width: 1180px) {
  .ff-hero--split .ff-hero__shell {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .ff-hero__showcase {
    min-height: 580px;
  }
  .ff-hero__photo-card,
  .ff-hero--app .premium-device-stage {
    inset: 12px 24px 34px 0;
  }
  .ff-hero__showcase--solo .ff-hero__photo-card,
  .ff-hero--app .ff-hero__showcase--solo .premium-device-stage {
    inset: 12px 0 12px 0;
  }
  .legal-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .consent-banner {
    left: 14px;
    right: 14px;
    bottom: 14px;
    border-radius: 22px;
  }

  .consent-banner__actions,
  .consent-modal__actions {
    flex-direction: column;
  }

  .consent-banner__actions .button,
  .consent-modal__actions .button {
    width: 100%;
  }

  .consent-modal {
    padding: 14px;
  }

  .consent-modal__panel {
    border-radius: 22px;
  }

  .consent-option {
    grid-template-columns: 1fr;
  }

  .ff-hero__inner {
    max-width: none;
    transform: none;
  }
  .ff-hero__portrait, .ff-hero__nameplate, .ff-hero::after { display: none; }
  .page-premium .corporate-wide-video-stage {
    width: 100%;
    padding: 0;
    border-radius: 0;
  }
  .page-premium .corporate-wide-video-stage .premium-video-embed {
    border-radius: 20px;
  }
  .ff-hero--home-photo .ff-hero__img {
    object-position: 66% center;
  }
  .ff-hero--home-photo .ff-hero__scrim {
    background:
      linear-gradient(180deg, rgba(7, 8, 12, 0.72) 0%, rgba(7, 8, 12, 0.3) 30%, rgba(7, 8, 12, 0.18) 56%, rgba(7, 8, 12, 0.82) 100%),
      linear-gradient(90deg, rgba(7, 8, 12, 0.8) 0%, rgba(7, 8, 12, 0.46) 32%, rgba(7, 8, 12, 0.14) 62%, rgba(7, 8, 12, 0.14) 100%);
  }
  .ff-hero--coaching-photo .ff-hero__img {
    object-position: 67% center;
  }
  .ff-hero--coaching-photo .ff-hero__scrim {
    background:
      linear-gradient(180deg, rgba(7, 8, 12, 0.74) 0%, rgba(7, 8, 12, 0.3) 30%, rgba(7, 8, 12, 0.18) 56%, rgba(7, 8, 12, 0.82) 100%),
      linear-gradient(90deg, rgba(7, 8, 12, 0.82) 0%, rgba(7, 8, 12, 0.5) 32%, rgba(7, 8, 12, 0.14) 62%, rgba(7, 8, 12, 0.14) 100%);
  }
  .ff-hero--firmenfitness-photo .ff-hero__img {
    object-position: 28% center;
  }
  .ff-hero--firmenfitness-photo .ff-hero__scrim {
    background:
      linear-gradient(180deg, rgba(7, 8, 12, 0.74) 0%, rgba(7, 8, 12, 0.3) 30%, rgba(7, 8, 12, 0.18) 56%, rgba(7, 8, 12, 0.82) 100%),
      linear-gradient(90deg, rgba(7, 8, 12, 0.82) 0%, rgba(7, 8, 12, 0.5) 32%, rgba(7, 8, 12, 0.16) 62%, rgba(7, 8, 12, 0.14) 100%);
  }
  .ff-hero--events-photo .ff-hero__img {
    object-position: 68% center;
  }
  .ff-hero--events-photo .ff-hero__scrim {
    background:
      linear-gradient(180deg, rgba(7, 8, 12, 0.74) 0%, rgba(7, 8, 12, 0.3) 30%, rgba(7, 8, 12, 0.18) 56%, rgba(7, 8, 12, 0.82) 100%),
      linear-gradient(90deg, rgba(7, 8, 12, 0.82) 0%, rgba(7, 8, 12, 0.48) 32%, rgba(7, 8, 12, 0.16) 62%, rgba(7, 8, 12, 0.14) 100%);
  }
  .ff-hero--split .ff-hero__shell {
    grid-template-columns: 1fr;
    gap: 26px;
    padding-top: 116px;
    padding-bottom: 56px;
  }
  .ff-hero__showcase {
    min-height: auto;
    display: grid;
    gap: 18px;
  }
  .ff-hero__photo-card,
  .ff-hero__aside,
  .ff-hero--app .premium-device-stage {
    position: relative;
    inset: auto;
    width: 100%;
  }
  .ff-hero__photo-card {
    padding: 0;
  }
  .ff-hero__photo-card img {
    min-height: 420px;
    border-radius: 0;
  }
  .ff-hero--app .premium-device-stage {
    padding: 18px;
    overflow: hidden;
  }
  .footer-bottom__links {
    justify-content: flex-start;
  }
  .ff-hero--app .ff-hero__showcase,
  .ff-hero--contact .ff-hero__showcase,
  .ff-hero--partner .ff-hero__showcase {
    min-height: auto;
  }
  .ff-hero--split .ff-hero__facts {
    margin-top: 40px;
  }
  .page-home-reboot .ff-hero__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 22px;
  }
  .page-home-reboot .ff-hero__facts dt {
    font-size: clamp(1.34rem, 5.8vw, 1.72rem);
  }
  .page-home-reboot .ff-hero__facts dd {
    max-width: none;
  }
  .partner-hero__actions {
    align-items: flex-start;
  }
  .partner-hero__logos {
    width: 100%;
    justify-content: center;
    padding: 12px 14px;
  }
  .partner-hero__logo {
    flex: 0 1 auto;
    height: 40px;
  }
  .partner-hero__logo--aeke {
    height: 33px;
  }
  .partner-brand-band__grid {
    grid-template-columns: 1fr;
  }
  .partner-brand-card {
    min-height: 0;
  }
  .partner-brand-card--featured-video {
    grid-template-columns: 1fr;
  }
  .partner-brand-card__media {
    justify-items: start;
  }
  .partner-brand-card__media .premium-video-embed {
    width: min(100%, 300px);
  }
  .page-home-reboot .ed-section--hero-sync .ed-section__stage {
    padding: 22px;
    border-radius: 26px;
  }
  .page-home-reboot .ed-entry {
    min-height: 420px;
    border-radius: 22px;
  }
  .page-home-reboot .ed-entry__body {
    width: calc(100% - 24px);
    margin: auto 12px 12px;
    padding: 14px;
    border-radius: 16px;
  }
}

/* ============================================================
   ENTRY CARDS — slimmer info panel + refined compact buttons
   (latest override; wins over earlier ed-entry rules)
   ============================================================ */
.page-home-reboot .ed-entry__body {
  width: calc(100% - 22px) !important;
  margin: auto 11px 11px !important;
  padding: 12px 14px 13px !important;
  gap: 2px !important;
  border-radius: 15px !important;
  background: linear-gradient(180deg, rgba(20, 20, 24, 0.62), rgba(12, 12, 15, 0.72)) !important;
  backdrop-filter: blur(14px);
}

.page-home-reboot .ed-entry__body h3 {
  max-width: 16ch !important;
  font-size: clamp(1.12rem, 1.35vw, 1.42rem) !important;
  line-height: 0.98 !important;
}

.page-home-reboot .ed-entry__body p {
  max-width: 34ch !important;
  margin-top: 3px !important;
  font-size: 0.78rem !important;
  line-height: 1.36 !important;
  -webkit-line-clamp: 2;
}
/* compact button — no longer full width */
.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 {
  width: auto !important;
  align-self: flex-start !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  margin-top: 11px !important;
  padding: 6px 7px 6px 15px !important;
  min-height: 33px !important;
  font-size: 0.73rem !important;
  font-style: italic;
  box-shadow: 0 14px 24px -16px var(--entry-accent-shadow) !important;
}
.page-home-reboot .ed-entry__cta-label { flex: 0 0 auto !important; }
.page-home-reboot .ed-entry__cta span:last-child {
  width: 21px !important;
  height: 21px !important;
  flex-basis: 21px !important;
  box-shadow: none !important;
}
.page-home-reboot .ed-entry:hover .ed-entry__cta { transform: translateY(-1px); }

/* Home entry actions: one confident, high-contrast 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 {
  background: linear-gradient(135deg, #fff1b8 0%, var(--cd-gold) 56%, #b68727 100%) !important;
  border-color: rgba(242, 223, 168, 0.92) !important;
  color: #11100d !important;
  box-shadow: 0 14px 28px -18px rgba(223, 169, 44, 0.82) !important;
}

.page-home-reboot .ed-entry__cta span:last-child {
  border-color: rgba(17, 16, 13, 0.24) !important;
  background: rgba(255, 255, 255, 0.26) !important;
  color: #11100d !important;
}

/* ============================================================
   PARTNER — "Warum Partner" value cards upgraded to the
   premium dark look (gold condensed index, accent, hover).
   ============================================================ */
.page-premium .partner-value-stage > * {
  position: relative;
  z-index: 1;
}

.page-premium .partner-value-stage .section-header {
  max-width: none;
  margin-bottom: clamp(24px, 2.7vw, 34px);
}

.page-premium .partner-value-stage .section-header h2 {
  max-width: 10ch;
  margin-inline: 0;
  font-size: clamp(2.8rem, 4.5vw, 4.9rem);
}

.page-premium .partner-value-stage .section-header p:not(.eyebrow) {
  max-width: 58ch;
}

.page-premium .feature-grid--partner {
  counter-reset: pv;
  gap: clamp(20px, 2vw, 30px);
  align-items: stretch;
}

.page-premium .feature-grid--partner .feature-card {
  counter-increment: pv;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: clamp(28px, 2.6vw, 38px);
  border-radius: 16px;
  border: 1px solid var(--cd-line);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.012));
  transition:
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.4s ease,
    box-shadow 0.4s ease;
}
.page-premium .feature-grid--partner .feature-card::before {
  content: counter(pv, decimal-leading-zero);
  display: block;
  margin-bottom: 16px;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  font-size: clamp(2.3rem, 3vw, 3rem);
  line-height: 0.9;
  color: var(--cd-gold);
}
.page-premium .feature-grid--partner .feature-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--cd-gold), transparent 70%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.page-premium .feature-grid--partner .feature-card h3 {
  font-size: clamp(1.25rem, 1.6vw, 1.7rem);
  line-height: 1;
}
.page-premium .feature-grid--partner .feature-card p {
  margin-top: 12px;
  color: var(--cd-dim);
}
.page-premium .feature-grid--partner .feature-card:hover {
  transform: translateY(-6px);
  border-color: rgba(215, 195, 148, 0.5);
  box-shadow: 0 36px 64px -34px rgba(0, 0, 0, 0.82);
}
.page-premium .feature-grid--partner .feature-card:hover::after { transform: scaleX(1); }

@media (min-width: 1100px) {
  .page-premium .feature-grid--partner {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .page-partner .ff-hero__title {
    font-size: clamp(2.5rem, 10.8vw, 3.12rem);
    line-height: 0.9;
    letter-spacing: -0.018em;
  }

  .page-partner .section-shell--partner-activation .section-header h2 {
    max-width: 12ch;
    font-size: clamp(2.08rem, 8.9vw, 2.7rem);
    line-height: 0.96;
    text-wrap: pretty;
  }
}

/* ============================================================
   APP PAGE — modernise "Vier Funktionswelten" cards (big gold
   index, hover lift) + cleaner, more legible header.
   ============================================================ */
.page-app .app-system-card__meta { align-items: center; gap: 14px; }
.page-app .app-system-card__number {
  min-width: 0;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--cd-gold);
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  font-size: clamp(1.9rem, 2.4vw, 2.5rem);
  line-height: 0.9;
  letter-spacing: 0;
}
.page-app .app-system-card {
  transition:
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.4s ease,
    box-shadow 0.4s ease;
}
.page-app .app-system-card::before {
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.page-app .app-system-card:hover {
  transform: translateY(-6px);
  border-color: rgba(215, 195, 148, 0.5);
  box-shadow: 0 40px 70px -34px rgba(0, 0, 0, 0.85);
}
.page-app .app-system-card:hover::before { transform: scaleX(1); }

/* App header: stronger left scrim for crisp text, image focus right */
.ff-hero--app .ff-hero__img {
  object-position: 72% 18%;
  filter: saturate(0.82) brightness(0.5);
}
.ff-hero--app .ff-hero__scrim {
  background:
    linear-gradient(95deg, rgba(8, 8, 10, 0.97) 0%, rgba(8, 8, 10, 0.92) 40%, rgba(8, 8, 10, 0.55) 68%, rgba(8, 8, 10, 0.72) 100%),
    linear-gradient(0deg, rgba(8, 8, 10, 0.92), transparent 46%);
}

/* ============================================================
   CONTACT — simplified direct form.
   ============================================================ */
.page-contact .ff-hero__title {
  max-width: 7.2ch;
  font-size: clamp(3.3rem, 6.9vw, 6.2rem);
}

.page-contact .ff-hero__shell {
  grid-template-columns: minmax(0, 0.92fr);
  justify-content: start;
}

.page-contact .ff-hero__inner {
  max-width: min(100%, 760px);
}

.page-contact .ff-hero__lead {
  max-width: 48ch;
}

.page-contact .ff-hero__support {
  max-width: 46ch;
}

.page-contact .contact-form-stage .section-header h2 {
  max-width: 10ch;
  font-size: clamp(2.7rem, 4vw, 4.2rem);
}

.page-contact .contact-form-stage {
  display: grid;
  gap: clamp(26px, 3vw, 38px);
}

.page-contact .contact-form-stage .section-header {
  max-width: 760px;
  margin-inline: auto;
}

.page-contact .contact-direct {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(196px, 1fr));
  gap: 14px;
  /* margin-inline: auto schaltet im Grid das Strecken ab, dadurch würde der Block
     auf Inhaltsbreite wachsen und auf schmalen Displays überlaufen. width: 100%
     bindet ihn wieder an die Spaltenbreite, min-width: 0 erlaubt das Schrumpfen. */
  width: 100%;
  min-width: 0;
  max-width: 760px;
  margin-inline: auto;
}

.page-contact .contact-direct__item {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 16px 20px;
  border: 1px solid var(--cd-line);
  border-radius: 18px;
  background: linear-gradient(160deg, rgba(18, 18, 22, 0.97), rgba(8, 8, 10, 0.97));
  text-decoration: none;
  transition: border-color 0.25s ease, transform 0.25s ease;
}

.page-contact .contact-direct__item:hover,
.page-contact .contact-direct__item:focus-visible {
  border-color: rgba(215, 195, 148, 0.42);
  transform: translateY(-2px);
}

.page-contact .contact-direct__label {
  color: #f2dfa8;
  font-size: 0.72rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-contact .contact-direct__value {
  color: #f6f8fb;
  font-size: 1rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.page-contact .contact-simple-wrap {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(28px, 3.8vw, 56px);
  border: 1px solid var(--cd-line);
  border-radius: 34px;
  background:
    radial-gradient(circle at 0% 0%, rgba(215, 195, 148, 0.16), transparent 30%),
    radial-gradient(circle at 100% 100%, rgba(97, 111, 152, 0.14), transparent 34%),
    linear-gradient(160deg, rgba(18, 18, 22, 0.98) 0%, rgba(8, 8, 10, 0.98) 58%, rgba(15, 16, 20, 0.96) 100%);
  box-shadow: 0 50px 100px -56px rgba(0, 0, 0, 0.9);
}

.page-contact .contact-simple-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0) 22%),
    linear-gradient(120deg, transparent 18%, rgba(255, 255, 255, 0.05) 30%, transparent 42%);
  mix-blend-mode: screen;
  opacity: 0.72;
  pointer-events: none;
  z-index: 0;
}

.page-contact .contact-simple-wrap > * {
  position: relative;
  z-index: 1;
}

.page-contact .contact-form--simple {
  gap: 22px;
  margin: 0 auto;
  padding: 0;
}

.page-contact .form-grid--contact-simple {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.page-contact .contact-form__message--simple {
  gap: 10px;
}

.page-contact .contact-form__message--simple textarea {
  min-height: 220px;
}

.page-contact .form-footer--contact-simple {
  gap: 18px;
  align-items: center;
  text-align: center;
}

.page-contact .contact-form__trust {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 920px);
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid rgba(215, 195, 148, 0.28);
  border-radius: 22px;
  background:
    radial-gradient(circle at 0% 0%, rgba(215, 195, 148, 0.18), transparent 42%),
    linear-gradient(145deg, #17140f 0%, #0f0d0a 58%, #211a10 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 24px 50px -28px rgba(0, 0, 0, 0.88);
  backdrop-filter: blur(16px);
}

.page-contact .contact-form__trust-item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  min-width: 0;
  padding: 20px 22px;
  text-align: left;
}

.page-contact .contact-form__trust-item + .contact-form__trust-item {
  border-left: 1px solid rgba(215, 195, 148, 0.2);
}

.page-contact .contact-form__trust-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(215, 195, 148, 0.36);
  border-radius: 50%;
  color: #17130d;
  background: linear-gradient(135deg, #f3e5bd, #b98928);
  box-shadow: 0 10px 24px -14px rgba(215, 195, 148, 0.75);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.06em;
}

.page-contact .contact-form__trust-item > div {
  display: grid;
  gap: 5px;
}

.page-contact .contact-form__trust-label {
  color: #d7c394;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.page-contact .contact-form__trust strong {
  color: #fffdf8;
  font-size: 1.02rem;
  line-height: 1.35;
}

.page-contact .contact-form__trust p {
  margin: 0;
  color: rgba(255, 253, 248, 0.68);
  font-size: 0.83rem;
  line-height: 1.55;
}

.page-contact .contact-form__trust a {
  color: #ead8a6;
  font-weight: 800;
  text-decoration-color: rgba(234, 216, 166, 0.46);
  text-underline-offset: 3px;
}

.page-contact .contact-form__trust a:hover,
.page-contact .contact-form__trust a:focus-visible {
  color: #fff4d5;
  text-decoration-color: currentColor;
}

.page-contact .contact-form__actions--single {
  grid-template-columns: minmax(240px, 320px);
  justify-content: center;
}

.page-contact .contact-form__note {
  max-width: 42ch;
  margin-inline: auto;
}

@media (max-width: 900px) {
  .page-contact .contact-form-stage .section-header h2 {
    max-width: 9ch;
  }

  .page-contact .form-grid--contact-simple {
    grid-template-columns: 1fr;
  }

  .page-contact .contact-simple-wrap {
    padding: 22px 18px;
    border-radius: 28px;
  }

  .page-contact .contact-form__trust {
    grid-template-columns: 1fr;
    border-radius: 18px;
  }

  .page-contact .contact-form__trust-item {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    padding: 17px 16px;
  }

  .page-contact .contact-form__trust-item + .contact-form__trust-item {
    border-top: 1px solid rgba(215, 195, 148, 0.2);
    border-left: 0;
  }

  .page-contact .contact-form__trust-mark {
    width: 38px;
    height: 38px;
  }
}

/* Contact hero: cinematic background photo to match the other headers */
.ff-hero--contact .ff-hero__img {
  object-position: 50% 18%;
  filter: saturate(0.85) brightness(0.46);
}

/* ============================================================
   MOBILE OVERRIDES LAYER — keep desktop heroes untouched while
   we fine-tune small-screen image crops page by page.
   ============================================================ */
@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 {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  .page-home-reboot .site-header.is-nav-open .brand,
  .page-premium .site-header.is-nav-open .brand {
    opacity: 0;
    visibility: hidden;
    pointer-events: 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;
  }

  .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;
    transition:
      opacity 180ms ease,
      max-width 180ms ease,
      margin 180ms ease;
  }

  .page-home-reboot .nav-toggle.is-open,
  .page-premium .nav-toggle.is-open {
    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: 0;
    gap: 0;
    max-height: none;
    min-height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: calc(var(--header-height) + 30px) 20px calc(env(safe-area-inset-bottom, 0px) + 24px);
    border: 0;
    border-radius: 0;
    background:
      radial-gradient(circle at 18% 10%, rgba(215, 195, 148, 0.15), transparent 24%),
      radial-gradient(circle at 82% 82%, rgba(215, 195, 148, 0.08), transparent 28%),
      linear-gradient(180deg, rgba(7, 7, 10, 0.995), rgba(4, 4, 6, 0.99));
    box-shadow: none;
    backdrop-filter: blur(18px);
  }

  .page-home-reboot .site-nav__overlay,
  .page-premium .site-nav__overlay {
    min-height: calc(100dvh - var(--header-height) - 30px);
    display: flex;
    flex-direction: column;
  }

  .page-home-reboot .site-nav__brand-block,
  .page-premium .site-nav__brand-block {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    padding-right: 72px;
  }

  .page-home-reboot .site-nav__brand-mark,
  .page-premium .site-nav__brand-mark {
    display: inline-flex;
    flex: 0 0 auto;
  }

  .page-home-reboot .site-nav__brand-mark .brand__mark,
  .page-premium .site-nav__brand-mark .brand__mark {
    width: 64px;
    height: 64px;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.54),
      0 20px 40px rgba(0, 0, 0, 0.26);
  }

  .page-home-reboot .site-nav__brand-copy,
  .page-premium .site-nav__brand-copy {
    display: grid;
    gap: 4px;
  }

  .page-home-reboot .site-nav__brand-copy strong,
  .page-premium .site-nav__brand-copy strong {
    color: #fff;
    font-size: clamp(1.55rem, 5.4vw, 2.05rem);
    font-weight: 450;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  .page-home-reboot .site-nav__brand-copy small,
  .page-premium .site-nav__brand-copy small {
    color: var(--cd-gold);
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .page-home-reboot .site-nav__list,
  .page-premium .site-nav__list {
    display: grid;
    gap: 10px;
  }

  .page-home-reboot .site-nav a,
  .page-premium .site-nav a {
    min-height: 78px;
    padding: 18px 18px 18px 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    color: rgba(255, 255, 255, 0.96);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.014)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.04),
      0 10px 26px rgba(0, 0, 0, 0.14);
    font-size: 1.12rem;
    font-weight: 720;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .page-home-reboot .site-nav__entry-main,
  .page-premium .site-nav__entry-main {
    gap: 16px;
  }

  .page-home-reboot .site-nav__entry-label,
  .page-premium .site-nav__entry-label {
    line-height: 1.14;
  }

  .page-home-reboot .site-nav__entry-icon .program-icon,
  .page-premium .site-nav__entry-icon .program-icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    color: var(--cd-gold);
    background: transparent;
    box-shadow: none;
  }

  .page-home-reboot .site-nav__entry-icon .program-icon svg,
  .page-premium .site-nav__entry-icon .program-icon svg {
    width: 26px;
    height: 26px;
    stroke-width: 1.7;
  }

  .page-home-reboot .site-nav__entry-arrow,
  .page-premium .site-nav__entry-arrow {
    color: var(--cd-gold);
    font-size: 2.2rem;
    font-weight: 300;
    opacity: 0.92;
  }

  .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.5);
    background:
      radial-gradient(circle at 24% 0%, rgba(215, 195, 148, 0.14), transparent 36%),
      linear-gradient(180deg, rgba(215, 195, 148, 0.16), rgba(215, 195, 148, 0.06)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.08),
      0 22px 38px rgba(0, 0, 0, 0.24);
  }

  .page-home-reboot .site-nav__socials,
  .page-premium .site-nav__socials {
    justify-content: center;
    margin-top: 0;
    padding: 0;
    border-top: 0;
  }

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

  .page-home-reboot .site-nav__footer,
  .page-premium .site-nav__footer {
    display: grid;
    gap: 18px;
    margin-top: auto;
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.09);
  }

  .page-home-reboot .site-nav__social-title,
  .page-premium .site-nav__social-title {
    color: var(--cd-gold);
    font-size: 0.98rem;
    font-weight: 650;
    letter-spacing: 0.18em;
    text-align: center;
    text-transform: uppercase;
  }

  .page-home-reboot .social-link--nav-menu,
  .page-premium .social-link--nav-menu {
    width: 68px;
    min-width: 68px;
    height: 68px;
    padding: 18px;
    border-color: rgba(215, 195, 148, 0.36);
    background:
      radial-gradient(circle at 50% 0%, rgba(215, 195, 148, 0.14), transparent 58%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.015));
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.08),
      0 20px 34px rgba(0, 0, 0, 0.22);
  }

  .page-home-reboot .social-link--nav-menu .social-link__icon,
  .page-premium .social-link--nav-menu .social-link__icon {
    width: 28px;
    height: 28px;
  }

  .page-home-reboot .social-link--nav-menu:hover,
  .page-home-reboot .social-link--nav-menu:focus-visible,
  .page-premium .social-link--nav-menu:hover,
  .page-premium .social-link--nav-menu:focus-visible {
    border-color: rgba(215, 195, 148, 0.36);
    background:
      radial-gradient(circle at 50% 0%, rgba(215, 195, 148, 0.18), transparent 58%),
      linear-gradient(180deg, rgba(215, 195, 148, 0.14), rgba(215, 195, 148, 0.06));
    transform: translateY(-2px);
  }
}

@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;
  }

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

  .page-home-reboot .site-nav__brand-copy strong,
  .page-premium .site-nav__brand-copy strong {
    font-size: 1.38rem;
  }

  .page-home-reboot .site-nav a,
  .page-premium .site-nav a {
    min-height: 72px;
    padding-inline: 14px;
    font-size: 1rem;
  }

  .page-home-reboot .site-nav__entry-icon .program-icon,
  .page-premium .site-nav__entry-icon .program-icon {
    width: 46px;
    height: 46px;
  }

  .page-home-reboot .social-link--nav-menu,
  .page-premium .social-link--nav-menu {
    width: 60px;
    min-width: 60px;
    height: 60px;
    padding: 15px;
  }
}

@media (min-width: 980px) {
  .page-home-reboot .nav-shell,
  .page-premium .nav-shell {
    min-height: 78px;
    gap: clamp(16px, 1.8vw, 28px);
    padding: 10px clamp(16px, 1.9vw, 24px);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 22px;
    background:
      linear-gradient(180deg, rgba(20, 20, 24, 0.88), rgba(10, 10, 14, 0.74)),
      rgba(10, 10, 14, 0.72);
    box-shadow:
      0 22px 70px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(24px);
  }

  .page-home-reboot .site-header.is-scrolled .nav-shell,
  .page-premium .site-header.is-scrolled .nav-shell {
    border-color: rgba(255, 255, 255, 0.16);
    background:
      linear-gradient(180deg, rgba(16, 16, 20, 0.95), rgba(8, 8, 12, 0.9)),
      rgba(8, 8, 12, 0.88);
    box-shadow:
      0 26px 80px rgba(0, 0, 0, 0.34),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
  }

  .page-home-reboot .brand strong,
  .page-premium .brand strong {
    color: #fff;
  }

  .page-home-reboot .brand small,
  .page-premium .brand small {
    color: rgba(255, 255, 255, 0.68);
  }

  .page-home-reboot .site-nav,
  .page-premium .site-nav {
    flex: 1 1 auto;
    justify-content: stretch;
    max-width: 1080px;
    margin-inline: 0;
    padding: 6px clamp(14px, 1.8vw, 24px);
    gap: clamp(8px, 0.9vw, 14px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  }

  .page-home-reboot .site-nav__overlay,
  .page-premium .site-nav__overlay,
  .page-home-reboot .site-nav__list,
  .page-premium .site-nav__list {
    flex: 1 1 auto;
    justify-content: space-between;
    gap: clamp(8px, 0.9vw, 14px);
  }

  .page-home-reboot .site-nav a,
  .page-premium .site-nav a {
    min-height: 44px;
    padding: 0 clamp(12px, 1vw, 18px);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.93rem;
    font-weight: 760;
    text-align: center;
    background: transparent !important;
  }

  .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;
    background: rgba(255, 255, 255, 0.1) !important;
    box-shadow: inset 0 0 0 1px rgba(215, 195, 148, 0.18);
  }

  .page-home-reboot .nav-extras,
  .page-premium .nav-extras {
    gap: 12px;
    margin-left: 0;
    padding-left: clamp(8px, 1vw, 14px);
    border-left: 1px solid rgba(255, 255, 255, 0.12);
  }

  .page-home-reboot .social-link--nav,
  .page-premium .social-link--nav {
    border-color: rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.08),
      0 14px 28px rgba(0, 0, 0, 0.18);
  }

  .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.42);
    background: rgba(255, 255, 255, 0.1);
  }

  .page-home-reboot .nav-cta,
  .page-premium .nav-cta {
    min-height: 48px;
    padding: 6px 8px 6px 16px;
    color: #100f0c;
    border: 1px solid rgba(255, 233, 172, 0.16);
    background: linear-gradient(180deg, #fff1b8, #b68727);
    box-shadow:
      0 16px 32px rgba(215, 195, 148, 0.24),
      inset 0 1px 0 rgba(255, 255, 255, 0.24);
  }

  .page-home-reboot .nav-cta span:first-child,
  .page-premium .nav-cta span:first-child {
    border-bottom: 0;
    color: #100f0c;
  }

  .page-home-reboot .nav-cta span:last-child,
  .page-premium .nav-cta span:last-child {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    color: #fffaf0;
    background: rgba(16, 15, 12, 0.18);
  }
}

/* Langes Einzelwort "Firmenfitness" braucht auf schmalen Screens ein kleineres H1-Minimum */
.ff-hero--firmenfitness .ff-hero__title {
  font-size: clamp(2.55rem, 9vw, 8.2rem);
}

/* ============================================================
   PREMIUM MOTION SYSTEM
   ============================================================ */
[data-reveal] {
  transition-delay: calc(var(--reveal-order, 0) * 45ms);
  will-change: opacity, transform;
}

[data-reveal].is-visible { will-change: auto; }

:is(.ff-hero, .bbcal-hero, .spot-hero) { --parallax-y: 0px; isolation: isolate; }

.ff-hero .ff-hero__img,
.bbcal-hero > img,
.spot-hero > img {
  transform: translate3d(0, var(--parallax-y), 0) scale(1.075);
  transition: none;
}

.ff-hero.is-hero-ready .ff-hero__img,
.bbcal-hero.is-hero-ready > img,
.spot-hero.is-hero-ready > img {
  transform: translate3d(0, var(--parallax-y), 0) scale(1.025);
}

.ff-hero :is(.ff-hero__eyebrow, .ff-hero__title, .ff-hero__lead, .ff-hero__support, .ff-hero__actions, .ff-hero__pills, .ff-hero__facts),
:is(.bbcal-hero, .spot-hero) [data-reveal] {
  transition-duration: 0.95s;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.ff-hero .ff-hero__eyebrow { transition-delay: 80ms; }
.ff-hero .ff-hero__title { transition-delay: 150ms; }
.ff-hero .ff-hero__lead { transition-delay: 230ms; }
.ff-hero .ff-hero__support { transition-delay: 300ms; }
.ff-hero .ff-hero__actions { transition-delay: 360ms; }
.ff-hero :is(.ff-hero__pills, .ff-hero__facts) { transition-delay: 430ms; }

:is(.ff-hero__facts dt, .ff-hero__facts dd, .hero__stat-value, .landing-stat__value, .stat-card__value, .bbcal-hero__stat strong, .spot-results-count strong, .coaching-success-proof__stats strong, .coach-success__totals strong, .ed-proof__item dt, .ed-google-reviews__score, .pricing-card__price, .start-card__price) {
  font-variant-numeric: tabular-nums;
}

.site-scroll-progress {
  --scroll-progress: 0;
  position: fixed;
  z-index: 1200;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  pointer-events: none;
  transform: scaleX(var(--scroll-progress));
  transform-origin: left center;
  background: linear-gradient(90deg, #ad7919, #f2dfa8 62%, #fff4ca);
  box-shadow: 0 0 12px rgba(215, 195, 148, 0.44);
  will-change: transform;
}

:is(.eyebrow, .section-header__eyebrow)::before {
  transform: scaleX(0.35);
  transform-origin: left center;
  transition: transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

:is([data-reveal].is-visible.eyebrow, [data-reveal].is-visible .eyebrow, [data-reveal].is-visible .section-header__eyebrow)::before {
  transform: scaleX(1);
}

.is-counting {
  animation: number-focus 1.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes number-focus {
  0% { filter: brightness(0.88); transform: translateY(4px); }
  42% { filter: brightness(1.2); }
  100% { filter: brightness(1); transform: translateY(0); }
}

@media (hover: hover) and (pointer: fine) {
  :is(.feature-card, .summary-row, .stat-card, .landing-stat, .media-program-card, .proof-mosaic__card, .transformation-card, .app-feature-card, .device-preview-card, .event-format-card, .corporate-module-card, .corporate-outcome-card, .legal-card, .bbcal-event, .spot-card, .step-card, .capability-card, .pricing-card, .start-card, .event-reference-card, .corporate-reference-card, .premium-sponsor-card, .basis-partner-card, .partner-brand-card, .bbcal-next-card, .runcal-category-card, .spot-nearby-card, .app-traffic-promo__card, .coach-success__year, .ed-proof__item, .ed-google-review) {
    transition: transform 0.48s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.48s ease, border-color 0.35s ease;
  }

  :is(.feature-card, .summary-row, .stat-card, .landing-stat, .media-program-card, .proof-mosaic__card, .transformation-card, .app-feature-card, .device-preview-card, .event-format-card, .corporate-module-card, .corporate-outcome-card, .legal-card, .bbcal-event, .spot-card, .step-card, .capability-card, .pricing-card, .start-card, .event-reference-card, .corporate-reference-card, .premium-sponsor-card, .basis-partner-card, .partner-brand-card, .bbcal-next-card, .runcal-category-card, .spot-nearby-card, .app-traffic-promo__card, .ed-proof__item, .ed-google-review).is-visible:hover,
  :is(.media-program-card, .bbcal-event, .spot-card, .premium-sponsor-card, .bbcal-next-card, .runcal-category-card, .app-traffic-promo__card, .coach-success__year):hover {
    transform: translateY(-7px);
    border-color: rgba(var(--accent-rgb), 0.42);
    box-shadow: 0 28px 64px rgba(20, 17, 12, 0.16);
  }

  :is(.media-program-card, .proof-mosaic__card, .transformation-card, .event-format-card, .device-preview-card, .event-rule-stage__card, .event-fun-stage__card, .partner-brand-card, .premium-sponsor-card, .ff-hero__photo-card) img {
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), filter 0.45s ease;
  }

  :is(.media-program-card, .proof-mosaic__card, .transformation-card, .event-format-card, .device-preview-card, .event-rule-stage__card, .event-fun-stage__card, .partner-brand-card, .premium-sponsor-card, .ff-hero__photo-card):hover img {
    transform: scale(1.045);
    filter: saturate(1.04) contrast(1.02);
  }

  :is(.button, .nav-cta, .event-reference-card, .corporate-reference-card, .premium-sponsor-card, .basis-partner-card, .bbcal-next-card, .runcal-category-card, .spot-nearby-card) :is([aria-hidden="true"], [class*="__arrow"], [class*="__action"]) {
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  }

  :is(.button, .nav-cta, .event-reference-card, .corporate-reference-card, .premium-sponsor-card, .basis-partner-card, .bbcal-next-card, .runcal-category-card, .spot-nearby-card):hover :is([aria-hidden="true"], [class*="__arrow"], [class*="__action"]) {
    transform: translateX(4px);
  }
}

@keyframes app-screen-float {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-0.35deg); }
  50% { transform: translate3d(0, -11px, 0) rotate(0.35deg); }
}

.page-app .device-preview-card__frame {
  animation: app-screen-float 5.8s ease-in-out infinite;
  will-change: transform;
}
.page-app .device-preview-card:nth-child(2) .device-preview-card__frame { animation-delay: -1.9s; }
.page-app .device-preview-card:nth-child(3) .device-preview-card__frame { animation-delay: -3.8s; }

@media (prefers-reduced-motion: reduce) {
  [data-reveal] { transition-delay: 0ms; }
  .site-scroll-progress { display: none; }
  .is-counting { animation: none; }
  :is(.eyebrow, .section-header__eyebrow)::before { transform: none; transition: none; }
  .ff-hero .ff-hero__img,
  .ff-hero.is-hero-ready .ff-hero__img,
  .bbcal-hero > img,
  .bbcal-hero.is-hero-ready > img,
  .spot-hero > img,
  .spot-hero.is-hero-ready > img { transform: none; transition: none; }
  .page-app .device-preview-card__frame { animation: none; }
}

/* SEO-safe replacements for decorative bold markup. */
.nav-toggle .nav-toggle__label {
  grid-column: 2;
  grid-row: 1;
  display: block;
  width: auto;
  height: auto;
  margin-top: 0;
  background: transparent;
  transform: none;
  transition:
    opacity 180ms ease,
    max-width 180ms ease,
    margin 180ms ease;
}

.page-home-reboot .brand__name,
.page-premium .brand__name,
.page-home-reboot .site-nav__brand-name,
.page-premium .site-nav__brand-name {
  color: #fff;
  font-size: 1.02rem;
  font-weight: 820;
}

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

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

@media (max-width: 520px) {
  .page-home-reboot .brand__name,
  .page-premium .brand__name {
    font-size: 0.98rem;
  }
}
/* Expert authority, editorial transparency and citation-ready guides */
.expert-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(9rem, 15vw, 13rem) 0 clamp(5rem, 9vw, 8rem);
  color: #fff;
  background:
    radial-gradient(circle at 82% 18%, rgba(var(--accent-rgb), 0.25), transparent 30rem),
    linear-gradient(135deg, #0d0b08 0%, #211a0f 100%);
}

.expert-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.36;
  background: linear-gradient(112deg, transparent 0 58%, rgba(255,255,255,.05) 58.2% 58.45%, transparent 58.65%);
  pointer-events: none;
}

.expert-hero--hub {
  background:
    linear-gradient(90deg, rgba(13, 11, 8, .97) 0%, rgba(13, 11, 8, .9) 48%, rgba(13, 11, 8, .62) 100%),
    url("/assets/images/dominik-about-gym-portrait.webp") center 28% / cover;
}

.expert-hero__grid,
.expert-profile-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.55fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: center;
}

.expert-hero h1 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(3.3rem, 8vw, 7.8rem);
  line-height: 0.92;
  letter-spacing: -0.065em;
}

.expert-hero h1 span { color: var(--accent); }
.expert-hero__lead { max-width: 48rem; margin-top: 2rem; font-size: clamp(1.15rem, 2vw, 1.5rem); line-height: 1.6; color: rgba(255,255,255,.78); }
.expert-hero__proof { display: grid; gap: .35rem; padding: 2rem; border: 1px solid rgba(215,195,148,.34); border-radius: 22px; background: rgba(13,11,8,.68); box-shadow: 0 28px 70px rgba(0,0,0,.22); backdrop-filter: blur(18px); }
.expert-hero__proof strong { margin-top: 1rem; font-size: clamp(1.6rem, 3vw, 2.45rem); color: var(--accent); }
.expert-hero__proof span { color: rgba(255,255,255,.72); line-height: 1.45; }

.expert-card-grid,
.external-proof-grid,
.expert-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}

.expert-card,
.external-proof-grid > a,
.expert-principles > article {
  min-height: 16rem;
  padding: clamp(1.5rem, 3vw, 2.35rem);
  border: 1px solid rgba(20, 17, 12, .12);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--accent-rgb), .14), transparent 34%),
    linear-gradient(145deg, #fffefa, #f7f0e4);
  box-shadow: 0 24px 58px -40px rgba(20,17,12,.45);
  color: inherit;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.expert-card:hover,
.external-proof-grid > a:hover { transform: translateY(-4px); border-color: rgba(155,116,26,.52); box-shadow: 0 1.3rem 3rem rgba(20,17,12,.12); }
.expert-card > span,
.external-proof-grid span { color: var(--accent-strong); text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; font-weight: 800; }
/* Diese Karten haben einen hellen Verlauf als Hintergrund. Ohne die eigene
   Farbe würden ihre Überschriften die weiße Grundfarbe der Premium-Seiten
   erben (styles.css, ".page-premium h1–h4") und wären auf Hell unlesbar. */
.expert-card h2,
.expert-card h3,
.external-proof-grid h3,
.expert-principles h2,
.expert-principles h3 { margin: 1rem 0 .8rem; color: var(--color-ink); font-size: clamp(1.35rem, 2.1vw, 2rem); line-height: 1.08; }
.expert-card p,
.external-proof-grid p,
.expert-principles p { color: var(--color-muted); line-height: 1.65; }
.expert-card b,
.external-proof-grid b { display: inline-block; margin-top: 1rem; color: var(--color-ink); }
.expert-policy-link { margin-top: 2rem; font-weight: 800; }
/* Reines Textmaß liegt bei 21 px und damit unter der 24-px-Mindestgröße
   für Bedienelemente (WCAG 2.5.8). Etwas Innenabstand hebt die Trefferfläche. */
.expert-policy-link a { display: inline-block; padding-block: 4px; }
/* 12rem ergaben bei vier Karten Spalten von 202 px — darin brach "Ausgangslage"
   mitten im Wort um ("AUSGA / NGSLA / GE"). 15rem lässt vier Karten erst ab rund
   1000 px Textbreite nebeneinander stehen und bricht sonst sauber um. */
.expert-principles { grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
/* Die vier Phasen stehen in der schmalen Artikelspalte (rund 865 px). Drei
   nebeneinander und eine allein darunter sieht nach Fehler aus — zwei mal zwei
   ist die ruhigere Aufteilung und lässt den Überschriften Platz. */
.expert-principles--phasen { grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); }
.expert-principles > article { min-height: 0; }
.expert-principles b { color: var(--accent-strong); font-size: 1.6rem; }
/* Eigener Grad für die schmalen Phasen-Karten: die gemeinsame Regel weiter oben
   ist für die breiten Karten gedacht. Umbruch nur an Leerzeichen. */
.expert-principles h3 {
  font-size: clamp(1.1rem, 1.35vw, 1.45rem);
  overflow-wrap: normal;
  hyphens: manual;
}

.expert-article__header {
  position: relative;
  overflow: hidden;
  padding: clamp(9rem, 14vw, 12rem) 0 clamp(4rem, 8vw, 6.5rem);
  background:
    radial-gradient(circle at 75% 5%, rgba(var(--accent-rgb), .22), transparent 30rem),
    linear-gradient(140deg, #0d0b08, #211a0f);
  color: #fff;
}
.expert-article__hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(22rem, .7fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.expert-article__hero-media { position: relative; min-height: clamp(28rem, 46vw, 42rem); margin: 0; overflow: hidden; border: 1px solid rgba(215,195,148,.38); border-radius: 28px; box-shadow: 0 34px 80px rgba(0,0,0,.3); }
.expert-article__hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 54%, rgba(13,11,8,.4)); }
.expert-article__hero-media img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: center 24%; filter: saturate(.9) contrast(1.03); }
.expert-article__header h1 { max-width: 14ch; margin: .8rem 0 1.4rem; font-size: clamp(3rem, 7.5vw, 6.8rem); line-height: .96; letter-spacing: -.06em; }
.expert-article__dek { max-width: 52rem; font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.6; color: rgba(255,255,255,.76); }
.expert-article__meta { display: flex; flex-wrap: wrap; gap: .7rem 1.4rem; margin-top: 2rem; color: rgba(255,255,255,.6); font-size: .88rem; }
.expert-article__layout { display: grid; grid-template-columns: minmax(0, 1fr) 19rem; gap: clamp(2rem, 6vw, 6rem); align-items: start; padding-top: clamp(3rem, 7vw, 6rem); padding-bottom: clamp(5rem, 10vw, 9rem); }
.expert-article__body { min-width: 0; max-width: 54rem; }
.expert-article__body > h2 { margin: clamp(3rem, 7vw, 5rem) 0 1rem; font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.04em; }
.expert-article__body > p,
.expert-checklist p,
.expert-bullets { font-size: 1.08rem; line-height: 1.8; color: var(--cd-text-body, #5d5549); }
.answer-box { padding: clamp(1.6rem, 4vw, 3rem); border: 1px solid rgba(155,116,26,.22); border-left: .45rem solid var(--accent-strong); border-radius: 0 22px 22px 0; background: linear-gradient(145deg, #fffdf7, #f1e4ca); box-shadow: 0 28px 64px -48px rgba(20,17,12,.5); }
.answer-box h2 { margin: .6rem 0 1rem; font-size: clamp(1.65rem, 3.5vw, 2.6rem); line-height: 1.12; }
.answer-box p:last-child { margin-bottom: 0; font-size: 1.08rem; line-height: 1.75; }
.expert-checklist { display: grid; gap: 1rem; padding: 0; list-style: none; }
.expert-checklist li { padding: 1.5rem 1.7rem; border: 1px solid rgba(20,17,12,.12); border-radius: 16px; background: rgba(255,255,255,.72); }
.expert-checklist h3 { margin: 0 0 .5rem; }
.expert-checklist p { margin: 0; }
.expert-table-wrap { overflow-x: auto; border: 1px solid rgba(20,17,12,.14); border-radius: 18px; background: rgba(255,255,255,.76); box-shadow: 0 24px 56px -44px rgba(20,17,12,.46); }
.expert-table { width: 100%; border-collapse: collapse; min-width: 40rem; }
.expert-table th, .expert-table td { padding: 1rem; border-bottom: 1px solid #e1e6e2; text-align: left; vertical-align: top; line-height: 1.5; }
.expert-table th { background: #17130d; color: #fff; }
.expert-table tr:last-child td { border-bottom: 0; }
.expert-quote { margin: 2rem 0; padding: clamp(1.6rem, 4vw, 3rem); border-radius: 22px; background: linear-gradient(135deg, #0f0d09, #2b2112); color: #fff; box-shadow: 0 28px 70px -38px rgba(0,0,0,.62); font-size: clamp(1.35rem, 2.8vw, 2rem); line-height: 1.45; }
.expert-formula { margin: 2rem 0; padding: 2rem; border: 1px solid rgba(155,116,26,.28); border-radius: 18px; background: linear-gradient(145deg, #fffdf8, #f2e5cc); }
.expert-formula span { display: block; margin-bottom: .6rem; color: var(--accent-strong); font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.expert-formula strong { display: block; font-size: clamp(1.2rem, 2.5vw, 1.75rem); }
.expert-bullets { display: grid; gap: .75rem; padding-left: 1.3rem; }
.source-panel { margin: 4rem 0 2rem; padding: 2rem; border: 1px solid rgba(20,17,12,.12); border-radius: 20px; background: #f3ede2; }
.source-panel h2 { margin-top: 0; }
.source-panel li { margin: .7rem 0; line-height: 1.6; overflow-wrap: anywhere; }
.expert-author { display: grid; grid-template-columns: 9rem 1fr; gap: 1.5rem; margin: 3rem 0; padding: 1.5rem; border: 1px solid rgba(20,17,12,.13); border-radius: 22px; background: #fffdf8; box-shadow: 0 24px 58px -44px rgba(20,17,12,.5); }
.expert-author img { width: 9rem; height: 11rem; object-fit: cover; border-radius: 14px; }
.expert-author h2 { margin: .2rem 0 .6rem; }
.expert-author p { color: var(--cd-text-body, #5d5549); line-height: 1.65; }
.expert-author__meta { font-size: .85rem; }
.expert-author__links { display: flex; flex-wrap: wrap; gap: .8rem 1.4rem; font-weight: 800; }
.expert-article__rail { position: sticky; top: 7rem; padding: 1.7rem; border: 1px solid rgba(215,195,148,.28); border-top: .35rem solid var(--accent); border-radius: 8px 8px 22px 22px; background: linear-gradient(145deg, #0f0d09, #2b2112); color: #fff; box-shadow: 0 28px 70px -40px rgba(0,0,0,.65); }
.expert-article__rail > span { color: var(--accent); text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; font-weight: 800; }
/* 1,7rem waren breiter als die 248-px-Spalte: "Wettkampfvorbereitung" stand
   über den rechten Rand hinaus. Kleinerer Grad, und als Netz ein Umbruch,
   falls ein noch längeres Wort kommt. */
.expert-article__rail h2 { margin: .8rem 0; font-size: clamp(1.2rem, 1.2vw, 1.4rem); overflow-wrap: break-word; }
.expert-article__rail p { color: rgba(255,255,255,.72); line-height: 1.6; }
.expert-article__rail .button { margin-top: 1rem; }

.expert-profile-grid h2 { max-width: 17ch; font-size: clamp(2.2rem, 5vw, 4.5rem); line-height: 1; }
.expert-profile-grid p { color: rgba(255,255,255,.72); font-size: 1.05rem; line-height: 1.75; }
.expert-profile-grid aside { padding: 2rem; border: 1px solid rgba(255,255,255,.17); }
.expert-profile-grid aside > span { color: var(--accent); font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.expert-profile-grid__note { padding-left: 1rem; border-left: 3px solid var(--accent); }
.external-proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.page-editorial-policy .legal-stack { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
.page-editorial-policy .legal-card { position: relative; overflow: hidden; min-height: 14rem; padding: clamp(1.7rem, 3vw, 2.6rem); border: 1px solid rgba(20,17,12,.12); border-radius: 20px; background: linear-gradient(145deg, #fffefa, #f5ecdd); box-shadow: 0 28px 64px -48px rgba(20,17,12,.5); }
.page-editorial-policy .legal-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: linear-gradient(180deg, var(--accent), var(--accent-strong)); }
.page-editorial-policy .legal-card h2 { font-size: clamp(1.35rem, 2.1vw, 2rem); line-height: 1.05; }
.page-editorial-policy .legal-card p { margin-top: 1rem; max-width: 68ch; }

@media (max-width: 860px) {
  .expert-hero__grid,
  .expert-profile-grid,
  .expert-article__layout,
  .expert-article__hero-grid { grid-template-columns: 1fr; }
  .expert-card-grid,
  .external-proof-grid { grid-template-columns: 1fr; }
  .expert-card { min-height: 0; }
  .expert-article__rail { position: static; order: -1; }
  .expert-article__hero-media { min-height: 25rem; }
  .page-editorial-policy .legal-stack { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .expert-author { grid-template-columns: 1fr; }
  .expert-author img { width: 7rem; height: 8.5rem; }
}

/* ============================================================
   12-Wochen-Programm (/fit-werden/)
   Helle Premium-Seite: Fließtext dunkel auf Beige, das Angebot
   als dunkle Karte zum Kontrast. Alle Farben stehen explizit,
   damit keine fremde Seitenregel sie umfärbt.
   ============================================================ */

.page-offer-40 .offer40-timeline {
  position: relative;
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0 0 0 4px;
  list-style: none;
}

/* Verbindungslinie, die beim Einblenden von oben nach unten wächst. */
.page-offer-40 .offer40-timeline::before {
  content: "";
  position: absolute;
  top: 26px;
  bottom: 26px;
  left: 30px;
  width: 2px;
  background: linear-gradient(180deg, rgba(155, 116, 26, 0.42), rgba(155, 116, 26, 0.08));
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 900ms cubic-bezier(0.22, 0.61, 0.36, 1) 120ms;
}

.page-offer-40 .offer40-timeline:has(.is-visible)::before {
  transform: scaleY(1);
}

.page-offer-40 .offer40-timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 18px;
  align-items: start;
  padding: 22px 24px;
  border: 1px solid rgba(42, 33, 18, 0.12);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.96), rgba(251, 248, 241, 0.9));
  box-shadow: 0 20px 44px -34px rgba(20, 17, 12, 0.5);
  transition-delay: var(--offer40-delay, 0ms);
}

.page-offer-40 .offer40-timeline__marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid rgba(155, 116, 26, 0.34);
  background: linear-gradient(115deg, #fff1b8 0%, #d7c394 43%, #b68727 100%);
  color: #4a3208;
  font-size: 1.05rem;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}

.page-offer-40 .offer40-timeline__body h3 {
  margin: 4px 0 8px;
  color: #19150e;
}

.page-offer-40 .offer40-timeline__body p {
  margin: 0;
  color: rgba(25, 21, 14, 0.78);
}

/* ---- Preisblock ---- */

.page-offer-40 .offer40-price {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  align-items: start;
  width: 100%;
  min-width: 0;
  max-width: 1040px;
  margin-inline: auto;
}

@media (min-width: 900px) {
  .page-offer-40 .offer40-price {
    grid-template-columns: 1fr 1.05fr;
    gap: 26px;
  }
}

.page-offer-40 .offer40-price__breakdown {
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid rgba(42, 33, 18, 0.12);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.96), rgba(247, 242, 232, 0.9));
}

.page-offer-40 .offer40-price__heading {
  margin: 0 0 18px;
  color: #19150e;
  font-size: 1.02rem;
}

.page-offer-40 .offer40-price__lines {
  margin: 0;
}

.page-offer-40 .offer40-price__line {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(42, 33, 18, 0.1);
}

.page-offer-40 .offer40-price__line dt {
  color: rgba(25, 21, 14, 0.82);
}

.page-offer-40 .offer40-price__line dd {
  margin: 0;
  color: #19150e;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.page-offer-40 .offer40-price__line--sum {
  border-bottom: 0;
  margin-top: 6px;
  padding-top: 18px;
  border-top: 2px solid rgba(155, 116, 26, 0.28);
}

.page-offer-40 .offer40-price__line--sum dt,
.page-offer-40 .offer40-price__line--sum dd {
  color: #19150e;
  font-weight: 900;
}

.page-offer-40 .offer40-price__offer {
  position: relative;
  overflow: hidden;
  padding: clamp(26px, 3.2vw, 38px);
  border: 1px solid rgba(215, 195, 148, 0.3);
  border-radius: 26px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.2), transparent 42%),
    linear-gradient(160deg, #16161a 0%, #0b0b0d 62%, #131318 100%);
  box-shadow: 0 44px 90px -50px rgba(0, 0, 0, 0.85);
}

.page-offer-40 .offer40-price__tag {
  display: inline-block;
  margin-bottom: 16px;
  color: #f2dfa8;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.page-offer-40 .offer40-price__was {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  margin: 0 0 4px;
  /* Erbt sonst die dunkle Schriftfarbe der hellen Seite in die dunkle Karte. */
  color: rgba(255, 253, 248, 0.72);
}

.page-offer-40 .offer40-price__strike {
  position: relative;
  color: rgba(255, 253, 248, 0.62);
  font-size: 1.1rem;
  font-weight: 700;
}

/* Der Strich zieht sich beim Einblenden durch den alten Preis. */
.page-offer-40 .offer40-price__strike::after {
  content: "";
  position: absolute;
  top: 52%;
  left: -2px;
  right: -2px;
  height: 2px;
  background: #f2dfa8;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 620ms cubic-bezier(0.22, 0.61, 0.36, 1) 420ms;
}

.page-offer-40 .offer40-price.is-visible .offer40-price__strike::after {
  transform: scaleX(1);
}

.page-offer-40 .offer40-price__save {
  color: #f2dfa8;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.page-offer-40 .offer40-price__amount {
  margin: 0;
  color: #fffdf8;
  font-size: clamp(3rem, 7vw, 4.4rem);
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.page-offer-40 .offer40-price__rate {
  margin: 6px 0 22px;
  color: rgba(255, 253, 248, 0.84);
}

.page-offer-40 .offer40-price__includes {
  display: grid;
  gap: 10px;
  margin: 0 0 26px;
  padding: 0;
  list-style: none;
}

.page-offer-40 .offer40-price__includes li {
  position: relative;
  padding-left: 28px;
  color: rgba(255, 253, 248, 0.9);
}

.page-offer-40 .offer40-price__includes li::before {
  content: "";
  position: absolute;
  top: 0.62em;
  left: 4px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #d7c394;
}

.page-offer-40 .offer40-price__cta {
  width: 100%;
  justify-content: center;
  min-height: 52px;
}

.page-offer-40 .offer40-price__note {
  margin: 14px 0 0;
  color: rgba(255, 253, 248, 0.72);
  font-size: 0.86rem;
}

@media (prefers-reduced-motion: reduce) {
  .page-offer-40 .offer40-timeline::before,
  .page-offer-40 .offer40-price__strike::after {
    transform: none;
    transition: none;
  }

  .page-offer-40 .offer40-timeline__item {
    transition-delay: 0ms;
  }
}

.page-offer-40 .offer40-disclaimer {
  margin-top: 18px;
  color: rgba(25, 21, 14, 0.62);
  font-size: 0.84rem;
}

/* ============================================================
   MEMBER AREA
   Zugang zur Camp Dörfl App im Browser (/member/).
   Das Login-Fenster folgt dem Login-Screen der App (app/login.tsx):
   Gold auf Weiß, 1px goldgetönte Linien, Radius 8, Feather-Icons.
   Für Fließtext und Verweise wird das dunklere Gold benutzt, damit
   der Kontrast auf Weiß lesbar bleibt.
   ============================================================ */

@media (min-width: 980px) {
  /* Gold wie die Einloggen-Schaltfläche im Login-Fenster, das dieser Knopf
     öffnet — und kräftig genug, um sich von der goldenen Leiste abzuheben. */
  .nav-extras .nav-action--member {
    display: inline-flex;
    align-items: center;
    color: #1a1206;
    border: 1px solid #a9781a;
    background: linear-gradient(180deg, #ffd76b 0%, #e8b53c 52%, #cf9a22 100%);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.6),
      0 10px 20px -14px rgba(120, 82, 4, 0.9);
  }

  .nav-extras .nav-action--member:hover,
  .nav-extras .nav-action--member:focus-visible,
  .nav-extras .nav-action--member.is-active {
    border-color: #8f6410;
    background: linear-gradient(180deg, #ffe28c 0%, #f0c04c 52%, #d9a527 100%);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.7),
      0 14px 24px -14px rgba(120, 82, 4, 0.95);
  }
}

.member-login[hidden],
.member-login__backdrop[hidden],
.member-login__dialog[hidden],
.member-login__notice[hidden],
.member-login__error[hidden] {
  display: none;
}

.member-login {
  position: fixed;
  inset: 0;
  z-index: 1500;
  display: grid;
  place-items: center;
  padding: clamp(12px, 3vw, 28px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.member-login__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(12, 10, 7, 0.66);
  backdrop-filter: blur(9px) saturate(115%);
  -webkit-backdrop-filter: blur(9px) saturate(115%);
  animation: member-login-fade 220ms ease both;
}

.member-login__dialog {
  position: relative;
  z-index: 1;
  width: min(480px, 100%);
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  padding: clamp(22px, 3.4vw, 32px);
  border: 1px solid rgba(156, 111, 36, 0.24);
  border-radius: 8px;
  background: #fff;
  box-shadow:
    0 44px 96px -46px rgba(20, 17, 12, 0.62),
    0 2px 0 rgba(255, 255, 255, 0.7) inset;
  animation: member-login-rise 280ms cubic-bezier(0.2, 0.72, 0.28, 1) both;
}

.member-login__close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(156, 111, 36, 0.18);
  border-radius: 8px;
  background: #fff;
  color: #6f675a;
  cursor: pointer;
  transition:
    color 160ms ease,
    border-color 160ms ease,
    background 160ms ease;
}

.member-login__close:hover,
.member-login__close:focus-visible {
  color: #1d1913;
  border-color: rgba(156, 111, 36, 0.38);
  background: rgba(212, 167, 78, 0.1);
}

.member-login__hero {
  display: grid;
  justify-items: center;
  text-align: center;
}

.member-login__logo {
  display: grid;
  place-items: center;
  width: 116px;
  height: 116px;
  border: 1px solid rgba(156, 111, 36, 0.24);
  border-radius: 8px;
  background: rgba(212, 167, 78, 0.05);
}

.member-login__logo img {
  width: 96px;
  height: 96px;
  object-fit: contain;
}

.member-login__eyebrow {
  margin: 16px 0 0;
  color: #9b741a;
  font-family: var(--font-sans);
  font-size: 0.8rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.4;
  text-transform: uppercase;
}

/* Die Überschriften der Marketingseiten sind kursiv und in Versalien gesetzt.
   Das Login-Fenster folgt der App: aufrecht, gemischte Schreibweise. */
.member-login__dialog h2 {
  margin: 7px 0 0;
  color: #1d1913;
  font-family: var(--font-sans);
  font-size: clamp(26px, 2.6vw, 33px);
  font-style: normal;
  font-weight: 800;
  line-height: 1.18;
  text-transform: none;
}

.member-login__lead {
  max-width: 38ch;
  margin: 10px 0 0;
  color: #6f675a;
  font-size: 0.96rem;
  line-height: 1.55;
}

.member-login__form {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}

.member-login__label {
  display: block;
  margin-bottom: 8px;
  color: #1d1913;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.member-login__input {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 14px;
  border: 1px solid rgba(156, 111, 36, 0.2);
  border-radius: 8px;
  background: #fffdf9;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    background 160ms ease;
}

.member-login__input:focus-within {
  border-color: rgba(212, 167, 78, 0.85);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(212, 167, 78, 0.18);
}

.member-login__input input {
  flex: 1;
  min-width: 0;
  padding: 12px 0;
  border: 0;
  background: none;
  color: #1d1913;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.4;
  outline: none;
}

.member-login__input input::placeholder {
  color: rgba(109, 101, 88, 0.56);
}

.member-login__icon {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  color: #6f675a;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.member-login__reveal {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: none;
  color: #9b741a;
  cursor: pointer;
  transition: background 160ms ease;
}

.member-login__reveal:hover,
.member-login__reveal:focus-visible {
  background: rgba(212, 167, 78, 0.14);
}

.member-login__reveal .member-login__icon {
  color: inherit;
}

.member-login__options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  margin-top: 2px;
}

.member-login__remember {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #3d352b;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
}

.member-login__remember input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.member-login__checkbox {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border: 1px solid rgba(212, 167, 78, 0.46);
  border-radius: 8px;
  color: transparent;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    box-shadow 160ms ease;
}

.member-login__checkbox .member-login__icon {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  color: inherit;
  stroke-width: 2.4;
}

.member-login__remember input:checked + .member-login__checkbox {
  border-color: #d4a74e;
  background: #d4a74e;
  color: #111113;
}

.member-login__remember input:focus-visible + .member-login__checkbox {
  box-shadow: 0 0 0 3px rgba(212, 167, 78, 0.3);
}

.member-login__link {
  padding: 0;
  border: 0;
  background: none;
  color: #9b741a;
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 700;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.member-login__link:hover,
.member-login__link:focus-visible {
  color: #7d5c11;
}

.member-login__link[disabled] {
  color: #9a9184;
  cursor: progress;
  text-decoration: none;
}

.member-login__notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid rgba(212, 167, 78, 0.32);
  border-radius: 8px;
  background: rgba(212, 167, 78, 0.11);
  color: #3d352b;
  font-size: 0.9rem;
  line-height: 1.5;
}

.member-login__error {
  display: grid;
  gap: 3px;
  padding: 12px 14px;
  border: 1px solid rgba(182, 74, 60, 0.34);
  border-radius: 8px;
  background: rgba(182, 74, 60, 0.08);
  color: #7c2d22;
  font-size: 0.9rem;
  line-height: 1.5;
}

.member-login__error strong {
  color: #6f2117;
  font-weight: 800;
}

.member-login__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 54px;
  margin-top: 4px;
  padding: 0 18px;
  border: 1px solid #c79a3f;
  border-radius: 8px;
  background: linear-gradient(180deg, #e2bd70 0%, #d4a74e 100%);
  color: #111113;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  cursor: pointer;
  box-shadow: 0 20px 34px -24px rgba(155, 116, 26, 0.95);
  transition:
    transform 160ms ease,
    box-shadow 160ms ease,
    filter 160ms ease;
}

.member-login__submit:hover,
.member-login__submit:focus-visible {
  transform: translateY(-1px);
  filter: brightness(1.04);
  box-shadow: 0 24px 38px -24px rgba(155, 116, 26, 0.95);
}

.member-login__submit .member-login__icon {
  color: #111113;
  stroke-width: 2;
}

.member-login__submit.is-busy {
  opacity: 0.72;
  cursor: progress;
  transform: none;
}

.member-login__submit.is-busy .member-login__submit-icon {
  animation: member-login-tick 1.6s linear infinite;
}

.member-login__foot {
  display: grid;
  gap: 9px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(156, 111, 36, 0.16);
}

.member-login__hint {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0;
  color: #6f675a;
  font-size: 0.82rem;
  line-height: 1.5;
}

.member-login__hint .member-login__icon {
  margin-top: 2px;
  color: #9b741a;
}

.member-login__access {
  margin: 0;
  color: #6f675a;
  font-size: 0.84rem;
  line-height: 1.55;
}

.member-login__access strong {
  color: #1d1913;
}

.member-login__access a {
  color: #9b741a;
  font-weight: 700;
  text-underline-offset: 3px;
}

.member-login__build {
  margin: 0;
  color: rgba(109, 101, 88, 0.74);
  font-size: 0.74rem;
  letter-spacing: 0.05em;
}

body.member-login-open {
  overflow: hidden;
}

/* ── Login am Desktop ──────────────────────────────────────────────────────
   Bis hierher ist das Fenster die Ansicht der App: eine Spalte, 480 px breit,
   Logo über dem Formular. Auf einem Telefon ist das genau richtig.

   Am Rechner steht dieselbe Spalte verloren in der Mitte eines 27-Zoll-Bild-
   schirms — und daneben bleibt die Fläche leer, auf der man erklären könnte,
   wofür man sich überhaupt anmeldet. Ab 900 px wird daraus ein zweispaltiges
   Fenster: links die Marke und was drin ist, rechts das Formular.

   Alles darunter bleibt unverändert. Die App ist nicht betroffen — sie lädt
   diese Datei nicht. */

.member-login__points {
  display: none;
}

@media (min-width: 900px) {
  .member-login__dialog {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1fr);
    grid-template-areas:
      "aside form"
      "aside foot";
    align-content: start;
    column-gap: clamp(28px, 3.4vw, 48px);
    row-gap: 0;
    width: min(940px, 100%);
    padding: 0;
    /* Kein `overflow: hidden` hier.
       Es hätte die abgerundeten Ecken sauber beschnitten — und zugleich das
       Scrollen abgeschaltet, das die Grundregel darüber setzt. Auf einem
       Notebook mit 620 px Höhe war damit der untere Rand des Fensters
       unerreichbar: dritter Punkt und Versionshinweis abgeschnitten, ohne
       Möglichkeit hinzukommen. Die Ecken übernimmt jetzt die linke Spalte
       selbst. */
  }

  .member-login__aside {
    grid-area: aside;
    display: grid;
    align-content: center;
    gap: 26px;
    /* Eigene Fläche statt nur Abstand: Die warme Tönung trennt Marke und
       Formular deutlicher als eine Linie und trägt den Goldton der Seite. */
    padding: clamp(34px, 3.6vw, 46px);
    border-right: 1px solid rgba(156, 111, 36, 0.16);
    /* Die Ecken der Spalte statt der des Fensters — siehe oben. Ein Pixel
       weniger als die 8 px des Rahmens, damit die Tönung nicht über die
       Rundung hinausläuft. */
    border-radius: 7px 0 0 7px;
    background:
      linear-gradient(168deg, rgba(212, 167, 78, 0.16), rgba(212, 167, 78, 0.04) 64%),
      #fffcf6;
  }

  .member-login__hero {
    justify-items: start;
    text-align: left;
  }

  .member-login__lead {
    max-width: 34ch;
  }

  .member-login__points {
    display: grid;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .member-login__points li {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: start;
    gap: 11px;
  }

  .member-login__points .member-login__icon {
    width: 22px;
    height: 22px;
    padding: 4px;
    border-radius: 999px;
    background: rgba(212, 167, 78, 0.18);
    color: #8a6716;
  }

  .member-login__points strong {
    display: block;
    margin-bottom: 2px;
    color: #1d1913;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.35;
  }

  .member-login__points span {
    color: #6f675a;
    font-size: 0.87rem;
    line-height: 1.5;
  }

  .member-login__form {
    grid-area: form;
    margin-top: 0;
    padding: clamp(38px, 3.6vw, 50px) clamp(34px, 3.4vw, 46px) 0;
    align-content: start;
  }

  .member-login__foot {
    grid-area: foot;
    padding: 0 clamp(34px, 3.4vw, 46px) clamp(30px, 3vw, 40px);
  }

  /* Das Kreuz sitzt über der hellen Formularspalte, nicht über der Tönung. */
  .member-login__close {
    top: 16px;
    right: 16px;
  }
}

@keyframes member-login-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes member-login-rise {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes member-login-tick {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 600px) {
  .member-login__dialog {
    padding: 22px 18px 20px;
  }

  .member-login__logo {
    width: 96px;
    height: 96px;
  }

  .member-login__logo img {
    width: 78px;
    height: 78px;
  }

  .member-login__options {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .member-login__backdrop,
  .member-login__dialog {
    animation: none;
  }

  .member-login__submit,
  .member-login__close,
  .member-login__input {
    transition: none;
  }

  .member-login__submit.is-busy .member-login__submit-icon {
    animation: none;
  }
}

/* ============================================================
   SPRACHWAHL MIT FLAGGEN
   Steht direkt neben der Wortmarke. Die Flagge trägt die Bedeutung,
   der Name der Sprache bleibt als unsichtbarer Text für Screenreader.
   ============================================================ */

.language-switcher--brand {
  display: inline-flex;
  gap: 2px;
  margin-right: auto;
  margin-left: clamp(8px, 1.2vw, 16px);
  padding: 3px;
  border-radius: 11px;
  background: rgba(38, 31, 20, 0.05);
}

.language-switcher--brand .language-switcher__button {
  display: inline-grid;
  place-items: center;
  min-width: 34px;
  min-height: 30px;
  padding: 3px 5px;
  border-radius: 8px;
  opacity: 0.55;
  transition:
    opacity 160ms ease,
    background 160ms ease,
    box-shadow 160ms ease;
}

.language-switcher--brand .language-switcher__button:hover,
.language-switcher--brand .language-switcher__button:focus-visible {
  opacity: 1;
}

.language-switcher--brand .language-switcher__button.is-active {
  opacity: 1;
  background: rgba(255, 253, 239, 0.86);
  box-shadow: 0 5px 14px -11px rgba(38, 28, 10, 0.65);
}

.language-switcher__flag {
  display: block;
  width: 24px;
  height: 16px;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(21, 18, 11, 0.16);
}

.language-switcher__name {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip-path: inset(50%);
}

@media (max-width: 979px) {
  .language-switcher--brand {
    margin-right: 0;
  }
}

/* ============================================================
   APP-SEITE — Testphase und Preis im Einstieg
   Steht bewusst zwischen Kurztext und den Store-Schaltflächen:
   die kaufentscheidende Information, bevor jemand weiterklickt.
   ============================================================ */

.app-hero-offer {
  display: inline-grid;
  gap: 3px;
  max-width: 30rem;
  /* Der Einstieg der App-Seite ist zentriert, der Text im Block bleibt aber
     linksbündig — sonst bricht die Goldlinie den Rhythmus. */
  margin: 22px auto 0;
  padding: 14px 0 14px 18px;
  border-left: 3px solid var(--accent);
  text-align: left;
}

.app-hero-offer strong {
  color: #fffdf8;
  font-size: clamp(1.05rem, 1.5vw, 1.28rem);
  font-weight: 800;
  letter-spacing: -0.005em;
}

.app-hero-offer span {
  color: rgba(255, 253, 248, 0.78);
  font-size: 0.95rem;
  line-height: 1.55;
}

@media (max-width: 760px) {
  .app-hero-offer {
    margin-top: 18px;
    padding: 12px 0 12px 14px;
  }
}

/* ============================================================
   NAVIGATION NACH KATEGORIEN
   Menü und Fußzeile führen dieselbe Gliederung (src/data.mjs,
   navCategories), damit die Auswahl nicht in einer langen Liste endet.
   ============================================================ */

.site-nav__directory {
  display: grid;
  gap: 18px;
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.site-nav__directory-title {
  margin: 0;
  color: rgba(255, 253, 248, 0.58);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.site-nav__group {
  display: grid;
  gap: 8px;
}

.site-nav__group-title {
  margin: 0;
  color: var(--accent);
  font-family: var(--font-sans);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-transform: uppercase;
}

.site-nav__group-links {
  display: grid;
  gap: 2px;
}

.site-nav__group-links a {
  display: block;
  padding: 9px 12px;
  border-radius: 10px;
  color: rgba(255, 253, 248, 0.78);
  font-size: 0.92rem;
  font-weight: 620;
  line-height: 1.35;
}

.site-nav__group-links a:hover,
.site-nav__group-links a:focus-visible,
.site-nav__group-links a.is-active {
  color: #fffdf8;
  background: rgba(255, 255, 255, 0.08);
}

.footer-nav-groups {
  display: grid;
  gap: 22px;
}

.footer-nav-group {
  display: grid;
  align-content: start;
  gap: 6px;
}

.footer-nav-group h3 {
  margin: 0;
  color: var(--accent);
  font-family: var(--font-sans);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
}

/* Die Kategorien stehen selbst schon nebeneinander — innerhalb einer Kategorie
   bleiben die Seiten deshalb untereinander, sonst zerfällt die Fußzeile in ein
   Raster aus halben Zeilen. Gewicht schlägt hier die Regel aus mobile-overrides.css. */
.page-premium .footer-nav-group .footer-nav-links,
.footer-nav-group .footer-nav-links {
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 2px;
}

@media (min-width: 760px) {
  .footer-nav-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 30px;
  }
}

/* Zwischen 980 und 1400 px wird die Leiste eng: sechs Hauptpunkte mit dem
   vollen Namen "Personal Training Nürnberg", Sprachwahl, App, Member und
   Anfragen. Hier rücken die Elemente zusammen, statt dass die Anfragen-
   Schaltfläche über den Rand läuft. */
/* Unter 1200 px reicht die Zeile nicht für sechs Hauptpunkte, Sprachwahl und
   drei Schaltflächen. Die App-Schaltfläche entfällt dort zuerst: Die Camp Dörfl
   App steht weiterhin im Menü, in der Fußzeile und in den Einstiegen auf der
   Startseite — Member-Zugang und Anfrage haben in der Leiste Vorrang. */
@media (min-width: 980px) and (max-width: 1339px) {
  .nav-extras .nav-action--app {
    display: none;
  }

  .site-nav__entry {
    font-size: 0.78rem;
  }

  .nav-extras .nav-action--member,
  .nav-extras .nav-action--contact {
    min-width: 0;
    padding-inline: 9px;
  }

  .language-switcher--brand {
    margin-left: 4px;
    padding: 2px;
  }

  .language-switcher--brand .language-switcher__button {
    min-width: 26px;
    padding-inline: 3px;
  }

  .language-switcher__flag {
    width: 21px;
    height: 14px;
  }
}

@media (min-width: 980px) and (max-width: 1400px) {
  .site-nav__entry {
    padding-inline: 8px;
  }

  .site-nav {
    gap: 4px;
  }

  .nav-extras {
    gap: 5px;
    padding-left: 8px;
  }

  .nav-action {
    padding-inline: 10px;
  }

  .language-switcher--brand {
    margin-left: 6px;
  }

  .language-switcher--brand .language-switcher__button {
    min-width: 30px;
  }
}

/* Ortsname in der Leiste erst ab genügend Breite (siehe desktopLabels in
   src/components.mjs). Im Menü und in der Fußzeile steht er immer. */
@media (max-width: 1339px) {
  .site-nav__label-city {
    display: none;
  }
}

/* ============================================================
   LEISTUNGS-SLIDESHOW (Startseite)
   Fasst alle Angebote noch einmal durchblätterbar zusammen —
   eine Leistung pro Folie, mit mehr Tiefe als die Kacheln oben.
   Ohne JavaScript bleibt die Spur horizontal scrollbar.
   ============================================================ */

.path-slider {
  margin-top: clamp(26px, 3.4vw, 44px);
}

.path-slider__frame {
  overflow: hidden;
}

.path-slider__track {
  display: flex;
  gap: clamp(14px, 1.6vw, 22px);
  margin: 0;
  padding: 4px;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.path-slider__track::-webkit-scrollbar {
  display: none;
}

.path-slide {
  display: grid;
  flex: 0 0 100%;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  gap: clamp(22px, 3.2vw, 52px);
  align-items: center;
  min-height: clamp(260px, 24vw, 330px);
  padding: clamp(24px, 3.2vw, 46px);
  border: 1px solid rgba(155, 116, 26, 0.36);
  border-radius: 20px;
  background: linear-gradient(152deg, #fffdf7 0%, #f6ead2 100%);
  box-shadow: 0 26px 52px -38px rgba(43, 32, 12, 0.5);
  scroll-snap-align: start;
}

.path-slide__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.path-slide__count {
  margin: 0;
  color: rgba(25, 21, 14, 0.5);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.path-slide__count span {
  color: #7f5c0f;
}

.path-slide__detail {
  margin: 0;
  color: #7f5c0f;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Auf der hellen Folie würden Überschrift und Fließtext sonst die helle
   Grundfarbe der Premium-Seiten erben und wären kaum lesbar. */
.path-slide__title {
  margin: 0;
  color: #19150e;
  font-size: clamp(1.55rem, 2.5vw, 2.3rem);
  line-height: 1.04;
}

.path-slide__text {
  margin: 0;
  max-width: 42ch;
  color: rgba(25, 21, 14, 0.78);
  font-size: clamp(0.98rem, 1.15vw, 1.08rem);
  line-height: 1.6;
}

.path-slide__cta {
  margin-top: 6px;
}

.path-slide__points {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.path-slide__points li {
  position: relative;
  padding: 0 0 12px 26px;
  border-bottom: 1px solid rgba(155, 116, 26, 0.22);
  color: rgba(25, 21, 14, 0.82);
  font-size: 0.97rem;
  line-height: 1.5;
}

.path-slide__points li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.path-slide__points li::before {
  content: "";
  position: absolute;
  top: 0.62em;
  left: 2px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: linear-gradient(140deg, #f2dfa8, #b68727);
}

.path-slider__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 2vw, 22px);
  margin-top: clamp(16px, 2vw, 24px);
}

.path-slider__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(155, 116, 26, 0.42);
  border-radius: 50%;
  background: #fffdf7;
  color: #7f5c0f;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  appearance: none;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.path-slider__arrow:hover {
  border-color: rgba(155, 116, 26, 0.72);
  background: #f6ead2;
  transform: translateY(-1px);
}

.path-slider__dots {
  display: flex;
  align-items: center;
}

/* Der Punkt bleibt klein, die Trefferfläche nicht: 24 × 24 px sind das
   Mindestmaß für Bedienelemente (WCAG 2.5.8). Sichtbar ist nur das ::before. */
.path-slider__dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  cursor: pointer;
  appearance: none;
}

.path-slider__dot::before {
  content: "";
  width: 10px;
  height: 10px;
  border: 1px solid rgba(155, 116, 26, 0.5);
  border-radius: 50%;
  background: transparent;
  transition: background 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.path-slider__dot.is-active::before {
  border-color: #b68727;
  background: #b68727;
  transform: scale(1.2);
}

.path-slider__dot:hover::before {
  border-color: rgba(155, 116, 26, 0.85);
}

.path-slider__arrow:focus-visible,
.path-slider__dot:focus-visible {
  outline: 2px solid #7f5c0f;
  outline-offset: 2px;
}

@media (max-width: 860px) {
  .path-slide {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    min-height: 0;
  }

  .path-slide__text {
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .path-slider__track {
    scroll-behavior: auto;
  }

  .path-slider__arrow,
  .path-slider__dot::before {
    transition: none;
  }
}

/* ============================================================
   COUNTDOWN-PLAKETTE DER KALENDER
   Über einer Woche zählt sie Wochen, darunter Tage, am Tag selbst
   steht die Zielmarke. Die Bodybuilding-Variante (.bbcal-weeks-out)
   bringt ihre eigene Fassung mit; diese hier gilt für Triathlon,
   Lauf, Golf und Boxen.
   ============================================================ */

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

.event-countdown strong {
  color: #17120a;
  font-family: var(--font-cond);
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 900;
  line-height: 0.85;
}

.event-countdown small {
  margin-top: 5px;
  color: #634b17;
  font-size: 0.49rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

/* Die letzte Woche bekommt einen wärmeren Ton — es wird ernst. */
.event-countdown.is-days-out {
  border-color: rgba(155, 87, 26, 0.42);
  background: linear-gradient(135deg, #f7dcae, #e0a962);
}

/* Wettkampftag. */
.event-countdown.is-show-day {
  border-color: rgba(94, 126, 80, 0.48);
  background: linear-gradient(135deg, #dce8c8, #a6bf8c);
}

.event-countdown.is-show-day strong {
  font-size: 1.15rem;
}

/* Vorbei: zurückgenommen, damit die kommenden Termine führen. */
.event-countdown.is-show-over {
  border-color: rgba(20, 18, 13, 0.12);
  background: linear-gradient(135deg, #ece8df, #cfc7b8);
  box-shadow: none;
}

.event-countdown.is-show-over strong {
  font-size: 1.15rem;
}

/* Golf-Karten sind reine Stapel ohne Meta-Spalte: dort steht die
   Plakette links über dem Quellenverweis statt am rechten Rand. */
.golfcal-event .event-countdown {
  align-self: flex-start;
  justify-self: start;
  margin-top: 4px;
}

/* Die Box-Karte bekommt dieselbe rechte Spalte wie die Bodybuilding-Karte. */
.bbcal-event__meta {
  display: grid;
  justify-items: end;
  align-content: space-between;
  gap: 10px;
}

/* ============================================================
   RABATTCODE-KARTE
   Der Code ist der Grund, warum jemand die Seite öffnet — er steht
   deshalb im Einstieg, groß und mit einer Schaltfläche zum Kopieren.
   Der Einstieg ist dunkel, die Karte hält sich an dessen Sprache:
   dunkle Fläche, goldene Schrift.
   ============================================================ */

.code-card {
  display: grid;
  gap: 12px;
  justify-items: start;
  max-width: 30rem;
  margin-top: clamp(20px, 2.4vw, 30px);
  padding: clamp(20px, 2.4vw, 28px);
  border: 1px solid rgba(215, 195, 148, 0.38);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.16), transparent 44%),
    linear-gradient(152deg, rgba(28, 26, 21, 0.96), rgba(14, 13, 11, 0.98));
  box-shadow: 0 30px 60px -38px rgba(0, 0, 0, 0.8);
}

/* Die Überzeile trägt das Gold der Marke; der Code selbst bleibt in der
   hellen Grundfarbe des Einstiegs — dort zählt maximale Lesbarkeit. */
.page-partner .ff-hero .code-card__label,
.code-card__label {
  margin: 0;
  color: #d7c394 !important;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.code-card__value {
  margin: 0;
  color: #f2dfa8;
  font-family: var(--font-cond);
  font-size: clamp(2.4rem, 4.5vw, 3.4rem);
  font-style: italic;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1;
  text-transform: uppercase;
  user-select: all;
}

.code-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.code-card__hint {
  min-height: 1.2em;
  margin: 0;
  font-size: 0.85rem;
}

/* Der Hinweis auf der Partnerseite steht unter dem Sponsorenraster. */
.premium-sponsor-stage__note {
  margin: clamp(18px, 2vw, 26px) 0 0;
  color: rgba(25, 21, 14, 0.72);
  text-align: center;
}

/* ============================================================
   SHOP — Kollektion vorbestellen (/shop/)

   Aufbau wie auf den übrigen Premium-Seiten: dunkler Einstieg,
   danach helles Papier. Die einzige Besonderheit ist die
   Zusammenfassung — sie sieht aus wie ein Warenkorb, ist aber
   eine Vorbestellung. Deshalb steht die Summe dort ohne
   Bezahlknopf, und der Hinweis darunter sagt das auch.
   ============================================================ */

.shop-hero {
  position: relative;
  overflow: hidden;
  margin: -18px 0 0;
  padding: clamp(126px, 15vh, 172px) 0 clamp(52px, 6vw, 84px);
  background:
    radial-gradient(circle at 10% -10%, rgba(215, 195, 148, 0.18), transparent 44%),
    linear-gradient(158deg, #17161b 0%, #0d0d10 56%, #101014 100%);
}

.shop-hero__glow {
  position: absolute;
  right: -12%;
  bottom: -42%;
  width: min(760px, 74vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(215, 195, 148, 0.18), transparent 62%);
  filter: blur(18px);
  pointer-events: none;
}

.shop-hero__shell {
  position: relative;
  z-index: 2;
  display: grid;
  gap: clamp(34px, 5vw, 68px);
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
}

@media (min-width: 1040px) {
  .shop-hero__shell {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr);
  }
}

.shop-hero__eyebrow {
  margin: 0 0 20px;
  color: var(--cd-gold);
  font-family: var(--font-sans);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

.shop-hero__title {
  margin: 0;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  font-size: clamp(2.25rem, 4.7vw, 5.2rem);
  line-height: 0.86;
  letter-spacing: -0.005em;
  color: #fff;
  text-shadow: 0 8px 40px rgba(0, 0, 0, 0.45);
}

.shop-hero__title span { color: var(--cd-gold); }

.shop-hero__lead {
  max-width: 46ch;
  margin-top: 26px;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(1.02rem, 1.2vw, 1.16rem);
  line-height: 1.66;
}

.shop-hero__lead em {
  color: var(--cd-gold);
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.shop-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.shop-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 40px;
  margin-top: clamp(34px, 4vw, 46px);
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.shop-hero__facts div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: rgba(255, 255, 255, 0.64);
  font-size: 0.86rem;
}

.shop-hero__fact-value {
  color: #fff;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  font-size: clamp(1.7rem, 2.4vw, 2.2rem);
  line-height: 1;
}

.shop-hero__mosaic {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(8px, 1vw, 14px);
}

.shop-hero__mosaic > :first-child:nth-last-child(odd) {
  grid-column: span 2;
}

.shop-hero__mosaic > :first-child:nth-last-child(odd) {
  aspect-ratio: 16 / 9;
}

@media (min-width: 1040px) {
  .shop-hero__mosaic {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .shop-hero__mosaic > :first-child:nth-last-child(odd) {
    grid-column: auto;
    grid-row: span 2;
    aspect-ratio: 3 / 8;
  }
}

.shop-hero__tile {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  background: #1a1a1e;
}

.shop-hero__tile img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 12%;
}

@media (max-width: 599px) {
  .shop-hero__mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---- Katalog ---- */

.page-shop .section--muted {
  background: linear-gradient(180deg, rgba(23, 19, 13, 0.04), rgba(23, 19, 13, 0.015));
}

.shop-layout {
  display: grid;
  gap: clamp(28px, 3vw, 46px);
  grid-template-columns: minmax(0, 1fr);
  margin-top: clamp(26px, 3vw, 42px);
}

@media (min-width: 1080px) {
  .shop-layout {
    grid-template-columns: minmax(0, 1fr) 320px;
  }
}

.shop-group + .shop-group { margin-top: clamp(36px, 4vw, 58px); }

.shop-group__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px 20px;
  margin-bottom: clamp(18px, 2vw, 26px);
  padding-bottom: 12px;
  border-bottom: 1px solid var(--hair);
}

.shop-group__title {
  margin: 0;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  font-size: clamp(1.5rem, 2.4vw, 2.1rem);
  line-height: 1;
  color: #17130d;
}

.shop-group__meta {
  margin: 0;
  color: #6b6255;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.shop-catalog {
  container-type: inline-size;
}

.shop-grid {
  --shop-spalte: clamp(16px, 1.8vw, 24px);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--shop-spalte);
}

.shop-grid > * {
  flex: 0 0 100%;
}

@container (min-width: 470px) {
  .shop-grid > * { flex-basis: calc((100% - var(--shop-spalte)) / 2); }
}

@container (min-width: 700px) {
  .shop-grid > * { flex-basis: calc((100% - 2 * var(--shop-spalte)) / 3); }
}

@container (min-width: 950px) {
  .shop-grid > * { flex-basis: calc((100% - 3 * var(--shop-spalte)) / 4); }
}

.shop-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--hair);
  border-radius: 18px;
  background: #fffdf9;
  box-shadow: 0 18px 40px -30px rgba(20, 17, 12, 0.55);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.shop-card:hover,
.shop-card:focus-within {
  transform: translateY(-6px);
  border-color: rgba(155, 116, 26, 0.4);
  box-shadow: 0 30px 60px -34px rgba(20, 17, 12, 0.6);
}

.shop-card__media {
  position: relative;
  aspect-ratio: 2 / 3;
  background: #efece5;
}

.shop-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.shop-zoom {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
}

.shop-zoom:focus-visible {
  outline: 3px solid #9b741a;
  outline-offset: -3px;
}

.shop-zoom__hint {
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 6px 11px;
  border-radius: 999px;
  background: rgba(14, 13, 11, 0.82);
  color: #f2dfa8;
  font-family: var(--font-sans);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: none;
}

.shop-card:hover .shop-zoom__hint,
.shop-zoom:focus-visible .shop-zoom__hint {
  opacity: 1;
  transform: translateY(0);
}

/* Auf Geräten ohne Zeiger gibt es kein Hover — dort steht der Hinweis fest. */
@media (hover: none) {
  .shop-zoom__hint {
    opacity: 1;
    transform: none;
  }
}

/* ---- Großansicht ---- */

.shop-lightbox {
  max-width: none;
  max-height: none;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: hidden;
}

.shop-lightbox::backdrop {
  background: rgba(8, 8, 10, 0.92);
  backdrop-filter: blur(6px);
}

.shop-lightbox__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, 2vw, 28px);
  width: 100%;
  height: 100%;
  padding: clamp(56px, 7vh, 84px) clamp(12px, 3vw, 40px) clamp(20px, 4vh, 40px);
}

.shop-lightbox__figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin: 0;
  min-width: 0;
}

.shop-lightbox__figure img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(100%, 660px);
  max-height: calc(100vh - clamp(150px, 20vh, 210px));
  border-radius: 16px;
  background: #efece5;
  box-shadow: 0 40px 90px -40px rgba(0, 0, 0, 0.9);
}

.shop-lightbox__figure figcaption {
  color: rgba(255, 255, 255, 0.86);
  font-family: var(--font-sans);
  font-size: 0.92rem;
  font-weight: 600;
  text-align: center;
}

.shop-lightbox__close,
.shop-lightbox__step {
  display: grid;
  place-items: center;
  flex: none;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-family: var(--font-sans);
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.shop-lightbox__close:hover,
.shop-lightbox__step:hover,
.shop-lightbox__close:focus-visible,
.shop-lightbox__step:focus-visible {
  border-color: #d7c394;
  background: rgba(215, 195, 148, 0.18);
  color: #f2dfa8;
}

.shop-lightbox__close {
  position: absolute;
  top: clamp(14px, 2.4vh, 26px);
  right: clamp(14px, 3vw, 32px);
  font-size: 1.6rem;
}

.shop-lightbox__step[hidden] { display: none; }

@media (max-width: 720px) {
  .shop-lightbox__inner {
    flex-wrap: wrap;
    align-content: center;
  }

  .shop-lightbox__figure {
    order: -1;
    flex: 1 0 100%;
  }

  .shop-lightbox__figure img {
    max-height: calc(100vh - clamp(210px, 30vh, 280px));
  }
}

.shop-card__tag {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 5px 11px;
  border-radius: 999px;
  background: rgba(14, 13, 11, 0.84);
  color: #f2dfa8;
  font-family: var(--font-sans);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.shop-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 10px;
  padding: clamp(16px, 1.6vw, 20px);
}

.shop-card__title {
  margin: 0;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 1.22rem;
  line-height: 1.04;
  color: #17130d;
}

.shop-card__variant {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #6b6255;
  font-size: 0.85rem;
  font-weight: 600;
}

.shop-card__swatch {
  flex: none;
  width: 14px;
  height: 14px;
  border: 1px solid rgba(23, 19, 13, 0.26);
  border-radius: 50%;
  background: var(--shop-swatch, #ccc);
}

.shop-card__text {
  flex: 1;
  margin: 0;
  color: #5d5549;
  font-size: 0.91rem;
  line-height: 1.6;
}

.shop-card__price {
  margin: 0;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  font-size: 1.66rem;
  line-height: 1;
  color: #17130d;
}

.shop-card__controls {
  display: grid;
  gap: 10px;
}

.shop-card__controls .button {
  justify-content: center;
  width: 100%;
}

.shop-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.shop-field__label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6b6255;
}

.shop-field select {
  appearance: none;
  width: 100%;
  min-height: 50px;
  padding: 0 34px 0 12px;
  border: 1px solid var(--hair-strong);
  border-radius: 10px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.6 6 6.4 11 1.6' fill='none' stroke='%2317130d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 8px;
  color: #17130d;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  font-weight: 600;
}

.page-shop .shop-card__add {
  min-height: 50px;
  padding-inline: 16px;
  font-size: 0.9rem;
}

.shop-card__hint {
  min-height: 1.1em;
  margin: 0;
  color: #0a7a44;
  font-size: 0.79rem;
  font-weight: 600;
}

.shop-card__hint[data-state="warn"] { color: #c5300f; }

/* Elemente mit eigenem display brauchen die Ausnahme ausdrücklich —
   sonst zeigt [hidden] keine Wirkung. */
.shop-summary__list[hidden],
.shop-summary__totals[hidden],
.shop-form__recap-list[hidden],
.shop-form__recap-total[hidden] { display: none; }

/* ---- Zusammenfassung ---- */

.shop-summary__inner {
  display: grid;
  gap: 14px;
  padding: clamp(20px, 2.2vw, 28px);
  border: 1px solid rgba(215, 195, 148, 0.34);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.16), transparent 46%),
    linear-gradient(152deg, rgba(28, 26, 21, 0.97), rgba(14, 13, 11, 0.99));
  box-shadow: 0 30px 60px -38px rgba(0, 0, 0, 0.8);
}

@media (min-width: 1080px) {
  .shop-summary__inner {
    position: sticky;
    top: 104px;
  }
}

.shop-summary__eyebrow {
  margin: 0;
  color: #d7c394;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.shop-summary__title {
  margin: 0;
  color: #fff;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 1.55rem;
  line-height: 1;
}

.shop-summary__empty {
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.9rem;
  line-height: 1.6;
}

.shop-summary__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.shop-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 12px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
}

.shop-line__name {
  color: #fff;
  font-size: 0.93rem;
  font-weight: 700;
}

.shop-line__price {
  color: #f2dfa8;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  font-size: 1.08rem;
  text-align: right;
  white-space: nowrap;
}

.shop-line__qty {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.82rem;
}

.shop-qty {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 8px;
  background: transparent;
  color: #fff;
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}

.shop-qty:hover,
.shop-qty:focus-visible {
  border-color: #d7c394;
  color: #d7c394;
}

.shop-line__count {
  min-width: 2ch;
  color: #fff;
  font-weight: 700;
  text-align: center;
}

.shop-line__remove {
  justify-self: end;
  padding: 0;
  border: 0;
  background: none;
  color: rgba(255, 255, 255, 0.55);
  font-family: var(--font-sans);
  font-size: 0.78rem;
  text-decoration: underline;
  cursor: pointer;
}

.shop-line__remove:hover,
.shop-line__remove:focus-visible { color: #f2dfa8; }

.shop-summary__totals {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.shop-summary__row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.shop-summary__row dt {
  color: rgba(255, 255, 255, 0.66);
  font-size: 0.88rem;
}

.shop-summary__row dd {
  margin: 0;
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
}

.shop-summary__row--total {
  align-items: baseline;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.shop-summary__row--total dt {
  color: #fff;
  font-weight: 700;
}

.shop-summary__row--total dd {
  color: #f2dfa8;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  font-size: 1.45rem;
}

.shop-summary__cta {
  justify-content: center;
  width: 100%;
}

.shop-summary__note {
  margin: 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.77rem;
  line-height: 1.55;
}

/* ---- Leiste am unteren Rand (nur Handy/Tablet) ---- */

.shop-bar {
  position: fixed;
  right: 12px;
  bottom: 12px;
  left: 12px;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(215, 195, 148, 0.34);
  border-radius: 16px;
  background: rgba(13, 12, 10, 0.96);
  box-shadow: 0 24px 48px -24px rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(10px);
}

.shop-bar[hidden] { display: none; }

.shop-bar__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.2;
}

.shop-bar__info strong {
  color: #fff;
  font-size: 0.9rem;
}

.shop-bar__info span {
  color: #d7c394;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  font-size: 1.08rem;
}

.page-shop .shop-bar .button {
  min-height: 46px;
  padding-inline: 18px;
  font-size: 0.9rem;
}

@media (min-width: 1080px) {
  .shop-bar { display: none !important; }
}

/* ---- Vorbestellformular ---- */

.page-shop .shop-order {
  max-width: 1020px;
  margin-inline: auto;
}

.shop-form {
  display: grid;
  gap: clamp(18px, 2vw, 26px);
  margin-top: clamp(26px, 3vw, 40px);
  padding: clamp(20px, 2.6vw, 36px);
  border: 1px solid var(--hair);
  border-radius: 22px;
  background: #fffdf9;
  box-shadow: 0 24px 60px -40px rgba(20, 17, 12, 0.5);
}

.shop-form__recap {
  padding: clamp(14px, 1.6vw, 20px);
  border: 1px dashed rgba(155, 116, 26, 0.4);
  border-radius: 14px;
  background: rgba(215, 195, 148, 0.14);
}

.shop-form__recap-empty {
  margin: 0;
  color: #6b6255;
  font-size: 0.9rem;
}

.shop-form__recap-list {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.shop-form__recap-list li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: #5d5549;
  font-size: 0.91rem;
}

.shop-form__recap-list li strong {
  color: #17130d;
  font-weight: 700;
}

.shop-form__recap-total {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 12px 0 0;
  padding-top: 10px;
  border-top: 1px solid rgba(155, 116, 26, 0.3);
  color: #17130d;
  font-weight: 700;
}

.shop-form__grid {
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 700px) {
  .shop-form__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .shop-form__grid > label:nth-child(-n + 4) { grid-column: span 3; }
  .shop-form__grid > label:nth-child(5) { grid-column: span 2; }
  .shop-form__grid > label:nth-child(6) { grid-column: span 4; }
}

.shop-form label {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.shop-form label > span {
  color: #6b6255;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.shop-form label > span small {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  opacity: 0.72;
}

.shop-form input:not(.contact-form__trap),
.shop-form textarea {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid var(--hair-strong);
  border-radius: 10px;
  background: #fff;
  color: #17130d;
  font-family: var(--font-sans);
  font-size: 0.98rem;
}

.shop-form input:not(.contact-form__trap) { min-height: 50px; }

.shop-form textarea {
  resize: vertical;
  line-height: 1.6;
}

.shop-form input:not(.contact-form__trap):focus-visible,
.shop-form textarea:focus-visible,
.shop-field select:focus-visible {
  border-color: #9b741a;
  outline: 2px solid #9b741a;
  outline-offset: 2px;
}

.shop-form__footer {
  display: grid;
  gap: 18px;
}

.shop-form__trust {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.shop-form__trust-item {
  display: flex;
  gap: 12px;
}

.shop-form__trust-mark {
  flex: none;
  color: #9b741a;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  font-size: 1.1rem;
}

.shop-form__trust-label {
  display: block;
  color: #17130d;
  font-size: 0.71rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.shop-form__trust-item p {
  margin: 4px 0 0;
  color: #5d5549;
  font-size: 0.87rem;
  line-height: 1.55;
}

.shop-form__actions { display: flex; }

.shop-form__actions .button {
  justify-content: center;
  width: 100%;
}

@media (min-width: 720px) {
  .shop-form__actions { justify-content: flex-end; }
  .shop-form__actions .button { width: auto; }
}

.shop-form__status {
  margin: 0;
  font-weight: 600;
}

/* ---- Gutscheine ----
   Ohne Foto trägt der Betrag die Karte. Die Ansicht daneben zeigt einmal,
   wie der Gutschein aussieht — gebaut statt fotografiert, damit sie auf
   jedem Bildschirm scharf bleibt und mit den Marken-Farben mitgeht. */

.shop-voucher-stage {
  display: grid;
  gap: clamp(18px, 2.4vw, 28px);
  margin-bottom: clamp(22px, 2.6vw, 34px);
}

.shop-voucher-stage__sides {
  display: grid;
  gap: clamp(14px, 1.8vw, 22px);
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 680px) {
  .shop-voucher-stage__sides {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.shop-voucher-stage__copy {
  max-width: 62ch;
}

.voucher-preview {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 8px;
  margin: 0;
}

.voucher-preview figcaption {
  color: #6b6255;
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.shop-voucher-stage__copy p {
  margin: 0;
  color: #5d5549;
  font-size: 0.95rem;
  line-height: 1.65;
}

.shop-voucher-stage__note {
  margin-top: 10px !important;
  padding-top: 10px;
  border-top: 1px solid var(--hair);
  color: #6b6255 !important;
  font-size: 0.87rem !important;
}

.voucher-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(12px, 1.6vw, 18px);
  min-height: clamp(240px, 26vw, 320px);
  margin: 0;
  padding: clamp(22px, 3vw, 36px) clamp(18px, 3vw, 40px);
  border-radius: 18px;
  background:
    radial-gradient(circle at 18% 8%, rgba(255, 255, 255, 0.1), transparent 46%),
    linear-gradient(145deg, #4a4744 0%, #232220 42%, #161513 100%);
  box-shadow: 0 30px 64px -38px rgba(0, 0, 0, 0.85);
}

.voucher-card__eyebrow {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-family: var(--font-sans);
  font-size: clamp(0.58rem, 0.9vw, 0.72rem);
  font-weight: 700;
  letter-spacing: 0.22em;
  line-height: 1.4;
  text-align: center;
  text-transform: uppercase;
}

.voucher-card__emblem {
  width: clamp(66px, 9vw, 96px);
  height: auto;
}

.voucher-card__lines {
  display: grid;
  gap: 8px;
  width: 100%;
  max-width: 26rem;
}

.voucher-card__lines span {
  padding: 9px 14px;
  border-radius: 3px;
  background: #fff;
  color: #2f3a37;
  font-family: var(--font-sans);
  font-size: clamp(0.72rem, 1vw, 0.86rem);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.voucher-card__brand {
  margin: clamp(4px, 1vw, 10px) 0 0;
  color: #fff;
  font-family: var(--font-sans);
  font-size: clamp(0.8rem, 1.1vw, 0.95rem);
  font-weight: 700;
  letter-spacing: 0.06em;
}

@container (min-width: 700px) {
  .shop-grid--vouchers > * { flex-basis: calc((100% - 2 * var(--shop-spalte)) / 3); }
}

@container (min-width: 950px) {
  .shop-grid--vouchers > * { flex-basis: calc((100% - 2 * var(--shop-spalte)) / 3); }
}

.shop-voucher {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: clamp(18px, 2vw, 24px);
  border: 1px solid var(--hair);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215, 195, 148, 0.16), transparent 52%),
    #fffdf9;
  box-shadow: 0 18px 40px -30px rgba(20, 17, 12, 0.55);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.shop-voucher:hover,
.shop-voucher:focus-within {
  transform: translateY(-6px);
  border-color: rgba(155, 116, 26, 0.4);
  box-shadow: 0 30px 60px -34px rgba(20, 17, 12, 0.6);
}

.shop-voucher__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.shop-voucher__tag {
  padding: 5px 11px;
  border-radius: 999px;
  background: rgba(14, 13, 11, 0.86);
  color: #f2dfa8;
  font-family: var(--font-sans);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.shop-voucher__detail {
  color: #6b6255;
  font-size: 0.8rem;
  font-weight: 600;
}

.shop-voucher__value {
  margin: 4px 0 0;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  font-size: clamp(2rem, 3vw, 2.5rem);
  line-height: 1;
  color: #17130d;
}

.shop-voucher__title {
  margin: 0;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 1.14rem;
  line-height: 1.08;
  color: #17130d;
}

.shop-voucher__text {
  flex: 1;
  margin: 0;
  color: #5d5549;
  font-size: 0.9rem;
  line-height: 1.6;
}

.page-shop .shop-voucher__add {
  justify-content: center;
  width: 100%;
  min-height: 50px;
  padding-inline: 16px;
  font-size: 0.9rem;
}

/* Vorderseite: der Schriftzug trägt die Karte, darunter Emblem und Kontakt. */

.voucher-card__title {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.01em;
}

.voucher-card--front .voucher-card__emblem {
  width: clamp(78px, 11vw, 118px);
}

.voucher-card__foot {
  display: grid;
  gap: 6px;
  justify-items: center;
  margin-top: clamp(4px, 1vw, 10px);
}

.voucher-card__foot .voucher-card__brand {
  margin: 0;
}

.voucher-card__contact {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--font-sans);
  font-size: clamp(0.58rem, 0.82vw, 0.7rem);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.7;
  text-align: center;
  text-transform: uppercase;
}

/* ---- Was von dieser Karte schon in der Vorbestellung liegt ----
   Hinzufügen und Entfernen gehören an dieselbe Stelle. Ohne diesen Block
   müsste man bis zur Übersicht scrollen, um eine Größe wieder loszuwerden. */

.shop-card__inline {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(155, 116, 26, 0.32);
  border-radius: 12px;
  background: rgba(215, 195, 148, 0.16);
}

.shop-card__inline[hidden] { display: none; }

.shop-card__inline-label {
  margin: 0;
  color: #6b6255;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.shop-card__inline-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}

.shop-card__inline-row + .shop-card__inline-row {
  padding-top: 8px;
  border-top: 1px solid rgba(155, 116, 26, 0.22);
}

.shop-card__inline-size {
  min-width: 2.4em;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(23, 19, 13, 0.86);
  color: #f2dfa8;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
}

.shop-card__inline-qty {
  display: flex;
  align-items: center;
  gap: 6px;
}

.shop-mini {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid rgba(23, 19, 13, 0.28);
  border-radius: 8px;
  background: #fff;
  color: #17130d;
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease;
}

.shop-mini:hover,
.shop-mini:focus-visible {
  border-color: #9b741a;
  color: #9b741a;
}

.shop-card__inline-count {
  min-width: 1.6ch;
  color: #17130d;
  font-weight: 700;
  text-align: center;
}

.shop-card__inline-remove {
  margin-left: auto;
  padding: 4px 10px;
  border: 1px solid rgba(23, 19, 13, 0.24);
  border-radius: 999px;
  background: transparent;
  color: #5d5549;
  font-family: var(--font-sans);
  font-size: 0.76rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.shop-card__inline-remove:hover,
.shop-card__inline-remove:focus-visible {
  border-color: #c5300f;
  background: rgba(197, 48, 15, 0.08);
  color: #c5300f;
}

/* In der Übersicht war „Entfernen“ ein blasser unterstrichener Text und damit
   kaum als Schaltfläche zu erkennen. Jetzt trägt es einen eigenen Rahmen. */
.shop-line__remove {
  padding: 4px 10px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
}

.shop-line__remove:hover,
.shop-line__remove:focus-visible {
  border-color: #f2dfa8;
  background: rgba(242, 223, 168, 0.12);
  color: #f2dfa8;
}


/* ---- Nachträge zum Shop ----

   1. position: sticky greift nicht, wenn ein Vorfahr overflow: clip trägt.
      .page-premium main tut das — die Übersicht blieb deshalb stehen, obwohl
      sie als sticky gesetzt war. Auf der Shop-Seite braucht main die
      Beschneidung nicht: Der Einstieg beschneidet sich selbst.
   2. Die zentrierten Überschriften der Premium-Seiten brechen bei 14ch um.
      „Vorbestellen dann bezahlen." soll in einer Zeile stehen. */

body.page-shop main {
  overflow: visible;
}

.page-shop #ablauf-title {
  max-width: none;
  font-size: clamp(1.75rem, 3.4vw, 3.4rem);
}

@media (min-width: 700px) {
  .page-shop #ablauf-title {
    white-space: nowrap;
  }
}

.page-shop #kollektion-title {
  max-width: 18ch;
}

/* Die Gutscheine stehen mittig: beide Ansichten nebeneinander in der Mitte,
   der erklärende Text darunter ebenfalls zentriert. */

.shop-voucher-stage {
  justify-items: center;
}

.shop-voucher-stage__sides {
  width: 100%;
  max-width: 720px;
  margin-inline: auto;
}

.voucher-preview figcaption {
  text-align: center;
}

.shop-voucher-stage__copy {
  margin-inline: auto;
  text-align: center;
}

.shop-voucher-stage__note {
  margin-inline: auto;
  max-width: 54ch;
}

/* Buddy hat keine Größe. Die Zeile steht trotzdem — sonst rutscht der Preis
   nach oben und läge nicht mehr auf einer Linie mit den Nachbarkarten.
   Gleiche Maße wie das Auswahlfeld, aber ohne Pfeil und ohne Anfassen. */
.shop-field__fest {
  display: flex;
  align-items: center;
  min-height: 50px;
  margin: 0;
  padding: 0 12px;
  border: 1px dashed var(--hair-strong);
  border-radius: 10px;
  background: rgba(23, 19, 13, 0.03);
  color: #6b6255;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  font-weight: 600;
}

/* Die Bag-Karte steht am Kopf des Gutschein-Bereichs neben der Ansicht.
   Dadurch bleibt die Reihe mit Sweatshirt und Jacken bei vier Karten, und
   der Beutel steht nicht mehr allein in einer angebrochenen Zeile. */

.shop-voucher-stage__oben {
  display: grid;
  gap: clamp(16px, 2vw, 28px);
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  width: 100%;
}

@container (min-width: 760px) {
  .shop-voucher-stage__oben {
    grid-template-columns: minmax(0, 250px) minmax(0, 1fr);
  }
}

.shop-voucher-stage__artikel {
  display: grid;
}

.shop-voucher-stage__oben .shop-voucher-stage__sides {
  max-width: none;
}

/* ============================================================
   SIEGERLISTEN — Mr. Olympia und Arnold Classic

   Zweck der Seiten ist Nachschlagen: Die Tabelle muss auch mit
   231 Zeilen ruhig bleiben und ohne JavaScript vollständig
   dastehen. Die Filter darüber sind eine Abkürzung, keine
   Voraussetzung.
   ============================================================ */

.champs-hero {
  position: relative;
  overflow: hidden;
  margin: -18px 0 0;
  padding: clamp(118px, 14vh, 160px) 0 clamp(44px, 5vw, 70px);
  background:
    radial-gradient(circle at 12% -10%, rgba(215, 195, 148, 0.18), transparent 46%),
    linear-gradient(158deg, #17161b 0%, #0d0d10 58%, #101014 100%);
}

.champs-hero__glow {
  position: absolute;
  right: -14%;
  bottom: -46%;
  width: min(720px, 72vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(215, 195, 148, 0.16), transparent 62%);
  pointer-events: none;
}

.champs-hero__shell {
  position: relative;
  z-index: 2;
}

.champs-hero__eyebrow {
  margin: 0 0 18px;
  color: var(--cd-gold);
  font-family: var(--font-sans);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

.champs-hero__title {
  margin: 0;
  max-width: 18ch;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  font-size: clamp(2.6rem, 6.4vw, 6rem);
  line-height: 0.88;
  color: #fff;
}

.champs-hero__title span { color: var(--cd-gold); }

.champs-hero__lead {
  max-width: 52ch;
  margin-top: 22px;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(1rem, 1.2vw, 1.16rem);
  line-height: 1.66;
}

.champs-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 44px;
  margin-top: clamp(30px, 4vw, 44px);
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.champs-hero__facts div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: rgba(255, 255, 255, 0.64);
  font-size: 0.86rem;
}

.champs-hero__fact-value {
  color: #fff;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  font-size: clamp(1.6rem, 2.2vw, 2.1rem);
  line-height: 1;
}

.page-champions .section--muted {
  background: linear-gradient(180deg, rgba(23, 19, 13, 0.04), rgba(23, 19, 13, 0.015));
}

.champs-intro {
  margin-top: clamp(22px, 2.6vw, 34px);
}

/* ---- Filterzeile ---- */

.champs-tools {
  display: grid;
  gap: 14px;
  align-items: end;
  grid-template-columns: minmax(0, 1fr);
  margin-top: clamp(24px, 3vw, 36px);
  padding: clamp(16px, 2vw, 22px);
  border: 1px solid var(--hair);
  border-radius: 18px;
  background: #fffdf9;
  box-shadow: 0 18px 44px -34px rgba(20, 17, 12, 0.5);
}

@media (min-width: 780px) {
  .champs-tools {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto;
  }
}

.champs-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.champs-field__label {
  color: #6b6255;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.champs-input,
.champs-select {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border: 1px solid var(--hair-strong);
  border-radius: 10px;
  background: #fff;
  color: #17130d;
  font-family: var(--font-sans);
  font-size: 0.98rem;
}

.champs-select {
  appearance: none;
  padding-right: 34px;
  font-weight: 600;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.6 6 6.4 11 1.6' fill='none' stroke='%2317130d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 8px;
}

.champs-input:focus-visible,
.champs-select:focus-visible {
  border-color: #9b741a;
  outline: 2px solid #9b741a;
  outline-offset: 2px;
}

.champs-reset {
  min-height: 50px;
  padding: 0 18px;
  border: 1px solid var(--hair-strong);
  border-radius: 10px;
  background: transparent;
  color: #5d5549;
  font-family: var(--font-sans);
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease;
}

.champs-reset:hover,
.champs-reset:focus-visible {
  border-color: #9b741a;
  color: #9b741a;
}

.champs-count {
  margin: 16px 0 0;
  color: #6b6255;
  font-size: 0.88rem;
  font-weight: 600;
}

/* ---- Tabelle ---- */

.champs-table-wrap {
  overflow-x: auto;
}

.champs-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-sans);
}

.champs-table__caption {
  padding: 14px 18px 0;
  color: #6b6255;
  font-size: 0.82rem;
  text-align: left;
}

.champs-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 12px 18px;
  background: #17130d;
  color: #f2dfa8;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-align: left;
  text-transform: uppercase;
}

.champs-table tbody tr {
  border-top: 1px solid rgba(23, 19, 13, 0.08);
}

.champs-table tbody tr:hover {
  background: rgba(215, 195, 148, 0.14);
}

.champs-table td {
  padding: 12px 18px;
  color: #5d5549;
  font-size: 0.94rem;
  vertical-align: top;
}

.champs-table__year {
  width: 5.5rem;
  color: #17130d !important;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  font-size: 1.15rem;
}

.champs-table__division {
  width: 12rem;
  color: #6b6255 !important;
  font-size: 0.86rem;
  font-weight: 600;
}

.champs-table__name {
  color: #17130d !important;
  font-weight: 600;
}

.champs-table__note {
  display: block;
  margin-top: 3px;
  color: #6b6255;
  font-size: 0.8rem;
  font-weight: 500;
}

.champs-empty {
  margin: 16px 0 0;
  padding: 18px;
  border: 1px dashed rgba(155, 116, 26, 0.4);
  border-radius: 14px;
  background: rgba(215, 195, 148, 0.12);
  color: #5d5549;
  text-align: center;
}

.champs-empty[hidden] { display: none; }

.champs-open-note {
  margin: 18px 0 0;
  color: #6b6255;
  font-size: 0.88rem;
  line-height: 1.6;
}

/* ---- Rekorde ---- */

.champs-records {
  display: grid;
  gap: clamp(16px, 2vw, 26px);
  grid-template-columns: minmax(0, 1fr);
  margin-top: clamp(22px, 2.6vw, 34px);
}

@media (min-width: 780px) {
  .champs-records { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.champs-record {
  padding: clamp(18px, 2.2vw, 26px);
  border: 1px solid var(--hair);
  border-radius: 18px;
  background: #fffdf9;
  box-shadow: 0 18px 40px -32px rgba(20, 17, 12, 0.5);
}

.champs-record__title {
  margin: 0 0 14px;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 1.3rem;
  color: #17130d;
}

.champs-record__list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: champs-rang;
}

.champs-record__list li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(23, 19, 13, 0.08);
  color: #5d5549 !important;
  counter-increment: champs-rang;
}

.champs-record__list li:last-child { border-bottom: 0; }

.champs-record__list li span::before {
  content: counter(champs-rang) ".";
  display: inline-block;
  min-width: 1.8em;
  color: #9b741a;
  font-weight: 700;
}

.champs-record__list li strong {
  color: #17130d;
  font-family: var(--font-cond);
  font-style: italic;
  font-size: 1.2rem;
}

@media (max-width: 620px) {
  .champs-table__division { width: auto; }
  .champs-table td { padding: 10px 12px; }
  .champs-table thead th { padding: 10px 12px; }
}

/* ---- Siegerliste in Klassen-Blöcken ----
   Zehn Zeilen zum Überfliegen statt 231 am Stück. <details> hält den Inhalt
   auch zugeklappt im HTML, damit Suchmaschinen alles sehen. */

.champs-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
}

.champs-toggle {
  padding: 8px 14px;
  border: 1px solid var(--hair-strong);
  border-radius: 999px;
  background: transparent;
  color: #5d5549;
  font-family: var(--font-sans);
  font-size: 0.84rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease;
}

.champs-toggle:hover,
.champs-toggle:focus-visible {
  border-color: #9b741a;
  color: #9b741a;
}

.champs-groups {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.champs-group {
  overflow: hidden;
  border: 1px solid var(--hair);
  border-radius: 16px;
  background: #fffdf9;
  box-shadow: 0 16px 38px -34px rgba(20, 17, 12, 0.5);
}

.champs-group[hidden] { display: none; }

.champs-group__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 14px;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
}

.champs-group__head::-webkit-details-marker { display: none; }

.champs-group__head:hover { background: rgba(215, 195, 148, 0.12); }

.champs-group__head:focus-visible {
  outline: 2px solid #9b741a;
  outline-offset: -2px;
}

.champs-group__name {
  grid-column: 1;
  font-family: var(--font-cond);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
  font-size: 1.24rem;
  line-height: 1.1;
  color: #17130d;
}

.champs-group__meta {
  grid-column: 1;
  color: #6b6255;
  font-size: 0.84rem;
  font-weight: 600;
}

.champs-group__now {
  grid-column: 1;
  color: #9b741a;
  font-size: 0.84rem;
  font-weight: 600;
}

.champs-group__chevron {
  grid-column: 2;
  grid-row: 1 / -1;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--hair-strong);
  border-radius: 50%;
  color: #6b6255;
  transition: transform 0.25s ease, border-color 0.2s ease, color 0.2s ease;
}

.champs-group[open] .champs-group__chevron {
  transform: rotate(180deg);
  border-color: rgba(155, 116, 26, 0.5);
  color: #9b741a;
}

.champs-group__body {
  padding: 0 18px 18px;
  border-top: 1px solid var(--hair);
}

.champs-group__text {
  margin: 14px 0 0;
  max-width: 68ch;
  color: #5d5549;
  font-size: 0.92rem;
  line-height: 1.6;
}

.champs-group__gap {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-left: 3px solid rgba(155, 116, 26, 0.5);
  background: rgba(215, 195, 148, 0.14);
  color: #5d5549;
  font-size: 0.87rem;
}

.champs-group .champs-table {
  margin-top: 14px;
}

.champs-group .champs-table__caption {
  padding: 0 0 10px;
}

.champs-group .champs-table thead th {
  border-radius: 0;
}

.champs-group .champs-table td:first-child { padding-left: 0; }
.champs-group .champs-table th:first-child { padding-left: 12px; }

@media (min-width: 720px) {
  .champs-group__head {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.1fr) auto;
    align-items: baseline;
  }

  .champs-group__name { grid-column: 1; }
  .champs-group__meta { grid-column: 2; }
  .champs-group__now { grid-column: 3; }
  .champs-group__chevron { grid-column: 4; grid-row: auto; }
}

/* ===================================================================
   HERO-SZENE — der Auftakt der Startseite scrollt mit

   Der Hero bleibt am Bildschirm stehen, während man an ihm vorbei
   scrollt: Das Bild fährt langsam heran, die Textkarte löst sich Zeile
   für Zeile nach oben auf, und ein dunkler Schleier führt in die
   nächste Sektion über. Erst danach gibt der Bereich die Seite frei.

   Der Hero selbst ist unverändert — kein zusätzliches Markup, keine
   neuen Inhalte. Die Szene ist nur ein Rahmen darum, und alles
   Sichtbare hängt an einer einzigen Zahl: --hero-p, dem Fortschritt
   von 0 bis 1, den main.js bei jedem Frame schreibt. Ohne JavaScript
   und bei reduzierter Bewegung bleibt --hero-p auf 0, und der Hero
   steht exakt so da wie zuvor.
   =================================================================== */

/* Hinweis: Solange die Startseite den Wrapper .hero-szene nicht ausgibt,
   greift von diesem Block nichts. Er wartet hier, bis der Auftakt wieder
   eingeschaltet wird. Die dafür nötige Freigabe von overflow auf
   body.page-home-reboot main gehört dann wieder dazu — sie steht hier
   bewusst nicht, weil sie auch ohne Szene wirken würde. */

.hero-szene {
  --hero-p: 0;
  /* Wie weit über den Hero hinaus gescrollt wird, bevor er die Seite
     freigibt. Ein Bildschirm zusätzlich reicht: lange genug für die
     Bewegung, kurz genug, dass niemand denkt, die Seite hänge. */
  --hero-weg: 92svh;

  position: relative;
  /* Der Weg wird angehängt, statt eine Höhe zu setzen: Der Hero behält
     damit exakt die Höhe, die er vorher hatte — auch dort, wo sein
     Inhalt höher ist als der Bildschirm. */
  padding-bottom: var(--hero-weg);
}

.hero-szene > .ff-hero {
  position: sticky;
  top: 0;
}

/* Das Bild fährt heran und wandert dabei eine Spur nach oben — die
   Bewegung, die den Eindruck von Tiefe macht.

   Alles Bewegte hängt an der Klasse ist-aktiv und trägt !important.
   Beides ist nötig und beides ist Absicht: Der Hero bringt eine eigene
   Einblendanimation mit (cd-hero-rise), und eine laufende Animation
   schlägt in der Kaskade jede normale Deklaration. Nur !important steht
   darüber — und damit es die Einblendung beim Laden nicht überfährt,
   greift es erst, sobald wirklich gescrollt wird. Der Ausgangswert
   scale(1.025) ist der des Heros und bleibt erhalten. */
.hero-szene.ist-aktiv .ff-hero__img {
  transform: translate3d(0, calc(var(--hero-p) * -2.6%), 0)
    scale(calc(1.025 + var(--hero-p) * 0.13)) !important;
  animation: none !important;
  /* Ohne das läuft der Hero seiner eigenen Übergangszeit hinterher: Auf
     den Hero-Elementen liegt eine Transition von knapp einer Sekunde.
     Beim Einblenden ist die richtig, beim Scrollen macht sie aus einer
     mitlaufenden Bewegung ein Nachziehen. */
  transition: none !important;
  will-change: transform;
}

/* Ein zweiter Schleier legt sich über das Bild und führt zur nächsten
   Sektion über, die dunkel beginnt. Der bestehende Scrim bleibt, wie er
   ist — dieser hier kommt nur oben drauf. */
.hero-szene.ist-aktiv .ff-hero__scrim::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6, 7, 10, 0.4), rgba(6, 7, 10, 0.86));
  opacity: var(--hero-p);
  pointer-events: none;
}

/* Die Karte löst sich gestaffelt auf: erst die Vorzeile, dann die
   Überschrift, dann die Schaltflächen, zuletzt die Zahlen. Der Versatz
   je Element ist klein — man liest ihn nicht als Abfolge, sondern als
   ein Auflösen mit Tiefe.

   --stufe rechnet main.js je Element aus. Der Weg über clamp() und calc()
   im CSS war naheliegend, liefert mit nicht registrierten Variablen aber
   keine verlässlichen Werte — eine fertige Zahl je Element ist hier das
   ehrlichere Mittel. */
.hero-szene.ist-aktiv .ff-hero__home-card > * {
  opacity: calc(1 - var(--stufe, 0)) !important;
  transform: translate3d(0, calc(var(--stufe, 0) * -52px), 0) !important;
  animation: none !important;
  transition: none !important;
  will-change: opacity, transform;
}

/* Sobald die Karte fast weg ist, darf sie keine Klicks mehr abfangen —
   sonst liegt eine unsichtbare Schaltfläche über dem Bild. */
.hero-szene .ff-hero__home-card > *[data-hero-inert] {
  pointer-events: none;
}

@media (max-width: 860px) {
  .hero-szene {
    /* Auf dem Handy ist der Weg kürzer: Kleine Displays scrollen
       schneller durch, und die Adressleiste verändert die Höhe. */
    --hero-weg: 62svh;
  }

  .hero-szene.ist-aktiv .ff-hero__img {
    transform: translate3d(0, calc(var(--hero-p) * -1.8%), 0)
      scale(calc(1.025 + var(--hero-p) * 0.1)) !important;
  }
}

/* Ohne Bewegung bleibt alles, wie es war: kein Kleben, kein Zusatzweg,
   keine Animation. Der Hero ist dann exakt der Hero von vorher. */
@media (prefers-reduced-motion: reduce) {
  .hero-szene {
    height: auto;
  }

  .hero-szene > .ff-hero {
    position: relative;
    height: auto;
    min-height: 100svh;
  }

  .hero-szene .ff-hero__img,
  .hero-szene .ff-hero__home-card > * {
    transform: none;
    opacity: 1;
  }

  .hero-szene .ff-hero__scrim::after,
  .hero-szene.ist-aktiv .ff-hero__scrim::after {
    opacity: 0;
  }
}
