/* Gemeinsame Gestaltung: dunkles Blau, warme Sandtöne und gut lesbare Inhalte. */
:root { --sd-sand: #f5c36b; --sd-text: #f6f0e7; --sd-muted: #bbb8b2; --sd-blue: #002c4b; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { background: #10191e; color: var(--sd-text); font-size: 16px; line-height: 1.65; }
.site-main h1, .site-main h2, .site-main h3, .site-main h4 { color: var(--sd-text); }
a { color: var(--sd-sand); }
a:hover { color: #fff; }
button, input { font: inherit; }
:focus-visible { outline: 3px solid var(--sd-sand); outline-offset: 5px; }
.sd-container { width: min(1180px, calc(100% - 64px)); margin: 0 auto; }
.sd-kicker { margin: 0 0 18px; color: var(--sd-sand); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.sd-muted { color: var(--sd-muted); font-size: 14px; }
.sd-skip { position: fixed; top: -90px; left: 16px; z-index: 30000; padding: 12px 20px; background: var(--sd-blue); color: white; }
.sd-skip:focus { top: 10px; }
.sd-mobile-topbar { display: none; }
/* Wie bei Seven Rivers erhält die Navigation eine eigene responsive Ebene. */
.rd-navbar-dark { background: #002c4b !important; border-bottom: 1px solid #ffffff1f; }
#headlogo { top: 4px; left: 20px; }
#headlogo img { width: 114px; height: auto; }
.rd-navbar-static .sd-nav-main, .rd-navbar-fullwidth .sd-nav-main { display: flex; align-items: center; gap: 4px; }
.rd-navbar-static .sd-nav-main > li, .rd-navbar-fullwidth .sd-nav-main > li { margin-left: 0 !important; }
.rd-navbar-static .sd-nav-main > li > a, .rd-navbar-fullwidth .sd-nav-main > li > a { padding: 11px 14px; border-radius: 5px; font-size: 13px; letter-spacing: 0; }
.rd-navbar-static .sd-nav-main > li > a:after, .rd-navbar-fullwidth .sd-nav-main > li > a:after { display: none; }
.rd-navbar-static .sd-nav-main > li.active > a, .rd-navbar-fullwidth .sd-nav-main > li.active > a { background: #ffffff15; color: var(--sd-sand); }
.site-main > .section { padding-top: 70px; padding-bottom: 70px; }
.bg-gray-darker { background: #10191e; }
.page-footer { border-top: 1px solid #ffffff15; font-size: 14px; line-height: 1.65; }
.page-footer h5 { font-size: 18px; }
.page-footer .container-wide { max-width: 1240px; }
/* Die Bildstrecke liegt hinter einem festen Text; so bleibt die Botschaft beim Wechsel ruhig. */
.sd-hero { position: relative; display: grid; align-items: center; min-height: 710px; overflow: hidden; background: #18242a url('/images/bgslides-2024/1.jpg') center/cover; }
.sd-hero .sd-slides { position: absolute; inset: 0; width: 100%; height: 100% !important; min-height: 0; z-index: 0; }
.sd-hero .swiper-slide { background-position: center; }
.sd-hero-shade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #07141deb 0%, #07141daa 46%, #07141d20 100%), linear-gradient(0deg, #10191e 0%, transparent 35%); pointer-events: none; }
.sd-hero-content { position: relative; z-index: 2; padding: 95px 0 100px; pointer-events: none; }
.sd-hero-content a { pointer-events: auto; }
.sd-hero h1 { margin: 0 0 25px; max-width: 850px; font-size: clamp(38px, 4.7vw, 70px); line-height: 1.08; letter-spacing: -.035em; font-weight: 800; text-transform: none; }
.sd-hero h1 em, .sd-comeback h2 em { color: var(--sd-sand); font-style: normal; }
.sd-hero-lead { max-width: 620px; margin: 0 0 30px; color: #f5f0e9; font-size: 20px; line-height: 1.6; }
.sd-hero-lead strong { display: block; }
.sd-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.sd-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 50px; padding: 13px 22px; border: 1px solid var(--sd-sand); border-radius: 5px; background: var(--sd-sand); color: #17232a !important; font-size: 15px; font-weight: 800; line-height: 1.4; text-decoration: none !important; cursor: pointer; transition: background .2s; }
.sd-button:hover { background: #ffdc9e; }
.sd-button:disabled { opacity: .5; cursor: default; }
.sd-button-secondary { background: #0b1c286b; border-color: #ffffff6b; color: white !important; }
.sd-button-secondary:hover { background: #ffffff1c; }
.sd-hero-facts { display: flex; flex-wrap: wrap; gap: 35px; margin-top: 45px; }
.sd-hero-facts span { display: block; color: #d4d5d3; font-size: 12px; line-height: 1.5; }
.sd-hero-facts b { display: block; color: var(--sd-sand); font-size: 24px; font-weight: 800; }
.sd-hero .swiper-pagination { bottom: 24px; z-index: 4; }
.sd-hero .swiper-pagination-bullet { width: 10px; height: 10px; background: #fff; opacity: .5; }
.sd-hero .swiper-pagination-bullet-active { background: var(--sd-sand); opacity: 1; }
.sd-slideshow-toggle { position: absolute; right: 25px; bottom: 20px; z-index: 5; padding: 6px 10px; border: 1px solid #ffffff66; border-radius: 4px; background: #07141daa; color: white; font-size: 12px; cursor: pointer; }
.sd-comeback { padding: 85px 0; }
.sd-comeback-grid { display: grid; grid-template-columns: .9fr 1.2fr; gap: 70px; }
.sd-comeback h2, .sd-signup h2, .sd-timeline-section h2 { margin: 0 0 25px; font-size: clamp(28px, 3vw, 42px); line-height: 1.15; font-weight: 800; text-transform: none; }
.sd-copy p { margin: 0 0 20px; color: #d2d5d4; }
.sd-copy strong { color: white; }
.sd-text-link { display: inline-block; margin-top: 8px; font-weight: 700; }
.sd-timeline-section { padding: 65px 0; background: #19252c; border-block: 1px solid #ffffff0e; }
.sd-timeline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 35px; }
.sd-timeline article { border-top: 2px solid #f5c36b70; padding: 22px 0 0; }
.sd-step { color: var(--sd-sand); font-size: 12px; font-weight: 700; }
.sd-timeline h3 { margin: 12px 0; font-size: 21px; line-height: 1.3; text-transform: none; }
.sd-timeline p { margin: 0; color: #c4c9cb; font-size: 15px; }
.sd-planning-note { margin: 32px 0 0; color: #a7b3bb; font-size: 14px; }
.sd-signup { padding: 85px 0; background: linear-gradient(120deg, #082f49, #10191e); scroll-margin-top: 80px; }
.sd-signup-grid { display: grid; grid-template-columns: .9fr 1.2fr; gap: 70px; align-items: start; }
.sd-signup p { margin: 0 0 20px; }
.sd-form-card { min-width: 0; padding: 32px; border: 1px solid #ffffff2b; border-radius: 8px; background: #ffffff06; }
.sd-form-card h3 { margin: 0 0 24px; font-size: 22px; line-height: 1.3; text-transform: none; }
.sd-form-card label { display: block; margin: 0 0 9px; color: white; font-size: 14px; font-weight: 700; }
.sd-form-card input[type=email] { box-sizing: border-box; width: 100%; height: 52px; padding: 12px 14px; border: 1px solid #aab4ba; border-radius: 4px; background: #fff; color: #17232a; }
.sd-form-card .sd-consent { display: flex; align-items: flex-start; gap: 12px; margin: 22px 0; font-size: 12px; font-weight: 400; line-height: 1.65; color: #d0d6da; }
.sd-consent input { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 4px; accent-color: var(--sd-sand); }
.sd-consent a { text-decoration: underline; overflow-wrap: anywhere; }
.sd-form-card .sd-button { width: 100%; }
.sd-honeypot { display: none; }
.sd-form-error { padding: 12px; border-left: 3px solid #ffba9c; background: #8a351e44; color: #ffdbc9; }
.sd-confirm-hint { margin-top: 20px !important; }
/* Standbilder halten die Video-Vorschau auch bei ausgeschaltetem Vorladen sichtbar. */
.interviews video { display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; object-fit: contain; background: #07141d; }
.sd-success h3 { color: var(--sd-sand); }
.sd-page-intro { padding: 80px 0 50px; }
.sd-page-intro h1 { font-size: clamp(32px, 4vw, 50px); line-height: 1.2; }
.sd-page-intro p { max-width: 800px; }
/* Mobil bleibt die Navigation unabhängig vom alten Navbar-Panel bedienbar. */
/* Der Seitenkopf reserviert auch bei feststehender Navigation seinen Platz im Dokument. */
@media (min-width: 992px) {
  .page-header { position: relative; min-height: 70px; }
}
@media (max-width: 1199px) {
  .rd-navbar-static .sd-nav-main > li > a, .rd-navbar-fullwidth .sd-nav-main > li > a { padding: 11px 8px; font-size: 12px; }
  #headlogo img { width: 90px; }
}
@media (max-width: 991px) {
  body { padding-top: 60px; }
  html.rd-navbar-fixed-linked .page { padding-top: 0; }
  .sd-container { width: calc(100% - 40px); }
  #headlogo, .rd-navbar .rd-navbar-panel { display: none !important; }
  .page-header, .rd-navbar-wrap, .rd-navbar { z-index: 20000 !important; }
  .rd-navbar-wrap { height: 0 !important; }
  .sd-mobile-topbar { position: fixed; inset: 0 0 auto; z-index: 21000; display: flex; align-items: center; height: 60px; padding: 4px 15px; background: #002c4b; box-shadow: 0 4px 18px #0006; }
  .sd-mobile-brand { display: flex; align-items: center; gap: 15px; color: white !important; font-size: 12px; font-weight: 700; }
  .sd-menu-toggle { display: grid; place-items: center; flex: 0 0 42px; height: 44px; margin-right: 15px; border: 1px solid #ffffff33; border-radius: 5px; background: #ffffff0c; color: white; }
  .sd-menu-toggle span, .sd-menu-toggle span:before, .sd-menu-toggle span:after { position: relative; display: block; width: 22px; height: 2px; background: white; }
  .sd-menu-toggle span:before, .sd-menu-toggle span:after { position: absolute; content: ''; left: 0; }
  .sd-menu-toggle span:before { top: -7px; }
  .sd-menu-toggle span:after { top: 7px; }
  .sd-menu-toggle[aria-expanded=true] span { background: transparent; }
  .sd-menu-toggle[aria-expanded=true] span:before { top: 0; transform: rotate(45deg); }
  .sd-menu-toggle[aria-expanded=true] span:after { top: 0; transform: rotate(-45deg); }
  .rd-navbar .rd-navbar-nav-wrap { position: fixed !important; top: 60px !important; bottom: 0; left: 0; width: min(86vw, 340px); height: auto; padding: 16px 12px; overflow-y: auto; background: #082d45 !important; transform: translateX(-110%) !important; visibility: hidden; }
  .rd-navbar .rd-navbar-nav-wrap:before, .rd-navbar .rd-navbar-nav-wrap:after { display: none !important; }
  .rd-navbar .rd-navbar-nav-wrap.sd-menu-open { transform: translateX(0) !important; visibility: visible; transition-delay: 0s; }
  .rd-navbar .sd-nav-main { display: grid; gap: 9px; padding: 0; margin: 0; }
  .rd-navbar .sd-nav-main > li { margin: 0 !important; }
  .rd-navbar .sd-nav-main > li > a { display: flex; align-items: center; min-height: 48px; padding: 12px 15px; border: 1px solid #ffffff20; border-radius: 5px; background: #ffffff08; color: white; font-size: 14px; }
  .rd-navbar .sd-nav-main > li.active > a { color: var(--sd-sand); background: #ffffff15; }
  .sd-comeback-grid, .sd-signup-grid { grid-template-columns: 1fr; gap: 28px; }
  .sd-timeline { gap: 24px; }
  .sd-hero { min-height: 700px; }
  .sd-hero-content { padding: 75px 0 100px; }
  .sd-hero-shade { background: linear-gradient(90deg, #07141de0, #07141d77), linear-gradient(0deg, #10191e, transparent 50%); }
}
@media (max-width: 600px) {
  .sd-hero { min-height: 690px; }
  .sd-hero-content { padding-top: 60px; }
  .sd-hero h1 { font-size: clamp(34px, 8.5vw, 46px); }
  .sd-hero-lead { font-size: 17px; }
  .sd-hero .sd-kicker { max-width: 280px; font-size: 11px; }
  .sd-hero-facts { gap: 22px; margin-top: 30px; }
  .sd-hero-facts b { font-size: 21px; }
  .sd-hero-facts span { font-size: 11px; }
  .sd-actions { display: grid; }
  .sd-button { font-size: 14px; }
  .sd-hero .swiper-pagination { bottom: 55px; }
  .sd-slideshow-toggle { right: 20px; bottom: 15px; }
  .sd-comeback, .sd-signup { padding: 55px 0; }
  .sd-timeline-section { padding: 50px 0; }
  .sd-timeline { grid-template-columns: 1fr; gap: 25px; }
  .sd-form-card { padding: 22px 18px; }
  .site-main > .section { padding-top: 45px; padding-bottom: 45px; }
  .site-main h2 { font-size: 27px; }
  .site-main .half, .site-main .third, .site-main .twothird { width: 100%; margin-left: 0; }
  #rbtab { display: block; max-width: 100%; overflow-x: auto; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *:before, *:after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }
