/* BallScience public-page family: editorial hierarchy and interaction surfaces.
   Loaded after each page's original CSS; all rules remain scoped to this site. */
body.sitewide-page[data-page-family^="ball-"],
body.sitewide-page[data-page-family="home"] {
  --bs-ink: #100c0a;
  --bs-ink-soft: #17110e;
  --bs-paper: #f1eadc;
  --bs-paper-dim: #d1c5b1;
  --bs-gold: #dfc58c;
  --bs-gold-strong: #edd8a7;
  --bs-rule: rgba(223, 197, 140, .26);
  --bs-reading: 68ch;
  --bs-wrap: 1200px;
  color: var(--bs-paper) !important;
  background-color: var(--bs-ink) !important;
  font-family: var(--serif-text, 'BsText', Georgia, serif);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  accent-color: var(--bs-gold);
}
body.sitewide-page[data-page-family^="ball-"] ::selection,
body.sitewide-page[data-page-family="home"] ::selection {
  color: var(--bs-ink);
  background: var(--bs-gold-strong);
}
body.sitewide-page[data-page-family^="ball-"] :is(h1,h2,h3,h4,.sec-title,.sub-title),
body.sitewide-page[data-page-family="home"] :is(h1,h2,h3,h4,.sec-title,.sub-title) {
  color: var(--bs-paper) !important;
  font-family: var(--serif-head, 'BsHead', Georgia, serif);
  font-weight: 500;
  text-wrap: balance;
}
body.sitewide-page[data-page-family^="ball-"] :is(h1,h2,h3,h4),
body.sitewide-page[data-page-family="home"] :is(h1,h2,h3,h4) {
  padding: 0 !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
body.sitewide-page[data-page-family^="ball-"] :is(p,li,blockquote,figcaption,.lede,.sub,.copy),
body.sitewide-page[data-page-family="home"] :is(p,li,blockquote,figcaption,.lede,.sub,.copy) {
  max-width: var(--bs-reading);
  color: var(--bs-paper-dim);
  line-height: 1.72;
  text-shadow: none;
}
body.sitewide-page[data-page-family^="ball-"] :is(a,button,input,select,textarea,summary):focus-visible,
body.sitewide-page[data-page-family="home"] :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 2px solid var(--bs-gold-strong) !important;
  outline-offset: 4px !important;
}
body.sitewide-page[data-page-family^="ball-"] .wrap,
body.sitewide-page[data-page-family="home"] .wrap {
  box-sizing: border-box;
  width: min(100%, var(--bs-wrap));
  margin-inline: auto;
  padding-inline: clamp(22px, 5vw, 72px) !important;
}
body.sitewide-page[data-page-family^="ball-"] main > section.wrap:not(.hero-pulse),
body.sitewide-page[data-page-family="home"] main > section.wrap:not(.hero-pulse) {
  padding-block: clamp(46px, 6.5vw, 82px) !important;
}
body.sitewide-page[data-page-family^="ball-"] main > section[id],
body.sitewide-page[data-page-family="home"] main > section[id] {
  scroll-margin-top: 92px;
}
body.sitewide-page[data-page-family^="ball-"] .eyebrow,
body.sitewide-page[data-page-family^="ball-"] .who,
body.sitewide-page[data-page-family="home"] .eyebrow,
body.sitewide-page[data-page-family="home"] .who {
  color: var(--bs-gold) !important;
  font: 500 .82rem/1.5 Arial, Helvetica, sans-serif;
  letter-spacing: .045em;
  text-transform: none;
}
body.sitewide-page[data-page-family^="ball-"] :is(.sec-title,.sub-title),
body.sitewide-page[data-page-family="home"] :is(.sec-title,.sub-title) {
  max-width: 23ch;
  margin-block: .2em .42em;
  font-size: clamp(2.25rem, 4.8vw, 4.5rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.025em;
}
body.sitewide-page[data-page-family^="ball-"] :is(.lede,.hero-value,.bfl-lede,.why-matters),
body.sitewide-page[data-page-family="home"] :is(.lede,.hero-value,.bfl-lede,.why-matters) {
  max-width: var(--bs-reading);
  font-size: clamp(1.02rem, 1.28vw, 1.18rem);
  line-height: 1.72;
}
body.sitewide-page[data-page-family^="ball-"] :is(.card,.quote-stage,.t-card,.bs-dispatch),
body.sitewide-page[data-page-family="home"] :is(.card,.quote-stage,.t-card,.bs-dispatch) {
  color: var(--bs-paper);
  border-color: var(--bs-rule) !important;
  border-radius: 2px !important;
  box-shadow: none;
}
body.sitewide-page[data-page-family^="ball-"] :is(.card,.quote-stage,.t-card,.bs-dispatch) :is(h2,h3),
body.sitewide-page[data-page-family="home"] :is(.card,.quote-stage,.t-card,.bs-dispatch) :is(h2,h3) {
  color: var(--bs-paper) !important;
}
body.sitewide-page[data-page-family^="ball-"] :is(.btn,.cta-row a,.wege a,button),
body.sitewide-page[data-page-family="home"] :is(.btn,.cta-row a,.wege a,button) {
  min-height: 44px;
  font-family: Arial, Helvetica, sans-serif;
  letter-spacing: .01em;
}
body.sitewide-page[data-page-family^="ball-"] :is(.btn-primary,#beispiel-abschlag),
body.sitewide-page[data-page-family="home"] .btn-primary {
  color: var(--bs-ink) !important;
  background: var(--bs-gold-strong) !important;
  border: 1px solid var(--bs-gold-strong) !important;
}
body.sitewide-page[data-page-family^="ball-"] .btn-ghost,
body.sitewide-page[data-page-family="home"] .btn-ghost {
  color: var(--bs-paper) !important;
  background: transparent !important;
  border: 1px solid var(--bs-rule) !important;
}
body.sitewide-page[data-page-family^="ball-"] :is(input,select,textarea),
body.sitewide-page[data-page-family="home"] :is(input,select,textarea) {
  box-sizing: border-box;
  min-height: 44px;
  padding: .7em .85em;
  color: var(--bs-paper);
  background: var(--bs-ink-soft);
  border: 1px solid var(--bs-rule);
  border-radius: 2px;
  font: 1rem/1.5 Arial, Helvetica, sans-serif;
}
body.sitewide-page[data-page-family^="ball-"] :is(input,select,textarea)::placeholder,
body.sitewide-page[data-page-family="home"] :is(input,select,textarea)::placeholder { color: #b9ad98; }
body.sitewide-page[data-page-family^="ball-"] table,
body.sitewide-page[data-page-family="home"] table {
  width: 100%;
  border-collapse: collapse;
  color: var(--bs-paper-dim);
  font-variant-numeric: tabular-nums;
}
body.sitewide-page[data-page-family^="ball-"] :is(th,td),
body.sitewide-page[data-page-family="home"] :is(th,td) {
  padding: .8rem .9rem;
  border-bottom: 1px solid var(--bs-rule);
  text-align: start;
}
body.sitewide-page[data-page-family^="ball-"] th,
body.sitewide-page[data-page-family="home"] th {
  color: var(--bs-paper);
  font: 600 .82rem/1.45 Arial, Helvetica, sans-serif;
}

/* Editorial pages: long-form reading, news dispatches, recognition quotes. */
/* Home hero uses the existing image and copy column as a clean opening. */
body.sitewide-page[data-page-family="home"] header.hero.bs-harmonie-hero { position: relative; isolation: isolate; }
body.sitewide-page[data-page-family="home"] header.hero.bs-harmonie-hero > .bg { position: absolute; z-index: -1; inset: 0; overflow: hidden; }
body.sitewide-page[data-page-family="home"] header.hero.bs-harmonie-hero > .bg:after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16,12,10,.86), rgba(16,12,10,.5) 58%, rgba(16,12,10,.16)), linear-gradient(0deg, rgba(16,12,10,.5), transparent 52%);
  content: "";
  pointer-events: none;
}
body.sitewide-page[data-page-family="home"] header.hero.bs-harmonie-hero .inner { position: relative; }
body.sitewide-page[data-page-family="home"] header.hero.bs-harmonie-hero h1 {
  max-width: 13ch;
  margin-block: .22em .3em;
  color: var(--bs-paper) !important;
  font-size: clamp(3.2rem, 7.4vw, 7rem) !important;
  line-height: 1 !important;
  letter-spacing: -.04em;
}
body.sitewide-page[data-page-family="home"] header.hero.bs-harmonie-hero .lede { max-width: 54ch; font-size: clamp(1.05rem, 1.4vw, 1.23rem); }
body.sitewide-page[data-page-family="home"] header.hero.bs-harmonie-hero .hero-years { color: var(--bs-paper-dim); font: .9rem/1.6 Arial, Helvetica, sans-serif; }

