:root {
  --uv-ink: #17344a;
  --uv-steel: #35566f;
  --uv-gold: #c49a3a;
  --uv-paper: #f4f1e9;
  --uv-white: #ffffff;
  --uv-muted: #68777f;
  --uv-line: rgba(53, 86, 111, 0.16);
}

* { box-sizing: border-box; }

html, body { min-height: 100%; }

body.uv-prelaunch {
  margin: 0;
  min-height: 100vh;
  color: var(--uv-ink);
  background:
    radial-gradient(circle at 78% 22%, rgba(196,154,58,.10), transparent 28rem),
    linear-gradient(135deg, #f7f5ef 0%, var(--uv-paper) 55%, #eef1f2 100%);
  font-family: Arial, Helvetica, sans-serif;
}

.uv-prelaunch__shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: clamp(28px, 6vw, 80px);
}

.uv-prelaunch__card {
  width: min(860px, 100%);
  padding: clamp(38px, 7vw, 82px);
  text-align: center;
  background: rgba(255,255,255,.94);
  border: 1px solid var(--uv-line);
  box-shadow: 0 28px 90px rgba(23,52,74,.12);
}

.uv-prelaunch__logo {
  display: block;
  width: 92px;
  max-height: 118px;
  object-fit: contain;
  margin: 0 auto 24px;
}

.uv-prelaunch__eyebrow {
  margin: 0 0 18px;
  color: var(--uv-gold);
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.uv-prelaunch h1 {
  max-width: 720px;
  margin: 0 auto;
  color: var(--uv-ink);
  font-size: clamp(2.2rem, 5vw, 4.6rem);
  line-height: .98;
  letter-spacing: -.035em;
}

.uv-prelaunch__lead,
.uv-prelaunch__message {
  max-width: 690px;
  margin-left: auto;
  margin-right: auto;
  color: var(--uv-muted);
  line-height: 1.75;
}

.uv-prelaunch__lead {
  margin-top: 28px;
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
}

.uv-prelaunch__message {
  margin-top: 14px;
  font-size: 1rem;
}

.uv-prelaunch__login {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: 28px;
  padding: 0 22px;
  border: 1px solid var(--uv-steel);
  color: var(--uv-steel);
  text-decoration: none;
  font-weight: 800;
}

.uv-prelaunch__login:hover,
.uv-prelaunch__login:focus-visible {
  color: var(--uv-white);
  background: var(--uv-steel);
}


/* Foundation 743 – korrigierter Prelaunch-Aufbau; nur Darstellung/Inhalt */
.uv-prelaunch h1 {
  max-width: 760px;
  font-size: clamp(1.8rem, 3.7vw, 3.25rem);
  line-height: 1.08;
  letter-spacing: -.025em;
}

.uv-prelaunch__wordmark {
  color: #102f86;
  font-family: "Times New Roman", Times, serif;
  font-weight: 700;
  letter-spacing: .04em;
  white-space: nowrap;
}

.uv-prelaunch__logo {
  width: 184px;
  max-height: 236px;
  margin: 30px auto 28px;
}

.uv-prelaunch__lead { margin-top: 0; }

.uv-prelaunch__soon {
  max-width: 690px;
  margin: 18px auto 0;
  color: var(--uv-ink);
  font-size: 1.05rem;
  font-weight: 800;
}

@media (max-width: 560px) {
  .uv-prelaunch__logo {
    width: 150px;
    max-height: 190px;
    margin-top: 24px;
  }
}


/* Foundation 744 – nur Prelaunch-Darstellung: breitere Seitenmotive, schmaleres Mittelfeld */
body.uv-prelaunch {
  background:
    url("/assets/prelaunch-buyer-744.webp") left center / max(24vw, 300px) 100% no-repeat fixed,
    url("/assets/prelaunch-seller-744.webp") right center / max(24vw, 300px) 100% no-repeat fixed,
    var(--uv-paper);
}

.uv-prelaunch__shell {
  padding-left: clamp(250px, 24vw, 390px);
  padding-right: clamp(250px, 24vw, 390px);
}

.uv-prelaunch__card {
  width: min(760px, 100%);
  padding-left: clamp(30px, 5vw, 62px);
  padding-right: clamp(30px, 5vw, 62px);
}

@media (max-width: 980px) {
  body.uv-prelaunch {
    background:
      linear-gradient(rgba(244,241,233,.72), rgba(244,241,233,.72)),
      url("/assets/prelaunch-buyer-744.webp") left center / 50% 100% no-repeat fixed,
      url("/assets/prelaunch-seller-744.webp") right center / 50% 100% no-repeat fixed;
  }
  .uv-prelaunch__shell { padding: 28px; }
}

@media (max-width: 620px) {
  body.uv-prelaunch { background: var(--uv-paper); }
  .uv-prelaunch__shell { padding: 18px; }
}


/* Foundation 746 – Markenfarbiger Übergang zwischen Seitenmotiven und weißem Zentrum. */
body.uv-prelaunch { position: relative; }

body.uv-prelaunch::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(90deg,
    rgba(16,47,134,.34) 0%,
    rgba(16,47,134,.20) 18%,
    rgba(16,47,134,.10) 24%,
    rgba(244,241,233,.82) 31%,
    rgba(244,241,233,.96) 36%,
    rgba(244,241,233,.96) 64%,
    rgba(196,154,58,.10) 76%,
    rgba(196,154,58,.20) 82%,
    rgba(196,154,58,.34) 100%);
}

