@font-face { font-family:'Montserrat'; font-style:normal; font-weight:300; font-display:swap; src:url('/fonts/montserrat-300.woff2') format('woff2'); }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:400; font-display:swap; src:url('/fonts/montserrat-400.woff2') format('woff2'); }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:700; font-display:swap; src:url('/fonts/montserrat-700.woff2') format('woff2'); }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:900; font-display:swap; src:url('/fonts/montserrat-900.woff2') format('woff2'); }
@font-face { font-family:'Montserrat'; font-style:italic; font-weight:900; font-display:swap; src:url('/fonts/montserrat-900-italic.woff2') format('woff2'); }

:root{
  --ws-black:#202020; --ws-footer:#1a1a1a; --ws-blue:#009FE3;
  --ws-r:#E30000; --ws-g:#009640; --ws-b:#009FE3;
  --surface:#2a2a2a; --border:#404040; --text:#F5F5F5; --muted:#aaaaaa;
  --font:'Montserrat', system-ui, -apple-system, sans-serif;
}
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
html{ background:var(--ws-black); }
body{
  font-family:var(--font); color:var(--text); background:var(--ws-black);
  line-height:1.5; min-height:100vh; display:flex; flex-direction:column;
}
a{ color:var(--ws-blue); text-decoration:none; }
a:hover{ text-decoration:underline; }

.stripe{ height:4px; background:linear-gradient(90deg, var(--ws-r) 0%, var(--ws-g) 50%, var(--ws-b) 100%); }
.container{ max-width:1000px; margin:0 auto; padding:0 20px; width:100%; }

/* Kopf */
.head{ padding:28px 0 22px; }
.wordmark{ font-weight:900; font-size:clamp(34px, 7vw, 58px); letter-spacing:-1px; line-height:1; }
.wordmark span{ color:var(--ws-blue); }
.head-sub{ margin-top:10px; font-weight:300; font-size:clamp(13px,2.4vw,16px); color:#cfcfcf; letter-spacing:.4px; }

/* Hauptteil */
main{ flex:1; padding:44px 0 56px; }
.kicker{
  display:inline-block; background:var(--ws-blue); color:#fff;
  font-weight:900; font-size:13px; letter-spacing:3px; padding:7px 16px;
}
h1{ margin:22px 0 0; font-weight:900; font-size:clamp(30px,6vw,52px); line-height:1.1; letter-spacing:-1px; }
h1 em{ font-style:normal; color:var(--ws-blue); }
.lead{ margin:20px 0 0; font-weight:300; font-size:clamp(15px,2.6vw,19px); color:var(--muted); max-width:44em; }

.zahlen{ margin-top:36px; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }
.z{ background:var(--surface); border:1px solid var(--border); border-top:3px solid var(--ws-blue); padding:16px 18px; }
.z b{ display:block; font-weight:900; font-size:30px; line-height:1; }
.z span{ display:block; margin-top:6px; font-weight:400; font-size:13px; color:var(--muted); }
.note{ margin-top:12px; font-size:12px; font-weight:300; color:#8a8a8a; }

/* Terminliste */
.termine{
  margin-top:40px; background:var(--surface); border:1px solid var(--border);
  border-top:3px solid var(--ws-blue); padding:24px;
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.termine .t-text{ flex:1; min-width:260px; }
.termine h2{ margin:0 0 8px; font-weight:900; font-size:20px; }
.termine p{ margin:0; font-weight:300; font-size:14px; color:var(--muted); max-width:42em; }
.knopf.gross{
  flex:none; background:var(--ws-blue); color:#fff; font-weight:700; font-size:15px;
  padding:13px 24px; letter-spacing:.3px;
}
.knopf.gross:hover{ text-decoration:none; filter:brightness(1.12); }

.kontakt{ margin-top:40px; border-left:4px solid var(--ws-blue); padding:4px 0 4px 20px; }
.kontakt h2{ margin:0 0 8px; font-weight:900; font-size:20px; }
.kontakt p{ margin:0; font-weight:300; color:var(--muted); max-width:44em; }
.kontakt a{ font-weight:700; }

/* Schwestern */
.schwestern-titel{ margin:56px 0 18px; font-weight:900; font-size:13px; letter-spacing:3px; color:#8a8a8a; }
.schwestern{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:22px; }
.s{
  display:flex; flex-direction:column;
  background:var(--surface); border:1px solid var(--border);
  border-left:4px solid var(--ws-blue); padding:22px 22px 20px;
}
.s-retro{ border-left-color:var(--ws-r); }
.s-kopf{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.s-slogan{ font-weight:900; font-style:italic; font-size:22px; line-height:1; }
.s-retro .s-slogan{ color:#ff4d4d; }
.s-ki .s-slogan{ color:var(--ws-blue); }
.s-neu{
  flex:none; background:var(--ws-r); color:#fff;
  font-weight:900; font-size:11px; letter-spacing:2px; padding:4px 9px;
}
.s b{ display:block; margin-top:14px; font-weight:900; font-size:17px; color:var(--text); }
.s span{ display:block; margin:8px 0 18px; font-weight:300; font-size:14px; color:var(--muted); }
.s .knopf{
  align-self:flex-start; margin-top:auto; padding-top:10px;
  background:var(--ws-blue); color:#fff; font-weight:700; font-size:14px;
  padding:10px 20px; letter-spacing:.3px;
}
.s .knopf:hover{ text-decoration:none; filter:brightness(1.12); }
.s-retro .knopf{ background:var(--ws-r); }

/* Fuß */
.foot{ background:var(--ws-footer); padding:26px 0 30px; font-size:13px; font-weight:300; color:#8f8f8f; }
.foot .marke{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.foot .marke img{ height:32px; width:auto; display:block; }
.foot .marke .wm{ font-weight:900; font-style:italic; font-size:19px; color:var(--text); letter-spacing:-.4px; }
.foot .marke .wm i{ font-style:italic; color:var(--ws-blue); }
.foot .marke .seit{ font-weight:700; font-size:11px; letter-spacing:2px; color:var(--ws-blue); }
.foot nav{ margin-bottom:10px; }
.foot nav a{ margin-right:18px; }

/* Rechtstexte */
.doc h1{ font-size:clamp(26px,5vw,38px); margin-bottom:24px; }
.doc h2{ font-weight:900; font-size:18px; margin:28px 0 8px; }
.doc p, .doc li{ font-weight:300; color:#d0d0d0; max-width:44em; }
.doc .zurueck{ display:inline-block; margin-bottom:24px; font-weight:700; }
