/* ============================================================
   ROWAPA Web · Marketing-Ebene
   Ergänzt das ROWAPA Design System für Websites, Landingpages,
   Kampagnen und Broschüren. Funktioniert eigenständig (Fallbacks)
   und mit geladenem Design System (Tokens --rowapa-*).
   Alle Klassen beginnen mit rw-. Ecken immer 0.
   Begleitdatei: rowapa-web.js (Linienzeichnungen, Einblenden).
   ============================================================ */
500;700;800&family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,300,0,0&display=swap");

:root{
--rw-navy:var(--rowapa-navy,#1D3149);--rw-blue:var(--rowapa-blue,#486EA3);--rw-blue-dark:var(--rowapa-blue-dark,#234A78);
--rw-light-blue:var(--rowapa-light-blue,#A0C4DF);--rw-plum:var(--rowapa-plum,#AA1351);--rw-plum-dark:#850F3F;
--rw-snow:var(--rowapa-snow,#E8E9E9);--rw-white:#fff;
--rw-fg-2:#3C4A5A;--rw-muted:#5F6E80;--rw-tint:#F3F6FA;
--rw-line:rgba(29,49,73,.10);--rw-line-strong:rgba(29,49,73,.16);
--rw-wash:linear-gradient(135deg,#EDF3F9 0%,#F6F7FA 52%,#F5EEF3 100%); /* @kind other */
--rw-navy-verlauf:linear-gradient(172deg,#1D3149 0%,#234A78 58%,#4F72A3 100%); /* @kind other */
--rw-max:1180px;--rw-pad:40px;--rw-gap:28px;
--rw-sek:104px;--rw-sek-m:72px;
--rw-ease:cubic-bezier(.2,.7,.2,1); /* @kind other */
}

/* Basis */
.rw *,.rw *::before,.rw *::after{box-sizing:border-box;border-radius:0}
.rw{margin:0;background:var(--rw-white);color:var(--rw-navy);font-family:"TASA Explorer",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
.rw p{margin:0 0 14px}
.rw h1,.rw h2,.rw h3{text-wrap:balance;margin:0}
.rw p{text-wrap:pretty}
.rw a{color:var(--rw-blue-dark);text-decoration:none;transition:color 150ms ease}
.rw a:hover{color:var(--rw-plum)}
.rw a:focus-visible,.rw button:focus-visible{outline:3px solid rgba(72,110,163,.3);outline-offset:2px}
.rw-txt a{border-bottom:1px solid rgba(72,110,163,.35)}
.rw-txt a:hover{border-bottom-color:currentColor}
.rw-icon{font-family:"Material Symbols Outlined";font-weight:normal;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24;vertical-align:middle;flex-shrink:0;display:none}
.rw-icons-ok .rw-icon{display:inline-block}

/* Raster */
.rw-c{max-width:var(--rw-max);margin:0 auto;padding:0 var(--rw-pad)}
.rw-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--rw-gap)}
.rw-l{grid-column:1/7}.rw-r{grid-column:8/13}.rw-l5{grid-column:1/6}.rw-r6{grid-column:7/13}.rw-full{grid-column:1/13}
.rw-sek{padding:var(--rw-sek) 0;border-bottom:1px solid var(--rw-line)}
.rw-sek--wash{background:var(--rw-wash)}
.rw-sek--navy{background:var(--rw-navy-verlauf);color:#fff;border-bottom:0}

/* Label mit Nummer · 01 */
.rw-chip{display:inline-flex;align-items:center;gap:7px;background:var(--rw-white);border:1px solid var(--rw-line-strong);padding:4px 9px 4px 8px;margin:0;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--rw-navy);line-height:1.2}
.rw-chip::before{content:"";width:5px;height:5px;background:var(--rw-navy);flex-shrink:0}
.rw-chip--plum::before{background:var(--rw-plum)}
.rw-chip--dunkel{background:transparent;border-color:rgba(160,196,223,.4);color:#fff}
.rw-chip--dunkel::before{background:var(--rw-light-blue)}

/* Eyebrow */
.rw-eyebrow{display:flex;align-items:center;gap:7px;margin:0 0 14px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--rw-blue)}
.rw-eyebrow .rw-icon{font-size:16px}
.rw-eyebrow--plum{color:var(--rw-plum)}
.rw-eyebrow--hell{color:var(--rw-light-blue)}

/* Titel, zweifarbig: <h2 class="rw-h2">Erste Zeile <span class="rw-blau">zweite Zeile</span></h2> */
.rw-h1{font-size:clamp(46px,6.6vw,90px);line-height:.96;letter-spacing:-.035em;font-weight:700}
.rw-h-gross{font-size:clamp(38px,5vw,68px);line-height:1;letter-spacing:-.032em;font-weight:700}
.rw-h2{font-size:clamp(30px,3.4vw,46px);line-height:1.06;letter-spacing:-.025em;font-weight:700;margin:16px 0 22px}
.rw-h3{font-size:clamp(24px,2.4vw,30px);line-height:1.15;letter-spacing:-.015em;font-weight:700;margin:0 0 12px}
.rw-blau{color:var(--rw-blue)}
.rw-h1 .rw-blau,.rw-h-gross .rw-blau,.rw-h2 .rw-blau{display:block}
.rw-sek--navy .rw-blau,.rw-dunkel .rw-blau{color:var(--rw-light-blue)}
.rw-lead{font-size:clamp(20px,2vw,26px);line-height:1.32;letter-spacing:-.01em;font-weight:500;color:var(--rw-navy)}
.rw-sub{font-size:clamp(20px,2.2vw,26px);line-height:1.3;color:var(--rw-fg-2)}
.rw-meta{font-size:13px;color:var(--rw-muted)}
.rw-fg2{color:var(--rw-fg-2)}

/* Kontur-Ziffer · 01 02 03 */
.rw-ziffer{font-size:clamp(84px,9vw,128px);line-height:.8;font-weight:700;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px var(--rw-light-blue);transition:-webkit-text-stroke-color 900ms ease}
.rw-ziffer--s{font-size:56px;-webkit-text-stroke-width:1.2px}
.rw-da .rw-ziffer,.rw-ziffer.rw-da{-webkit-text-stroke-color:var(--rw-blue)}
.rw-marke{display:flex;align-items:flex-end;gap:18px;margin:0 0 26px}

/* Nummerierte Liste mit Ziffer-Kacheln */
.rw-schritte{display:grid;grid-template-columns:repeat(var(--rw-n,3),minmax(0,1fr));border-top:1px solid var(--rw-line-strong)}
.rw-schritt{padding:26px 24px 28px 0;border-right:1px solid var(--rw-line)}
.rw-schritt+.rw-schritt{padding-left:24px}
.rw-schritt:last-child{border-right:0}
.rw-schritt .rw-chip{margin-bottom:18px}
.rw-schritt h3{font-size:20px;line-height:1.25;font-weight:700;margin:0 0 8px}
.rw-schritt p{color:var(--rw-fg-2);font-size:15.5px;margin:0}

/* Index-Leiste · 01 Titel | 02 Titel … */
.rw-index{display:grid;grid-template-columns:repeat(var(--rw-n,4),minmax(0,1fr));border-top:1px solid var(--rw-line);border-bottom:1px solid var(--rw-line)}
.rw-idx{display:flex;flex-direction:column;gap:14px;padding:22px 18px 24px;color:var(--rw-navy);border-left:1px solid var(--rw-line);transition:background 200ms ease}
.rw-idx:last-child{border-right:1px solid var(--rw-line)}
.rw .rw-idx:hover{background:var(--rw-wash);color:var(--rw-navy)}
.rw-idx .rw-chip{align-self:flex-start}
.rw-idx span:last-child{font-size:14px;font-weight:500;line-height:1.35}

/* Icon-Liste */
.rw-liste{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--rw-line)}
.rw-liste li{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--rw-line);font-size:16px;line-height:1.4;font-weight:500}
.rw-liste .rw-icon{font-size:26px;color:var(--rw-blue)}

/* Buttons */
.rw-knopf{display:inline-flex;align-items:center;gap:9px;background:var(--rw-navy);color:#fff;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:.02em;padding:16px 24px;border:0;cursor:pointer;transition:background 150ms ease,color 150ms ease}
.rw .rw-knopf:hover{background:#14202F;color:#fff}
.rw-knopf .rw-icon{font-size:19px}
.rw-knopf--plum{background:var(--rw-plum)}
.rw .rw-knopf--plum:hover{background:var(--rw-plum-dark)}
.rw-knopf--hell{background:#fff;color:var(--rw-navy)}
.rw .rw-knopf--hell:hover{background:var(--rw-snow);color:var(--rw-navy)}
.rw-knopf--ghost{background:transparent;color:var(--rw-navy);box-shadow:inset 0 0 0 1.5px var(--rw-navy)}
.rw .rw-knopf--ghost:hover{background:var(--rw-tint);color:var(--rw-navy)}
/* Lichtschimmer, nur für die eine Hauptaktion */
.rw-knopf--schimmer{position:relative;overflow:hidden;isolation:isolate}
.rw-knopf--schimmer::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);background-size:250% 100%;animation:rw-schimmer 3.4s ease-in-out infinite}
@keyframes rw-schimmer{0%{background-position:130% 0}55%,100%{background-position:-30% 0}}
.rw-weiter{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:700;color:var(--rw-navy);border-bottom:1px solid var(--rw-navy);padding-bottom:3px}
.rw .rw-weiter{color:var(--rw-navy)}
.rw .rw-weiter:hover{color:var(--rw-plum);border-color:var(--rw-plum)}
.rw-weiter .rw-icon{font-size:18px}

/* Flächen */
.rw-karte{background:#fff;border:1px solid var(--rw-line-strong);padding:28px}
.rw-dunkel{position:relative;overflow:hidden;background:var(--rw-navy-verlauf);color:#fff;padding:36px 40px}
.rw-dunkel p{color:rgba(255,255,255,.9)}
.rw-dunkel .rw-deko{position:absolute;right:28px;bottom:-6px;width:200px;opacity:.6;pointer-events:none}
.rw-dunkel>*:not(.rw-deko){position:relative}
.rw-zitat{font-size:clamp(22px,2.4vw,30px);line-height:1.3;letter-spacing:-.012em;font-weight:500;margin:0 0 18px}
.rw-zitat::before{content:"«"}.rw-zitat::after{content:"»"}
.rw-quelle{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rw-blue)}
.rw-dunkel .rw-quelle{color:var(--rw-light-blue)}

/* Kennzahl */
.rw-zahl{display:flex;flex-direction:column;gap:6px}
.rw-zahl b{font-size:clamp(44px,5vw,64px);line-height:.9;font-weight:700;letter-spacing:-.035em}
.rw-zahl span{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rw-blue)}
.rw-dunkel .rw-zahl span{color:var(--rw-light-blue)}

/* Datum-Block (Event) */
.rw-datum{display:flex;flex-direction:column;align-items:flex-start;padding-right:36px;border-right:1px solid rgba(160,196,223,.3)}
.rw-datum b{font-size:76px;font-weight:700;line-height:.86;letter-spacing:-.04em}
.rw-datum span{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rw-light-blue);margin-top:10px}

/* Bild mit Rahmen und Label */
.rw-bild{position:relative;margin:0;border:1px solid var(--rw-line-strong);background:#fff}
.rw-bild img{display:block;width:100%;height:auto}
.rw-bild .rw-chip{position:absolute;right:14px;bottom:14px}
.rw-foto{margin:0;width:120px}
.rw-foto img{display:block;width:120px;height:120px;object-fit:cover;background:var(--rw-blue-dark)}
.rw-foto figcaption{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--rw-blue);line-height:1.3;margin-top:9px}
.rw-dunkel .rw-foto figcaption{color:var(--rw-light-blue)}

/* Kopf- und Fussleiste */
.rw-bar{background:var(--rw-navy);color:#fff}
.rw-bar .rw-c{display:flex;align-items:center;gap:16px;padding-top:13px;padding-bottom:13px}
.rw-bar img{height:26px;width:auto;display:block}
.rw-bar__div{width:1px;height:22px;background:rgba(160,196,223,.3)}
.rw-bar__t{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.3}
.rw-bar__r{margin-left:auto;display:flex;align-items:center;gap:10px}
.rw-fuss{background:var(--rw-navy);color:var(--rw-light-blue)}
.rw-fuss .rw-c{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:26px;padding-bottom:26px;flex-wrap:wrap;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

/* Isometrische Linienzeichnung (von rowapa-web.js erzeugt) */
.rw-deko{display:block;width:120px;height:auto}
.rw-deko polygon{fill:none;stroke:rgba(72,110,163,.55);stroke-width:1}
.rw-deko line{stroke:rgba(72,110,163,.55);stroke-width:1}
.rw-deko--hell polygon,.rw-deko--hell line{stroke:rgba(160,196,223,.5)}

/* Einblenden beim Scrollen (Klasse rw-js setzt rowapa-web.js) */
.rw-js .rw-ein{opacity:0;transform:translateY(28px);transition:opacity 700ms ease,transform 800ms var(--rw-ease)}
.rw-js .rw-ein.rw-da{opacity:1;transform:none}
.rw-js .rw-ein-r{opacity:0;transform:translateX(16px);transition:opacity 500ms ease,transform 600ms var(--rw-ease)}
.rw-js .rw-ein-r.rw-da{opacity:1;transform:none}
.rw-js .rw-deko polygon{stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset 1600ms ease}
.rw-js .rw-da .rw-deko polygon,.rw-js .rw-deko.rw-da polygon{stroke-dashoffset:0}
@media(prefers-reduced-motion:reduce){
.rw-knopf--schimmer::after{animation:none}
.rw-js .rw-ein,.rw-js .rw-ein-r,.rw-js .rw-deko polygon{opacity:1;transform:none;transition:none;stroke-dashoffset:0}
}

[hidden]{display:none!important}

/* Mobil */
@media(max-width:860px){
:root{--rw-pad:20px;--rw-gap:0px}
.rw-l,.rw-r,.rw-l5,.rw-r6{grid-column:1/13}
.rw-r,.rw-r6{margin-top:36px}
.rw-sek{padding:var(--rw-sek-m) 0}
.rw-schritte{grid-template-columns:1fr}
.rw-schritt,.rw-schritt+.rw-schritt{padding:22px 0;border-right:0;border-bottom:1px solid var(--rw-line)}
.rw-index{grid-template-columns:repeat(2,minmax(0,1fr))}
.rw-dunkel{padding:28px 24px}
.rw-dunkel .rw-deko{display:none}
.rw-datum{flex-direction:row;align-items:baseline;gap:14px;border-right:0;padding:0 0 16px;border-bottom:1px solid rgba(160,196,223,.3)}
.rw-datum b{font-size:52px}
}
@media(max-width:620px){
.rw{font-size:16.5px}
.rw-h1{font-size:44px}
.rw-h2{font-size:30px}
.rw-ziffer{font-size:76px}
.rw-index{grid-template-columns:1fr}
.rw-idx{flex-direction:row;align-items:center;padding:14px 0;border-left:0;border-right:0!important;border-top:1px solid var(--rw-line)}
.rw-knopf--voll-m{width:100%;justify-content:center}
.rw-bar__r span{display:none}
}