.uv-prelaunch__shell {
  position: relative;
  z-index: 1;
}

.uv-prelaunch__card {
  box-shadow:
    -24px 0 48px rgba(16,47,134,.12),
     24px 0 48px rgba(196,154,58,.12),
     0 28px 90px rgba(23,52,74,.10);
}

@media (max-width: 620px) {
  body.uv-prelaunch::before { display: none; }
}


/* Foundation 747
   Sichtbarer Marken-Uebergang zwischen Seitenbildern und weissem Mittelfeld.
   Keine Funktions-/Markup-Aenderung. */
@media (min-width: 981px) {
  body.uv-prelaunch {
    background:
      linear-gradient(90deg,
        rgba(20,57,116,.78) 0%,
        rgba(20,57,116,.78) 23.5%,
        rgba(20,57,116,.34) 27.5%,
        rgba(20,57,116,0) 32%,
        rgba(255,255,255,0) 68%,
        rgba(190,143,48,0) 68%,
        rgba(190,143,48,.34) 72.5%,
        rgba(190,143,48,.72) 76.5%,
        rgba(190,143,48,.72) 100%),
      url("/assets/prelaunch-buyer-745.webp") left center / 24% 100% no-repeat fixed,
      url("/assets/prelaunch-seller-745.webp") right center / 24% 100% no-repeat fixed,
      #f3f0e8 !important;
  }

  .uv-prelaunch__shell {
    position: relative;
    padding-left: clamp(285px, 29vw, 470px) !important;
    padding-right: clamp(285px, 29vw, 470px) !important;
  }

  .uv-prelaunch__card {
    width: min(760px, 100%) !important;
    box-shadow:
      -28px 0 48px rgba(20,57,116,.18),
       28px 0 48px rgba(190,143,48,.18) !important;
  }
}


/* Foundation 749
   Ursache aus Diagnose 748 behoben:
   Personenbilder bleiben unverfaerbt; separate Markenfarb-Baender liegen im Zwischenraum
   zwischen Bild und weissem Mittelfeld. Keine funktionale Aenderung. */
@media (min-width: 981px) {
  body.uv-prelaunch {
    background:
      url("/assets/prelaunch-buyer-744.webp") left center / 24% 100% no-repeat fixed,
      url("/assets/prelaunch-seller-744.webp") right center / 24% 100% no-repeat fixed,
      #f3f0e8 !important;
    position: relative;
  }

  .uv-prelaunch__shell {
    position: relative;
    padding-left: clamp(320px, 31vw, 500px) !important;
    padding-right: clamp(320px, 31vw, 500px) !important;
  }

  .uv-prelaunch__shell::before,
  .uv-prelaunch__shell::after {
    content: "";
    position: fixed;
    top: 0;
    bottom: 0;
    z-index: 0;
    pointer-events: none;
  }

  .uv-prelaunch__shell::before {
    left: 24%;
    width: 8%;
    background: linear-gradient(
      90deg,
      rgba(20,57,116,.88) 0%,
      rgba(20,57,116,.62) 42%,
      rgba(20,57,116,.22) 78%,
      rgba(20,57,116,0) 100%
    );
  }

  .uv-prelaunch__shell::after {
    right: 24%;
    width: 8%;
    background: linear-gradient(
      90deg,
      rgba(190,143,48,0) 0%,
      rgba(190,143,48,.22) 22%,
      rgba(190,143,48,.62) 58%,
      rgba(190,143,48,.88) 100%
    );
  }

  .uv-prelaunch__card {
    position: relative;
    z-index: 1;
    width: min(760px, 100%) !important;
    box-shadow:
      -16px 0 34px rgba(20,57,116,.10),
       16px 0 34px rgba(190,143,48,.10) !important;
  }
}