body.sitewide-page[data-page-family="ball-editorial"] :is(#raum-text,.wrap#bsDepescheGrid),
body.sitewide-page[data-page-family="ball-editorial"] :is(#fremdlob,#kunden,#erfolg,#cta,#closing-cta) {
  padding-block: clamp(48px, 7vw, 88px) !important;
}
body.sitewide-page[data-page-family="ball-editorial"] :is(.raum-einleitung,.lede,.bs-case-note) {
  max-width: 64ch;
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.72;
}
body.sitewide-page[data-page-family="ball-editorial"] .divider,
body.sitewide-page[data-page-family="ball-editorial"] :is(.divider:before,.divider:after) {
  border-color: var(--bs-rule) !important;
  background-color: var(--bs-rule) !important;
}
body.sitewide-page[data-page-family="ball-editorial"] .faq-hero-stage {
  position: relative !important;
  display: flex;
  align-items: end;
  isolation: isolate;
  box-sizing: border-box;
  width: 100%;
  min-height: clamp(470px, 68svh, 720px) !important;
  margin: 0;
  padding: 0 !important;
  overflow: hidden;
  background: var(--bs-ink) !important;
  border-bottom: 1px solid var(--bs-rule);
}
body.sitewide-page[data-page-family="ball-editorial"] .faq-hero-stage .faq-hero-media {
  position: absolute !important;
  z-index: -1;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
body.sitewide-page[data-page-family="ball-editorial"] .faq-hero-stage .faq-hero-poster {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center 48%;
  filter: saturate(.8) contrast(1.04);
}
body.sitewide-page[data-page-family="ball-editorial"] .faq-hero-stage .faq-hero-media:after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16,12,10,.91), rgba(16,12,10,.58) 48%, rgba(16,12,10,.08)), linear-gradient(0deg, rgba(16,12,10,.72), transparent 55%);
  content: "";
  pointer-events: none;
}
body.sitewide-page[data-page-family="ball-editorial"] .faq-hero-stage > .hero-pulse {
  position: relative !important;
  z-index: 1 !important;
  box-sizing: border-box;
  width: min(100%, var(--bs-wrap));
  margin: 0 auto !important;
  padding: clamp(108px, 16vh, 164px) clamp(22px, 5vw, 72px) 72px !important;
  background: transparent !important;
}
body.sitewide-page[data-page-family="ball-editorial"] .faq-hero-stage .hero-pulse :is(.sec-title,h1) {
  max-width: 14ch;
  margin-block: .18em .28em;
  font-size: clamp(3rem, 7vw, 6.2rem) !important;
  line-height: 1 !important;
  letter-spacing: -.035em;
}
body.sitewide-page[data-page-family="ball-editorial"] .faq-hero-stage .hero-pulse .lede { max-width: 54ch; }
body.sitewide-page[data-page-family="ball-editorial"] .faq-hero-stage > .b6-origin-caption {
  position: absolute;
  z-index: 2;
  right: clamp(22px, 5vw, 72px);
  bottom: 14px;
  max-width: 40ch;
  margin: 0;
  color: var(--bs-paper-dim) !important;
  font: 12px/1.5 Arial, Helvetica, sans-serif;
}
body.sitewide-page[data-page-family="ball-editorial"] #bsDepescheGrid.bs-depesche {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(260px, .92fr) !important;
  align-items: stretch;
  gap: clamp(16px, 2vw, 26px) !important;
  margin-block: 0;
}
body.sitewide-page[data-page-family="ball-editorial"] .bs-dispatch {
  min-width: 0;
  padding: clamp(24px, 3vw, 40px) !important;
  background: linear-gradient(145deg, rgba(241,234,220,.055), rgba(241,234,220,.018)) !important;
}
body.sitewide-page[data-page-family="ball-editorial"] .bs-dispatch:first-child { grid-row: span 2; }
body.sitewide-page[data-page-family="ball-editorial"] .bs-dispatch h3 {
  max-width: 25ch;
  margin: 0 0 .8em;
  font-size: clamp(1.55rem, 2.2vw, 2.25rem) !important;
  line-height: 1.15;
}
body.sitewide-page[data-page-family="ball-editorial"] .bs-dispatch p { max-width: 66ch; line-height: 1.72; }
body.sitewide-page[data-page-family="ball-editorial"] .bs-dispatch :is(.eyebrow,a) { color: var(--bs-gold-strong) !important; }

