body { margin: 0; background: #FBFAF8; font-family: 'Source Sans 3', system-ui, sans-serif; color: #1B2A33; }
  * { box-sizing: border-box; }
  a { color: #0E4C7B; text-decoration: none; }
  a:hover { color: #E2551E; }
  ::selection { background: #F0923955; }
  :focus-visible { outline: 3px solid #0E4C7B; outline-offset: 3px; border-radius: 4px; }
  .skip-link { position: absolute; left: -9999px; top: 0; z-index: 999; }
  .skip-link:focus { left: 12px; top: 12px; background: #0E4C7B; color: #fff; padding: 12px 20px; border-radius: 8px; font-weight: 600; }
  @media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
  @media (max-width: 1180px) and (min-width: 940px) {
    .om-nav { gap: 5px !important; }
    .om-nav a { padding: 0 11px !important; font-size: 13.5px !important; }
    .om-logo { height: 76px !important; }
  }
  @media (max-width: 939px) and (min-width: 760px) {
    .om-nav { gap: 4px !important; }
    .om-nav a { padding: 0 9px !important; font-size: 13px !important; min-height: 40px !important; }
    .om-logo { height: 58px !important; }
    .om-headrow { gap: 12px !important; padding-top: 10px !important; padding-bottom: 10px !important; }
    .om-headrow > a[href="#kontakt"] { padding: 10px 16px !important; font-size: 14px !important; }
  }
  @media (max-width: 1000px) {
    .om-split { grid-template-columns: minmax(0, 1fr) !important; gap: 34px !important; }
    .om-cards { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; }
    .om-pad { padding-left: 18px !important; padding-right: 18px !important; }
    .om-sec { padding-top: 58px !important; padding-bottom: 58px !important; }
    .om-h1 { font-size: 58px !important; }
    .om-legal-h1 { font-size: 34px !important; }
    .om-h2 { font-size: 32px !important; }
    .om-claim { font-size: 66px !important; }
    .om-book { font-size: 52px !important; }
    .om-bignums { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; gap: 24px !important; margin-top: 44px !important; }
    .om-bignums > div > div:first-child { font-size: 76px !important; }
    .om-mediafirst { order: -1; }

    .om-logo { height: 68px !important; }
    .om-headrow { padding-top: 10px !important; padding-bottom: 10px !important; gap: 12px !important; }

    .om-mapcol { padding-top: 0 !important; }
    .om-card-pad { padding: 24px !important; }
  }
  img { max-width: 100%; }
  @media (max-width: 1000px) and (min-width: 761px) {
    .om-split-wide { grid-template-columns: minmax(0,1fr) minmax(0,0.9fr) !important; gap: 32px !important; align-items: center !important; }
  }
  @media (max-width: 760px) {
    .om-split-wide { grid-template-columns: minmax(0,1fr) !important; gap: 30px !important; }
  }
  h1, h2, h3, p, dt, dd, li { overflow-wrap: break-word; }
  @media (max-width: 860px) {
    .om-footcols { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; gap: 26px !important; }
  }
  @media (max-width: 600px) {
    .om-footcols { grid-template-columns: minmax(0,1fr) !important; }
  }
  .om-rail::-webkit-scrollbar { display: none; }
  @media (max-width: 640px) { .om-rail { padding-left: calc(50% - 130px) !important; padding-right: calc(50% - 130px) !important; } .om-railcard { flex: 0 0 260px !important; height: 348px !important; } }
  @media (min-width: 760px) { .om-mobnav { display: none !important; } .om-burger { display: none !important; } .om-nav { display: flex !important; } }
  @media (max-width: 759px) {
    .om-nav { display: none !important; }
    .om-burger { display: inline-flex !important; }
    .om-headrow { justify-content: space-between !important; }
    .om-headrow > a[href="#kontakt"] { margin-left: 0 !important; flex: 1 1 auto; justify-content: center; text-align: center; }
  }
  @media (max-width: 860px) and (min-width: 760px) {
    .om-headrow > a[href="#kontakt"] { display: none !important; }
    .om-nav a { padding: 0 8px !important; font-size: 12.5px !important; }
  }
  @media (max-width: 860px) {
    .om-cards { grid-template-columns: 1fr 1fr !important; }
    .om-heroband { padding: 24px 18px 12px !important; }
  }
  @media (max-width: 600px) {
    .om-pad { padding-left: 16px !important; padding-right: 16px !important; }
    .om-sec { padding-top: 46px !important; padding-bottom: 46px !important; }
    h1, h2, h3 { text-wrap: balance; overflow-wrap: break-word; hyphens: auto; }
    .om-topbar { justify-content: flex-start !important; }
    .om-topbar a { margin-left: 0 !important; }
    form { grid-template-columns: 1fr !important; }
  }
  @media (max-width: 420px) {
    .om-h1 { font-size: 38px !important; }
    .om-claim { font-size: 40px !important; }
    .om-book { font-size: 32px !important; }
  }
  @media (max-width: 600px) {
    .om-cards { grid-template-columns: minmax(0,1fr) !important; gap: 16px !important; }
    .om-card-pad { padding: 16px !important; }
    .om-cards .om-card-pad { padding: 24px !important; }
    .om-pad { padding-left: 14px !important; padding-right: 14px !important; }
    .om-h1 { font-size: 44px !important; }
    .om-legal-h1 { font-size: 30px !important; }
    .om-h2 { font-size: 26px !important; }
    .om-claim { font-size: 48px !important; }
    .om-book { font-size: 38px !important; }
    .om-bignums { grid-template-columns: minmax(0,1fr) !important; gap: 20px !important; }
    .om-bignums > div { display: grid; grid-template-columns: auto 1fr; gap: 4px 18px; align-items: center; }
    .om-bignums > div > div:first-child { font-size: 62px !important; }
    .om-bignums > div > div:last-child { margin-top: 0 !important; }
    .om-stats { gap: 22px !important; }
    .om-cta { width: 100% !important; text-align: center; }
    .om-logo { height: 58px !important; }
    .om-footer { flex-direction: column !important; align-items: flex-start !important; }
    .om-footer + nav { padding-bottom: 96px !important; }
    .om-topbar { font-size: 14px !important; }
    .om-deflist > div { grid-template-columns: minmax(0,1fr) !important; gap: 4px !important; }
    .om-topbar a { margin-left: 0 !important; }
  }

/* Zustände, die in der Vorlage inline standen */
.hv1:hover{color:#F7B877}
.hv2:hover{background:#E2551E;border-color:#E2551E;color:#fff}
.hv3:hover{background:#E2551E;color:#fff}
.hv4:hover{border-color:#E2551E;color:#E2551E}
.hv5:hover{background:#E2551E}
.hv6:hover{background:#fff;color:#0E4C7B}
.hv7:hover{border-color:#F09239;color:#F7B877}
.hv8:hover{border-color:#F09239}
.hv9:hover{background:#F09239;color:#3A1B06;border-color:#F09239}
.hv10:hover{opacity:0.94}
.hv11:hover{background:#F09239;border-color:#F09239;color:#3A1B06}
.hv12:hover{background:#0E4C7B}
.hv13:hover{color:#E2551E}
a { color: #0E4C7B; }
a:hover { color: #E2551E; }
.om-mobnav.is-open { display: grid !important; }
.kb-totop.is-visible { opacity: 1 !important; pointer-events: auto !important; transform: translateY(0) !important; }
.om-railcard.is-active { transform: scale(1.06) !important; filter: none !important; opacity: 1 !important; z-index: 3 !important; box-shadow: 0 22px 50px rgba(9,40,64,0.3) !important; }
.om-railcard.is-active figcaption { opacity: 1 !important; }