/* Foundation 757 – Korrekturstand nach erstem Server-Test
   Gleiche Foundation, noch NICHT TEST OK.
   Ziel: ruhigere, weniger kastenartige Mitte; ausgewogenere vertikale Verteilung;
   weichere beidseitige Uebergaenge; responsiv ohne feste Screenshot-Groesse. */
@media (min-width: 981px) {
  body.uv-prelaunch {
    --uv-prelaunch-side: clamp(300px, 25vw, 500px);
    --uv-prelaunch-fade: clamp(140px, 11vw, 220px);
    background:
      url("/assets/prelaunch-buyer-744.webp") left center / var(--uv-prelaunch-side) 100% no-repeat fixed,
      url("/assets/prelaunch-seller-744.webp") right center / var(--uv-prelaunch-side) 100% no-repeat fixed,
      #f4f1e9 !important;
    overflow-x: hidden;
  }

  body.uv-prelaunch::before {
    display: block !important;
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg,
      rgba(16,47,134,0) 0,
      rgba(16,47,134,0) calc(var(--uv-prelaunch-side) - 1px),
      rgba(16,47,134,.46) var(--uv-prelaunch-side),
      rgba(16,47,134,.25) calc(var(--uv-prelaunch-side) + var(--uv-prelaunch-fade) * .34),
      rgba(244,241,233,.56) calc(var(--uv-prelaunch-side) + var(--uv-prelaunch-fade) * .70),
      rgba(244,241,233,.96) calc(var(--uv-prelaunch-side) + var(--uv-prelaunch-fade)),
      rgba(244,241,233,.96) calc(100% - var(--uv-prelaunch-side) - var(--uv-prelaunch-fade)),
      rgba(244,241,233,.56) calc(100% - var(--uv-prelaunch-side) - var(--uv-prelaunch-fade) * .70),
      rgba(190,143,48,.25) calc(100% - var(--uv-prelaunch-side) - var(--uv-prelaunch-fade) * .34),
      rgba(190,143,48,.46) calc(100% - var(--uv-prelaunch-side)),
      rgba(190,143,48,0) calc(100% - var(--uv-prelaunch-side) + 1px),
      rgba(190,143,48,0) 100%);
  }

  .uv-prelaunch__shell {
    min-height: 100svh;
    padding:
      clamp(18px, 3vh, 34px)
      calc(var(--uv-prelaunch-side) + clamp(24px, 2.6vw, 46px)) !important;
  }

  .uv-prelaunch__shell::before,
  .uv-prelaunch__shell::after {
    display: none !important;
  }

  .uv-prelaunch__card {
    position: relative;
    z-index: 1;
    width: min(720px, 100%) !important;
    padding: clamp(26px, 3.2vh, 40px) clamp(34px, 3.6vw, 54px) !important;
    border: 0;
    background: rgba(255,255,255,.90);
    box-shadow:
      -18px 0 44px rgba(16,47,134,.055),
       18px 0 44px rgba(190,143,48,.055),
       0 18px 54px rgba(23,52,74,.055) !important;
  }

  .uv-prelaunch h1 {
    max-width: 660px;
    font-size: clamp(2rem, 2.75vw, 3.05rem);
    line-height: 1.04;
  }

  .uv-prelaunch__logo {
    width: clamp(132px, 8.2vw, 158px);
    max-height: 198px;
    margin: clamp(20px, 2.8vh, 30px) auto clamp(18px, 2.4vh, 26px);
  }

  .uv-prelaunch__lead {
    max-width: 650px;
    font-size: clamp(1.03rem, 1.2vw, 1.18rem);
    line-height: 1.55;
  }

  .uv-prelaunch__message {
    max-width: 620px;
    margin-top: 18px;
    font-size: clamp(.94rem, 1vw, 1rem);
    line-height: 1.52;
  }

  .uv-prelaunch__soon { margin-top: 18px; }
  .uv-prelaunch__login { margin-top: 18px; }
}

@media (min-width: 981px) and (max-height: 760px) {
  .uv-prelaunch__card {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }
  .uv-prelaunch h1 { font-size: clamp(1.8rem, 2.55vw, 2.75rem); }
  .uv-prelaunch__logo {
    width: 124px;
    max-height: 158px;
    margin: 16px auto 14px;
  }
  .uv-prelaunch__lead,
  .uv-prelaunch__message { line-height: 1.45; }
  .uv-prelaunch__message { margin-top: 10px; }
  .uv-prelaunch__soon { margin-top: 12px; }
  .uv-prelaunch__login { margin-top: 14px; }
}