/* Flight-room canvas stays live, with a clear frame and readable controls. */
body.sitewide-page[data-page-family="ball-editorial"] #heroraum {
  box-sizing: border-box;
  padding: clamp(42px, 7vh, 76px) clamp(20px, 5vw, 72px) 24px !important;
  background: radial-gradient(ellipse at 82% 12%, rgba(223,197,140,.1), transparent 44%), var(--bs-ink) !important;
}
body.sitewide-page[data-page-family="ball-editorial"] #heroraum .raum-kopf {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 0 0 24px !important;
  background: transparent !important;
}
body.sitewide-page[data-page-family="ball-editorial"] #heroraum .raum-titel {
  max-width: 16ch;
  margin: 0 0 .2em;
  font-size: clamp(2.8rem, 6.6vw, 5.8rem) !important;
  line-height: 1.02;
  letter-spacing: -.035em;
}
body.sitewide-page[data-page-family="ball-editorial"] #heroraum .raum-einleitung { max-width: 62ch; margin: 0; }
body.sitewide-page[data-page-family="ball-editorial"] #ballflug-feld {
  position: relative;
  box-sizing: border-box;
  width: min(100%, var(--bs-wrap)) !important;
  min-height: clamp(380px, 58svh, 660px) !important;
  margin: 0 auto !important;
  overflow: hidden;
  border: 1px solid rgba(223,197,140,.32) !important;
  border-radius: 2px !important;
  background: #0c0908 !important;
  box-shadow: none !important;
}
body.sitewide-page[data-page-family="ball-editorial"] #ballflug-feld canvas { display: block; width: 100%; height: 100%; }
body.sitewide-page[data-page-family="ball-editorial"] #ballflug-feld #hint {
  color: var(--bs-paper) !important;
  font: .9rem/1.5 Arial, Helvetica, sans-serif;
}
body.sitewide-page[data-page-family="ball-editorial"] #ballflug-feld #beispiel-abschlag {
  padding: 10px 16px;
  border-radius: 2px;
}
body.sitewide-page[data-page-family="ball-editorial"] #ballflug-feld .scrollcue {
  color: var(--bs-paper) !important;
  text-underline-offset: 4px;
}
body.sitewide-page[data-page-family="ball-editorial"] #raum-text .tafel-innen {
  box-sizing: border-box;
  width: min(100%, 820px);
  margin-inline: auto;
  padding: clamp(24px, 4vw, 50px) !important;
  border: 1px solid var(--bs-rule);
  background: linear-gradient(145deg, rgba(241,234,220,.045), rgba(241,234,220,.012)) !important;
}
body.sitewide-page[data-page-family="ball-editorial"] #raum-text .tafel-innen > #raum-erstsatz {
  color: var(--bs-paper) !important;
  font-size: clamp(1.16rem, 1.8vw, 1.5rem);
  line-height: 1.62;
}
body.sitewide-page[data-page-family="ball-editorial"] #raum-text .tafel-innen :is(h2,h3) { margin-top: 1.8em; color: var(--bs-gold-strong) !important; }
body.sitewide-page[data-page-family="ball-editorial"] #raum-text .tafel-innen :is(p,li) { max-width: var(--bs-reading); line-height: 1.75; }
body.sitewide-page[data-page-family="ball-editorial"] .wege {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 26px auto;
  padding-inline: clamp(18px, 4vw, 48px);
}
body.sitewide-page[data-page-family="ball-editorial"] .wege a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  color: var(--bs-paper) !important;
  text-decoration: none;
  border: 1px solid var(--bs-rule);
  border-radius: 2px;
}

/* Testimonial page: quiet, legible quote hierarchy. */
body.sitewide-page[data-page-family="ball-editorial"] header.hero {
  position: relative !important;
  display: flex !important;
  align-items: center;
  box-sizing: border-box;
  min-height: clamp(580px, 78svh, 820px) !important;
  height: auto !important;
  padding-block: clamp(60px, 8vw, 100px) !important;
  overflow: hidden;
  isolation: isolate;
  background: var(--bs-ink) !important;
}
body.sitewide-page[data-page-family="ball-editorial"] header.hero > .bg { position: absolute !important; z-index: -1; inset: 0; width: 100%; height: 100%; }
body.sitewide-page[data-page-family="ball-editorial"] header.hero > .bg:after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16,12,10,.86), rgba(16,12,10,.45) 58%, rgba(16,12,10,.18)), linear-gradient(0deg, rgba(16,12,10,.5), transparent 54%);
  content: "";
  pointer-events: none;
}
body.sitewide-page[data-page-family="ball-editorial"] header.hero .hero-grid {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .8fr);
  align-items: center;
  gap: clamp(28px, 5vw, 72px);
  box-sizing: border-box;
  width: min(100%, 1360px) !important;
  margin: 0 auto !important;
  padding-inline: clamp(22px, 5vw, 70px) !important;
}
body.sitewide-page[data-page-family="ball-editorial"] header.hero .hero-grid > .inner {
  width: auto !important;
  max-width: 710px;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.sitewide-page[data-page-family="ball-editorial"] header.hero h1 {
  max-width: 12ch;
  margin: .2em 0 .3em;
  color: var(--bs-paper) !important;
  font-size: clamp(3.2rem, 7vw, 6.6rem) !important;
  line-height: 1 !important;
  letter-spacing: -.04em;
}
body.sitewide-page[data-page-family="ball-editorial"] header.hero h1 .accent {
  color: var(--bs-gold-strong) !important;
  -webkit-text-fill-color: var(--bs-gold-strong) !important;
}
body.sitewide-page[data-page-family="ball-editorial"] header.hero .lede { max-width: 58ch; line-height: 1.68; }
body.sitewide-page[data-page-family="ball-editorial"] header.hero .hero-rhs {
  position: relative !important;
  width: 100% !important;
  min-width: 0;
  min-height: clamp(320px, 42vw, 540px) !important;
  height: auto !important;
  overflow: hidden;
  border: 1px solid rgba(223,197,140,.3);
  border-radius: 2px;
}
body.sitewide-page[data-page-family="ball-editorial"] header.hero .hero-rhs :is(img,video) { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body.sitewide-page[data-page-family="ball-editorial"] :is(.quote-stage,.t-card,.q-bg-card) {
  background-color: rgba(241,234,220,.035) !important;
  background-image: none !important;
  border: 1px solid var(--bs-rule) !important;
}
body.sitewide-page[data-page-family="ball-editorial"] .quote-stage { padding: clamp(24px, 3vw, 40px) !important; }
body.sitewide-page[data-page-family="ball-editorial"] :is(.quote-stage blockquote,.t-quote) {
  color: var(--bs-paper) !important;
  font-family: var(--serif-head, Georgia, serif);
  font-size: clamp(1.25rem, 2vw, 1.8rem) !important;
  line-height: 1.48 !important;
}
body.sitewide-page[data-page-family="ball-editorial"] :is(.t-card,.card) :is(.role,.who) { color: var(--bs-gold) !important; }

/* Experience pages: preserve the film and interactive model while giving copy a calm frame. */
body.sitewide-page[data-page-family="ball-experience"] :is(#coaches,#qualifikationen,#methode,#erfolge) {
  padding-block: clamp(46px, 7vw, 84px) !important;
}
body.sitewide-page[data-page-family="ball-experience"] header.hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(520px, 70svh, 760px) !important;
  height: auto !important;
}
body.sitewide-page[data-page-family="ball-experience"] header.hero > .bg { position: absolute; z-index: -1; inset: 0; overflow: hidden; }
body.sitewide-page[data-page-family="ball-experience"] header.hero > .bg:after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16,12,10,.84), rgba(16,12,10,.42) 58%, rgba(16,12,10,.12)), linear-gradient(0deg, rgba(16,12,10,.46), transparent 52%);
  content: "";
  pointer-events: none;
}
body.sitewide-page[data-page-family="ball-experience"] header.hero h1 {
  max-width: 15ch;
  color: var(--bs-paper) !important;
  font-size: clamp(3.1rem, 7vw, 6.6rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em;
}
body.sitewide-page[data-page-family="ball-experience"] :is(#coaches .grid,#qualifikationen .grid) { gap: clamp(16px, 2vw, 26px); }
body.sitewide-page[data-page-family="ball-experience"] .qual-card { padding: clamp(22px, 2.7vw, 34px); }
body.sitewide-page[data-page-family="ball-experience"] .coach-portrait :is(img,video) { display: block; max-width: 100%; height: auto; }
body.sitewide-page[data-page-family="ball-experience"][data-d17-page="labor"] .hero-kino {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .84fr);
  align-items: center;
  gap: clamp(20px, 4vw, 56px);
  min-height: 0 !important;
  padding: clamp(34px, 5vw, 64px) clamp(22px, 5vw, 72px) !important;
}
body.sitewide-page[data-page-family="ball-experience"][data-d17-page="labor"] .hero-kino .hero-text {
  max-width: 680px;
  padding: clamp(22px, 3vw, 36px) !important;
  background: rgba(16,12,10,.76) !important;
  border: 1px solid var(--bs-rule);
}
body.sitewide-page[data-page-family="ball-experience"][data-d17-page="labor"] .hero-kino .hero-media-stage {
  position: relative;
  min-height: clamp(320px, 38vw, 500px) !important;
  overflow: hidden;
  border: 1px solid var(--bs-rule);
}
body.sitewide-page[data-page-family="ball-experience"][data-d17-page="labor"] .hero-media-stage :is(video,img) { display: block; width: 100%; height: 100%; object-fit: cover; }
body.sitewide-page[data-page-family="ball-experience"][data-d17-page="labor"] #kraftkette-tool .kk-stage {
  box-sizing: border-box;
  max-width: 100%;
  margin-block: 20px;
  padding: clamp(14px, 2vw, 24px);
  overflow-x: auto;
  border: 1px solid var(--bs-rule);
  background: rgba(241,234,220,.025);
}
body.sitewide-page[data-page-family="ball-experience"][data-d17-page="labor"] .kk-controls { display: flex; flex-wrap: wrap; gap: 10px; }
body.sitewide-page[data-page-family="ball-experience"][data-d17-page="labor"] .kk-controls button {
  padding: 10px 16px;
  color: var(--bs-ink) !important;
  background: var(--bs-gold-strong) !important;
  border: 1px solid var(--bs-gold-strong) !important;
  border-radius: 2px;
}

