/* ==========================================================================
   TrainTechSolutions · Webdesign-Entwürfe fürs Daumenkino (js/webdesign-seiten.js) – 16 Bahn-Websites
   Jede Seite füllt ihren Rahmen ganz aus; alle Maße hängen am Rahmen:
   --u = 1 % der Rahmenbreite, quer höchstens 1/62,5 der Höhe (Entwurfsmaß 100 × 62,5 u),
   hochkant (Seitenverhältnis ≤ 1) höchstens 1/182 der Höhe (Entwurfsmaß 100 × 182 u).
   Mehr Höhe oder Breite nehmen die Seiten mit flex/grid auf. Alles ist unter .wds--<id>
   gekapselt; nur Fallback- und Systemschriften plus Geist (assets/geist.css).
   ========================================================================== */

.wds {
  position: absolute; inset: 0; overflow: hidden; container: wds / size; isolation: isolate;
  box-sizing: border-box; margin: 0; padding: 0; border: 0;
  font: 400 16px/1.35 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  letter-spacing: normal; word-spacing: normal; text-transform: none; text-align: left; text-indent: 0;
  text-shadow: none; text-decoration: none; white-space: normal; font-style: normal;
  color: #111; background: #fff; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%; user-select: none;
}
.wds *, .wds *::before, .wds *::after { box-sizing: border-box; margin: 0; padding: 0; border: 0 solid; min-width: 0; }
.wds i, .wds b, .wds small { font-style: normal; font-weight: inherit; font-size: inherit; }
.wds svg { display: block; overflow: hidden; }
.wds > * { --u: min(1cqw, 1.6cqh); }
.wds .w-burger { display: none; }
@container wds not (max-aspect-ratio: 1/1) { .wds .w-mob { display: none !important; } }
@container wds (max-aspect-ratio: 1/1) {
  .wds > * { --u: min(1cqw, .55cqh); }
  .wds .w-desk { display: none !important; }
  .wds .w-burger { display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: calc(1.3*var(--u)); width: calc(7*var(--u)); height: calc(7*var(--u)); flex: none; }
  .wds .w-burger i { display: block; width: calc(6.4*var(--u)); height: max(1px, calc(.55*var(--u))); background: currentColor; border-radius: var(--u); }
  .wds .w-burger i:nth-child(3) { width: calc(4.2*var(--u)); }
}


/* ==========================================================================
   01 · Spurmaß Ingenieure – Swiss Typo, Gleisplanung
   ========================================================================== */