@media (min-width: 621px) and (max-width: 980px) {
  body.uv-prelaunch {
    background:
      linear-gradient(90deg,
        rgba(16,47,134,.28) 0%,
        rgba(244,241,233,.72) 32%,
        rgba(244,241,233,.94) 50%,
        rgba(244,241,233,.72) 68%,
        rgba(190,143,48,.28) 100%),
      url("/assets/prelaunch-buyer-744.webp") left center / 50% 100% no-repeat,
      url("/assets/prelaunch-seller-744.webp") right center / 50% 100% no-repeat,
      #f4f1e9 !important;
  }

  body.uv-prelaunch::before { display: none !important; }

  .uv-prelaunch__shell {
    min-height: 100svh;
    padding: clamp(18px, 4vw, 34px) !important;
  }

  .uv-prelaunch__card {
    width: min(680px, 92vw) !important;
    padding: clamp(28px, 5vw, 46px) !important;
    border: 0;
    background: rgba(255,255,255,.91);
    box-shadow: 0 18px 50px rgba(23,52,74,.08) !important;
  }

  .uv-prelaunch h1 { font-size: clamp(2rem, 5vw, 2.85rem); }
}

@media (max-width: 620px) {
  body.uv-prelaunch {
    --uv-mobile-visual: clamp(176px, 48vw, 220px);
    background: #f4f1e9 !important;
    min-height: 100svh;
  }

  body.uv-prelaunch::before {
    display: block !important;
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: var(--uv-mobile-visual);
    z-index: 0;
    pointer-events: none;
    background:
      url("/assets/prelaunch-buyer-744.webp") left 28% / 50% auto no-repeat,
      url("/assets/prelaunch-seller-744.webp") right 28% / 50% auto no-repeat,
      #e9e7df;
  }

  body.uv-prelaunch::after {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: var(--uv-mobile-visual);
    z-index: 0;
    pointer-events: none;
    background:
      linear-gradient(90deg,
        rgba(16,47,134,.20) 0%,
        rgba(16,47,134,.05) 40%,
        rgba(244,241,233,.50) 50%,
        rgba(190,143,48,.05) 60%,
        rgba(190,143,48,.20) 100%),
      linear-gradient(180deg,
        rgba(244,241,233,0) 46%,
        rgba(244,241,233,.66) 78%,
        #f4f1e9 100%);
  }

  .uv-prelaunch__shell {
    min-height: 100svh;
    display: block;
    padding: calc(var(--uv-mobile-visual) - 20px) 12px 18px !important;
  }

  .uv-prelaunch__card {
    position: relative;
    z-index: 1;
    width: 100% !important;
    padding: 24px 18px 26px !important;
    border: 0;
    background: rgba(255,255,255,.94);
    box-shadow: 0 14px 36px rgba(23,52,74,.08) !important;
  }

  .uv-prelaunch h1 {
    font-size: clamp(1.72rem, 7.8vw, 2.25rem);
    line-height: 1.07;
  }

  .uv-prelaunch__logo {
    width: 118px;
    max-height: 150px;
    margin: 18px auto 16px;
  }

  .uv-prelaunch__lead {
    font-size: .98rem;
    line-height: 1.48;
  }

  .uv-prelaunch__message {
    margin-top: 13px;
    font-size: .92rem;
    line-height: 1.48;
  }

  .uv-prelaunch__soon {
    margin-top: 14px;
    font-size: .98rem;
  }

  .uv-prelaunch__login {
    min-height: 46px;
    margin-top: 15px;
    padding: 0 18px;
  }
}

/* Foundation 757 – Korrektur 3
   Neuer Aufbau nach Server-Test: Beide Original-Seitenbilder reichen weit zur Mitte.
   Darueber liegt eine zentrale weisse Lesemaske: in der mittleren Haelfte weiss,
   nach links und rechts weich bis transparent. Der Inhalt selbst hat keinen Kasten. */
@media (min-width: 981px) {
  body.uv-prelaunch {
    background:
      url("/assets/prelaunch-buyer-744.webp") left center / 55% 100% no-repeat fixed,
      url("/assets/prelaunch-seller-744.webp") right center / 55% 100% no-repeat fixed,
      #f4f1e9 !important;
  }

  body.uv-prelaunch::before {
    display: block !important;
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.10) 8%,
      rgba(255,255,255,.40) 17%,
      rgba(255,255,255,.78) 24%,
      rgba(255,255,255,.97) 29%,
      #fff 32%,
      #fff 68%,
      rgba(255,255,255,.97) 71%,
      rgba(255,255,255,.78) 76%,
      rgba(255,255,255,.40) 83%,
      rgba(255,255,255,.10) 92%,
      rgba(255,255,255,0) 100%);
  }

  .uv-prelaunch__shell {
    min-height: 100svh;
    padding: clamp(18px, 3vh, 34px) clamp(22px, 3vw, 48px) !important;
  }

  .uv-prelaunch__card {
    width: min(720px, 46vw) !important;
    padding: clamp(26px, 3.2vh, 40px) clamp(26px, 2.8vw, 48px) !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

@media (min-width: 981px) and (max-width: 1250px) {
  .uv-prelaunch__card { width: min(680px, 54vw) !important; }
}

@media (min-width: 621px) and (max-width: 980px) {
  body.uv-prelaunch {
    background:
      url("/assets/prelaunch-buyer-744.webp") left center / 62% 100% no-repeat,
      url("/assets/prelaunch-seller-744.webp") right center / 62% 100% no-repeat,
      #f4f1e9 !important;
  }

  body.uv-prelaunch::before {
    display: block !important;
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg,
      rgba(255,255,255,.08) 0%,
      rgba(255,255,255,.78) 18%,
      #fff 28%,
      #fff 72%,
      rgba(255,255,255,.78) 82%,
      rgba(255,255,255,.08) 100%);
  }

  .uv-prelaunch__card {
    width: min(680px, 72vw) !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

/* Foundation 757 – Korrektur 4
   Gemeinsame, proportionsgetreue Industrieszene ueber die ganze Breite.
   Die zentrale Lesemaske ist in der Mitte weiss und laeuft zu beiden Seiten
   transparent aus. Kein Strecken der Bildproportionen. */
@media (min-width: 981px) {
  body.uv-prelaunch {
    background: #e9e7df url("/assets/prelaunch-scene-757.png") center center / cover no-repeat fixed !important;
  }

  body.uv-prelaunch::before {
    display: block !important;
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.08) 8%,
      rgba(255,255,255,.34) 18%,
      rgba(255,255,255,.78) 25%,
      rgba(255,255,255,.98) 29%,
      #fff 31%,
      #fff 69%,
      rgba(255,255,255,.98) 71%,
      rgba(255,255,255,.78) 75%,
      rgba(255,255,255,.34) 82%,
      rgba(255,255,255,.08) 92%,
      rgba(255,255,255,0) 100%);
  }

  .uv-prelaunch__card {
    width: min(720px, 42vw) !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

@media (min-width: 621px) and (max-width: 980px) {
  body.uv-prelaunch {
    background: #e9e7df url("/assets/prelaunch-scene-757.png") center center / cover no-repeat !important;
  }

  body.uv-prelaunch::before {
    display: block !important;
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg,
      rgba(255,255,255,.10) 0%,
      rgba(255,255,255,.72) 16%,
      #fff 27%,
      #fff 73%,
      rgba(255,255,255,.72) 84%,
      rgba(255,255,255,.10) 100%);
  }

  .uv-prelaunch__card {
    width: min(680px, 70vw) !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

/* Foundation 757 – Korrektur 5
   TEST-OK-Szene unveraendert, nur als platzsparendes WebP.
   Weisse Lesemaske schmaler, damit die Jackenaermel beider Maenner
   ausserhalb der deckenden Zone sichtbar bleiben. */
@media (min-width: 981px) {
  body.uv-prelaunch {
    background-image: url("/assets/prelaunch-scene-757.webp") !important;
  }

  body.uv-prelaunch::before {
    background: linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,0) 18%,
      rgba(255,255,255,.12) 23%,
      rgba(255,255,255,.42) 28%,
      rgba(255,255,255,.82) 33%,
      rgba(255,255,255,.98) 36%,
      #fff 38%,
      #fff 62%,
      rgba(255,255,255,.98) 64%,
      rgba(255,255,255,.82) 67%,
      rgba(255,255,255,.42) 72%,
      rgba(255,255,255,.12) 77%,
      rgba(255,255,255,0) 82%,
      rgba(255,255,255,0) 100%) !important;
  }
}

@media (min-width: 621px) and (max-width: 980px) {
  body.uv-prelaunch {
    background-image: url("/assets/prelaunch-scene-757.webp") !important;
  }

  body.uv-prelaunch::before {
    background: linear-gradient(90deg,
      rgba(255,255,255,.04) 0%,
      rgba(255,255,255,.12) 18%,
      rgba(255,255,255,.58) 28%,
      #fff 36%,
      #fff 64%,
      rgba(255,255,255,.58) 72%,
      rgba(255,255,255,.12) 82%,
      rgba(255,255,255,.04) 100%) !important;
  }
}