/* Utility pages: useful answers first, restrained hero and clear recovery path. */
body.sitewide-page[data-page-family="ball-utility"] .faq-hero-stage {
  position: relative !important;
  display: flex;
  align-items: end;
  isolation: isolate;
  box-sizing: border-box;
  min-height: clamp(430px, 61svh, 660px) !important;
  overflow: hidden;
  background: var(--bs-ink) !important;
}
body.sitewide-page[data-page-family="ball-utility"] .faq-hero-stage .faq-hero-media { position: absolute !important; z-index: -1; inset: 0; overflow: hidden; }
body.sitewide-page[data-page-family="ball-utility"] .faq-hero-stage .faq-hero-poster { width: 100% !important; height: 100% !important; object-fit: cover; object-position: center 46%; }
body.sitewide-page[data-page-family="ball-utility"] .faq-hero-stage .faq-hero-media:after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16,12,10,.86), rgba(16,12,10,.48) 55%, rgba(16,12,10,.12)), linear-gradient(0deg, rgba(16,12,10,.68), transparent 57%);
  content: "";
  pointer-events: none;
}
body.sitewide-page[data-page-family="ball-utility"] .faq-hero-stage > .hero-pulse {
  position: relative !important;
  z-index: 1;
  box-sizing: border-box;
  width: min(100%, var(--bs-wrap));
  margin: 0 auto !important;
  padding: clamp(88px, 13vh, 126px) clamp(22px, 5vw, 72px) 62px !important;
}
body.sitewide-page[data-page-family="ball-utility"] .faq-hero-stage .hero-pulse :is(.sec-title,h1) {
  max-width: 15ch;
  margin-block: .2em .32em;
  font-size: clamp(2.8rem, 6.4vw, 5.5rem) !important;
  line-height: 1.03 !important;
}
body.sitewide-page[data-page-family="ball-utility"] .faq-hero-stage > .b6-origin-caption {
  position: absolute;
  right: clamp(22px, 5vw, 72px);
  bottom: 12px;
  max-width: 40ch;
  color: var(--bs-paper-dim) !important;
  font: 12px/1.5 Arial, Helvetica, sans-serif;
}
body.sitewide-page[data-page-family="ball-utility"] #faq,
body.sitewide-page[data-page-family="ball-utility"] #d17-contact { padding-block: clamp(44px, 6vw, 72px) !important; }
body.sitewide-page[data-page-family="ball-utility"] #faq .grid.two { gap: clamp(16px, 2vw, 24px); }
body.sitewide-page[data-page-family="ball-utility"] #faq .card { padding: clamp(20px, 2.5vw, 30px); }
body.sitewide-page[data-page-family="ball-utility"] details.acc { border-bottom: 1px solid var(--bs-rule); }
body.sitewide-page[data-page-family="ball-utility"] details.acc > summary {
  min-height: 56px;
  padding: 16px 48px 16px 0 !important;
  color: var(--bs-paper) !important;
  font-weight: 600;
  line-height: 1.45;
  cursor: pointer;
}
body.sitewide-page[data-page-family="ball-utility"] details.acc .body { max-width: var(--bs-reading); padding: 0 0 20px !important; line-height: 1.72; }
body.sitewide-page[data-page-family="ball-utility"] main#seiten-inhalt.card {
  box-sizing: border-box;
  width: min(calc(100% - 40px), 920px) !important;
  margin: clamp(32px, 7vw, 76px) auto !important;
  padding: clamp(28px, 5vw, 56px) !important;
  background: rgba(241,234,220,.035) !important;
  border: 1px solid var(--bs-rule) !important;
}
body.sitewide-page[data-page-family="ball-utility"] main#seiten-inhalt h1 { max-width: 18ch; font-size: clamp(2.5rem, 5vw, 4rem) !important; line-height: 1.05; }
body.sitewide-page[data-page-family="ball-utility"] main#seiten-inhalt .cta-row { display: flex; flex-wrap: wrap; gap: 12px; }
body.sitewide-page[data-page-family="ball-utility"] main#seiten-inhalt .cta-row a { display: inline-flex; align-items: center; padding: 10px 16px; border: 1px solid var(--bs-rule); }