.wds--spurmass { background: #f2f1ed; color: #101010; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; display: flex; flex-direction: column; }
.wds--spurmass > * { flex: none; margin-inline: calc(4*var(--u)); }
.wds--spurmass .w-kopf { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: calc(1.6*var(--u)); align-items: baseline; padding: calc(2.5*var(--u)) 0 calc(1.6*var(--u)); border-bottom: calc(.2*var(--u)) solid #101010; }
.wds--spurmass .w-logo { grid-column: 1 / 5; font-size: calc(1.4*var(--u)); line-height: 1; letter-spacing: -.02em; white-space: nowrap; }
.wds--spurmass .w-logo b { font-weight: 700; }
.wds--spurmass .w-logo span { color: #85847f; margin-left: .35em; }
.wds--spurmass .w-nav { grid-column: 5 / 11; display: flex; gap: calc(3.2*var(--u)); font-size: calc(1.05*var(--u)); line-height: 1; white-space: nowrap; }
.wds--spurmass .w-nav i { font-size: .68em; color: #e1251b; margin-right: .5em; position: relative; top: -.45em; }
.wds--spurmass .w-sprache { grid-column: 11 / 13; justify-self: end; font-size: calc(1.05*var(--u)); line-height: 1; color: #85847f; }
.wds--spurmass .w-held { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; justify-content: space-between; gap: calc(2.4*var(--u)); padding: calc(2.8*var(--u)) 0 calc(2.4*var(--u)); }
.wds--spurmass .w-oben { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: calc(1.6*var(--u)); align-items: end; }
.wds--spurmass .w-zahl { grid-column: 1 / 9; font-weight: 700; font-size: calc(25*var(--u)); line-height: .8; letter-spacing: -.06em; margin-left: -.06em; }
.wds--spurmass .w-text { grid-column: 9 / 13; padding-bottom: calc(.3*var(--u)); }
.wds--spurmass .w-text b { display: block; font-weight: 700; font-size: calc(2*var(--u)); line-height: 1.1; letter-spacing: -.02em; }
.wds--spurmass .w-text span { display: block; margin-top: var(--u); font-size: var(--u); line-height: 1.4; color: #3d3d3a; }
.wds--spurmass .w-plan { border-top: calc(.2*var(--u)) solid #101010; padding-top: calc(1.6*var(--u)); overflow: hidden; }
.wds--spurmass .w-plan svg { width: 100%; max-width: none; height: calc(calc(9*var(--u)) + (100cqh - calc(62.5*var(--u))) * .3); }
.wds--spurmass .w-plan .bs { fill: #d6d5cf; }
.wds--spurmass .w-plan .gl { fill: none; stroke: #101010; stroke-width: max(1px, calc(.15*var(--u))); vector-effect: non-scaling-stroke; }
.wds--spurmass .w-plan .rt { fill: none; stroke: #e1251b; stroke-width: max(2px, calc(.42*var(--u))); stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.wds--spurmass .w-km { display: flex; justify-content: space-between; gap: calc(2*var(--u)); margin-top: calc(.9*var(--u)); font-size: calc(.8*var(--u)); color: #85847f; white-space: nowrap; }
.wds--spurmass .w-km span:nth-child(2) { color: #101010; font-weight: 700; }
.wds--spurmass .w-projekte { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: calc(1.6*var(--u)); padding: calc(1.4*var(--u)) 0 calc(3*var(--u)); border-top: 1px solid #c9c8c2; }
.wds--spurmass .w-projekte > div { display: flex; gap: calc(.8*var(--u)); align-items: baseline; font-size: calc(.92*var(--u)); line-height: 1.35; }
.wds--spurmass .w-projekte i { color: #e1251b; font-weight: 700; }
.wds--spurmass .w-projekte span { flex: 1; color: #55544f; }
.wds--spurmass .w-projekte b { display: block; font-weight: 700; color: #101010; }
.wds--spurmass .w-projekte small { color: #85847f; }

@container wds (max-aspect-ratio: 1/1) {
  .wds--spurmass > * { margin-inline: calc(6*var(--u)); }
  .wds--spurmass .w-kopf { grid-template-columns: 1fr auto; align-items: center; padding: calc(5.5*var(--u)) 0 calc(3.6*var(--u)); border-bottom-width: calc(.45*var(--u)); }
  .wds--spurmass .w-logo { grid-column: 1; font-size: calc(4.6*var(--u)); }
  .wds--spurmass .w-burger { grid-column: 2; height: calc(4*var(--u)); gap: calc(1.6*var(--u)); }
  .wds--spurmass .w-burger i { width: calc(7*var(--u)); border-radius: 0; }
  .wds--spurmass .w-held { justify-content: flex-start; gap: calc(6*var(--u)); padding: calc(6*var(--u)) 0 calc(5*var(--u)); }
  .wds--spurmass .w-oben { grid-template-columns: 1fr; row-gap: calc(4*var(--u)); }
  .wds--spurmass .w-zahl { grid-column: 1; font-size: calc(40*var(--u)); }
  .wds--spurmass .w-text { grid-column: 1; }
  .wds--spurmass .w-text b { font-size: calc(6*var(--u)); }
  .wds--spurmass .w-text span { font-size: calc(3.5*var(--u)); margin-top: calc(2.4*var(--u)); }
  .wds--spurmass .w-plan { margin-top: auto; padding-top: calc(4*var(--u)); border-top-width: calc(.45*var(--u)); }
  .wds--spurmass .w-plan svg { width: 200%; margin-left: -50%; height: calc(calc(21*var(--u)) + (100cqh - calc(182*var(--u))) * .25); }
  .wds--spurmass .w-km { font-size: calc(2.6*var(--u)); margin-top: calc(2*var(--u)); }
  .wds--spurmass .w-projekte { grid-template-columns: 1fr; row-gap: calc(3*var(--u)); padding: calc(4*var(--u)) 0 calc(6*var(--u)); }
  .wds--spurmass .w-projekte > div { font-size: calc(3.2*var(--u)); gap: calc(2.4*var(--u)); }
  .wds--spurmass .w-projekte > div:nth-child(n+3) { display: none; }
}


/* ==========================================================================
   02 · Takton – SaaS mit Verläufen, Zugdaten-Software
   ========================================================================== */
.wds--takton { background: radial-gradient(55% 45% at 50% -5%, rgba(129, 98, 255, .55), transparent 70%), radial-gradient(40% 50% at 8% 35%, rgba(48, 110, 255, .22), transparent 70%), radial-gradient(35% 45% at 95% 45%, rgba(232, 84, 214, .16), transparent 70%), #06061a; color: #eceaff; display: flex; flex-direction: column; align-items: center; }
.wds--takton > * { flex: none; }
.wds--takton .w-gleis { position: absolute; left: 0; top: 9%; width: 100%; height: 64%; -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 55%); mask-image: linear-gradient(180deg, transparent 0%, #000 55%); }
.wds--takton .w-gleis path { fill: none; stroke: rgba(160, 140, 255, .34); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.wds--takton .w-kopf, .wds--takton .w-held { position: relative; }
.wds--takton .w-kopf { align-self: stretch; display: flex; align-items: center; gap: calc(3*var(--u)); padding: calc(1.9*var(--u)) calc(5*var(--u)); border-bottom: 1px solid rgba(255, 255, 255, .07); }
.wds--takton .w-logo { flex: 1; display: flex; align-items: center; gap: calc(.8*var(--u)); font-weight: 600; font-size: calc(1.45*var(--u)); letter-spacing: -.02em; }
.wds--takton .w-logo i { width: calc(2.1*var(--u)); height: calc(2.1*var(--u)); border-radius: calc(.6*var(--u)); background: conic-gradient(from 210deg, #7b6bff, #38d3ff, #c56bff, #7b6bff); box-shadow: 0 0 calc(1.4*var(--u)) rgba(123, 107, 255, .6); }
.wds--takton .w-nav { display: flex; gap: calc(2.6*var(--u)); font-size: var(--u); color: rgba(236, 234, 255, .72); }
.wds--takton .w-aktion { flex: 1; display: flex; justify-content: flex-end; align-items: center; gap: calc(2*var(--u)); font-size: var(--u); color: rgba(236, 234, 255, .72); }
.wds--takton .w-knopf { background: #f4f2ff; color: #0b0a24; padding: calc(.75*var(--u)) calc(1.4*var(--u)); border-radius: calc(9*var(--u)); font-weight: 500; }
.wds--takton .w-held { display: flex; flex-direction: column; align-items: center; text-align: center; padding: calc(4.2*var(--u)) calc(5*var(--u)) 0; max-width: calc(84*var(--u)); }
.wds--takton .w-badge { display: flex; align-items: center; gap: calc(.8*var(--u)); font-size: calc(.92*var(--u)); padding: calc(.4*var(--u)) calc(1.1*var(--u)) calc(.4*var(--u)) calc(.4*var(--u)); border-radius: calc(9*var(--u)); border: 1px solid rgba(160, 140, 255, .35); background: rgba(120, 100, 255, .12); color: #d9d4ff; }
.wds--takton .w-badge b { background: linear-gradient(90deg, #7b6bff, #38d3ff); color: #fff; font-weight: 600; padding: calc(.2*var(--u)) calc(.7*var(--u)); border-radius: calc(9*var(--u)); font-size: calc(.8*var(--u)); }
.wds--takton .w-badge span { opacity: .7; }
.wds--takton .w-titel { margin-top: calc(2.2*var(--u)); font-size: calc(5.6*var(--u)); line-height: 1.04; font-weight: 600; letter-spacing: -.045em; }
.wds--takton .w-titel span { background: linear-gradient(90deg, #b3a6ff 0%, #6fd6ff 55%, #e7a0ff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .06em; }
.wds--takton .w-unter { margin-top: calc(1.8*var(--u)); font-size: calc(1.18*var(--u)); line-height: 1.5; color: rgba(236, 234, 255, .66); max-width: calc(46*var(--u)); }
.wds--takton .w-knoepfe { display: flex; gap: calc(1.2*var(--u)); margin-top: calc(2.4*var(--u)); }
.wds--takton .w-k1, .wds--takton .w-k2 { font-size: calc(1.02*var(--u)); font-weight: 500; padding: var(--u) calc(1.8*var(--u)); border-radius: calc(9*var(--u)); }
.wds--takton .w-k1 { background: linear-gradient(90deg, #7b6bff, #4f8dff); color: #fff; box-shadow: 0 calc(.6*var(--u)) calc(2.4*var(--u)) rgba(110, 100, 255, .45), inset 0 1px 0 rgba(255, 255, 255, .25); }
.wds--takton .w-k2 { border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .04); }
.wds--takton .w-app { margin-top: calc(4*var(--u)); width: min(calc(86*var(--u)), calc(100% - calc(10*var(--u)))); height: calc(calc(46*var(--u)) + (100cqh - calc(62.5*var(--u)))); border-radius: calc(1.4*var(--u)); border: 1px solid rgba(255, 255, 255, .13); background: linear-gradient(180deg, rgba(30, 27, 70, .94), rgba(12, 12, 34, .98)); box-shadow: 0 0 0 1px rgba(129, 98, 255, .12), 0 calc(-1*var(--u)) calc(6*var(--u)) rgba(110, 90, 255, .28), inset 0 1px 0 rgba(255, 255, 255, .1); position: relative; display: flex; flex-direction: column; }
.wds--takton .w-app::before { content: ''; position: absolute; left: 15%; right: 15%; top: -1px; height: 1px; background: linear-gradient(90deg, transparent, #b3a6ff, #6fd6ff, transparent); }
.wds--takton .w-leiste { display: flex; align-items: center; gap: calc(.5*var(--u)); padding: calc(.9*var(--u)) calc(1.2*var(--u)); border-bottom: 1px solid rgba(255, 255, 255, .07); }
.wds--takton .w-leiste i { width: calc(.75*var(--u)); height: calc(.75*var(--u)); border-radius: 50%; background: rgba(255, 255, 255, .18); }
.wds--takton .w-leiste span { margin: 0 auto; font-size: calc(.75*var(--u)); color: rgba(236, 234, 255, .45); padding: calc(.25*var(--u)) calc(3*var(--u)); border-radius: calc(.5*var(--u)); background: rgba(255, 255, 255, .05); }
.wds--takton .w-innen { flex: 1; display: grid; grid-template-columns: calc(15*var(--u)) 1fr; min-height: 0; }
.wds--takton .w-seite { border-right: 1px solid rgba(255, 255, 255, .07); padding: calc(1.4*var(--u)) var(--u); display: flex; flex-direction: column; gap: calc(.5*var(--u)); }
.wds--takton .w-seite span { display: flex; align-items: center; gap: calc(.7*var(--u)); font-size: calc(.82*var(--u)); color: rgba(236, 234, 255, .6); padding: calc(.5*var(--u)) calc(.7*var(--u)); border-radius: calc(.5*var(--u)); }
.wds--takton .w-seite span i { width: calc(.9*var(--u)); height: calc(.9*var(--u)); border-radius: calc(.25*var(--u)); border: 1px solid currentColor; opacity: .8; }
.wds--takton .w-seite span:first-child { background: rgba(129, 98, 255, .2); color: #fff; }
.wds--takton .w-haupt { padding: calc(1.4*var(--u)); display: flex; flex-direction: column; gap: calc(1.2*var(--u)); min-width: 0; }
.wds--takton .w-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--u); }
.wds--takton .w-kpis > div { border: 1px solid rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .03); border-radius: calc(.8*var(--u)); padding: var(--u) calc(1.1*var(--u)); white-space: nowrap; }
.wds--takton .w-kpis span { display: block; font-size: calc(.72*var(--u)); color: rgba(236, 234, 255, .5); }
.wds--takton .w-kpis b { display: block; font-size: calc(1.7*var(--u)); font-weight: 600; letter-spacing: -.03em; margin: calc(.3*var(--u)) 0 calc(.2*var(--u)); }
.wds--takton .w-kpis i { font-size: calc(.72*var(--u)); color: #5fe3b3; }
.wds--takton .w-chart { flex: 1; border: 1px solid rgba(255, 255, 255, .08); border-radius: calc(.8*var(--u)); background: linear-gradient(180deg, rgba(129, 98, 255, .08), transparent); position: relative; min-height: 0; }
.wds--takton .w-chart svg { position: absolute; left: calc(1.2*var(--u)); right: calc(1.2*var(--u)); top: calc(4.4*var(--u)); bottom: var(--u); width: calc(100% - calc(2.4*var(--u))); height: calc(100% - calc(5.4*var(--u))); overflow: visible; }
.wds--takton .w-ctitel { position: absolute; left: calc(1.2*var(--u)); right: calc(1.2*var(--u)); top: calc(1.1*var(--u)); display: flex; align-items: baseline; gap: calc(.8*var(--u)); font-size: calc(.72*var(--u)); color: rgba(236, 234, 255, .5); }
.wds--takton .w-ctitel b { font-size: calc(.9*var(--u)); font-weight: 500; color: #eceaff; }
.wds--takton .w-ctitel i { margin-left: auto; padding: calc(.2*var(--u)) calc(.7*var(--u)); border-radius: calc(9*var(--u)); background: rgba(129, 98, 255, .2); color: #d9d4ff; }
.wds--takton .w-chart .g { fill: none; stroke: rgba(255, 255, 255, .07); stroke-width: 1; vector-effect: non-scaling-stroke; }
.wds--takton .w-chart .l { fill: none; stroke: #b3a6ff; stroke-width: 2; vector-effect: non-scaling-stroke; }
.wds--takton .w-chart .l2 { fill: none; stroke: #6fd6ff; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.wds--takton .w-chart .n { fill: none; stroke: rgba(255, 255, 255, .35); stroke-width: 1; stroke-dasharray: 3 3; vector-effect: non-scaling-stroke; }

@container wds (max-aspect-ratio: 1/1) {
  .wds--takton .w-kopf { padding: calc(4.5*var(--u)) calc(6*var(--u)); }
  .wds--takton .w-logo { font-size: calc(4.8*var(--u)); gap: calc(2.4*var(--u)); }
  .wds--takton .w-logo i { width: calc(6.4*var(--u)); height: calc(6.4*var(--u)); border-radius: calc(1.8*var(--u)); }
  .wds--takton .w-held { padding: calc(10*var(--u)) calc(6*var(--u)) 0; max-width: none; }
  .wds--takton .w-badge { font-size: calc(3.1*var(--u)); gap: calc(2*var(--u)); padding: calc(1.1*var(--u)) calc(2.8*var(--u)) calc(1.1*var(--u)) calc(1.1*var(--u)); }
  .wds--takton .w-badge b { font-size: calc(2.6*var(--u)); padding: calc(.6*var(--u)) calc(2*var(--u)); }
  .wds--takton .w-titel { font-size: calc(9.6*var(--u)); margin-top: calc(6*var(--u)); }
  .wds--takton .w-unter { font-size: calc(3.8*var(--u)); margin-top: calc(4.5*var(--u)); max-width: none; }
  .wds--takton .w-knoepfe { flex-direction: column; align-self: stretch; gap: calc(2.6*var(--u)); margin-top: calc(7*var(--u)); }
  .wds--takton .w-k1, .wds--takton .w-k2 { font-size: calc(3.8*var(--u)); padding: calc(3.6*var(--u)) calc(4*var(--u)); }
  .wds--takton .w-gleis { top: 10%; height: 50%; }
  .wds--takton .w-app { margin-top: calc(10*var(--u)); width: calc(100% - calc(12*var(--u))); height: calc(calc(110*var(--u)) + (100cqh - calc(182*var(--u)))); border-radius: calc(3.5*var(--u)); }
  .wds--takton .w-leiste { padding: calc(2.4*var(--u)) calc(3*var(--u)); gap: calc(1.4*var(--u)); }
  .wds--takton .w-leiste i { width: calc(2*var(--u)); height: calc(2*var(--u)); }
  .wds--takton .w-leiste span { font-size: calc(2.4*var(--u)); padding: calc(.8*var(--u)) calc(4*var(--u)); border-radius: calc(1.4*var(--u)); }
  .wds--takton .w-innen { grid-template-columns: 1fr; }
  .wds--takton .w-seite { display: none; }
  .wds--takton .w-haupt { padding: calc(3.4*var(--u)); gap: calc(3*var(--u)); }
  .wds--takton .w-kpis { grid-template-columns: 1fr 1fr; gap: calc(2.6*var(--u)); }
  .wds--takton .w-kpis > div:nth-child(3) { display: none; }
  .wds--takton .w-kpis > div { padding: calc(2.6*var(--u)) calc(3*var(--u)); border-radius: calc(2*var(--u)); }
  .wds--takton .w-kpis span, .wds--takton .w-kpis i { font-size: calc(2.6*var(--u)); }
  .wds--takton .w-kpis b { font-size: calc(5.4*var(--u)); }
  .wds--takton .w-chart { border-radius: calc(2*var(--u)); min-height: calc(30*var(--u)); }
  .wds--takton .w-ctitel { left: calc(3*var(--u)); right: calc(3*var(--u)); top: calc(2.6*var(--u)); font-size: calc(2.4*var(--u)); gap: calc(2*var(--u)); }
  .wds--takton .w-ctitel b { font-size: calc(3*var(--u)); }
  .wds--takton .w-ctitel i { padding: calc(.6*var(--u)) calc(2*var(--u)); }
  .wds--takton .w-chart svg { left: calc(3*var(--u)); right: calc(3*var(--u)); top: calc(10*var(--u)); width: calc(100% - calc(6*var(--u))); height: calc(100% - calc(12*var(--u))); }
}


/* ==========================================================================
   03 · Kranichtalbahn – warmes Editorial, Museumsbahn
   ========================================================================== */
.wds--kranichtal { background: #f2e9da; color: #2a1b12; font-family: 'Palatino Linotype', Palatino, 'Book Antiqua', 'Iowan Old Style', Georgia, serif; display: flex; flex-direction: column; }
.wds--kranichtal > * { flex: none; margin-inline: calc(4.5*var(--u)); }
.wds--kranichtal .w-kopf { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: calc(2*var(--u)) 0 calc(1.6*var(--u)); border-bottom: 1px solid rgba(42, 27, 18, .28); position: relative; }
.wds--kranichtal .w-kopf::after { content: ''; position: absolute; left: 0; right: 0; bottom: calc(-.45*var(--u)); height: 1px; background: rgba(42, 27, 18, .16); }
.wds--kranichtal .w-nav { display: flex; align-items: center; gap: calc(2.4*var(--u)); font-family: 'Geist', sans-serif; font-size: calc(.82*var(--u)); letter-spacing: .16em; text-transform: uppercase; }
.wds--kranichtal .w-nav2 { justify-content: flex-end; }
.wds--kranichtal .w-tisch { border: 1px solid #2a1b12; border-radius: calc(9*var(--u)); padding: calc(.6*var(--u)) calc(1.2*var(--u)); }
.wds--kranichtal .w-logo { text-align: center; line-height: 1; }
.wds--kranichtal .w-logo b { display: block; font-style: italic; font-weight: 400; font-size: calc(2.8*var(--u)); letter-spacing: -.01em; }
.wds--kranichtal .w-logo span { display: block; font-family: 'Geist', sans-serif; font-size: calc(.64*var(--u)); letter-spacing: .24em; text-transform: uppercase; margin-top: calc(.55*var(--u)); color: #8a6f5a; }
.wds--kranichtal .w-held { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 1.08fr 1fr; gap: calc(5*var(--u)); padding: calc(3.4*var(--u)) 0; }
.wds--kranichtal .w-text { display: flex; flex-direction: column; justify-content: center; }
.wds--kranichtal .w-kicker { font-family: 'Geist', sans-serif; font-size: calc(.78*var(--u)); letter-spacing: .2em; text-transform: uppercase; color: #b0532b; display: flex; align-items: center; gap: var(--u); }
.wds--kranichtal .w-kicker::before { content: ''; width: calc(3*var(--u)); height: 1px; background: currentColor; }
.wds--kranichtal .w-titel { margin-top: calc(2*var(--u)); font-size: calc(5.2*var(--u)); line-height: 1.04; letter-spacing: -.015em; }
.wds--kranichtal .w-titel i { font-style: italic; color: #b0532b; }
.wds--kranichtal .w-unter { margin-top: calc(2*var(--u)); font-size: calc(1.28*var(--u)); line-height: 1.5; color: #5d4636; max-width: calc(38*var(--u)); }
.wds--kranichtal .w-knoepfe { display: flex; align-items: center; gap: calc(2.2*var(--u)); margin-top: calc(2.6*var(--u)); font-family: 'Geist', sans-serif; font-size: var(--u); }
.wds--kranichtal .w-k1 { background: #2a1b12; color: #f2e9da; padding: var(--u) calc(1.9*var(--u)); border-radius: calc(9*var(--u)); }
.wds--kranichtal .w-k2 { border-bottom: 1px solid currentColor; padding-bottom: calc(.2*var(--u)); }
.wds--kranichtal .w-bild { position: relative; min-height: 0; border-radius: calc(.4*var(--u)); overflow: hidden; background: radial-gradient(60% 55% at 72% 18%, rgba(255, 244, 222, .8), transparent 70%), linear-gradient(180deg, #efd9b6 0%, #ddb98e 58%, #c0905f 100%); }
.wds--kranichtal .w-bild svg { position: absolute; left: 3%; right: 3%; bottom: 0; width: 94%; height: 90%; }
.wds--kranichtal .w-bild .hg { fill: rgba(122, 74, 40, .16); }
.wds--kranichtal .w-bild .ra { fill: #fbf3e6; opacity: .62; }
.wds--kranichtal .w-bild .bo { fill: rgba(74, 44, 22, .32); }
.wds--kranichtal .w-bild .sc { fill: #3a2619; }
.wds--kranichtal .w-bild .lk { fill: #2a1b12; }
.wds--kranichtal .w-bild .tk { fill: #3b281b; stroke: rgba(255, 232, 200, .14); stroke-width: 1; }
.wds--kranichtal .w-bild .rt { fill: #b0532b; }
.wds--kranichtal .w-bild .rd { fill: #2a1b12; stroke: #6e4c34; stroke-width: 1.6; }
.wds--kranichtal .w-bild .nb { fill: #8a5129; }
.wds--kranichtal .w-bild .st { fill: none; stroke: #a7825f; stroke-width: 3; stroke-linecap: round; }
.wds--kranichtal .w-bild .fe { fill: #ecd0a6; }
.wds--kranichtal .w-abb { position: absolute; left: calc(1.4*var(--u)); top: calc(1.1*var(--u)); font-style: italic; font-size: calc(.9*var(--u)); color: #5d4636; }
.wds--kranichtal .w-sorten { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(42, 27, 18, .28); padding: calc(1.8*var(--u)) 0 calc(2.6*var(--u)); }
.wds--kranichtal .w-sorten > div { display: grid; grid-template-columns: auto 1fr; column-gap: calc(1.4*var(--u)); align-items: baseline; padding: 0 calc(2*var(--u)); border-left: 1px solid rgba(42, 27, 18, .18); }
.wds--kranichtal .w-sorten > div:first-child { border-left: 0; padding-left: 0; }
.wds--kranichtal .w-sorten i { grid-row: 1 / 3; font-style: italic; font-size: calc(2.3*var(--u)); line-height: 1; color: #b0532b; min-width: calc(2.6*var(--u)); }
.wds--kranichtal .w-sorten b { font-weight: 400; font-size: calc(1.35*var(--u)); line-height: 1.2; }
.wds--kranichtal .w-sorten span { font-family: 'Geist', sans-serif; font-size: calc(.74*var(--u)); letter-spacing: .12em; text-transform: uppercase; color: #8a6f5a; margin-top: calc(.3*var(--u)); }

@container wds (max-aspect-ratio: 1/1) {
  .wds--kranichtal > * { margin-inline: calc(6*var(--u)); }
  .wds--kranichtal .w-kopf { grid-template-columns: 1fr auto; padding: calc(4.5*var(--u)) 0 calc(3.5*var(--u)); }
  .wds--kranichtal .w-kopf::after { bottom: calc(-1.2*var(--u)); }
  .wds--kranichtal .w-logo { text-align: left; }
  .wds--kranichtal .w-logo b { font-size: calc(7.4*var(--u)); }
  .wds--kranichtal .w-logo span { font-size: calc(2*var(--u)); margin-top: calc(1.4*var(--u)); }
  .wds--kranichtal .w-burger { height: calc(4*var(--u)); gap: calc(1.6*var(--u)); }
  .wds--kranichtal .w-burger i { height: max(1px, calc(.4*var(--u))); }
  .wds--kranichtal .w-held { grid-template-columns: 1fr; grid-template-rows: 1fr auto; gap: calc(6*var(--u)); padding: calc(6*var(--u)) 0 calc(5*var(--u)); }
  .wds--kranichtal .w-bild { order: -1; min-height: calc(40*var(--u)); }
  .wds--kranichtal .w-abb { font-size: calc(2.8*var(--u)); left: calc(3.5*var(--u)); top: calc(2.6*var(--u)); }
  .wds--kranichtal .w-kicker { font-size: calc(2.5*var(--u)); gap: calc(2.4*var(--u)); }
  .wds--kranichtal .w-kicker::before { width: calc(7*var(--u)); }
  .wds--kranichtal .w-titel { font-size: calc(9.4*var(--u)); margin-top: calc(3.5*var(--u)); }
  .wds--kranichtal .w-unter { font-size: calc(3.8*var(--u)); margin-top: calc(3.5*var(--u)); max-width: none; }
  .wds--kranichtal .w-knoepfe { font-size: calc(3.6*var(--u)); gap: calc(5*var(--u)); margin-top: calc(5*var(--u)); }
  .wds--kranichtal .w-k1 { padding: calc(3*var(--u)) calc(5*var(--u)); }
  .wds--kranichtal .w-sorten { grid-template-columns: 1fr; gap: calc(2.6*var(--u)); padding: calc(4*var(--u)) 0 calc(6*var(--u)); }
  .wds--kranichtal .w-sorten > div { border-left: 0; padding: 0; column-gap: calc(3*var(--u)); }
  .wds--kranichtal .w-sorten > div:nth-child(n+3) { display: none; }
  .wds--kranichtal .w-sorten i { font-size: calc(6*var(--u)); min-width: calc(7*var(--u)); }
  .wds--kranichtal .w-sorten b { font-size: calc(4.2*var(--u)); }
  .wds--kranichtal .w-sorten span { font-size: calc(2.3*var(--u)); margin-top: calc(.8*var(--u)); }
}


/* ==========================================================================
   04 · Dampf & Diesel im Bw Hagenried – Festivalplakat
   ========================================================================== */
.wds--dampfdiesel { background: radial-gradient(60% 55% at 88% 100%, rgba(255, 90, 31, .38), transparent 70%), radial-gradient(55% 55% at 0% 0%, rgba(110, 60, 255, .38), transparent 70%), #0d0a1c; color: #f5f2ff; font-family: Impact, Haettenschweiler, 'HelveticaNeue-CondensedBlack', 'Franklin Gothic Heavy', 'Arial Narrow Bold', sans-serif-condensed, 'Arial Black', sans-serif; display: flex; flex-direction: column; }
.wds--dampfdiesel > * { flex: none; }
.wds--dampfdiesel .w-schuppen { position: absolute; right: calc(-3*var(--u)); bottom: calc(5*var(--u)); width: calc(50*var(--u)); height: calc(50*var(--u)); opacity: .42; }
.wds--dampfdiesel .w-schuppen .a { fill: none; stroke: #c8ff2e; stroke-width: 1.6; }
.wds--dampfdiesel .w-schuppen .b { fill: none; stroke: rgba(255, 255, 255, .55); stroke-width: 1.2; }
.wds--dampfdiesel .w-schuppen .c { fill: rgba(200, 255, 46, .22); stroke: #c8ff2e; stroke-width: 1.4; }
.wds--dampfdiesel .w-kopf { position: relative; z-index: 4; display: flex; align-items: center; gap: calc(3*var(--u)); padding: calc(2.2*var(--u)) calc(4*var(--u)); }
.wds--dampfdiesel .w-logo { flex: 1; font-size: calc(2.1*var(--u)); line-height: 1; text-transform: uppercase; letter-spacing: .02em; }
.wds--dampfdiesel .w-logo b { color: #c8ff2e; font-weight: 400; }
.wds--dampfdiesel .w-logo span { font-family: 'Geist Mono', monospace; font-size: .42em; vertical-align: .9em; margin-left: .3em; color: #ff5a1f; }
.wds--dampfdiesel .w-nav { display: flex; gap: calc(2.4*var(--u)); font-family: 'Geist', sans-serif; font-weight: 600; font-size: calc(.86*var(--u)); letter-spacing: .16em; text-transform: uppercase; }
.wds--dampfdiesel .w-knopf { font-family: 'Geist', sans-serif; font-weight: 600; font-size: calc(.86*var(--u)); letter-spacing: .16em; text-transform: uppercase; background: #c8ff2e; color: #0d0a1c; padding: calc(.9*var(--u)) calc(1.6*var(--u)); }
.wds--dampfdiesel .w-held { position: relative; z-index: 2; flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 1.45fr 1fr; grid-template-rows: 100%; gap: calc(4*var(--u)); padding: calc(1.2*var(--u)) calc(4*var(--u)) calc(13*var(--u)); }
.wds--dampfdiesel .w-gross { width: 100%; height: 100%; min-height: 0; fill: #f5f2ff; }
.wds--dampfdiesel .w-gross .w-zwei { fill: #c8ff2e; }
.wds--dampfdiesel .w-info { display: flex; flex-direction: column; align-items: flex-start; gap: calc(1.6*var(--u)); padding-top: calc(.4*var(--u)); }
.wds--dampfdiesel .w-datum { font-size: calc(4.4*var(--u)); line-height: .95; text-transform: uppercase; }
.wds--dampfdiesel .w-datum span { display: block; color: #ff5a1f; }
.wds--dampfdiesel .w-ort { font-family: 'Geist Mono', monospace; font-size: calc(.82*var(--u)); letter-spacing: .1em; text-transform: uppercase; color: rgba(245, 242, 255, .72); }
.wds--dampfdiesel .w-lineup { display: flex; flex-wrap: wrap; gap: calc(.3*var(--u)) calc(1.2*var(--u)); font-size: calc(1.8*var(--u)); line-height: 1.05; text-transform: uppercase; border-top: 1px solid rgba(255, 255, 255, .22); padding-top: calc(1.4*var(--u)); align-self: stretch; }
.wds--dampfdiesel .w-lineup span:nth-child(3n+2) { color: #c8ff2e; }
.wds--dampfdiesel .w-lineup span:nth-child(3n) { color: #ff8a5c; }
.wds--dampfdiesel .w-knoepfe { display: flex; gap: var(--u); font-family: 'Geist', sans-serif; font-weight: 600; font-size: calc(.9*var(--u)); letter-spacing: .12em; text-transform: uppercase; }
.wds--dampfdiesel .w-k1 { background: #ff5a1f; color: #fff; padding: var(--u) calc(1.6*var(--u)); }
.wds--dampfdiesel .w-k2 { border: 1px solid rgba(255, 255, 255, .42); padding: var(--u) calc(1.6*var(--u)); }
.wds--dampfdiesel .w-band { position: absolute; left: -10%; width: 120%; padding: calc(.75*var(--u)) 0; font-size: calc(1.7*var(--u)); line-height: 1; white-space: nowrap; overflow: hidden; text-transform: uppercase; letter-spacing: .04em; }
.wds--dampfdiesel .w-band1 { bottom: calc(5.2*var(--u)); transform: rotate(-4deg); background: #c8ff2e; color: #0d0a1c; z-index: 3; }
.wds--dampfdiesel .w-band2 { bottom: calc(4*var(--u)); transform: rotate(3deg); background: #ff5a1f; color: #fff; z-index: 1; }

@container wds (max-aspect-ratio: 1/1) {
  .wds--dampfdiesel .w-kopf { padding: calc(4.5*var(--u)) calc(6*var(--u)); }
  .wds--dampfdiesel .w-logo { font-size: calc(6.4*var(--u)); }
  .wds--dampfdiesel .w-held { display: flex; flex-direction: column; gap: calc(6*var(--u)); padding: calc(4*var(--u)) calc(6*var(--u)) calc(34*var(--u)); }
  .wds--dampfdiesel .w-gross { flex: 0 1 auto; height: auto; }
  .wds--dampfdiesel .w-info { gap: calc(4*var(--u)); margin-top: auto; }
  .wds--dampfdiesel .w-datum { font-size: calc(10*var(--u)); }
  .wds--dampfdiesel .w-datum span { display: inline; }
  .wds--dampfdiesel .w-ort { font-size: calc(2.6*var(--u)); }
  .wds--dampfdiesel .w-lineup { font-size: calc(5*var(--u)); gap: calc(.6*var(--u)) calc(3.4*var(--u)); padding-top: calc(4*var(--u)); }
  .wds--dampfdiesel .w-lineup span:nth-child(n+5) { display: none; }
  .wds--dampfdiesel .w-knoepfe { font-size: calc(3*var(--u)); gap: calc(2.4*var(--u)); }
  .wds--dampfdiesel .w-k1, .wds--dampfdiesel .w-k2 { padding: calc(3.2*var(--u)) calc(4.4*var(--u)); }
  .wds--dampfdiesel .w-band { font-size: calc(4.6*var(--u)); padding: calc(2*var(--u)) 0; }
  .wds--dampfdiesel .w-band1 { bottom: calc(15*var(--u)); }
  .wds--dampfdiesel .w-band2 { bottom: calc(11*var(--u)); }
  .wds--dampfdiesel .w-schuppen { right: calc(-14*var(--u)); bottom: calc(22*var(--u)); width: calc(90*var(--u)); height: calc(90*var(--u)); opacity: .35; }
}


/* ==========================================================================
   05 · Gleis 9 – Medizin, Arbeitsmedizin für Bahnberufe
   ========================================================================== */
.wds--gleisneun { background: linear-gradient(180deg, #f3f8fb, #eef6f5); color: #14304a; display: flex; flex-direction: column; }
.wds--gleisneun > * { flex: none; margin-inline: calc(4.5*var(--u)); }
.wds--gleisneun .w-kopf { display: flex; align-items: center; gap: calc(3*var(--u)); padding: calc(2*var(--u)) 0; }
.wds--gleisneun .w-logo { flex: 1; display: flex; align-items: center; gap: var(--u); }
.wds--gleisneun .w-logo i { position: relative; flex: none; width: calc(3*var(--u)); height: calc(3*var(--u)); border-radius: calc(.6*var(--u)); background: #1f5fae; color: #fff; display: grid; place-items: center; font-weight: 600; font-size: calc(1.9*var(--u)); line-height: 1; }
.wds--gleisneun .w-logo i::after { content: ''; position: absolute; right: calc(-.5*var(--u)); top: calc(-.5*var(--u)); width: calc(1.4*var(--u)); height: calc(1.4*var(--u)); border-radius: 50%; border: calc(.18*var(--u)) solid #f3f8fb; background: linear-gradient(#fff, #fff) center / 56% 20% no-repeat, linear-gradient(#fff, #fff) center / 20% 56% no-repeat, #2fbf8f; }
.wds--gleisneun .w-logo b { display: block; font-weight: 600; font-size: calc(1.28*var(--u)); letter-spacing: -.01em; line-height: 1.15; }
.wds--gleisneun .w-logo small { display: block; font-size: calc(.76*var(--u)); color: #5d7a91; line-height: 1.25; }
.wds--gleisneun .w-nav { display: flex; gap: calc(2.6*var(--u)); font-size: calc(.98*var(--u)); color: #3c5970; }
.wds--gleisneun .w-knopf { background: #2f7fd1; color: #fff; font-weight: 500; font-size: calc(.98*var(--u)); padding: calc(.85*var(--u)) calc(1.6*var(--u)); border-radius: calc(9*var(--u)); box-shadow: 0 calc(.5*var(--u)) calc(1.5*var(--u)) rgba(47, 127, 209, .25); }
.wds--gleisneun .w-held { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 1.12fr 1fr; gap: calc(4*var(--u)); align-items: center; padding: calc(1.5*var(--u)) 0 calc(2*var(--u)); }
.wds--gleisneun .w-status { display: flex; align-items: center; gap: calc(.7*var(--u)); width: max-content; font-size: calc(.88*var(--u)); font-weight: 500; color: #1f7a63; background: #dff4ee; padding: calc(.45*var(--u)) calc(1.1*var(--u)) calc(.45*var(--u)) calc(.8*var(--u)); border-radius: calc(9*var(--u)); }
.wds--gleisneun .w-status::before { content: ''; width: calc(.7*var(--u)); height: calc(.7*var(--u)); border-radius: 50%; background: #2fbf8f; box-shadow: 0 0 0 calc(.3*var(--u)) rgba(47, 191, 143, .22); }
.wds--gleisneun .w-titel { margin-top: calc(1.8*var(--u)); font-size: calc(4.4*var(--u)); line-height: 1.07; font-weight: 600; letter-spacing: -.035em; color: #0f2a44; }
.wds--gleisneun .w-titel span { color: #2f7fd1; }
.wds--gleisneun .w-unter { margin-top: calc(1.6*var(--u)); font-size: calc(1.18*var(--u)); line-height: 1.55; color: #4a6880; max-width: calc(40*var(--u)); }
.wds--gleisneun .w-knoepfe { display: flex; gap: var(--u); margin-top: calc(2.4*var(--u)); }
.wds--gleisneun .w-k1, .wds--gleisneun .w-k2 { font-size: calc(1.04*var(--u)); font-weight: 500; padding: calc(1.1*var(--u)) calc(1.9*var(--u)); border-radius: calc(9*var(--u)); text-align: center; }
.wds--gleisneun .w-k1 { background: #2f7fd1; color: #fff; box-shadow: 0 calc(.6*var(--u)) calc(1.8*var(--u)) rgba(47, 127, 209, .3); }
.wds--gleisneun .w-k2 { background: #fff; color: #14304a; box-shadow: inset 0 0 0 1px #cfdfeb; }
.wds--gleisneun .w-punkte { display: flex; gap: calc(2.2*var(--u)); margin-top: calc(2.2*var(--u)); font-size: calc(.9*var(--u)); color: #4a6880; }
.wds--gleisneun .w-punkte span { display: flex; align-items: center; gap: calc(.7*var(--u)); }
.wds--gleisneun .w-punkte span::before { content: ''; width: calc(.45*var(--u)); height: calc(.8*var(--u)); border: solid #2fbf8f; border-width: 0 calc(.2*var(--u)) calc(.2*var(--u)) 0; transform: translateY(calc(-.12*var(--u))) rotate(45deg); }
.wds--gleisneun .w-visual { position: relative; align-self: stretch; display: flex; align-items: center; justify-content: center; min-height: 0; }
.wds--gleisneun .w-blob { position: absolute; inset: 2% 1% 2% 6%; border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%; background: radial-gradient(circle at 28% 26%, #e2f6f0, transparent 55%), linear-gradient(140deg, #bfe6dc, #cfe1f5); }
.wds--gleisneun .w-karte { position: relative; width: calc(28*var(--u)); background: #fff; border-radius: calc(1.6*var(--u)); padding: calc(1.6*var(--u)); box-shadow: 0 calc(1.6*var(--u)) calc(4*var(--u)) rgba(20, 48, 74, .13), 0 0 0 1px rgba(20, 48, 74, .05); }
.wds--gleisneun .w-kk span { display: block; font-size: calc(.78*var(--u)); color: #5d7a91; }
.wds--gleisneun .w-kk b { display: block; font-size: calc(1.3*var(--u)); font-weight: 600; margin-top: calc(.2*var(--u)); letter-spacing: -.01em; }
.wds--gleisneun .w-tage { display: grid; grid-template-columns: repeat(5, 1fr); gap: calc(.5*var(--u)); margin-top: calc(1.2*var(--u)); }
.wds--gleisneun .w-tage span { display: flex; flex-direction: column; align-items: center; gap: calc(.15*var(--u)); font-size: calc(.7*var(--u)); color: #5d7a91; padding: calc(.55*var(--u)) 0; border-radius: calc(.7*var(--u)); background: #f2f7fb; }
.wds--gleisneun .w-tage span::after { content: attr(data-t); font-size: calc(1.1*var(--u)); font-weight: 600; color: #14304a; }
.wds--gleisneun .w-tage .an { background: #2f7fd1; color: rgba(255, 255, 255, .8); }
.wds--gleisneun .w-tage .an::after { color: #fff; }
.wds--gleisneun .w-zug { position: absolute; left: 3%; bottom: 5%; width: 97%; height: 24%; }
.wds--gleisneun .w-zug .sr { fill: rgba(20, 48, 74, .4); }
.wds--gleisneun .w-zug .kb { fill: #fff; stroke: #a9c9df; stroke-width: 1.2; }
.wds--gleisneun .w-zug .fb { fill: #2f7fd1; opacity: .8; }
.wds--gleisneun .w-zug .dg { fill: #14304a; }
.wds--gleisneun .w-zug .pa { fill: none; stroke: #14304a; stroke-width: 1.4; stroke-linejoin: round; }
.wds--gleisneun .w-arzt { display: flex; gap: calc(.9*var(--u)); align-items: center; margin-top: calc(1.3*var(--u)); padding-top: calc(1.2*var(--u)); border-top: 1px solid #e6eef4; font-size: calc(.74*var(--u)); color: #5d7a91; line-height: 1.3; }
.wds--gleisneun .w-arzt i { flex: none; width: calc(2.8*var(--u)); height: calc(2.8*var(--u)); border-radius: 50%; background: radial-gradient(circle at 50% 36%, #e9c3a8 0 22%, transparent 23%), radial-gradient(circle at 50% 108%, #2f5f8a 0 48%, transparent 49%), #e3eef6; }
.wds--gleisneun .w-arzt b { display: block; font-size: calc(.92*var(--u)); font-weight: 600; color: #14304a; }
.wds--gleisneun .w-kbtn { margin-top: calc(1.3*var(--u)); text-align: center; background: #14304a; color: #fff; border-radius: calc(.9*var(--u)); padding: calc(.85*var(--u)); font-size: calc(.92*var(--u)); font-weight: 500; }
.wds--gleisneun .w-leistungen { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(1.4*var(--u)); padding-bottom: calc(2.8*var(--u)); }
.wds--gleisneun .w-leistungen > div { background: #fff; border-radius: calc(1.2*var(--u)); padding: calc(1.2*var(--u)) calc(1.4*var(--u)); display: grid; grid-template-columns: auto 1fr; column-gap: calc(1.1*var(--u)); align-items: center; box-shadow: 0 0 0 1px #e1ecf3; }
.wds--gleisneun .w-leistungen i { grid-row: 1 / 3; width: calc(2.8*var(--u)); height: calc(2.8*var(--u)); border-radius: calc(.8*var(--u)); background: #e6f2fb; display: grid; place-items: center; }
.wds--gleisneun .w-leistungen svg { width: calc(1.5*var(--u)); height: calc(1.5*var(--u)); fill: none; stroke: #2f7fd1; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.wds--gleisneun .w-leistungen b { font-weight: 600; font-size: var(--u); line-height: 1.25; }
.wds--gleisneun .w-leistungen span { font-size: calc(.8*var(--u)); color: #5d7a91; line-height: 1.3; }

@container wds (max-aspect-ratio: 1/1) {
  .wds--gleisneun > * { margin-inline: calc(6*var(--u)); }
  .wds--gleisneun .w-kopf { padding: calc(4.5*var(--u)) 0; }
  .wds--gleisneun .w-logo { gap: calc(2.6*var(--u)); }
  .wds--gleisneun .w-logo i { width: calc(8.6*var(--u)); height: calc(8.6*var(--u)); font-size: calc(5.6*var(--u)); border-radius: calc(1.8*var(--u)); }
  .wds--gleisneun .w-logo i::after { width: calc(4*var(--u)); height: calc(4*var(--u)); right: calc(-1.4*var(--u)); top: calc(-1.4*var(--u)); border-width: calc(.5*var(--u)); }
  .wds--gleisneun .w-logo b { font-size: calc(4*var(--u)); }
  .wds--gleisneun .w-logo small { font-size: calc(2.6*var(--u)); }
  .wds--gleisneun .w-burger { color: #2f7fd1; }
  .wds--gleisneun .w-held { grid-template-columns: 1fr; grid-template-rows: auto 1fr; gap: calc(6*var(--u)); align-items: start; padding: calc(3*var(--u)) 0 calc(6*var(--u)); }
  .wds--gleisneun .w-status { font-size: calc(3*var(--u)); padding: calc(1.4*var(--u)) calc(3*var(--u)) calc(1.4*var(--u)) calc(2.4*var(--u)); gap: calc(2*var(--u)); }
  .wds--gleisneun .w-status::before { width: calc(2*var(--u)); height: calc(2*var(--u)); box-shadow: 0 0 0 calc(.9*var(--u)) rgba(47, 191, 143, .22); }
  .wds--gleisneun .w-titel { font-size: calc(9*var(--u)); margin-top: calc(4.5*var(--u)); }
  .wds--gleisneun .w-titel br { display: none; }
  .wds--gleisneun .w-unter { font-size: calc(3.8*var(--u)); margin-top: calc(3.5*var(--u)); max-width: none; }
  .wds--gleisneun .w-knoepfe { flex-direction: column; gap: calc(2.4*var(--u)); margin-top: calc(5.5*var(--u)); }
  .wds--gleisneun .w-k1, .wds--gleisneun .w-k2 { font-size: calc(3.8*var(--u)); padding: calc(3.4*var(--u)); }
  .wds--gleisneun .w-punkte { display: none; }
  .wds--gleisneun .w-visual { align-items: flex-start; justify-content: stretch; }
  .wds--gleisneun .w-blob { inset: calc(-4*var(--u)) calc(-8*var(--u)) calc(-12*var(--u)) 20%; }
  .wds--gleisneun .w-karte { width: 100%; padding: calc(4.4*var(--u)); border-radius: calc(4.4*var(--u)); }
  .wds--gleisneun .w-kk span { font-size: calc(2.8*var(--u)); }
  .wds--gleisneun .w-kk b { font-size: calc(4.6*var(--u)); margin-top: calc(.8*var(--u)); }
  .wds--gleisneun .w-tage { gap: calc(1.6*var(--u)); margin-top: calc(3.6*var(--u)); }
  .wds--gleisneun .w-tage span { font-size: calc(2.5*var(--u)); padding: calc(1.8*var(--u)) 0; border-radius: calc(2.2*var(--u)); gap: calc(.5*var(--u)); }
  .wds--gleisneun .w-tage span::after { font-size: calc(4*var(--u)); }
  .wds--gleisneun .w-zug { bottom: 3%; height: 18%; }
  .wds--gleisneun .w-arzt { display: none; }
  .wds--gleisneun .w-kbtn { margin-top: calc(3.6*var(--u)); padding: calc(3*var(--u)); font-size: calc(3.6*var(--u)); border-radius: calc(2.6*var(--u)); }
  .wds--gleisneun .w-leistungen { display: none; }
}


/* ==========================================================================
   06 · Stahlspur Gleisbau – Industrie dunkel
   ========================================================================== */
.wds--stahlspur { background: #15171a; color: #e9ebee; font-family: Bahnschrift, 'DIN Alternate', 'DIN Condensed', 'Roboto Condensed', 'Arial Narrow', sans-serif; display: flex; flex-direction: column; }
.wds--stahlspur > * { flex: none; }
.wds--stahlspur .w-kopf { display: flex; align-items: center; gap: calc(3*var(--u)); padding: 0 0 0 calc(4*var(--u)); height: calc(6.2*var(--u)); border-bottom: 1px solid #2c3036; }
.wds--stahlspur .w-logo { flex: 1; display: flex; align-items: center; gap: var(--u); }
.wds--stahlspur .w-logo i { flex: none; width: calc(2.5*var(--u)); height: calc(2.2*var(--u)); background: #ff6b1a; clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%); }
.wds--stahlspur .w-logo b { display: block; font-weight: 700; font-size: calc(1.6*var(--u)); letter-spacing: .08em; line-height: 1; text-transform: uppercase; }
.wds--stahlspur .w-logo small { display: block; font-family: 'Geist Mono', monospace; font-size: calc(.6*var(--u)); letter-spacing: .14em; text-transform: uppercase; color: #8a9099; margin-top: calc(.35*var(--u)); }
.wds--stahlspur .w-nav { display: flex; align-self: stretch; }
.wds--stahlspur .w-nav span { display: flex; align-items: center; gap: calc(.6*var(--u)); padding: 0 calc(1.6*var(--u)); border-left: 1px solid #2c3036; font-size: calc(.94*var(--u)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.wds--stahlspur .w-nav i { font-family: 'Geist Mono', monospace; font-size: calc(.7*var(--u)); color: #ff6b1a; font-weight: 400; letter-spacing: 0; }
.wds--stahlspur .w-knopf { align-self: stretch; display: flex; align-items: center; background: #ff6b1a; color: #111; font-weight: 700; font-size: calc(.94*var(--u)); letter-spacing: .08em; text-transform: uppercase; padding: 0 calc(2.4*var(--u)); }
.wds--stahlspur .w-held { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 1fr 1.05fr; grid-template-rows: 100%; gap: calc(4*var(--u)); padding: calc(3.2*var(--u)) calc(4*var(--u)) calc(3*var(--u)); background: linear-gradient(rgba(255, 255, 255, .028) 1px, transparent 1px) 0 0 / calc(3*var(--u)) calc(3*var(--u)), linear-gradient(90deg, rgba(255, 255, 255, .028) 1px, transparent 1px) 0 0 / calc(3*var(--u)) calc(3*var(--u)); }
.wds--stahlspur .w-text { display: flex; flex-direction: column; justify-content: center; }
.wds--stahlspur .w-kicker { display: flex; gap: var(--u); font-family: 'Geist Mono', monospace; font-size: calc(.8*var(--u)); letter-spacing: .14em; text-transform: uppercase; color: #a3a9b1; }
.wds--stahlspur .w-kicker span { color: #ff6b1a; }
.wds--stahlspur .w-titel { margin-top: calc(1.8*var(--u)); font-size: calc(7.2*var(--u)); line-height: .9; font-weight: 700; text-transform: uppercase; letter-spacing: -.005em; font-stretch: condensed; }
.wds--stahlspur .w-titel b { color: #ff6b1a; font-weight: 700; }
.wds--stahlspur .w-unter { margin-top: calc(2*var(--u)); font-family: 'Geist', sans-serif; font-size: calc(1.12*var(--u)); line-height: 1.55; color: #a3a9b1; max-width: calc(38*var(--u)); }
.wds--stahlspur .w-knoepfe { display: flex; gap: var(--u); margin-top: calc(2.6*var(--u)); font-weight: 700; font-size: calc(.98*var(--u)); letter-spacing: .08em; text-transform: uppercase; }
.wds--stahlspur .w-k1 { background: #ff6b1a; color: #111; padding: calc(1.1*var(--u)) calc(2.2*var(--u)) calc(1.1*var(--u)) calc(1.8*var(--u)); clip-path: polygon(0 0, 100% 0, 100% 62%, calc(100% - calc(1.1*var(--u))) 100%, 0 100%); }
.wds--stahlspur .w-k2 { border: 1px solid #4a5059; padding: calc(1.1*var(--u)) calc(1.8*var(--u)); }
.wds--stahlspur .w-zeichnung { position: relative; min-height: 0; border: 1px solid #2f343b; background: rgba(10, 12, 14, .6); display: flex; flex-direction: column; }
.wds--stahlspur .w-zeichnung::before, .wds--stahlspur .w-zeichnung::after { content: ''; position: absolute; width: calc(1.6*var(--u)); height: calc(1.6*var(--u)); border: 0 solid #ff6b1a; }
.wds--stahlspur .w-zeichnung::before { left: -1px; top: -1px; border-width: calc(.25*var(--u)) 0 0 calc(.25*var(--u)); }
.wds--stahlspur .w-zeichnung::after { right: -1px; bottom: -1px; border-width: 0 calc(.25*var(--u)) calc(.25*var(--u)) 0; }
.wds--stahlspur .w-zeichnung svg { flex: 1; width: 100%; min-height: 0; padding: calc(1.4*var(--u)); }
.wds--stahlspur .w-zeichnung .k { fill: none; stroke: #cfd4da; stroke-width: 1.6; }
.wds--stahlspur .w-zeichnung .d { fill: none; stroke: #6c737c; stroke-width: 1; }
.wds--stahlspur .w-zeichnung .m { fill: none; stroke: #6c737c; stroke-width: 1; stroke-dasharray: 14 4 2 4; }
.wds--stahlspur .w-zeichnung .s { fill: rgba(255, 107, 26, .16); stroke: #cfd4da; }
.wds--stahlspur .w-zeichnung .sf { fill: #cfd4da; }
.wds--stahlspur .w-zeichnung .sb { fill: rgba(207, 212, 218, .07); stroke: #6c737c; stroke-width: 1; }
.wds--stahlspur .w-zeichnung .sw { fill: rgba(207, 212, 218, .16); stroke: #cfd4da; stroke-width: 1.4; }
.wds--stahlspur .w-zeichnung .o { fill: none; stroke: #ff6b1a; stroke-width: 1; }
.wds--stahlspur .w-zeichnung .p { fill: #ff6b1a; }
.wds--stahlspur .w-zeichnung .t { fill: #ff8b4a; font-family: 'Geist Mono', monospace; font-size: 13px; }
.wds--stahlspur .w-zeichnung .u { fill: #8a9099; font-family: 'Geist Mono', monospace; font-size: 11px; letter-spacing: .12em; }
.wds--stahlspur .w-stempel { display: flex; justify-content: space-between; gap: var(--u); border-top: 1px solid #2f343b; font-family: 'Geist Mono', monospace; font-size: calc(.68*var(--u)); letter-spacing: .1em; color: #8a9099; padding: calc(.7*var(--u)) calc(1.1*var(--u)); text-transform: uppercase; }
.wds--stahlspur .w-warn { height: calc(.9*var(--u)); background: repeating-linear-gradient(-45deg, #ff6b1a 0 calc(.9*var(--u)), #15171a calc(.9*var(--u)) calc(1.8*var(--u))); }
.wds--stahlspur .w-zahlen { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 calc(4*var(--u)); }
.wds--stahlspur .w-zahlen > div { padding: calc(1.7*var(--u)) calc(1.8*var(--u)) calc(2.3*var(--u)); border-left: 1px solid #2c3036; }
.wds--stahlspur .w-zahlen > div:first-child { border-left: 0; padding-left: 0; }
.wds--stahlspur .w-zahlen b { display: block; font-size: calc(2.7*var(--u)); font-weight: 700; line-height: 1; white-space: nowrap; }
.wds--stahlspur .w-zahlen small { font-size: .5em; color: #ff6b1a; margin-left: .25em; font-weight: 400; }
.wds--stahlspur .w-zahlen span { display: block; margin-top: calc(.6*var(--u)); font-family: 'Geist Mono', monospace; font-size: calc(.7*var(--u)); letter-spacing: .12em; text-transform: uppercase; color: #8a9099; }

@container wds (max-aspect-ratio: 1/1) {
  .wds--stahlspur .w-kopf { height: calc(16*var(--u)); padding: 0 calc(6*var(--u)); }
  .wds--stahlspur .w-logo { gap: calc(2.6*var(--u)); }
  .wds--stahlspur .w-logo i { width: calc(6.6*var(--u)); height: calc(5.8*var(--u)); }
  .wds--stahlspur .w-logo b { font-size: calc(5*var(--u)); }
  .wds--stahlspur .w-logo small { font-size: calc(1.9*var(--u)); margin-top: var(--u); }
  .wds--stahlspur .w-burger { color: #ff6b1a; }
  .wds--stahlspur .w-burger i { border-radius: 0; }
  .wds--stahlspur .w-held { grid-template-columns: 1fr; grid-template-rows: auto minmax(calc(30*var(--u)), 1fr); gap: calc(6*var(--u)); padding: calc(6*var(--u)) calc(6*var(--u)) calc(5*var(--u)); background-size: calc(8*var(--u)) calc(8*var(--u)); }
  .wds--stahlspur .w-kicker { font-size: calc(2.5*var(--u)); gap: calc(2*var(--u)); }
  .wds--stahlspur .w-titel { font-size: calc(14*var(--u)); margin-top: calc(3.5*var(--u)); }
  .wds--stahlspur .w-unter { font-size: calc(3.7*var(--u)); margin-top: calc(4*var(--u)); max-width: none; }
  .wds--stahlspur .w-knoepfe { font-size: calc(3.2*var(--u)); gap: calc(2.4*var(--u)); margin-top: calc(5*var(--u)); }
  .wds--stahlspur .w-k1 { padding: calc(3.2*var(--u)) calc(5.6*var(--u)) calc(3.2*var(--u)) calc(4*var(--u)); clip-path: polygon(0 0, 100% 0, 100% 62%, calc(100% - calc(3*var(--u))) 100%, 0 100%); }
  .wds--stahlspur .w-k2 { padding: calc(3.2*var(--u)) calc(4*var(--u)); }
  .wds--stahlspur .w-zeichnung svg { padding: calc(3*var(--u)); }
  .wds--stahlspur .w-zeichnung::before, .wds--stahlspur .w-zeichnung::after { width: calc(4.5*var(--u)); height: calc(4.5*var(--u)); }
  .wds--stahlspur .w-zeichnung::before { border-width: calc(.7*var(--u)) 0 0 calc(.7*var(--u)); }
  .wds--stahlspur .w-zeichnung::after { border-width: 0 calc(.7*var(--u)) calc(.7*var(--u)) 0; }
  .wds--stahlspur .w-stempel { font-size: calc(2.1*var(--u)); padding: calc(2*var(--u)) calc(3*var(--u)); }
  .wds--stahlspur .w-warn { height: calc(2.4*var(--u)); background: repeating-linear-gradient(-45deg, #ff6b1a 0 calc(2.4*var(--u)), #15171a calc(2.4*var(--u)) calc(4.8*var(--u))); }
  .wds--stahlspur .w-zahlen { grid-template-columns: 1fr 1fr; padding: 0 calc(6*var(--u)); }
  .wds--stahlspur .w-zahlen > div { padding: calc(3.4*var(--u)) 0 calc(3.4*var(--u)) calc(4*var(--u)); }
  .wds--stahlspur .w-zahlen > div:nth-child(odd) { border-left: 0; padding-left: 0; }
  .wds--stahlspur .w-zahlen > div:nth-child(-n+2) { border-bottom: 1px solid #2c3036; }
  .wds--stahlspur .w-zahlen b { font-size: calc(7*var(--u)); }
  .wds--stahlspur .w-zahlen span { font-size: calc(2.2*var(--u)); margin-top: calc(1.6*var(--u)); }
}


/* ==========================================================================
   07 · Kubus Waggonbau – Bauhaus
   ========================================================================== */
.wds--kubus { background: #efe8da; color: #161616; font-family: Futura, 'Century Gothic', 'Avenir Next', 'Trebuchet MS', sans-serif; display: flex; flex-direction: column; }
.wds--kubus > * { flex: none; margin-inline: calc(4*var(--u)); }
.wds--kubus .w-kopf { display: flex; align-items: center; gap: calc(3*var(--u)); padding: calc(2.1*var(--u)) 0; border-bottom: calc(.35*var(--u)) solid #161616; }
.wds--kubus .w-logo { flex: 1; display: flex; align-items: center; gap: calc(.45*var(--u)); font-weight: 700; font-size: calc(1.45*var(--u)); letter-spacing: .16em; text-transform: uppercase; }
.wds--kubus .w-logo i { width: calc(1.45*var(--u)); height: calc(1.45*var(--u)); }
.wds--kubus .w-logo .k, .wds--kubus .w-produkte .r { background: #d93a2b; border-radius: 50%; }
.wds--kubus .w-logo .q, .wds--kubus .w-produkte .b { background: #1f4fa3; }
.wds--kubus .w-logo .d, .wds--kubus .w-produkte .g { background: #f2b600; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.wds--kubus .w-produkte .s { background: #161616; width: calc(3.2*var(--u)); height: calc(.9*var(--u)); }
.wds--kubus .w-logo span { margin-left: calc(.8*var(--u)); }
.wds--kubus .w-nav { display: flex; gap: calc(2.6*var(--u)); font-size: calc(.9*var(--u)); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.wds--kubus .w-knopf { background: #161616; color: #efe8da; font-size: calc(.9*var(--u)); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; padding: calc(.9*var(--u)) calc(1.6*var(--u)); }
.wds--kubus .w-held { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 100%; gap: calc(5*var(--u)); padding: calc(3*var(--u)) 0; }
.wds--kubus .w-komp { width: 100%; height: 100%; min-height: 0; }
.wds--kubus .w-text { display: flex; flex-direction: column; justify-content: center; }
.wds--kubus .w-nr { display: flex; align-items: center; gap: var(--u); font-size: calc(.82*var(--u)); font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.wds--kubus .w-nr::before { content: ''; width: var(--u); height: var(--u); background: #d93a2b; border-radius: 50%; }
.wds--kubus .w-titel { margin-top: calc(1.8*var(--u)); font-size: calc(7*var(--u)); line-height: .94; font-weight: 700; text-transform: uppercase; letter-spacing: -.01em; }
.wds--kubus .w-titel span { color: #d93a2b; }
.wds--kubus .w-unter { margin-top: calc(2.2*var(--u)); font-size: calc(1.1*var(--u)); line-height: 1.55; max-width: calc(36*var(--u)); }
.wds--kubus .w-knoepfe { display: flex; gap: var(--u); margin-top: calc(2.4*var(--u)); font-size: calc(.9*var(--u)); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.wds--kubus .w-k1 { background: #1f4fa3; color: #fff; padding: calc(1.1*var(--u)) calc(1.8*var(--u)); }
.wds--kubus .w-k2 { border: calc(.2*var(--u)) solid #161616; padding: calc(.9*var(--u)) calc(1.6*var(--u)); }
.wds--kubus .w-produkte { display: grid; grid-template-columns: repeat(4, 1fr); border-top: calc(.35*var(--u)) solid #161616; }
.wds--kubus .w-produkte > div { display: flex; align-items: center; gap: calc(1.2*var(--u)); padding: calc(1.5*var(--u)) calc(1.6*var(--u)) calc(2.2*var(--u)); border-left: 1px solid rgba(22, 22, 22, .25); }
.wds--kubus .w-produkte > div:first-child { border-left: 0; padding-left: 0; }
.wds--kubus .w-produkte i { flex: none; width: calc(2.4*var(--u)); height: calc(2.4*var(--u)); }
.wds--kubus .w-produkte b { font-weight: 700; font-size: calc(1.5*var(--u)); }
.wds--kubus .w-produkte span { font-size: calc(.82*var(--u)); letter-spacing: .12em; text-transform: uppercase; }

@container wds (max-aspect-ratio: 1/1) {
  .wds--kubus > * { margin-inline: calc(6*var(--u)); }
  .wds--kubus .w-kopf { padding: calc(5*var(--u)) 0; border-bottom-width: var(--u); }
  .wds--kubus .w-logo { font-size: calc(4.6*var(--u)); gap: calc(1.2*var(--u)); }
  .wds--kubus .w-logo i { width: calc(4.4*var(--u)); height: calc(4.4*var(--u)); }
  .wds--kubus .w-logo span { margin-left: calc(2*var(--u)); }
  .wds--kubus .w-burger i { border-radius: 0; height: max(1px, calc(.9*var(--u))); }
  .wds--kubus .w-held { grid-template-columns: 1fr; grid-template-rows: minmax(calc(40*var(--u)), 1fr) auto; gap: calc(6*var(--u)); padding: calc(6*var(--u)) 0 calc(6*var(--u)); }
  .wds--kubus .w-nr { font-size: calc(2.6*var(--u)); gap: calc(2.4*var(--u)); }
  .wds--kubus .w-nr::before { width: calc(3*var(--u)); height: calc(3*var(--u)); }
  .wds--kubus .w-titel { font-size: calc(12*var(--u)); margin-top: calc(4*var(--u)); }
  .wds--kubus .w-titel br:nth-of-type(1), .wds--kubus .w-titel br:nth-of-type(3) { display: none; }
  .wds--kubus .w-unter { font-size: calc(3.7*var(--u)); margin-top: calc(4*var(--u)); max-width: none; }
  .wds--kubus .w-knoepfe { font-size: calc(2.9*var(--u)); gap: calc(2.4*var(--u)); margin-top: calc(5*var(--u)); }
  .wds--kubus .w-k1 { padding: calc(3.4*var(--u)) calc(4.4*var(--u)); }
  .wds--kubus .w-k2 { padding: calc(2.8*var(--u)) calc(4*var(--u)); border-width: calc(.6*var(--u)); }
  .wds--kubus .w-produkte { grid-template-columns: 1fr 1fr; border-top-width: var(--u); }
  .wds--kubus .w-produkte > div { padding: calc(3.6*var(--u)) 0 calc(3.6*var(--u)) calc(4*var(--u)); gap: calc(3*var(--u)); }
  .wds--kubus .w-produkte > div:nth-child(odd) { border-left: 0; padding-left: 0; }
  .wds--kubus .w-produkte > div:nth-child(n+3) { display: none; }
  .wds--kubus .w-produkte i { width: calc(6.4*var(--u)); height: calc(6.4*var(--u)); }
  .wds--kubus .w-produkte b { font-size: calc(4.6*var(--u)); }
  .wds--kubus .w-produkte span { font-size: calc(2.4*var(--u)); }
}


/* ==========================================================================
   08 · Neonbahn – Retro 80er / Synthwave, Modellbahn-Ausstellung
   ========================================================================== */
.wds--neonbahn { background: radial-gradient(32% 38% at 50% 60%, rgba(255, 46, 136, .38), transparent 70%), linear-gradient(180deg, #0b0221 0%, #1d0640 40%, #4a0b5e 62%); color: #f6e9ff; font-family: 'Geist Mono', 'Courier New', monospace; display: flex; flex-direction: column; align-items: center; }
.wds--neonbahn > * { flex: none; }
.wds--neonbahn .w-sonne { position: absolute; left: 50%; top: calc(62% - calc(33*var(--u))); width: calc(42*var(--u)); height: calc(42*var(--u)); margin-left: calc(-21*var(--u)); border-radius: 50%; background: linear-gradient(180deg, #ffe85e 8%, #ff9a3d 42%, #ff3d8b 72%, #c21fd0 100%); -webkit-mask-image: linear-gradient(180deg, #000 0 50%, transparent 50% 53%, #000 53% 61%, transparent 61% 65.5%, #000 65.5% 72%, transparent 72% 77.5%, #000 77.5% 82%, transparent 82%); mask-image: linear-gradient(180deg, #000 0 50%, transparent 50% 53%, #000 53% 61%, transparent 61% 65.5%, #000 65.5% 72%, transparent 72% 77.5%, #000 77.5% 82%, transparent 82%); }
.wds--neonbahn .w-boden { position: absolute; left: 0; right: 0; top: 62%; bottom: 0; background: linear-gradient(180deg, #2b0742, #0a0118 75%); border-top: max(1px, calc(.15*var(--u))) solid #ff6ad5; box-shadow: 0 0 calc(2.4*var(--u)) rgba(255, 58, 216, .65); }
.wds--neonbahn .w-boden svg { width: 100%; height: 100%; }
.wds--neonbahn .w-boden path { fill: none; vector-effect: non-scaling-stroke; }
.wds--neonbahn .w-boden .r { stroke: #ff3ad8; stroke-opacity: .38; stroke-width: 1; }
.wds--neonbahn .w-boden .s { stroke: #36e2ff; stroke-opacity: .85; stroke-width: 1.6; }
.wds--neonbahn .w-boden .g { stroke: #f2fbff; stroke-width: 2.4; }
.wds--neonbahn .w-kopf { position: relative; align-self: stretch; display: flex; align-items: center; gap: calc(3*var(--u)); padding: calc(2*var(--u)) calc(4*var(--u)); }
.wds--neonbahn .w-logo { flex: 1; display: flex; align-items: center; gap: calc(.8*var(--u)); font-family: 'Arial Black', 'Arial Bold', Gadget, sans-serif; font-weight: 900; font-style: italic; font-size: calc(1.5*var(--u)); text-transform: uppercase; letter-spacing: -.02em; }
.wds--neonbahn .w-logo i { width: calc(1.6*var(--u)); height: calc(1.6*var(--u)); background: #36e2ff; box-shadow: calc(.5*var(--u)) calc(.5*var(--u)) 0 #ff3ad8; }
.wds--neonbahn .w-logo b { color: #36e2ff; font-weight: 900; }
.wds--neonbahn .w-nav { display: flex; gap: calc(2.6*var(--u)); font-size: calc(.9*var(--u)); letter-spacing: .16em; text-transform: uppercase; color: #e7c8ff; }
.wds--neonbahn .w-knopf { font-size: calc(.86*var(--u)); letter-spacing: .12em; text-transform: uppercase; padding: calc(.8*var(--u)) calc(1.4*var(--u)); border: 1px solid #36e2ff; color: #b8f6ff; box-shadow: 0 0 calc(1.2*var(--u)) rgba(54, 226, 255, .45), inset 0 0 calc(.8*var(--u)) rgba(54, 226, 255, .3); }
.wds--neonbahn .w-held { position: relative; flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 calc(4*var(--u)) calc(7*var(--u)); }
.wds--neonbahn .w-ober { font-size: calc(.86*var(--u)); letter-spacing: .3em; text-transform: uppercase; color: #8ff0ff; background: rgba(11, 2, 33, .82); border: 1px solid rgba(54, 226, 255, .55); padding: calc(.45*var(--u)) calc(1.2*var(--u)) calc(.45*var(--u)) calc(1.5*var(--u)); box-shadow: 0 0 calc(1.2*var(--u)) rgba(54, 226, 255, .3); }
.wds--neonbahn .w-titel { margin-top: calc(1.6*var(--u)); font-family: 'Arial Black', 'Arial Bold', Gadget, sans-serif; font-weight: 900; font-style: italic; font-size: calc(8.4*var(--u)); line-height: .98; letter-spacing: -.02em; text-transform: uppercase; filter: drop-shadow(0 calc(.3*var(--u)) 0 #ff2e88) drop-shadow(0 calc(.3*var(--u)) 0 #6a0f8e); }
.wds--neonbahn .w-titel span { display: block; padding: 0 .12em; background: linear-gradient(180deg, #f6fcff 0%, #a9e3ff 44%, #2a1d62 50%, #ff8ad8 56%, #fff1fb 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.wds--neonbahn .w-script { position: relative; margin-top: calc(-2.4*var(--u)); transform: rotate(-7deg); font-family: 'Brush Script MT', 'Snell Roundhand', 'Segoe Script', cursive; font-size: calc(4.2*var(--u)); line-height: 1; color: #ff9ae6; text-shadow: 0 0 calc(.6*var(--u)) #ff3ad8, 0 0 calc(2*var(--u)) rgba(255, 58, 216, .8); }
.wds--neonbahn .w-knoepfe { display: flex; gap: calc(1.4*var(--u)); margin-top: calc(2.6*var(--u)); font-size: calc(.9*var(--u)); letter-spacing: .14em; text-transform: uppercase; }
.wds--neonbahn .w-k1 { background: linear-gradient(90deg, #ff3ad8, #ff7a3d); color: #fff; padding: var(--u) calc(1.8*var(--u)); box-shadow: 0 0 calc(2*var(--u)) rgba(255, 58, 216, .55); }
.wds--neonbahn .w-k2 { border: 1px solid #36e2ff; color: #b8f6ff; padding: var(--u) calc(1.8*var(--u)); background: rgba(10, 1, 24, .5); box-shadow: 0 0 calc(1.2*var(--u)) rgba(54, 226, 255, .4); }
.wds--neonbahn .w-leiste { position: relative; display: flex; gap: calc(1.6*var(--u)); margin-bottom: calc(3*var(--u)); }
.wds--neonbahn .w-leiste > div { min-width: calc(17*var(--u)); padding: var(--u) calc(1.6*var(--u)); border: 1px solid rgba(54, 226, 255, .7); background: rgba(10, 1, 24, .72); box-shadow: 0 0 calc(1.2*var(--u)) rgba(54, 226, 255, .35), inset 0 0 var(--u) rgba(54, 226, 255, .18); text-align: center; }
.wds--neonbahn .w-leiste b { display: block; font-family: 'Arial Black', 'Arial Bold', Gadget, sans-serif; font-weight: 900; font-style: italic; font-size: calc(2*var(--u)); color: #36e2ff; text-shadow: 0 0 var(--u) rgba(54, 226, 255, .8); }
.wds--neonbahn .w-leiste span { display: block; margin-top: calc(.3*var(--u)); font-size: calc(.72*var(--u)); letter-spacing: .14em; text-transform: uppercase; color: #e7c8ff; }

@container wds (max-aspect-ratio: 1/1) {
  .wds--neonbahn .w-sonne { top: calc(60% - calc(62*var(--u))); width: calc(80*var(--u)); height: calc(80*var(--u)); margin-left: calc(-40*var(--u)); }
  .wds--neonbahn { background: radial-gradient(60% 30% at 50% 58%, rgba(255, 46, 136, .4), transparent 70%), linear-gradient(180deg, #0b0221 0%, #1d0640 40%, #4a0b5e 60%); }
  .wds--neonbahn .w-boden { top: 60%; }
  .wds--neonbahn .w-kopf { padding: calc(4.5*var(--u)) calc(6*var(--u)); }
  .wds--neonbahn .w-logo { font-size: calc(5*var(--u)); gap: calc(2.4*var(--u)); }
  .wds--neonbahn .w-logo i { width: calc(4.6*var(--u)); height: calc(4.6*var(--u)); box-shadow: calc(1.4*var(--u)) calc(1.4*var(--u)) 0 #ff3ad8; }
  .wds--neonbahn .w-burger { color: #36e2ff; }
  .wds--neonbahn .w-held { justify-content: flex-start; padding: calc(12*var(--u)) calc(6*var(--u)) 0; }
  .wds--neonbahn .w-ober { font-size: calc(2.5*var(--u)); letter-spacing: .2em; padding: calc(1.2*var(--u)) calc(2.6*var(--u)) calc(1.2*var(--u)) calc(3*var(--u)); }
  .wds--neonbahn .w-titel { font-size: calc(15.5*var(--u)); margin-top: calc(5*var(--u)); }
  .wds--neonbahn .w-script { font-size: calc(10*var(--u)); margin-top: calc(-5*var(--u)); }
  .wds--neonbahn .w-knoepfe { flex-direction: column; align-self: stretch; gap: calc(3*var(--u)); margin-top: auto; margin-bottom: calc(8*var(--u)); font-size: calc(3.2*var(--u)); }
  .wds--neonbahn .w-k1, .wds--neonbahn .w-k2 { padding: calc(3.6*var(--u)); }
  .wds--neonbahn .w-leiste { gap: calc(2.4*var(--u)); margin-bottom: calc(7*var(--u)); padding: 0 calc(6*var(--u)); align-self: stretch; }
  .wds--neonbahn .w-leiste > div { flex: 1; min-width: 0; padding: calc(2.6*var(--u)) var(--u); }
  .wds--neonbahn .w-leiste b { font-size: calc(5.6*var(--u)); }
  .wds--neonbahn .w-leiste span { font-size: calc(1.9*var(--u)); letter-spacing: .06em; margin-top: var(--u); }
}


/* ==========================================================================
   09 · Kiten Studio – japanischer Minimalismus, Fahrgasträume
   ========================================================================== */
.wds--kiten { background: #f4f1ea; color: #1d1d1b; font-weight: 300; display: flex; flex-direction: column; }
.wds--kiten > * { flex: none; margin-inline: calc(5*var(--u)); }
.wds--kiten .w-kopf { display: flex; align-items: baseline; justify-content: space-between; padding: calc(3.2*var(--u)) 0 calc(2*var(--u)); }
.wds--kiten .w-logo { font-weight: 400; font-size: calc(1.1*var(--u)); letter-spacing: .5em; }
.wds--kiten .w-logo span { letter-spacing: .2em; color: #8c887f; margin-left: calc(.8*var(--u)); font-size: calc(.78*var(--u)); font-weight: 300; }
.wds--kiten .w-nav { display: flex; gap: calc(3.8*var(--u)); font-size: calc(.9*var(--u)); letter-spacing: .08em; color: #4a4842; }
.wds--kiten .w-held { flex: 1 1 auto; min-height: 0; position: relative; }
.wds--kiten .w-kreis { position: absolute; left: 63%; top: 44%; width: calc(25*var(--u)); height: calc(25*var(--u)); margin: calc(-12.5*var(--u)) 0 0 calc(-12.5*var(--u)); border-radius: 50%; background: #c8371f; }
.wds--kiten .w-zug { position: absolute; left: calc(63% - calc(13*var(--u))); top: calc(44% + calc(5*var(--u))); height: calc(3.3*var(--u)); width: auto; max-width: none; }
.wds--kiten .w-zug path { fill: none; stroke: #1d1d1b; stroke-width: 1; vector-effect: non-scaling-stroke; }
.wds--kiten .w-senkrecht { position: absolute; right: calc(5*var(--u)); top: calc(2.4*var(--u)); writing-mode: vertical-rl; font-family: 'Hiragino Mincho ProN', 'Yu Mincho', 'Noto Serif JP', Georgia, serif; font-weight: 400; font-size: calc(1.35*var(--u)); letter-spacing: .32em; line-height: 1; color: #2c2b28; display: flex; align-items: center; gap: calc(2*var(--u)); }
.wds--kiten .w-senkrecht span { writing-mode: horizontal-tb; width: calc(2.4*var(--u)); height: calc(2.4*var(--u)); display: grid; place-items: center; background: #c8371f; color: #f4f1ea; font-size: calc(1.4*var(--u)); letter-spacing: 0; border-radius: calc(.2*var(--u)); font-family: 'Hiragino Mincho ProN', 'Yu Mincho', 'Yu Gothic', 'Noto Serif JP', serif; }
.wds--kiten .w-text { position: absolute; left: 0; bottom: calc(3.2*var(--u)); max-width: calc(36*var(--u)); }
.wds--kiten .w-nr { font-size: calc(.78*var(--u)); letter-spacing: .22em; color: #8c887f; }
.wds--kiten .w-titel { margin-top: calc(1.6*var(--u)); font-size: calc(3.3*var(--u)); line-height: 1.22; letter-spacing: -.01em; }
.wds--kiten .w-unter { margin-top: calc(1.5*var(--u)); font-size: calc(.98*var(--u)); line-height: 1.75; color: #5c5a54; max-width: calc(30*var(--u)); }
.wds--kiten .w-link { margin-top: calc(2*var(--u)); display: flex; align-items: center; gap: calc(1.2*var(--u)); font-size: calc(.86*var(--u)); letter-spacing: .14em; font-weight: 400; }
.wds--kiten .w-link i { width: calc(5*var(--u)); height: 1px; background: #1d1d1b; }
.wds--kiten .w-liste { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(3*var(--u)); padding: calc(1.6*var(--u)) 0 calc(3*var(--u)); border-top: 1px solid #d9d4c8; }
.wds--kiten .w-liste > div { display: flex; gap: calc(1.2*var(--u)); align-items: baseline; font-size: calc(.86*var(--u)); color: #8c887f; }
.wds--kiten .w-liste span:first-child { color: #c8371f; }
.wds--kiten .w-liste b { font-weight: 400; color: #1d1d1b; flex: 1; }

@container wds (max-aspect-ratio: 1/1) {
  .wds--kiten > * { margin-inline: calc(7*var(--u)); }
  .wds--kiten .w-kopf { align-items: center; padding: calc(7*var(--u)) 0 calc(3*var(--u)); }
  .wds--kiten .w-logo { font-size: calc(3.6*var(--u)); }
  .wds--kiten .w-logo span { font-size: calc(2.4*var(--u)); margin-left: calc(2*var(--u)); }
  .wds--kiten .w-burger { height: calc(4*var(--u)); gap: calc(1.8*var(--u)); }
  .wds--kiten .w-burger i { height: 1px; width: calc(7*var(--u)); }
  .wds--kiten .w-kreis { left: 44%; top: 30%; width: calc(50*var(--u)); height: calc(50*var(--u)); margin: calc(-25*var(--u)) 0 0 calc(-25*var(--u)); }
  .wds--kiten .w-zug { left: calc(44% - calc(27*var(--u))); top: calc(30% + calc(14*var(--u))); height: calc(5*var(--u)); }
  .wds--kiten .w-senkrecht { right: 0; top: calc(6*var(--u)); font-size: calc(3.4*var(--u)); gap: calc(5*var(--u)); }
  .wds--kiten .w-senkrecht span { width: calc(6.4*var(--u)); height: calc(6.4*var(--u)); font-size: calc(3.8*var(--u)); border-radius: calc(.6*var(--u)); }
  .wds--kiten .w-text { bottom: calc(6*var(--u)); max-width: none; right: 0; }
  .wds--kiten .w-nr { font-size: calc(2.4*var(--u)); }
  .wds--kiten .w-titel { font-size: calc(8*var(--u)); margin-top: calc(3.6*var(--u)); }
  .wds--kiten .w-unter { font-size: calc(3.4*var(--u)); margin-top: calc(3.4*var(--u)); max-width: none; }
  .wds--kiten .w-link { font-size: calc(2.8*var(--u)); gap: calc(3*var(--u)); margin-top: calc(5*var(--u)); }
  .wds--kiten .w-link i { width: calc(12*var(--u)); }
  .wds--kiten .w-liste { grid-template-columns: 1fr; gap: 0; padding: 0 0 calc(6*var(--u)); }
  .wds--kiten .w-liste > div { font-size: calc(3*var(--u)); gap: calc(3*var(--u)); padding: calc(2.8*var(--u)) 0; border-bottom: 1px solid #d9d4c8; }
  .wds--kiten .w-liste > div:nth-child(3) { display: none; }
}


/* ==========================================================================
   10 · Haltepunkt – Mode-Editorial, Dienstkleidung
   ========================================================================== */
.wds--haltepunkt { background: #0c0c0c; color: #f1eee8; font-family: 'Bodoni 72', 'Bodoni MT', Didot, 'Didot LT STD', 'Times New Roman', serif; display: flex; flex-direction: column; }
.wds--haltepunkt > * { flex: none; margin-inline: calc(3.6*var(--u)); }
.wds--haltepunkt .w-kopf { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: calc(2*var(--u)) 0; border-bottom: 1px solid rgba(241, 238, 232, .18); }
.wds--haltepunkt .w-nav, .wds--haltepunkt .w-rechts { display: flex; gap: calc(2.4*var(--u)); font-family: 'Geist', sans-serif; font-size: calc(.74*var(--u)); letter-spacing: .22em; text-transform: uppercase; }
.wds--haltepunkt .w-rechts { justify-content: flex-end; }
.wds--haltepunkt .w-logo { font-size: calc(2.5*var(--u)); letter-spacing: .34em; line-height: 1; padding-left: .34em; }
.wds--haltepunkt .w-held { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 31% 1fr 21%; grid-template-rows: 100%; gap: calc(3*var(--u)); padding: calc(3*var(--u)) 0 calc(2.6*var(--u)); }
.wds--haltepunkt .w-bild1 { position: relative; overflow: hidden; background: linear-gradient(180deg, #cfccc5 0%, #b5b2ab 30%, transparent 30%), linear-gradient(180deg, transparent 58%, #ece9e2 58% 59.6%, #9b9891 59.6%, #c4c1ba 100%); }
.wds--haltepunkt .w-streif { position: absolute; left: 0; right: 0; top: 30%; height: 28%; background: linear-gradient(180deg, #262626 0%, #3d3d3d 22%, #cfcbc3 34%, #f2eee6 40%, #8c8982 50%, #2e2e2e 66%, #1c1c1c 100%); }
.wds--haltepunkt .w-figur { position: absolute; left: 0; bottom: 0; width: 100%; height: 88%; }
.wds--haltepunkt .w-uhr { position: absolute; top: 0; right: 13%; width: calc(4*var(--u)); height: calc(4.6*var(--u)); }
.wds--haltepunkt .w-uhr .h { stroke: #1a1a1a; stroke-width: 1.6; }
.wds--haltepunkt .w-uhr .z { fill: #f6f4ee; stroke: #1a1a1a; stroke-width: 2.4; }
.wds--haltepunkt .w-uhr .m { fill: none; stroke: #1a1a1a; stroke-width: 1.3; stroke-linecap: round; }
.wds--haltepunkt .w-cap { position: absolute; left: calc(1.2*var(--u)); top: calc(1.1*var(--u)); font-family: 'Geist', sans-serif; font-size: calc(.64*var(--u)); letter-spacing: .18em; text-transform: uppercase; color: #3a3733; }
.wds--haltepunkt .w-mitte { display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: calc(.6*var(--u)); }
.wds--haltepunkt .w-saison { font-family: 'Geist', sans-serif; font-size: calc(.74*var(--u)); letter-spacing: .26em; text-transform: uppercase; color: rgba(241, 238, 232, .6); }
.wds--haltepunkt .w-titel { margin-top: calc(1.6*var(--u)); font-size: calc(8.6*var(--u)); line-height: .92; letter-spacing: -.025em; margin-left: -.04em; }
.wds--haltepunkt .w-titel i { font-style: italic; }
.wds--haltepunkt .w-unter { margin-top: calc(2*var(--u)); font-family: 'Geist', sans-serif; font-size: calc(.98*var(--u)); line-height: 1.65; color: rgba(241, 238, 232, .66); max-width: calc(30*var(--u)); }
.wds--haltepunkt .w-link { margin-top: calc(2.4*var(--u)); font-family: 'Geist', sans-serif; font-size: calc(.76*var(--u)); letter-spacing: .24em; text-transform: uppercase; padding-bottom: calc(.5*var(--u)); border-bottom: 1px solid #f1eee8; width: max-content; }
.wds--haltepunkt .w-bild2 { position: relative; align-self: start; height: calc(100% - calc(3*var(--u))); background: linear-gradient(180deg, transparent 56%, rgba(214, 219, 224, .82) 56% 61%, transparent 61% 66%, rgba(214, 219, 224, .82) 66% 71%, transparent 71%), linear-gradient(118deg, #141414 0%, #3a3a3a 16%, #1b1b1b 28%, #575757 41%, #232323 55%, #464646 68%, #181818 82%, #2e2e2e 100%); }
.wds--haltepunkt .w-bild2 .w-cap { left: 0; bottom: auto; top: calc(100% + var(--u)); color: rgba(241, 238, 232, .7); white-space: nowrap; }
.wds--haltepunkt .w-fuss { display: flex; justify-content: space-between; gap: calc(2*var(--u)); padding: calc(1.2*var(--u)) 0 calc(1.6*var(--u)); border-top: 1px solid rgba(241, 238, 232, .18); font-family: 'Geist', sans-serif; font-size: calc(.7*var(--u)); letter-spacing: .24em; text-transform: uppercase; color: rgba(241, 238, 232, .6); }

@container wds (max-aspect-ratio: 1/1) {
  .wds--haltepunkt > * { margin-inline: calc(5*var(--u)); }
  .wds--haltepunkt .w-kopf { padding: calc(4.6*var(--u)) 0; }
  .wds--haltepunkt .w-burger { align-items: flex-start; height: calc(4*var(--u)); gap: calc(1.6*var(--u)); }
  .wds--haltepunkt .w-burger i { height: 1px; width: calc(6.4*var(--u)); }
  .wds--haltepunkt .w-logo { font-size: calc(4.8*var(--u)); letter-spacing: .24em; padding-left: .24em; }
  .wds--haltepunkt .w-rechts { font-size: calc(1.9*var(--u)); letter-spacing: .08em; }
  .wds--haltepunkt .w-held { grid-template-columns: 1fr; grid-template-rows: 1fr auto; gap: calc(6*var(--u)); padding: calc(5*var(--u)) 0 calc(5*var(--u)); }
  .wds--haltepunkt .w-bild2 { display: none; }
  .wds--haltepunkt .w-cap { font-size: calc(2*var(--u)); left: calc(3.5*var(--u)); top: calc(3*var(--u)); }
  .wds--haltepunkt .w-saison { font-size: calc(2.3*var(--u)); }
  .wds--haltepunkt .w-titel { font-size: calc(16*var(--u)); margin-top: calc(3.5*var(--u)); }
  .wds--haltepunkt .w-uhr { width: calc(9*var(--u)); height: calc(10.4*var(--u)); right: 10%; }
  .wds--haltepunkt .w-unter { font-size: calc(3.5*var(--u)); margin-top: calc(4*var(--u)); max-width: none; }
  .wds--haltepunkt .w-link { font-size: calc(2.4*var(--u)); margin-top: calc(5*var(--u)); padding-bottom: calc(1.4*var(--u)); }
  .wds--haltepunkt .w-fuss { font-size: calc(2*var(--u)); letter-spacing: .16em; padding: calc(3.6*var(--u)) 0 calc(5*var(--u)); }
  .wds--haltepunkt .w-fuss span:nth-child(3) { display: none; }
}


/* ==========================================================================
   11 · Zugkraft Cargo – Brutalismus, Güterverkehr
   ========================================================================== */
.wds--zugkraft { background: #ffe500; color: #000; font-family: 'Arial Black', 'Arial Bold', Gadget, 'Helvetica Neue', Arial, sans-serif; font-weight: 900; display: flex; flex-direction: column; }
.wds--zugkraft > * { flex: none; }
.wds--zugkraft .w-kopf { display: flex; align-items: stretch; height: calc(5.6*var(--u)); border-bottom: max(1px, calc(.25*var(--u))) solid #000; }
.wds--zugkraft .w-logo { flex: 1; display: flex; align-items: center; padding: 0 calc(3*var(--u)); font-size: calc(2*var(--u)); letter-spacing: -.05em; text-transform: uppercase; border-right: max(1px, calc(.25*var(--u))) solid #000; }
.wds--zugkraft .w-logo span { font-family: 'Courier New', Courier, monospace; font-weight: 700; font-size: .48em; letter-spacing: 0; margin-left: .7em; padding: .2em .45em; background: #000; color: #ffe500; }
.wds--zugkraft .w-nav { display: flex; }
.wds--zugkraft .w-nav span, .wds--zugkraft .w-korb { display: flex; align-items: center; padding: 0 calc(2*var(--u)); border-right: max(1px, calc(.25*var(--u))) solid #000; font-family: 'Courier New', Courier, monospace; font-weight: 700; font-size: calc(1.02*var(--u)); text-transform: uppercase; }
.wds--zugkraft .w-korb { border-right: 0; background: #000; color: #ffe500; padding: 0 calc(2.6*var(--u)); }
.wds--zugkraft .w-held { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 1.22fr 1fr; grid-template-rows: 100%; border-bottom: max(1px, calc(.25*var(--u))) solid #000; }
.wds--zugkraft .w-links { display: flex; flex-direction: column; justify-content: space-between; padding: calc(2.6*var(--u)) calc(3*var(--u)) calc(3*var(--u)); border-right: max(1px, calc(.25*var(--u))) solid #000; }
.wds--zugkraft .w-tag { display: flex; align-items: center; gap: var(--u); font-family: 'Courier New', Courier, monospace; font-weight: 700; font-size: calc(1.02*var(--u)); text-transform: uppercase; }
.wds--zugkraft .w-tag span { background: #000; color: #ffe500; padding: calc(.25*var(--u)) calc(.7*var(--u)); }
.wds--zugkraft .w-titel { font-size: calc(7.4*var(--u)); line-height: .88; letter-spacing: -.055em; text-transform: uppercase; margin: calc(2*var(--u)) 0; }
.wds--zugkraft .w-knoepfe { display: flex; gap: calc(1.6*var(--u)); font-family: 'Courier New', Courier, monospace; font-weight: 700; font-size: calc(1.05*var(--u)); text-transform: uppercase; }
.wds--zugkraft .w-k1 { background: #000; color: #ffe500; padding: calc(1.2*var(--u)) calc(1.8*var(--u)); box-shadow: calc(.55*var(--u)) calc(.55*var(--u)) 0 #ff3b1f; }
.wds--zugkraft .w-k1::after { content: ' →'; }
.wds--zugkraft .w-k2 { background: #fff; border: max(1px, calc(.25*var(--u))) solid #000; padding: var(--u) calc(1.6*var(--u)); box-shadow: calc(.55*var(--u)) calc(.55*var(--u)) 0 #000; }
.wds--zugkraft .w-rad { position: relative; min-height: 0; background: #fff linear-gradient(rgba(0, 0, 0, .07) 1px, transparent 1px) 0 0 / calc(3.2*var(--u)) calc(3.2*var(--u)); overflow: hidden; }
.wds--zugkraft .w-rad::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .07) 1px, transparent 1px) 0 0 / calc(3.2*var(--u)) calc(3.2*var(--u)); }
.wds--zugkraft .w-rad svg { position: absolute; left: 6%; right: 6%; top: 10%; bottom: calc(calc(5.4*var(--u)) + 6%); width: 88%; height: calc(84% - calc(5.4*var(--u))); }
.wds--zugkraft .w-sticker { position: absolute; right: calc(2.2*var(--u)); top: calc(2.2*var(--u)); width: calc(9*var(--u)); height: calc(9*var(--u)); border-radius: 50%; background: #ff3b1f; color: #fff; border: max(1px, calc(.25*var(--u))) solid #000; display: flex; align-items: center; justify-content: center; text-align: center; font-size: calc(1.3*var(--u)); line-height: .98; text-transform: uppercase; transform: rotate(12deg); }
.wds--zugkraft .w-spec { position: absolute; left: 0; right: 0; bottom: 0; height: calc(5.4*var(--u)); display: grid; grid-template-columns: repeat(3, 1fr); border-top: max(1px, calc(.25*var(--u))) solid #000; background: #ffe500; }
.wds--zugkraft .w-spec span { display: flex; flex-direction: column; justify-content: center; padding: 0 calc(1.4*var(--u)); border-left: max(1px, calc(.25*var(--u))) solid #000; font-size: calc(1.7*var(--u)); line-height: 1; letter-spacing: -.04em; white-space: nowrap; }
.wds--zugkraft .w-spec span:first-child { border-left: 0; }
.wds--zugkraft .w-spec small { font-family: 'Courier New', Courier, monospace; font-weight: 700; font-size: .44em; letter-spacing: 0; text-transform: uppercase; margin-top: calc(.3*var(--u)); }
.wds--zugkraft .w-ticker { background: #000; color: #ffe500; white-space: nowrap; font-size: calc(1.45*var(--u)); line-height: 1; padding: calc(1.05*var(--u)) 0; text-transform: uppercase; letter-spacing: -.01em; overflow: hidden; }
.wds--zugkraft .w-ticker span { display: inline-block; padding-left: calc(2*var(--u)); }

@container wds (max-aspect-ratio: 1/1) {
  .wds--zugkraft .w-kopf { height: calc(15*var(--u)); border-bottom-width: calc(.7*var(--u)); }
  .wds--zugkraft .w-logo { font-size: calc(6.4*var(--u)); padding: 0 calc(6*var(--u)); border-right-width: calc(.7*var(--u)); }
  .wds--zugkraft .w-burger { width: calc(15*var(--u)); height: auto; align-items: center; gap: calc(1.6*var(--u)); background: #000; color: #ffe500; }
  .wds--zugkraft .w-burger i { border-radius: 0; width: calc(6.4*var(--u)) !important; height: calc(.9*var(--u)); }
  .wds--zugkraft .w-held { grid-template-columns: 1fr; grid-template-rows: auto 1fr; border-bottom-width: calc(.7*var(--u)); }
  .wds--zugkraft .w-links { border-right: 0; border-bottom: calc(.7*var(--u)) solid #000; padding: calc(6*var(--u)) calc(6*var(--u)) calc(7*var(--u)); }
  .wds--zugkraft .w-tag { font-size: calc(3*var(--u)); gap: calc(2.4*var(--u)); }
  .wds--zugkraft .w-tag span { padding: calc(.6*var(--u)) calc(1.8*var(--u)); }
  .wds--zugkraft .w-titel { font-size: calc(13.4*var(--u)); margin: calc(5*var(--u)) 0 calc(6*var(--u)); }
  .wds--zugkraft .w-knoepfe { flex-direction: column; gap: calc(3.4*var(--u)); font-size: calc(3.4*var(--u)); }
  .wds--zugkraft .w-k1 { padding: calc(3.6*var(--u)) calc(4*var(--u)); box-shadow: calc(1.4*var(--u)) calc(1.4*var(--u)) 0 #ff3b1f; }
  .wds--zugkraft .w-k2 { padding: calc(3*var(--u)) calc(4*var(--u)); border-width: calc(.7*var(--u)); box-shadow: calc(1.4*var(--u)) calc(1.4*var(--u)) 0 #000; }
  .wds--zugkraft .w-rad { min-height: calc(46*var(--u)); background-size: calc(8*var(--u)) calc(8*var(--u)); }
  .wds--zugkraft .w-rad::before { background-size: calc(8*var(--u)) calc(8*var(--u)); }
  .wds--zugkraft .w-rad svg { top: 6%; height: calc(88% - calc(15*var(--u))); }
  .wds--zugkraft .w-sticker { width: calc(20*var(--u)); height: calc(20*var(--u)); font-size: calc(3.4*var(--u)); right: calc(4*var(--u)); top: calc(4*var(--u)); border-width: calc(.7*var(--u)); }
  .wds--zugkraft .w-spec { height: calc(15*var(--u)); border-top-width: calc(.7*var(--u)); }
  .wds--zugkraft .w-spec span { padding: 0 calc(3*var(--u)); border-left-width: calc(.7*var(--u)); font-size: calc(5.4*var(--u)); }
  .wds--zugkraft .w-ticker { font-size: calc(4.2*var(--u)); padding: calc(3*var(--u)) 0; }
}


/* ==========================================================================
   12 · Wendland Rössler & Partner – Kanzlei für Eisenbahnrecht
   ========================================================================== */
.wds--wendland { background: radial-gradient(60% 70% at 100% 0%, rgba(60, 90, 140, .25), transparent 70%), #0e1c32; color: #f3eee3; display: flex; flex-direction: column; }
.wds--wendland > * { flex: none; margin-inline: calc(4.5*var(--u)); }
.wds--wendland .w-kopf { display: flex; align-items: center; gap: calc(3*var(--u)); padding: calc(2*var(--u)) 0; border-bottom: 1px solid rgba(200, 164, 92, .35); }
.wds--wendland .w-logo { flex: 1; display: flex; align-items: center; gap: calc(1.1*var(--u)); }
.wds--wendland .w-logo i { flex: none; width: calc(3*var(--u)); height: calc(3*var(--u)); border: 1px solid #c8a45c; display: grid; place-items: center; font-family: Baskerville, 'Baskerville Old Face', 'Libre Baskerville', Georgia, serif; font-size: calc(1.15*var(--u)); color: #d9b874; letter-spacing: .06em; }
.wds--wendland .w-logo b { display: block; font-family: Baskerville, 'Baskerville Old Face', 'Libre Baskerville', Georgia, serif; font-weight: 400; font-size: calc(1.32*var(--u)); letter-spacing: .05em; line-height: 1.1; }
.wds--wendland .w-logo small { display: block; font-size: calc(.62*var(--u)); letter-spacing: .22em; text-transform: uppercase; color: #9fb0c8; margin-top: calc(.3*var(--u)); }
.wds--wendland .w-nav { display: flex; gap: calc(2.4*var(--u)); font-size: calc(.9*var(--u)); color: #c9d3e2; }
.wds--wendland .w-knopf { border: 1px solid #c8a45c; color: #e2c486; font-size: calc(.88*var(--u)); padding: calc(.8*var(--u)) calc(1.5*var(--u)); letter-spacing: .04em; }
.wds--wendland .w-held { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 1.15fr 1fr; grid-template-rows: 100%; gap: calc(5*var(--u)); padding: calc(3*var(--u)) 0; }
.wds--wendland .w-text { display: flex; flex-direction: column; justify-content: center; }
.wds--wendland .w-kicker { display: flex; align-items: center; gap: calc(1.2*var(--u)); font-size: calc(.78*var(--u)); letter-spacing: .24em; text-transform: uppercase; color: #c8a45c; }
.wds--wendland .w-kicker::before { content: ''; width: calc(3.4*var(--u)); height: 1px; background: #c8a45c; }
.wds--wendland .w-titel { margin-top: calc(2*var(--u)); font-family: Baskerville, 'Baskerville Old Face', 'Libre Baskerville', Georgia, serif; font-size: calc(4.7*var(--u)); line-height: 1.1; letter-spacing: -.005em; }
.wds--wendland .w-titel i { font-style: italic; color: #e2c486; }
.wds--wendland .w-unter { margin-top: calc(2*var(--u)); font-size: calc(1.12*var(--u)); line-height: 1.6; color: #b9c5d6; max-width: calc(40*var(--u)); }
.wds--wendland .w-knoepfe { display: flex; align-items: center; gap: calc(2.2*var(--u)); margin-top: calc(2.6*var(--u)); font-size: calc(.98*var(--u)); }
.wds--wendland .w-k1 { background: #c8a45c; color: #0e1c32; font-weight: 500; padding: calc(1.1*var(--u)) calc(1.9*var(--u)); }
.wds--wendland .w-k2 { color: #e2c486; border-bottom: 1px solid rgba(226, 196, 134, .5); padding-bottom: calc(.2*var(--u)); }
.wds--wendland .w-bild { position: relative; min-height: 0; background: radial-gradient(80% 60% at 50% 0%, rgba(226, 196, 134, .12), transparent 70%), linear-gradient(180deg, #172b4b, #0b1729); border: 1px solid rgba(200, 164, 92, .28); overflow: hidden; }
.wds--wendland .w-bild svg { position: absolute; left: 0; right: 0; top: 4%; width: 100%; height: 96%; }
.wds--wendland .w-bild path { fill: none; stroke: rgba(212, 176, 104, .62); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.wds--wendland .w-bild .gl { fill: rgba(212, 176, 104, .09); stroke: none; }
.wds--wendland .w-zitat { position: absolute; left: calc(2.4*var(--u)); right: calc(2.4*var(--u)); bottom: calc(2.4*var(--u)); background: #f3eee3; color: #0e1c32; padding: calc(1.5*var(--u)) calc(1.8*var(--u)); border-left: calc(.35*var(--u)) solid #c8a45c; box-shadow: 0 calc(1.4*var(--u)) calc(3*var(--u)) rgba(0, 0, 0, .35); }
.wds--wendland .w-zitat span { display: block; font-family: Baskerville, 'Baskerville Old Face', 'Libre Baskerville', Georgia, serif; font-style: italic; font-size: calc(1.4*var(--u)); line-height: 1.3; }
.wds--wendland .w-zitat b { display: block; margin-top: calc(.8*var(--u)); font-size: calc(.68*var(--u)); letter-spacing: .16em; text-transform: uppercase; font-weight: 500; color: #5a6b84; }
.wds--wendland .w-zahlen { display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(3*var(--u)); padding-bottom: calc(2.8*var(--u)); }
.wds--wendland .w-zahlen > div { border-top: 1px solid rgba(200, 164, 92, .45); padding-top: calc(1.3*var(--u)); }
.wds--wendland .w-zahlen b { display: block; font-family: Baskerville, 'Baskerville Old Face', 'Libre Baskerville', Georgia, serif; font-weight: 400; font-size: calc(2.6*var(--u)); line-height: 1; color: #e2c486; }
.wds--wendland .w-zahlen span { display: block; margin-top: calc(.6*var(--u)); font-size: calc(.74*var(--u)); letter-spacing: .14em; text-transform: uppercase; color: #9fb0c8; }

@container wds (max-aspect-ratio: 1/1) {
  .wds--wendland > * { margin-inline: calc(6*var(--u)); }
  .wds--wendland .w-kopf { padding: calc(4.5*var(--u)) 0; }
  .wds--wendland .w-logo { gap: calc(2.6*var(--u)); }
  .wds--wendland .w-logo i { width: calc(8.4*var(--u)); height: calc(8.4*var(--u)); font-size: calc(3.2*var(--u)); }
  .wds--wendland .w-logo b { font-size: calc(3.9*var(--u)); }
  .wds--wendland .w-logo small { font-size: calc(1.8*var(--u)); margin-top: calc(.9*var(--u)); }
  .wds--wendland .w-burger { color: #c8a45c; }
  .wds--wendland .w-burger i { height: 1px; }
  .wds--wendland .w-held { grid-template-columns: 1fr; grid-template-rows: auto minmax(calc(34*var(--u)), 1fr); gap: calc(6*var(--u)); padding: calc(7*var(--u)) 0 calc(6*var(--u)); }
  .wds--wendland .w-kicker { font-size: calc(2.4*var(--u)); gap: calc(2.6*var(--u)); }
  .wds--wendland .w-kicker::before { width: calc(8*var(--u)); }
  .wds--wendland .w-titel { font-size: calc(9.4*var(--u)); margin-top: calc(4*var(--u)); }
  .wds--wendland .w-titel br { display: none; }
  .wds--wendland .w-unter { font-size: calc(3.6*var(--u)); margin-top: calc(4*var(--u)); max-width: none; }
  .wds--wendland .w-knoepfe { flex-direction: column; align-items: flex-start; gap: calc(4*var(--u)); margin-top: calc(5.5*var(--u)); font-size: calc(3.6*var(--u)); }
  .wds--wendland .w-k1 { padding: calc(3.4*var(--u)) calc(5*var(--u)); }
  .wds--wendland .w-k2 { padding-bottom: calc(.8*var(--u)); }
  .wds--wendland .w-zitat { left: calc(4*var(--u)); right: calc(4*var(--u)); bottom: calc(4*var(--u)); padding: calc(4*var(--u)) calc(4.6*var(--u)); border-left-width: var(--u); }
  .wds--wendland .w-zitat span { font-size: calc(4.2*var(--u)); }
  .wds--wendland .w-zitat b { font-size: calc(2*var(--u)); margin-top: calc(2.2*var(--u)); }
  .wds--wendland .w-zahlen { grid-template-columns: 1fr 1fr; gap: 0 calc(6*var(--u)); padding-bottom: calc(5*var(--u)); }
  .wds--wendland .w-zahlen > div { padding: calc(3*var(--u)) 0 calc(3.4*var(--u)); }
  .wds--wendland .w-zahlen > div:nth-child(n+3) { display: none; }
  .wds--wendland .w-zahlen b { font-size: calc(8*var(--u)); }
  .wds--wendland .w-zahlen span { font-size: calc(2.2*var(--u)); margin-top: calc(1.6*var(--u)); }
}


/* ==========================================================================
   13 · Saumgrün – Bio und organisch, Vegetationspflege
   ========================================================================== */
.wds--saumgruen { background: radial-gradient(50% 60% at 0% 100%, rgba(242, 193, 78, .16), transparent 70%), #eef2e4; color: #23402c; display: flex; flex-direction: column; }
.wds--saumgruen > * { flex: none; margin-inline: calc(4.5*var(--u)); }
.wds--saumgruen .w-kopf { display: flex; align-items: center; gap: calc(3*var(--u)); padding: calc(2*var(--u)) 0; }
.wds--saumgruen .w-logo { flex: 1; display: flex; align-items: center; gap: calc(.9*var(--u)); }
.wds--saumgruen .w-logo i { flex: none; width: calc(3*var(--u)); height: calc(3*var(--u)); border-radius: 50%; background: #2f6b3f; display: grid; place-items: center; }
.wds--saumgruen .w-logo svg { width: calc(1.8*var(--u)); height: calc(1.8*var(--u)); fill: #cfe6a8; }
.wds--saumgruen .w-logo b, .wds--saumgruen .w-titel, .wds--saumgruen .w-karten b { font-family: 'Arial Rounded MT Bold', 'Arial Rounded MT', Nunito, 'Varela Round', 'Trebuchet MS', sans-serif; font-weight: 700; }
.wds--saumgruen .w-logo b { display: block; font-size: calc(1.5*var(--u)); line-height: 1.05; }
.wds--saumgruen .w-logo small { display: block; font-size: calc(.72*var(--u)); color: #5f7a62; margin-top: calc(.2*var(--u)); }
.wds--saumgruen .w-nav { display: flex; gap: calc(.3*var(--u)); background: #fff; padding: calc(.4*var(--u)); border-radius: calc(9*var(--u)); box-shadow: 0 0 0 1px #dbe4cd; }
.wds--saumgruen .w-nav span { font-size: calc(.9*var(--u)); padding: calc(.6*var(--u)) calc(1.3*var(--u)); border-radius: calc(9*var(--u)); }
.wds--saumgruen .w-nav span:first-child { background: #2f6b3f; color: #fff; }
.wds--saumgruen .w-knopf { font-size: calc(.9*var(--u)); padding: calc(.85*var(--u)) calc(1.5*var(--u)); border-radius: calc(9*var(--u)); background: #f2c14e; color: #23402c; font-weight: 600; }
.wds--saumgruen .w-held { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 100%; gap: calc(4*var(--u)); padding: calc(1.4*var(--u)) 0 calc(2*var(--u)); }
.wds--saumgruen .w-text { display: flex; flex-direction: column; justify-content: center; }
.wds--saumgruen .w-badge { display: flex; align-items: center; gap: calc(.7*var(--u)); width: max-content; background: #dfe9cf; color: #2f6b3f; border-radius: calc(9*var(--u)); padding: calc(.4*var(--u)) calc(1.2*var(--u)) calc(.4*var(--u)) calc(.45*var(--u)); font-size: calc(.84*var(--u)); font-weight: 500; }
.wds--saumgruen .w-badge i { width: calc(1.6*var(--u)); height: calc(1.6*var(--u)); border-radius: 50%; background: radial-gradient(circle, #f2c14e 0 30%, #2f6b3f 32%); }
.wds--saumgruen .w-titel { margin-top: calc(1.8*var(--u)); font-size: calc(5.3*var(--u)); line-height: 1.04; letter-spacing: -.02em; color: #1f3b27; }
.wds--saumgruen .w-titel span { color: #5f9a4b; }
.wds--saumgruen .w-unter { margin-top: calc(1.8*var(--u)); font-size: calc(1.15*var(--u)); line-height: 1.55; color: #4d6650; max-width: calc(38*var(--u)); }
.wds--saumgruen .w-knoepfe { display: flex; gap: var(--u); margin-top: calc(2.4*var(--u)); font-size: var(--u); font-weight: 500; }
.wds--saumgruen .w-k1 { background: #2f6b3f; color: #fff; border-radius: calc(9*var(--u)); padding: calc(1.1*var(--u)) calc(1.9*var(--u)); }
.wds--saumgruen .w-k2 { background: #fff; border-radius: calc(9*var(--u)); padding: calc(1.1*var(--u)) calc(1.9*var(--u)); box-shadow: 0 0 0 1px #d3ddc4; }
.wds--saumgruen .w-visual { position: relative; min-height: 0; }
.wds--saumgruen .w-blob { position: absolute; inset: 0 3% 0 5%; border-radius: 58% 42% 47% 53% / 46% 52% 48% 54%; background: radial-gradient(circle at 74% 24%, #f8d675 0 8%, rgba(248, 214, 117, .35) 8.5% 13%, transparent 13.5%), linear-gradient(160deg, #d6e8bd, #a2cb8e); }
.wds--saumgruen .w-szene { position: absolute; left: 5%; right: 3%; bottom: 3%; width: 92%; height: 88%; }
.wds--saumgruen .w-chip { position: absolute; display: flex; align-items: center; gap: calc(.6*var(--u)); background: #fff; border-radius: calc(9*var(--u)); padding: calc(.65*var(--u)) calc(1.2*var(--u)) calc(.65*var(--u)) calc(.7*var(--u)); font-size: calc(.8*var(--u)); font-weight: 500; box-shadow: 0 calc(.6*var(--u)) calc(1.8*var(--u)) rgba(35, 64, 44, .14); white-space: nowrap; }
.wds--saumgruen .w-chip i { width: calc(1.2*var(--u)); height: calc(1.2*var(--u)); border-radius: 50%; background: #5f9a4b; }
.wds--saumgruen .w-chip1 { left: 0; top: 18%; }
.wds--saumgruen .w-chip2 { right: 0; bottom: 14%; }
.wds--saumgruen .w-chip2 i { background: #f2c14e; }
.wds--saumgruen .w-karten { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(1.4*var(--u)); padding-bottom: calc(2.6*var(--u)); }
.wds--saumgruen .w-karten > div { border-radius: calc(2*var(--u)); padding: calc(1.3*var(--u)) calc(1.5*var(--u)); display: flex; align-items: center; gap: calc(1.2*var(--u)); }
.wds--saumgruen .w-karten > div:nth-child(1) { background: #dcebc9; }
.wds--saumgruen .w-karten > div:nth-child(2) { background: #f5e3b5; }
.wds--saumgruen .w-karten > div:nth-child(3) { background: #f2d8c8; }
.wds--saumgruen .w-karten i { flex: none; width: calc(3.2*var(--u)); height: calc(3.2*var(--u)); border-radius: 50%; background: #fff; display: grid; place-items: center; }
.wds--saumgruen .w-karten svg { width: calc(1.7*var(--u)); height: calc(1.7*var(--u)); fill: none; stroke: #2f6b3f; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.wds--saumgruen .w-karten span { font-size: calc(.8*var(--u)); color: #4d6650; line-height: 1.35; }
.wds--saumgruen .w-karten b { display: block; font-size: calc(1.12*var(--u)); color: #23402c; }

@container wds (max-aspect-ratio: 1/1) {
  .wds--saumgruen > * { margin-inline: calc(6*var(--u)); }
  .wds--saumgruen .w-kopf { padding: calc(4.5*var(--u)) 0; }
  .wds--saumgruen .w-logo { gap: calc(2.6*var(--u)); }
  .wds--saumgruen .w-logo i { width: calc(8.6*var(--u)); height: calc(8.6*var(--u)); }
  .wds--saumgruen .w-logo svg { width: calc(5*var(--u)); height: calc(5*var(--u)); }
  .wds--saumgruen .w-logo b { font-size: calc(4.6*var(--u)); }
  .wds--saumgruen .w-logo small { font-size: calc(2.6*var(--u)); margin-top: calc(.6*var(--u)); }
  .wds--saumgruen .w-burger { width: calc(11*var(--u)); height: calc(11*var(--u)); border-radius: 50%; background: #2f6b3f; color: #fff; align-items: center; gap: calc(1.1*var(--u)); }
  .wds--saumgruen .w-burger i { width: calc(4.6*var(--u)) !important; }
  .wds--saumgruen .w-held { grid-template-columns: 1fr; grid-template-rows: auto minmax(calc(44*var(--u)), 1fr); gap: calc(5*var(--u)); padding: calc(3*var(--u)) 0 calc(5*var(--u)); }
  .wds--saumgruen .w-badge { font-size: calc(3*var(--u)); gap: calc(2*var(--u)); padding: calc(1.2*var(--u)) calc(3.4*var(--u)) calc(1.2*var(--u)) calc(1.2*var(--u)); }
  .wds--saumgruen .w-badge i { width: calc(4.6*var(--u)); height: calc(4.6*var(--u)); }
  .wds--saumgruen .w-titel { font-size: calc(11*var(--u)); margin-top: calc(4.5*var(--u)); }
  .wds--saumgruen .w-unter { font-size: calc(3.7*var(--u)); margin-top: calc(3.6*var(--u)); max-width: none; }
  .wds--saumgruen .w-knoepfe { gap: calc(2.4*var(--u)); margin-top: calc(5*var(--u)); font-size: calc(3.4*var(--u)); }
  .wds--saumgruen .w-k1, .wds--saumgruen .w-k2 { padding: calc(3.2*var(--u)) calc(4.4*var(--u)); }
  .wds--saumgruen .w-chip { font-size: calc(2.6*var(--u)); gap: calc(1.8*var(--u)); padding: calc(1.8*var(--u)) calc(3.2*var(--u)) calc(1.8*var(--u)) calc(2*var(--u)); }
  .wds--saumgruen .w-chip i { width: calc(3.2*var(--u)); height: calc(3.2*var(--u)); }
  .wds--saumgruen .w-chip1 { top: 8%; }
  .wds--saumgruen .w-chip2 { bottom: 8%; }
  .wds--saumgruen .w-karten { display: none; }
}


/* ==========================================================================
   14 · Radwacht – Daten-Dashboard dunkel, Radsatzdiagnose
   ========================================================================== */
.wds--radwacht { background: radial-gradient(50% 60% at 78% 45%, rgba(61, 245, 167, .07), transparent 70%), #0a0e0d; color: #e6efe9; display: flex; flex-direction: column; }
.wds--radwacht > * { flex: none; margin-inline: calc(3.6*var(--u)); }
.wds--radwacht .w-kopf { display: flex; align-items: center; gap: calc(3*var(--u)); padding: calc(1.8*var(--u)) 0; border-bottom: 1px solid #1d2723; }
.wds--radwacht .w-logo { flex: 1; display: flex; align-items: center; gap: calc(.8*var(--u)); font-weight: 600; font-size: calc(1.4*var(--u)); letter-spacing: -.03em; }
.wds--radwacht .w-logo svg { width: calc(1.9*var(--u)); height: calc(1.9*var(--u)); fill: none; stroke: #3df5a7; stroke-width: 2.6; }
.wds--radwacht .w-nav { display: flex; gap: calc(2.4*var(--u)); font-size: calc(.9*var(--u)); color: #97a8a0; }
.wds--radwacht .w-aktion { display: flex; align-items: center; gap: calc(1.8*var(--u)); font-size: calc(.9*var(--u)); color: #97a8a0; }
.wds--radwacht .w-knopf { background: #3df5a7; color: #04140d; font-weight: 600; padding: calc(.7*var(--u)) calc(1.4*var(--u)); border-radius: calc(.6*var(--u)); }
.wds--radwacht .w-held { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: calc(34*var(--u)) 1fr; grid-template-rows: 100%; gap: calc(3.6*var(--u)); padding: calc(2.8*var(--u)) 0 calc(3*var(--u)); }
.wds--radwacht .w-text { display: flex; flex-direction: column; justify-content: center; }
.wds--radwacht .w-live { display: flex; align-items: center; gap: calc(.7*var(--u)); font-family: 'Geist Mono', monospace; font-size: calc(.76*var(--u)); letter-spacing: .06em; color: #3df5a7; text-transform: uppercase; }
.wds--radwacht .w-live i { width: calc(.7*var(--u)); height: calc(.7*var(--u)); border-radius: 50%; background: #3df5a7; box-shadow: 0 0 0 calc(.3*var(--u)) rgba(61, 245, 167, .18); }
.wds--radwacht .w-titel { margin-top: calc(1.8*var(--u)); font-size: calc(4.1*var(--u)); line-height: 1.05; font-weight: 600; letter-spacing: -.045em; }
.wds--radwacht .w-titel span { color: #7b8c84; }
.wds--radwacht .w-unter { margin-top: calc(1.6*var(--u)); font-size: calc(1.06*var(--u)); line-height: 1.55; color: #97a8a0; }
.wds--radwacht .w-knoepfe { display: flex; gap: var(--u); margin-top: calc(2.4*var(--u)); font-size: calc(.96*var(--u)); font-weight: 500; }
.wds--radwacht .w-k1 { background: #3df5a7; color: #04140d; padding: var(--u) calc(1.6*var(--u)); border-radius: calc(.6*var(--u)); }
.wds--radwacht .w-k2 { border: 1px solid #2a3732; padding: var(--u) calc(1.6*var(--u)); border-radius: calc(.6*var(--u)); }
.wds--radwacht .w-board { display: grid; grid-template-rows: auto 1fr auto; gap: var(--u); min-height: 0; }
.wds--radwacht .w-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--u); }
.wds--radwacht .w-kpis > div, .wds--radwacht .w-chart, .wds--radwacht .w-unten > div { background: #111816; border: 1px solid #1f2a26; border-radius: calc(.9*var(--u)); }
.wds--radwacht .w-kpis > div { padding: var(--u) calc(1.2*var(--u)); white-space: nowrap; }
.wds--radwacht .w-kpis span { display: block; font-size: calc(.72*var(--u)); color: #7b8c84; }
.wds--radwacht .w-kpis b { display: block; font-family: 'Geist Mono', monospace; font-weight: 500; font-size: calc(1.65*var(--u)); letter-spacing: -.04em; margin: calc(.35*var(--u)) 0 calc(.15*var(--u)); }
.wds--radwacht .w-kpis i { font-family: 'Geist Mono', monospace; font-size: calc(.7*var(--u)); color: #3df5a7; }
.wds--radwacht .w-kpis i.ab { color: #ffb23d; }
.wds--radwacht .w-chart { padding: var(--u) calc(1.2*var(--u)); display: flex; flex-direction: column; min-height: 0; }
.wds--radwacht .w-ckopf { display: flex; align-items: center; gap: calc(1.4*var(--u)); font-size: calc(.74*var(--u)); color: #97a8a0; }
.wds--radwacht .w-ckopf b { flex: 1; color: #e6efe9; font-weight: 500; font-size: calc(.86*var(--u)); }
.wds--radwacht .w-ckopf span { display: flex; align-items: center; gap: calc(.45*var(--u)); }
.wds--radwacht .w-ckopf span i { width: calc(1.1*var(--u)); height: calc(.22*var(--u)); background: #3df5a7; }
.wds--radwacht .w-ckopf .w-pr i { background: repeating-linear-gradient(90deg, #ffb23d 0 calc(.3*var(--u)), transparent calc(.3*var(--u)) calc(.5*var(--u))); }
.wds--radwacht .w-chart svg { flex: 1; width: 100%; min-height: 0; margin-top: calc(.9*var(--u)); }
.wds--radwacht .w-chart .g { fill: none; stroke: #1f2a26; stroke-width: 1; vector-effect: non-scaling-stroke; }
.wds--radwacht .w-chart .f { fill: rgba(61, 245, 167, .1); }
.wds--radwacht .w-chart .l { fill: none; stroke: #3df5a7; stroke-width: 2; vector-effect: non-scaling-stroke; }
.wds--radwacht .w-chart .p { fill: none; stroke: #ffb23d; stroke-width: 1.6; stroke-dasharray: 5 4; vector-effect: non-scaling-stroke; }
.wds--radwacht .w-chart .n { fill: none; stroke: rgba(230, 239, 233, .25); stroke-width: 1; stroke-dasharray: 2 3; vector-effect: non-scaling-stroke; }
.wds--radwacht .w-unten { display: grid; grid-template-columns: 1.7fr 1fr; gap: var(--u); height: calc(10.5*var(--u)); }
.wds--radwacht .w-dg { padding: calc(.9*var(--u)) calc(1.2*var(--u)); display: flex; flex-direction: column; min-height: 0; }
.wds--radwacht .w-dg > span { font-size: calc(.72*var(--u)); color: #97a8a0; }
.wds--radwacht .w-dg svg { flex: 1; width: 100%; min-height: 0; margin-top: calc(.4*var(--u)); }
.wds--radwacht .w-dg .sr { fill: #2a3732; }
.wds--radwacht .w-dg .rd { fill: #0f1513; stroke: #3a4a44; stroke-width: 2.4; }
.wds--radwacht .w-dg .rk { fill: #1a2320; stroke: #56675f; stroke-width: 1.6; }
.wds--radwacht .w-dg .fd { fill: none; stroke: #8fa39a; stroke-width: 1.8; stroke-linejoin: round; }
.wds--radwacht .w-dg .hs { fill: rgba(255, 178, 61, .28); }
.wds--radwacht .w-dg .hp { fill: #ffb23d; }
.wds--radwacht .w-donut { display: flex; align-items: center; gap: calc(1.1*var(--u)); padding: calc(.9*var(--u)) calc(1.2*var(--u)); }
.wds--radwacht .w-donut svg { flex: none; width: calc(6.4*var(--u)); height: calc(6.4*var(--u)); transform: rotate(-90deg); }
.wds--radwacht .w-donut circle { fill: none; stroke-width: 4; }
.wds--radwacht .w-donut .r { stroke: #1f2a26; }
.wds--radwacht .w-donut .a { stroke: #3df5a7; }
.wds--radwacht .w-donut span { font-size: calc(.72*var(--u)); color: #97a8a0; line-height: 1.3; }
.wds--radwacht .w-donut b { display: block; font-family: 'Geist Mono', monospace; font-weight: 500; font-size: calc(1.5*var(--u)); color: #e6efe9; letter-spacing: -.04em; }

@container wds (max-aspect-ratio: 1/1) {
  .wds--radwacht > * { margin-inline: calc(5*var(--u)); }
  .wds--radwacht .w-kopf { padding: calc(4.5*var(--u)) 0; }
  .wds--radwacht .w-logo { font-size: calc(5*var(--u)); gap: calc(2.2*var(--u)); }
  .wds--radwacht .w-logo svg { width: calc(5.6*var(--u)); height: calc(5.6*var(--u)); }
  .wds--radwacht .w-burger { color: #3df5a7; }
  .wds--radwacht .w-held { grid-template-columns: 1fr; grid-template-rows: auto 1fr; gap: calc(7*var(--u)); padding: calc(7*var(--u)) 0 calc(5*var(--u)); }
  .wds--radwacht .w-live { font-size: calc(2.4*var(--u)); gap: calc(2*var(--u)); }
  .wds--radwacht .w-live i { width: calc(2*var(--u)); height: calc(2*var(--u)); box-shadow: 0 0 0 calc(.9*var(--u)) rgba(61, 245, 167, .18); }
  .wds--radwacht .w-titel { font-size: calc(9.6*var(--u)); margin-top: calc(4*var(--u)); }
  .wds--radwacht .w-unter { font-size: calc(3.6*var(--u)); margin-top: calc(3.6*var(--u)); }
  .wds--radwacht .w-knoepfe { font-size: calc(3.4*var(--u)); gap: calc(2.4*var(--u)); margin-top: calc(5*var(--u)); }
  .wds--radwacht .w-k1, .wds--radwacht .w-k2 { padding: calc(3.2*var(--u)) calc(4.4*var(--u)); border-radius: calc(1.8*var(--u)); }
  .wds--radwacht .w-board { gap: calc(2.6*var(--u)); }
  .wds--radwacht .w-kpis { grid-template-columns: 1fr 1fr; gap: calc(2.6*var(--u)); }
  .wds--radwacht .w-kpis > div:nth-child(3) { display: none; }
  .wds--radwacht .w-kpis > div, .wds--radwacht .w-chart { border-radius: calc(2.4*var(--u)); padding: calc(3*var(--u)) calc(3.4*var(--u)); }
  .wds--radwacht .w-kpis span, .wds--radwacht .w-kpis i { font-size: calc(2.4*var(--u)); }
  .wds--radwacht .w-kpis b { font-size: calc(5.4*var(--u)); margin: var(--u) 0 calc(.5*var(--u)); }
  .wds--radwacht .w-ckopf { font-size: calc(2.3*var(--u)); gap: calc(3*var(--u)); }
  .wds--radwacht .w-ckopf b { font-size: calc(2.8*var(--u)); }
  .wds--radwacht .w-ckopf span { gap: calc(1.2*var(--u)); }
  .wds--radwacht .w-ckopf span i { width: calc(3*var(--u)); height: calc(.6*var(--u)); }
  .wds--radwacht .w-ckopf .w-pr i { background: repeating-linear-gradient(90deg, #ffb23d 0 calc(.9*var(--u)), transparent calc(.9*var(--u)) calc(1.5*var(--u))); }
  .wds--radwacht .w-chart { min-height: calc(30*var(--u)); }
  .wds--radwacht .w-chart svg { margin-top: calc(2.4*var(--u)); }
  .wds--radwacht .w-unten { display: none; }
}


/* ==========================================================================
   15 · Gleisglück Personal – Handwerk, verspielt, Recruiting
   ========================================================================== */
.wds--gleisglueck { background: #fbf1e1; color: #3b2112; display: flex; flex-direction: column; }
.wds--gleisglueck > * { flex: none; }
.wds--gleisglueck .w-oben { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; background: radial-gradient(45% 60% at 80% 55%, rgba(255, 196, 120, .35), transparent 70%), #e8732a; color: #fff6e8; }
.wds--gleisglueck .w-kopf { display: flex; align-items: center; gap: calc(3*var(--u)); padding: calc(2*var(--u)) calc(4.5*var(--u)); }
.wds--gleisglueck .w-logo, .wds--gleisglueck .w-titel, .wds--gleisglueck .w-stempel b, .wds--gleisglueck .w-produkte b { font-family: 'Cooper Black', 'Cooper Std', Recoleta, 'Georgia', serif; font-weight: 700; font-synthesis: none; }
.wds--gleisglueck .w-logo { flex: 1; display: flex; align-items: center; gap: calc(.8*var(--u)); font-size: calc(1.8*var(--u)); line-height: 1; letter-spacing: -.01em; }
.wds--gleisglueck .w-logo i { width: calc(2.6*var(--u)); height: calc(2.6*var(--u)); border-radius: 50%; background: #fff6e8; box-shadow: inset 0 0 0 calc(.45*var(--u)) #e8732a, inset 0 0 0 calc(.62*var(--u)) #fff6e8, inset 0 0 0 calc(.85*var(--u)) #8f4718; }
.wds--gleisglueck .w-nav { display: flex; gap: calc(2.4*var(--u)); font-size: calc(.95*var(--u)); font-weight: 500; }
.wds--gleisglueck .w-knopf { background: #fff6e8; color: #8f3f12; font-weight: 600; font-size: calc(.95*var(--u)); padding: calc(.85*var(--u)) calc(1.6*var(--u)); border-radius: calc(9*var(--u)); }
.wds--gleisglueck .w-held { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 1.15fr 1fr; grid-template-rows: 100%; gap: calc(3*var(--u)); padding: var(--u) calc(4.5*var(--u)) var(--u); }
.wds--gleisglueck .w-text { display: flex; flex-direction: column; justify-content: center; }
.wds--gleisglueck .w-kicker { display: flex; align-items: center; gap: calc(.9*var(--u)); font-size: calc(.82*var(--u)); font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #ffe1b8; }
.wds--gleisglueck .w-kicker::before { content: ''; width: var(--u); height: var(--u); border-radius: 50%; border: calc(.2*var(--u)) solid currentColor; }
.wds--gleisglueck .w-titel { margin-top: calc(1.6*var(--u)); font-size: calc(5.4*var(--u)); line-height: 1; letter-spacing: -.01em; }
.wds--gleisglueck .w-titel span { color: #3b1a08; }
.wds--gleisglueck .w-unter { margin-top: calc(1.8*var(--u)); font-size: calc(1.15*var(--u)); line-height: 1.55; color: #ffe9cc; max-width: calc(38*var(--u)); }
.wds--gleisglueck .w-knoepfe { display: flex; gap: var(--u); margin-top: calc(2.4*var(--u)); font-size: var(--u); font-weight: 600; }
.wds--gleisglueck .w-k1 { background: #3b1a08; color: #fff6e8; padding: calc(1.1*var(--u)) calc(1.9*var(--u)); border-radius: calc(9*var(--u)); }
.wds--gleisglueck .w-k2 { border: calc(.15*var(--u)) solid #fff6e8; padding: calc(.95*var(--u)) calc(1.75*var(--u)); border-radius: calc(9*var(--u)); }
.wds--gleisglueck .w-visual { position: relative; min-height: 0; }
.wds--gleisglueck .w-visual svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.wds--gleisglueck .w-stempel { position: absolute; left: 4%; bottom: 6%; width: calc(9.5*var(--u)); height: calc(9.5*var(--u)); border-radius: 50%; background: #3b1a08; color: #ffe1b8; display: flex; flex-direction: column-reverse; align-items: center; justify-content: center; transform: rotate(-12deg); box-shadow: inset 0 0 0 calc(.4*var(--u)) #3b1a08, inset 0 0 0 calc(.55*var(--u)) #ffe1b8; text-align: center; }
.wds--gleisglueck .w-stempel b { font-size: calc(2.3*var(--u)); line-height: 1; margin: calc(.15*var(--u)) 0; }
.wds--gleisglueck .w-stempel small { font-size: calc(.58*var(--u)); font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.wds--gleisglueck .w-welle { width: 100%; height: calc(2.6*var(--u)); margin-top: -1px; fill: #e8732a; }
.wds--gleisglueck .w-produkte { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(3*var(--u)); padding: calc(1.2*var(--u)) calc(4.5*var(--u)) calc(2.6*var(--u)); }
.wds--gleisglueck .w-produkte > div { display: flex; align-items: center; gap: calc(1.2*var(--u)); }
.wds--gleisglueck .w-produkte i { flex: none; width: calc(3.4*var(--u)); height: calc(3.4*var(--u)); border-radius: 50%; border: calc(.15*var(--u)) dashed #e8732a; display: grid; place-items: center; font-size: calc(.82*var(--u)); font-weight: 700; color: #c45a17; }
.wds--gleisglueck .w-produkte span { font-size: calc(.84*var(--u)); color: #7a5338; line-height: 1.35; }
.wds--gleisglueck .w-produkte b { display: block; font-size: calc(1.2*var(--u)); color: #3b2112; }

@container wds (max-aspect-ratio: 1/1) {
  .wds--gleisglueck .w-kopf { padding: calc(4.5*var(--u)) calc(6*var(--u)); }
  .wds--gleisglueck .w-logo { font-size: calc(6*var(--u)); gap: calc(2.4*var(--u)); }
  .wds--gleisglueck .w-logo i { width: calc(8*var(--u)); height: calc(8*var(--u)); box-shadow: inset 0 0 0 calc(1.3*var(--u)) #e8732a, inset 0 0 0 calc(1.8*var(--u)) #fff6e8, inset 0 0 0 calc(2.5*var(--u)) #8f4718; }
  .wds--gleisglueck .w-held { grid-template-columns: 1fr; grid-template-rows: auto minmax(calc(44*var(--u)), 1fr); gap: calc(3*var(--u)); padding: calc(3*var(--u)) calc(6*var(--u)) calc(3*var(--u)); }
  .wds--gleisglueck .w-kicker { font-size: calc(2.5*var(--u)); gap: calc(2*var(--u)); }
  .wds--gleisglueck .w-kicker::before { width: calc(2.6*var(--u)); height: calc(2.6*var(--u)); border-width: calc(.5*var(--u)); }
  .wds--gleisglueck .w-titel { font-size: calc(10.4*var(--u)); margin-top: calc(4*var(--u)); }
  .wds--gleisglueck .w-unter { font-size: calc(3.7*var(--u)); margin-top: calc(3.6*var(--u)); max-width: none; }
  .wds--gleisglueck .w-knoepfe { gap: calc(2.4*var(--u)); margin-top: calc(5*var(--u)); font-size: calc(3.3*var(--u)); }
  .wds--gleisglueck .w-k1 { padding: calc(3.2*var(--u)) calc(4.6*var(--u)); }
  .wds--gleisglueck .w-k2 { padding: calc(2.8*var(--u)) calc(4.2*var(--u)); border-width: calc(.45*var(--u)); }
  .wds--gleisglueck .w-stempel { width: calc(22*var(--u)); height: calc(22*var(--u)); left: 0; bottom: 4%; box-shadow: inset 0 0 0 var(--u) #3b1a08, inset 0 0 0 calc(1.4*var(--u)) #ffe1b8; }
  .wds--gleisglueck .w-stempel b { font-size: calc(5.6*var(--u)); margin: calc(.4*var(--u)) 0; }
  .wds--gleisglueck .w-stempel small { font-size: calc(1.5*var(--u)); }
  .wds--gleisglueck .w-welle { height: calc(6*var(--u)); }
  .wds--gleisglueck .w-produkte { grid-template-columns: 1fr; gap: calc(3*var(--u)); padding: calc(2*var(--u)) calc(6*var(--u)) calc(6*var(--u)); }
  .wds--gleisglueck .w-produkte > div { gap: calc(3.4*var(--u)); }
  .wds--gleisglueck .w-produkte > div:nth-child(n+3) { display: none; }
  .wds--gleisglueck .w-produkte i { width: calc(9*var(--u)); height: calc(9*var(--u)); font-size: calc(2.4*var(--u)); border-width: calc(.4*var(--u)); }
  .wds--gleisglueck .w-produkte span { font-size: calc(2.8*var(--u)); }
  .wds--gleisglueck .w-produkte b { font-size: calc(4.2*var(--u)); }
}


/* ==========================================================================
   16 · Sternenzug Reisen – Reise und Fernweh, Nachtzug
   ========================================================================== */
.wds--sternenzug { background: radial-gradient(30% 26% at 77% 19%, rgba(243, 236, 214, .1), transparent 70%), linear-gradient(180deg, #060a1c 0%, #0f1738 38%, #252756 60%, #46396a 76%, #6a4f76 92%); color: #fff; font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; display: flex; flex-direction: column; }
.wds--sternenzug > * { flex: none; }
.wds--sternenzug .w-nacht .st { fill: none; stroke: #fff; stroke-width: 2.4; stroke-linecap: round; opacity: .75; }
.wds--sternenzug .w-nacht .mo { fill: #f3ecd6; }
.wds--sternenzug .w-nacht .fe { fill: #ffcf7a; }
.wds--sternenzug .w-nacht { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; }
.wds--sternenzug .w-nebel { position: absolute; left: 0; right: 0; bottom: 9%; height: 14%; background: linear-gradient(180deg, transparent, rgba(190, 170, 230, .16), transparent); }
.wds--sternenzug .w-kopf { position: relative; display: flex; align-items: center; gap: calc(3*var(--u)); padding: calc(2.2*var(--u)) calc(4.5*var(--u)); }
.wds--sternenzug .w-logo { flex: 1; display: flex; align-items: center; gap: calc(.8*var(--u)); font-size: calc(1.35*var(--u)); letter-spacing: .3em; text-transform: uppercase; }
.wds--sternenzug .w-logo svg { width: calc(2*var(--u)); height: calc(2*var(--u)); fill: #fff; }
.wds--sternenzug .w-nav { display: flex; gap: calc(2.6*var(--u)); font-size: var(--u); letter-spacing: .06em; color: rgba(255, 255, 255, .88); }
.wds--sternenzug .w-knopf { border: 1px solid rgba(255, 255, 255, .7); padding: calc(.75*var(--u)) calc(1.5*var(--u)); border-radius: calc(9*var(--u)); font-size: calc(.95*var(--u)); letter-spacing: .04em; }
.wds--sternenzug .w-held { position: relative; flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; align-items: flex-start; padding: calc(3.4*var(--u)) calc(4.5*var(--u)) 0; }
.wds--sternenzug .w-kicker { font-size: calc(.9*var(--u)); letter-spacing: .32em; text-transform: uppercase; color: rgba(255, 255, 255, .86); }
.wds--sternenzug .w-titel { margin-top: calc(1.2*var(--u)); font-size: calc(7.6*var(--u)); line-height: .98; letter-spacing: -.015em; text-shadow: 0 calc(.3*var(--u)) calc(3*var(--u)) rgba(10, 16, 40, .25); }
.wds--sternenzug .w-unter { margin-top: calc(1.6*var(--u)); font-size: calc(1.3*var(--u)); line-height: 1.5; max-width: calc(40*var(--u)); color: rgba(255, 255, 255, .9); }
.wds--sternenzug .w-suche { margin: auto 0 calc(3*var(--u)); display: flex; background: #fff; color: #1d2440; border-radius: calc(.7*var(--u)); box-shadow: 0 calc(2*var(--u)) calc(5*var(--u)) rgba(10, 14, 30, .35); overflow: hidden; }
.wds--sternenzug .w-suche > div { padding: calc(1.05*var(--u)) calc(2.2*var(--u)) calc(1.05*var(--u)) calc(1.8*var(--u)); border-right: 1px solid #e3e5ec; }
.wds--sternenzug .w-suche span { display: block; font-size: calc(.66*var(--u)); letter-spacing: .2em; text-transform: uppercase; color: #7c8299; }
.wds--sternenzug .w-suche b { display: block; font-family: 'Geist', sans-serif; font-weight: 500; font-size: calc(1.08*var(--u)); margin-top: calc(.25*var(--u)); white-space: nowrap; }
.wds--sternenzug .w-suche .w-los { display: flex; align-items: center; border-right: 0; background: #3b4cc0; color: #fff; font-family: 'Geist', sans-serif; font-weight: 500; font-size: calc(1.02*var(--u)); padding: 0 calc(2.2*var(--u)); white-space: nowrap; }
.wds--sternenzug .w-fuss { position: relative; display: flex; gap: calc(3.4*var(--u)); padding: calc(1.6*var(--u)) calc(4.5*var(--u)) calc(2.4*var(--u)); font-size: calc(.8*var(--u)); letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .8); }
.wds--sternenzug .w-fuss span::before { content: ''; display: inline-block; width: calc(.5*var(--u)); height: calc(.5*var(--u)); border-radius: 50%; background: #ffcf7a; margin-right: calc(.9*var(--u)); vertical-align: .15em; }

@container wds (max-aspect-ratio: 1/1) {
  .wds--sternenzug .w-kopf { padding: calc(4.5*var(--u)) calc(6*var(--u)); }
  .wds--sternenzug .w-logo { font-size: calc(4*var(--u)); gap: calc(2.4*var(--u)); }
  .wds--sternenzug .w-logo svg { width: calc(6*var(--u)); height: calc(6*var(--u)); }
  .wds--sternenzug .w-held { padding: calc(8*var(--u)) calc(6*var(--u)) 0; }
  .wds--sternenzug .w-kicker { font-size: calc(2.5*var(--u)); letter-spacing: .24em; }
  .wds--sternenzug .w-titel { font-size: calc(14*var(--u)); margin-top: calc(3*var(--u)); }
  .wds--sternenzug .w-unter { font-size: calc(3.8*var(--u)); margin-top: calc(4*var(--u)); max-width: none; }
  .wds--sternenzug .w-suche { align-self: stretch; flex-direction: column; border-radius: calc(2.6*var(--u)); margin-bottom: calc(4*var(--u)); }
  .wds--sternenzug .w-suche > div { padding: calc(3*var(--u)) calc(4*var(--u)); border-right: 0; border-bottom: 1px solid #e3e5ec; }
  .wds--sternenzug .w-suche span { font-size: calc(2.1*var(--u)); }
  .wds--sternenzug .w-suche b { font-size: calc(3.8*var(--u)); margin-top: calc(.6*var(--u)); }
  .wds--sternenzug .w-suche .w-los { justify-content: center; padding: calc(3.8*var(--u)); font-size: calc(3.8*var(--u)); border-bottom: 0; }
  .wds--sternenzug .w-fuss { gap: calc(6*var(--u)); padding: calc(3*var(--u)) calc(6*var(--u)) calc(6*var(--u)); font-size: calc(2.4*var(--u)); letter-spacing: .14em; }
  .wds--sternenzug .w-fuss span::before { width: calc(1.5*var(--u)); height: calc(1.5*var(--u)); margin-right: calc(2*var(--u)); }
}
