/* Hidden SVGs and grid panels must override Bricks display rules. */
.sw-barometer [hidden] {
  display: none !important;
}
/* Preserve keyboard focus despite the site's older global focus reset. */
.sw-barometer__range .noUi-handle:focus-visible {
  outline: .3rem solid var(--primary) !important;
  outline-offset: .8rem;
}
/* Bricks has no hyphenation control. Let German compound words wrap without editing copy. */
:is(.sw-intro__title, .sw-heading, .sw-process__title, .sw-barometer__title) {
  overflow-wrap: anywhere;
  -webkit-hyphens: auto;
  hyphens: auto;
}
/* Break oversized body words only when needed; ordinary sentences keep natural word spacing. */
.sw-body {
  overflow-wrap: anywhere;
}

/* Activate pen accents only on selected words, never on the full heading. */
.sw-underline {
  --sw-underline-color: var(--tertiary);
  /* Keep short words intact while allowing German compounds to wrap. */
  hyphenate-limit-chars: 8 3 3;
}
.sw-underline--secondary {
  --sw-underline-color: var(--secondary);
}
.sw-underline--tertiary {
  --sw-underline-color: var(--tertiary);
}
/* Native inline underline formatting remains a fallback before enhancement. */
.sw-underline u,
u.sw-underline {
  text-decoration-color: var(--sw-underline-color);
}
/* Clone the broad, uneven pen stroke per line. Background painting keeps it behind the letters. */
:is(.sw-underline u, u.sw-underline)[data-sw-underline-ready] {
  display: inline;
  text-decoration: none;
  padding-bottom: 0;
  background-image: var(--sw-underline-image);
  background-repeat: no-repeat;
  background-position: left calc(100% - 0.06em);
  background-size: 100% 0.52em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