@media (max-width: 760px) {
  body.sitewide-page[data-page-family^="ball-"] .wrap,
  body.sitewide-page[data-page-family="home"] .wrap { padding-inline: 20px !important; }
  body.sitewide-page[data-page-family="home"] header.hero.bs-harmonie-hero h1 { font-size: clamp(2.85rem, 12vw, 4.7rem) !important; }
  body.sitewide-page[data-page-family^="ball-"] :is(.grid.two,.grid.three),
  body.sitewide-page[data-page-family="home"] :is(.grid.two,.grid.three) { grid-template-columns: minmax(0, 1fr) !important; }
  body.sitewide-page[data-page-family^="ball-"] :is(.sec-title,.sub-title),
  body.sitewide-page[data-page-family="home"] :is(.sec-title,.sub-title) { font-size: clamp(2rem, 8.6vw, 3.35rem) !important; }
  body.sitewide-page[data-page-family="ball-editorial"] #bsDepescheGrid.bs-depesche { grid-template-columns: minmax(0, 1fr) !important; }
  body.sitewide-page[data-page-family="ball-editorial"] .bs-dispatch:first-child { grid-row: auto; }
  body.sitewide-page[data-page-family="ball-editorial"] header.hero { min-height: 0 !important; padding-block: 50px !important; }
  body.sitewide-page[data-page-family="ball-editorial"] header.hero .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; padding-inline: 20px !important; }
  body.sitewide-page[data-page-family="ball-editorial"] header.hero h1 { font-size: clamp(3rem, 12vw, 4.8rem) !important; }
  body.sitewide-page[data-page-family="ball-editorial"] header.hero .hero-rhs { min-height: min(92vw, 420px) !important; }
  body.sitewide-page[data-page-family="ball-editorial"] #heroraum { padding: 36px 16px 18px !important; }
  body.sitewide-page[data-page-family="ball-editorial"] #heroraum .raum-titel { font-size: clamp(2.7rem, 11vw, 4.4rem) !important; }
  body.sitewide-page[data-page-family="ball-editorial"] #ballflug-feld { min-height: min(112vw, 500px) !important; }
  body.sitewide-page[data-page-family="ball-editorial"] #raum-text .tafel-innen { padding: 22px !important; }
  body.sitewide-page[data-page-family="ball-editorial"] .wege { align-items: stretch; flex-direction: column; padding-inline: 20px; }
  body.sitewide-page[data-page-family="ball-editorial"] .wege a { justify-content: flex-start; }
  body.sitewide-page[data-page-family="ball-editorial"] .faq-hero-stage,
  body.sitewide-page[data-page-family="ball-utility"] .faq-hero-stage { min-height: clamp(420px, 68svh, 570px) !important; }
  body.sitewide-page[data-page-family="ball-editorial"] .faq-hero-stage > .hero-pulse,
  body.sitewide-page[data-page-family="ball-utility"] .faq-hero-stage > .hero-pulse { padding: 78px 20px 66px !important; }
  body.sitewide-page[data-page-family="ball-editorial"] .faq-hero-stage .hero-pulse :is(.sec-title,h1),
  body.sitewide-page[data-page-family="ball-utility"] .faq-hero-stage .hero-pulse :is(.sec-title,h1) { font-size: clamp(2.8rem, 11vw, 4.4rem) !important; }
  body.sitewide-page[data-page-family="ball-experience"] header.hero { min-height: 0 !important; padding: 52px 20px 42px !important; }
  body.sitewide-page[data-page-family="ball-experience"][data-d17-page="labor"] .hero-kino { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 28px 18px !important; }
  body.sitewide-page[data-page-family="ball-experience"][data-d17-page="labor"] .hero-kino .hero-text { padding: 20px !important; }
  body.sitewide-page[data-page-family="ball-experience"][data-d17-page="labor"] .hero-media-stage { min-height: min(90vw, 420px) !important; }
  body.sitewide-page[data-page-family="ball-experience"][data-d17-page="labor"] .hero-text h1 { font-size: clamp(2.5rem, 10vw, 3.8rem) !important; }
}
@media (max-width: 680px) {
  body.sitewide-page[data-page-family^="ball-"] .faq-hero-stage { display: block !important; }
  body.sitewide-page[data-page-family^="ball-"] .faq-hero-stage :is(#d17-hero,.d17-hero),
  body.sitewide-page[data-page-family^="ball-"] :is(#d17-hero,.d17-hero),
  body.sitewide-page[data-page-family^="ball-"] .faq-hero-stage > .hero-pulse {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    box-sizing: border-box !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 74px 20px 72px !important;
    transform: none !important;
    text-align: left !important;
  }
  body.sitewide-page[data-page-family^="ball-"] .faq-hero-stage :is(#d17-hero,.d17-hero) > *,
  body.sitewide-page[data-page-family^="ball-"] :is(#d17-hero,.d17-hero) > * {
    box-sizing: border-box !important;
    grid-column: 1/-1 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.sitewide-page[data-page-family^="ball-"] .faq-hero-stage :is(#d17-hero,.d17-hero) h1,
  body.sitewide-page[data-page-family^="ball-"] :is(#d17-hero,.d17-hero) h1,
  body.sitewide-page[data-page-family^="ball-"] .faq-hero-stage > .hero-pulse h1 {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 8px 0 16px !important;
    padding: 0 !important;
    font-size: clamp(36px,11vw,43px) !important;
    line-height: 1.04 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    hyphens: auto;
    text-align: left !important;
  }
  body.sitewide-page[data-page-family^="ball-"] .faq-hero-stage .faq-hero-media {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  body.sitewide-page[data-page-family^="ball-"] .faq-hero-stage .faq-hero-poster { object-position: 64% center !important; }
  body.sitewide-page[data-page-family^="ball-"] main#top .faq-hero-stage > .bs-ki-schild-r100 {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 14px 20px 0 !important;
    font: 12px/1.5 Arial, Helvetica, sans-serif !important;
  }
}
@media (max-width: 560px) {
  body.sitewide-page[data-page-family="ball-editorial"] .faq-hero-stage > .b6-origin-caption,
  body.sitewide-page[data-page-family="ball-utility"] .faq-hero-stage > .b6-origin-caption { right: 20px; left: 20px; max-width: none; font-size: 11px; }
  body.sitewide-page[data-page-family^="ball-"] table { display: block; overflow-x: auto; white-space: nowrap; }
  body.sitewide-page[data-page-family^="ball-"] main#seiten-inhalt.card { width: calc(100% - 28px) !important; padding: 24px 20px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.sitewide-page[data-page-family^="ball-"] :is(a,button,summary,.card,.hero-rhs),
  body.sitewide-page[data-page-family="home"] :is(a,button,summary,.card,.hero-rhs) {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
