
:root{
  --navy:#0B2340; --navy-2:#1A3B66; --navy-3:#12305A;
  --red:#C8102E; --red-dark:#A00D24; --red-on-navy:#FF5A67;
  --silver:#D5D9DF; --ink:#111A26; --muted:#5A6472; --line:#DCE1E7; --tint:#F2F4F7; --paper:#fff;
  --ok:#0C6B30; --ok-bg:#E3F2E8; --warn-bg:#FFF8D6; --warn-line:#E5BE00;
  --cut:12deg;
  --t-hero:clamp(2.6rem, 1.4rem + 6vw, 6.2rem);
  --t-h2:clamp(1.7rem, 1.2rem + 2.2vw, 3rem);
  --t-base:clamp(1rem, .96rem + .2vw, 1.0625rem);
  --gut:clamp(1.25rem, .7rem + 2.6vw, 3rem);
  --maxw:1240px;
  --hd:'Inter Display','Inter',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:var(--t-base);line-height:1.6;color:var(--ink);background:var(--paper);hyphens:auto}
img,svg{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.on-navy :focus-visible,.navy :focus-visible{outline-color:#fff}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--navy);padding:.8rem 1rem;z-index:100;font-weight:800}
.skip:focus{left:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
h1,h2,h3{font-family:var(--hd);margin:0;line-height:1.02;text-transform:uppercase;letter-spacing:-.01em;font-weight:900}
h2{font-size:var(--t-h2);color:var(--navy)}
h2::before{content:'';display:block;width:3.2rem;height:.32rem;background:var(--red);margin-bottom:1rem}
.navy h2,.on-navy h2{color:#fff}
.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--red)}
.navy .eyebrow{color:var(--red-on-navy)}
.lead{color:var(--muted);font-size:1.15rem;max-width:44ch}
.navy .lead{color:#C9D3DF}
.view{display:none}.view.on{display:block}

/* Buttons – Schnitt statt Radius */
.btn{display:inline-flex;align-items:center;gap:.6rem;min-height:48px;padding:.85rem 1.5rem 0.85rem 1.25rem;border:0;background:var(--red);color:#fff;font:800 .95rem/1 'Inter',sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;clip-path:polygon(0 0,100% 0,100% 70%,calc(100% - .8rem) 100%,0 100%)}
.btn:hover{background:var(--red-dark)}
.btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px #fff;clip-path:none}
.btn.ghost:hover{background:#fff;color:var(--navy)}
.btn.navy-b{background:var(--navy)}.btn.navy-b:hover{background:var(--navy-2)}
.btn.sm{min-height:44px;padding:.6rem 1rem;font-size:.8rem}

/* Kopf */
.top{position:sticky;top:0;z-index:50;background:var(--navy);color:#fff}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.brand img{height:54px;width:auto}
.brand b{font:900 1.05rem/1.05 var(--hd);letter-spacing:.1em;text-transform:uppercase}
.brand small{display:block;font:600 .6rem/1 'Inter';letter-spacing:.28em;color:#93A6BF;margin-top:.3rem}
.nav{display:none;gap:.2rem;align-items:center}
.nav a{white-space:nowrap;padding:.8rem .65rem;font-size:.82rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:#E6ECF3;min-height:44px;display:inline-flex;align-items:center;border-bottom:3px solid transparent}
.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--red-on-navy);color:#fff}
.burger{background:none;border:0;color:#fff;width:48px;height:48px;cursor:pointer;display:grid;place-content:center;gap:6px}
.burger i{display:block;width:26px;height:3px;background:#fff}
.drawer{display:none;background:var(--navy-3);border-top:1px solid #2A4A78}
.drawer.on{display:block}
.drawer a{display:flex;align-items:center;min-height:52px;padding:0 var(--gut);color:#fff;text-decoration:none;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.9rem;border-bottom:1px solid #2A4A78}
@media(min-width:1120px){.nav{display:flex}.burger,.drawer{display:none!important}}

/* Hero */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.hero>.wrap{position:relative;padding-top:clamp(2.5rem,6vw,5rem);padding-bottom:15rem;display:grid;gap:2rem}
.hero .mark{position:absolute;right:-12%;top:6%;width:min(70vw,640px);opacity:1;filter:none;pointer-events:none}
.hero .mark img{width:100%;opacity:.09;filter:grayscale(1) brightness(3)}
.hero h1{font-size:var(--t-hero);letter-spacing:-.025em;line-height:.93;margin:1rem 0 1.4rem;position:relative}
.hero h1 em{font-style:normal;display:block;font-size:.46em;font-weight:800;letter-spacing:0;margin-top:.7rem}
.hero h1 em::after{content:'';display:block;width:5rem;height:.4rem;background:var(--red);margin-top:1.1rem}
.hero .lead{position:relative;margin-bottom:1.6rem}
.hero .cta{display:flex;gap:1rem;flex-wrap:wrap;position:relative}
.cutband{position:absolute;left:0;right:0;bottom:0;height:clamp(7rem,16vw,12rem);background:var(--red);clip-path:polygon(0 34%,100% 0,100% 100%,0 100%)}
.cutband::before{content:'';position:absolute;inset:0;background:#fff;opacity:.1;clip-path:polygon(0 0,100% 0,100% 4%,0 38%)}
.facts{position:absolute;left:0;right:0;bottom:0;z-index:2}
.facts .wrap{padding:0 var(--gut) 1.4rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.5rem}
.facts div{font-size:.8rem;color:#fff}
.facts b{display:block;font:900 clamp(1.6rem,1rem + 2vw,2.6rem)/1 var(--hd)}
.facts span{letter-spacing:.14em;text-transform:uppercase;font-weight:800;font-size:.68rem;color:#FFE1E5}
@media(min-width:700px){.facts .wrap{grid-template-columns:repeat(4,1fr)}.hero>.wrap{padding-bottom:14rem}}

section.sec{padding:clamp(3.5rem,2rem + 6vw,7rem) 0}
/* Alarmstreifen */
.einsatz{background:var(--tint);border-bottom:1px solid var(--line)}
.einsatz .wrap{display:flex;align-items:center;gap:1rem;padding-top:.9rem;padding-bottom:.9rem;flex-wrap:wrap}
.einsatz .m-logo{height:52px;width:auto}.einsatz .m-name{font:900 .95rem/1.05 var(--hd);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);padding-right:1rem;border-right:3px solid var(--red)}.einsatz .badge{background:var(--red);color:#fff;font-weight:900;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;padding:.35rem .8rem;clip-path:polygon(0 0,100% 0,100% 65%,85% 100%,0 100%)}

/* Asymmetrisches Raster Aktuelles */
.news-grid{display:grid;gap:1.5rem;margin-top:2.5rem}
.card-n{background:var(--tint);padding:1.6rem;display:flex;flex-direction:column;gap:.8rem;text-decoration:none;position:relative;border-top:.35rem solid var(--navy)}
.card-n:hover{border-top-color:var(--red)}
.card-n time{font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.card-n h3{font-size:1.35rem;color:var(--navy)}
.card-n.big{background:var(--navy);color:#fff;border-top-color:var(--red);clip-path:polygon(0 0,100% 0,100% calc(100% - 2.2rem),calc(100% - 2.2rem) 100%,0 100%);padding-bottom:3rem}
.card-n.big h3{color:#fff;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.4rem)}
.card-n.big time{color:#FFB3BB}
@media(min-width:900px){.news-grid{grid-template-columns:1.6fr 1fr;grid-template-rows:auto auto}.card-n.big{grid-row:span 2}}

.events{list-style:none;margin:0;padding:0;border-top:.2rem solid var(--navy)}
.events li{display:grid;grid-template-columns:4.2rem minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.events time{background:var(--navy);color:#fff;text-align:center;padding:.5rem .2rem .7rem;clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%)}
.events time b{display:block;font:900 1.8rem/1 var(--hd)}
.events time span{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#FFB3BB}
.events h3{font-size:1.15rem;color:var(--navy);overflow-wrap:anywhere;hyphens:auto}.events li>div{min-width:0}
.events p{margin:.2rem 0 0;color:var(--muted);font-size:.92rem}
@media(max-width:560px){.events li{grid-template-columns:4.2rem minmax(0,1fr)}.events li>.tag{grid-column:2;justify-self:start}}
ol.steps{list-style:none;margin:2.5rem 0 0;padding:0;display:grid;gap:.4rem;counter-reset:s}
ol.steps li{counter-increment:s;position:relative;background:#fff;padding:2.6rem 1rem 1rem;font-size:.92rem;line-height:1.4;border-top:.3rem solid var(--navy)}
ol.steps li::before{content:counter(s);position:absolute;top:.6rem;left:1rem;font:900 1.5rem/1 var(--hd);color:var(--red)}
ol.steps li b{display:block;color:var(--navy);font-size:1rem;margin-bottom:.2rem}
ol.steps li.hot{background:var(--red);color:#fff;border-top-color:var(--red-dark)}
ol.steps li.hot b,ol.steps li.hot::before{color:#fff}
@media(min-width:800px){ol.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tips{display:grid;gap:1rem;margin-top:1.5rem}
@media(min-width:800px){.tips{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tip{display:grid;grid-template-columns:2.6rem 1fr;gap:.2rem 1rem;text-decoration:none;padding:1.2rem 0;border-top:.2rem solid var(--navy);align-content:start}
.tip .n{grid-row:span 3;font:900 2.4rem/1 var(--hd);color:var(--red)}
.tip h3{font-size:1.15rem;color:var(--navy)}
.tip p{margin:.3rem 0;color:var(--ink)}
.tip .more{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--red-dark);text-decoration:underline}
.tip:hover h3{color:var(--red-dark)}
/* Hero-Foto und Varianten */
.hero .photo{display:none}
body[data-hero=b] .hero .mark{display:none}
.photo{background:#2A4A78;color:#fff;overflow:hidden}
.photo svg{position:absolute;inset:0;width:100%;height:100%}
.photo .cap{position:absolute;right:1rem;top:1rem;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:#fff;color:var(--navy);padding:.3rem .6rem}
body[data-hero=b] .hero .photo{display:block}
/* B: geteilt */
body[data-hero=b] .photo{position:relative;height:230px;clip-path:polygon(0 0,100% 0,100% 100%,0 86%)}
@media(min-width:900px){
  body[data-hero=b] .photo{position:absolute;right:0;top:0;bottom:0;width:50%;height:auto;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%)}
  body[data-hero=b] .hero>.wrap{grid-template-columns:minmax(0,1fr)}
  body[data-hero=b] .hero>.wrap>div{max-width:calc(54vw - max(var(--gut),(100vw - var(--maxw))/2 + var(--gut)) - 2rem)}
  body[data-hero=b] .hero .lead{max-width:54ch}
  body[data-hero=b] .hero{min-height:max(640px,calc(100svh - 68px));display:flex;flex-direction:column;justify-content:center}
  body[data-hero=b] .hero>.wrap{width:100%;padding-top:2rem;padding-bottom:11rem}
  body[data-hero=b] .hero h1{font-size:clamp(2.6rem,1.2rem + 3.6vw,4.8rem)}
}
.toast{position:fixed;z-index:80;left:1rem;right:1rem;bottom:1rem;background:#fff;color:var(--ink);padding:1.1rem 3.4rem 1.2rem 1.2rem;border-top:.35rem solid var(--red);transform:translateY(130%);transition:transform .6s cubic-bezier(.16,1,.3,1)}
.toast.in{transform:none}
.toast p{margin:.3rem 0 .9rem}
.toast .x{position:absolute;top:.2rem;right:.2rem;width:48px;height:48px;border:0;background:none;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--navy)}
body:not([data-view=start]) .toast{display:none}
@media(min-width:700px){.toast{left:auto;right:1.5rem;bottom:1.5rem;width:340px;transform:translateX(130%)}}
.docbar{display:grid;gap:1rem;margin-top:1.5rem}
@media(min-width:800px){.docbar{grid-template-columns:minmax(0,320px) 1fr;align-items:end}}
.docbar label{margin-top:0}
.docbar .chips label{margin:0}
.chips button{min-height:44px;padding:0 .9rem;border:2px solid var(--navy);background:#fff;color:var(--navy);font:800 .78rem 'Inter';letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.chips button[aria-pressed=true]{background:var(--navy);color:#fff}
.docs{list-style:none;margin:1.2rem 0 0;padding:0;background:#fff;border-top:.2rem solid var(--navy)}
.docs li{display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;gap:.3rem 1rem;align-items:center;padding:1rem;border-bottom:1px solid var(--line)}
.docs .ic{width:2.6rem;height:3.2rem;background:var(--navy);color:#fff;display:grid;place-items:center;font:900 .7rem var(--hd);letter-spacing:.06em;clip-path:polygon(0 0,70% 0,100% 22%,100% 100%,0 100%)}
.docs h3{font-size:1.02rem;color:var(--navy);text-transform:none;letter-spacing:0;line-height:1.25}
.docs .m{color:var(--muted);font-size:.85rem;margin-top:.2rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.docs .act{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:640px){.docs li{grid-template-columns:2.6rem minmax(0,1fr)}.docs .act{grid-column:1/-1;justify-content:flex-start}}
.thumb{display:block;width:100%;aspect-ratio:3/2;background-size:cover;background-position:center;background-color:var(--navy-2)}
.thumb.e{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%3Crect width='120' height='80' fill='%233B5F8F'/%3E%3Crect y='56' width='120' height='24' fill='%232A4A78'/%3E%3Crect x='28' y='26' width='64' height='30' fill='%23C8102E'/%3E%3Crect x='34' y='31' width='14' height='11' fill='%23D5D9DF'/%3E%3Crect x='52' y='31' width='14' height='11' fill='%23D5D9DF'/%3E%3Ccircle cx='42' cy='58' r='7' fill='%230B2340'/%3E%3Ccircle cx='80' cy='58' r='7' fill='%230B2340'/%3E%3C/svg%3E")}
.thumb.v{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%3Crect width='120' height='80' fill='%232A4A78'/%3E%3Crect y='58' width='120' height='22' fill='%230B2340'/%3E%3Cpolygon points='20,58 60,18 100,58' fill='%23D5D9DF'/%3E%3Crect x='50' y='40' width='20' height='18' fill='%23C8102E'/%3E%3C/svg%3E")}
.events li{position:relative}
.events h3 a{color:inherit;text-decoration:none}
.events h3 a::after{content:'';position:absolute;inset:0}
.events li:hover h3 a{text-decoration:underline}
.events li:has(.thumb){grid-template-columns:4.2rem 7rem minmax(0,1fr) auto}
@media(max-width:700px){.events li:has(.thumb){grid-template-columns:4.2rem minmax(0,1fr) 5rem}.events li:has(.thumb)>.thumb{grid-column:3;grid-row:1}.events li:has(.thumb)>div{grid-column:2;grid-row:1}.events li:has(.thumb)>.tag{grid-column:2/-1;grid-row:2;justify-self:start}}
.post{padding:2rem 0 5rem}
.post .wrap{max-width:860px}
.post .hero-img{position:relative;aspect-ratio:16/8;background-size:cover;background-position:center;background-color:var(--navy-2);clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 1.6rem));margin:1rem 0 2rem}
.post .hero-img span{position:absolute;right:.8rem;top:.8rem;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:#fff;color:var(--navy);padding:.3rem .6rem}
.post h1{font-size:clamp(1.9rem,1.2rem + 3vw,3.4rem);color:var(--navy);margin:.6rem 0 .8rem;overflow-wrap:anywhere}
.post .pm{color:var(--muted);font-weight:650;margin-bottom:1.5rem}
.post p{max-width:62ch}
.post .back{display:inline-flex;align-items:center;min-height:44px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;color:var(--red-dark)}
.team{margin-top:clamp(3rem,6vw,5rem)}
.team .chips{margin-top:1.5rem}
.team .chips button{min-height:44px;padding:0 .9rem;border:2px solid var(--navy);background:#fff;color:var(--navy);font:800 .78rem 'Inter';letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.team .chips button[aria-pressed=true]{background:var(--navy);color:#fff}
.people{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 1rem}
@media(min-width:700px){.people{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){.people{grid-template-columns:repeat(5,minmax(0,1fr))}}
.people li[hidden]{display:none}
.people .pic{aspect-ratio:4/5;background-size:cover;background-position:center;clip-path:polygon(0 0,100% 0,100% calc(100% - 1.4rem),calc(100% - 1.4rem) 100%,0 100%)}
.people .ph-on{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 125'%3E%3Crect width='100' height='125' fill='%232A4A78'/%3E%3Ccircle cx='50' cy='48' r='19' fill='%23E2B9A0'/%3E%3Cpath d='M50 22c-14 0-22 8-22 18 6-6 12-9 22-9s17 3 22 9c0-10-8-18-22-18z' fill='%23473A33'/%3E%3Cpath d='M10 125c0-28 16-44 40-44s40 16 40 44z' fill='%230B2340'/%3E%3Cpath d='M38 82l12 14 12-14' fill='none' stroke='%23C8102E' stroke-width='5'/%3E%3C/svg%3E")}
.people .ph-off{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 125'%3E%3Crect width='100' height='125' fill='%23E6EAF0'/%3E%3Ccircle cx='50' cy='48' r='19' fill='%23B3BCC8'/%3E%3Cpath d='M10 125c0-28 16-44 40-44s40 16 40 44z' fill='%23B3BCC8'/%3E%3C/svg%3E")}
.people h3{font-size:1.05rem;color:var(--navy);margin-top:.8rem;text-transform:none;letter-spacing:0;font-weight:800;line-height:1.2}
.people dl{margin:.4rem 0 .6rem;font-size:.85rem;line-height:1.35}.people dl div{margin-bottom:.25rem}.people dt{font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.people dd{margin:0;color:var(--ink)}.people .tag{font-size:.62rem;white-space:normal}
.pagehead{position:relative;overflow:hidden;background:var(--navy);color:#fff}
.pagehead .wrap{position:relative;z-index:1;padding-top:clamp(1.5rem,4vw,3rem);padding-bottom:clamp(5rem,10vw,8rem)}
.pagehead .crumb{margin:0;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#C9D3DF}
.pagehead .crumb a{color:#fff;text-underline-offset:3px}
.pagehead h1{font-size:clamp(2.4rem,1.3rem + 4.4vw,5rem);line-height:.95;letter-spacing:-.02em;margin:1.2rem 0 1rem}
.pagehead h1::after{content:'';display:block;width:5rem;height:.4rem;background:var(--red);margin-top:1.1rem}
.pagehead .lead{margin:0;max-width:52ch}
.pagehead .cutband{height:clamp(3rem,7vw,5.5rem)}
.cards3{display:grid;gap:1.5rem;margin-top:1.5rem}
@media(min-width:900px){.cards3{grid-template-columns:repeat(3,minmax(0,1fr))}}
body[data-view=app] .foot,body[data-view=login] .foot{display:none}
.sec.dark{background:var(--navy);color:#fff}
.sec.dark h2{color:#fff}.sec.dark .eyebrow{color:var(--red-on-navy)}.sec.dark .lead{color:#C9D3DF}
.sec.dark .events{border-top-color:var(--red-on-navy)}
.sec.dark .events li{border-bottom-color:#2A4A78}
.sec.dark .events h3{color:#fff}
.sec.dark .events p{color:#C9D3DF}
.sec.dark .events time{background:var(--red)}
.sec.dark .events time span{color:#fff}
.sec.dark .events .tag.n{color:#C9D3DF}
.sec.dark .events .tag.r{color:#FF8A95}
.sec.dark .btn.navy-b{background:var(--red)}
.sec.dark .btn.navy-b:hover{background:var(--red-dark)}
.sec.dark :focus-visible{outline-color:#fff}
@media(min-width:900px){
  body[data-ht=full] .hero>.wrap{max-width:none;padding-left:clamp(1.5rem,4vw,4.5rem);padding-right:0}
  body[data-ht=full] .hero>.wrap>div{max-width:calc(54vw - clamp(1.5rem,4vw,4.5rem) - 2rem)}
  body[data-ht=full] .hero h1{font-size:clamp(2.8rem,1rem + 5vw,6.2rem)}
  body[data-ht=full] .hero .lead{max-width:60ch}
  body[data-ht=full] .facts .wrap{max-width:none;padding-left:clamp(1.5rem,4vw,4.5rem);padding-right:clamp(1.5rem,4vw,4.5rem)}
}
/* Einsatzabteilungen / Zahlen */
.nums{display:grid;gap:0;margin-top:2.5rem;border-top:.2rem solid var(--navy)}
.num{display:grid;grid-template-columns:5rem 1fr;gap:1rem;padding:1.3rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.num b{font:900 2.6rem/1 var(--hd);color:var(--red)}
.num p{margin:0}.num strong{display:block;color:var(--navy);font-size:1.1rem}
@media(min-width:900px){.split{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem}}

/* Mitmachen */
.join{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.join .wrap{display:grid;gap:2rem;position:relative;z-index:1}
.join .cut{position:absolute;right:0;top:0;bottom:0;width:38%;background:var(--red);clip-path:polygon(35% 0,100% 0,100% 100%,0 100%);display:none}
@media(min-width:900px){.join .cut{display:block}.join .wrap{grid-template-columns:1.3fr 1fr;align-items:center}}
.join ul{list-style:none;padding:0;margin:0;font-weight:650}
.join li{padding:.8rem 0;border-bottom:1px solid #ffffff55;display:flex;gap:.8rem}
.join li::before{content:'';flex:none;width:1.1rem;height:.3rem;background:#fff;margin-top:.7rem}

footer.foot{background:#071729;color:#B8C4D3;padding:3rem 0 2rem;font-size:.9rem}
footer .wrap{display:grid;gap:2rem}
@media(min-width:800px){footer .wrap{grid-template-columns:1.3fr 1fr 1fr}}
footer h3{font-size:.75rem;letter-spacing:.2em;color:#fff;margin-bottom:.8rem}
footer a{display:block;padding:.35rem 0;text-decoration:none}footer a:hover{color:#fff;text-decoration:underline}
.foot-bar{height:.5rem;background:var(--red);clip-path:polygon(0 0,100% 0,calc(100% - .5rem) 100%,0 100%);width:6rem;margin-bottom:1.5rem}

@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.top{display:none}}

/* ---- WordPress-Ergänzungen ---- */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.skip:focus{left:0}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.brand img{width:auto}
.hero .photo .cap,.post .hero-img span{pointer-events:none}
.post .hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.content-wrap{max-width:860px}
.content-wrap p,.content-wrap li{max-width:68ch}
.content-wrap h2{font-size:clamp(1.5rem,1.1rem + 1.5vw,2.2rem);margin:2.2rem 0 1rem}
.content-wrap h3{margin:1.6rem 0 .6rem;color:var(--navy)}
.content-wrap a{color:var(--red-dark)}
.pager{display:flex;gap:1rem;margin-top:2rem}
.events.empty{border-top:.2rem solid var(--navy);padding:1.5rem 0;color:var(--muted)}

/* ---- Schrittformular ---- */
.wiz{max-width:760px;margin-top:2rem}
.wiz-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.wiz-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;padding:0;margin:0 0 1.8rem;counter-reset:w}
.wiz-steps li{counter-increment:w;background:var(--tint);border-top:.3rem solid var(--line);padding:.6rem .8rem .8rem;font-weight:800;font-size:.82rem;line-height:1.25;color:var(--muted)}
.wiz-steps li::before{content:counter(w);display:block;font:900 1.3rem/1 var(--hd);color:var(--muted);margin-bottom:.2rem}
.wiz-steps li[aria-current=step]{background:#fff;border-top-color:var(--red);color:var(--navy)}
.wiz-steps li[aria-current=step]::before{color:var(--red)}
.wiz-steps li.done{border-top-color:var(--navy);color:var(--navy)}
.wiz fieldset{border:0;padding:0;margin:0 0 1.5rem;min-width:0}
.wiz legend{font:900 clamp(1.4rem,1rem + 1.6vw,2rem)/1.05 var(--hd);text-transform:uppercase;color:var(--navy);padding:0;margin-bottom:1rem}
.wiz-js fieldset[hidden]{display:none}
.wiz-note{background:var(--tint);border-left:.35rem solid var(--navy);padding:.9rem 1.1rem;margin:0 0 1.2rem;max-width:62ch}
.wiz label{display:block;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin:1.1rem 0 .4rem}
.wiz input[type=text],.wiz textarea{width:100%;min-height:48px;padding:.7rem .9rem;border:2px solid #8793A3;background:#fff;font:inherit;color:var(--ink);border-radius:0}
.wiz textarea{min-height:120px;resize:vertical}
.wiz input:focus,.wiz textarea:focus{outline:3px solid var(--red);outline-offset:0;border-color:var(--navy)}
.wiz label.opt,.wiz label.cb{display:flex;gap:.9rem;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:1rem;font-weight:500;color:var(--ink);cursor:pointer}
.wiz label.opt{border:2px solid var(--line);background:#fff;padding:1rem;margin:.6rem 0}
.wiz label.opt:has(input:checked){border-color:var(--navy);background:var(--tint)}
.wiz input[type=radio],.wiz input[type=checkbox]{width:1.5rem;height:1.5rem;flex:none;accent-color:var(--navy);margin:.1rem 0 0}
.wiz-fehler{color:var(--red-dark);font-weight:700;min-height:1.4em;margin:.8rem 0 0}
.wiz-err{background:#FDE8EB;border-left:.35rem solid var(--red);padding:.9rem 1.1rem;font-weight:650;max-width:62ch}
.wiz-nav{display:flex;gap:.8rem;flex-wrap:wrap}
.wiz-js .wiz-nav button{display:inline-flex}
.wiz-js fieldset[data-step="3"] .btn[type=submit]{margin-top:.6rem}
.wiz-ok{background:var(--tint);border-top:.35rem solid var(--navy);padding:1.5rem;max-width:62ch;margin-top:2rem}
.wiz-ok h3{font-size:1.5rem;color:var(--navy)}
@media(max-width:560px){.wiz-steps li{font-size:.72rem;padding:.5rem .5rem .6rem}}

/* ---- Abschnitte (Flexible Content): nur Anordnung, kein neues Design ---- */
.txt{max-width:68ch}.txt p{margin:0 0 1rem}.txt ul,.txt ol{padding-left:1.2rem;margin:0 0 1rem}.txt a{color:var(--red-dark)}
.spalten{display:grid;gap:2rem}
@media(min-width:800px){.spalten.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.spalten.n3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.spalten .sp img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin-bottom:1rem;display:block}
.spalten .sp h3{color:var(--navy);margin-bottom:.6rem}
.textbild{display:grid;gap:2rem;align-items:center}
@media(min-width:800px){.textbild{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem}.textbild.rechts .tb-bild{order:2}}
.textbild img{width:100%;height:auto;display:block;clip-path:polygon(0 0,100% 0,100% calc(100% - 1.6rem),calc(100% - 1.6rem) 100%,0 100%)}
.zahlen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2rem}
@media(min-width:800px){.zahlen{grid-template-columns:repeat(4,minmax(0,1fr))}}
.zahlen b{display:block;font:900 clamp(2rem,1.4rem + 2.4vw,3.6rem)/1 var(--hd);color:var(--red)}
.zahlen span{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.sec.dark .zahlen b{color:#fff}
.galerie{display:grid;gap:1rem;margin:2rem 0 0;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:800px){.galerie.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.galerie.c4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.galerie figure{margin:0}.galerie img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.vid-wrap{max-width:860px;margin-top:1.5rem}
.vid-load{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;background:var(--navy) center/cover no-repeat;cursor:pointer;clip-path:polygon(0 0,100% 0,100% calc(100% - 1.6rem),calc(100% - 1.6rem) 100%,0 100%)}
.vid-load .play{position:absolute;left:50%;top:50%;width:4.5rem;height:4.5rem;margin:-2.25rem 0 0 -2.25rem;background:var(--red)}
.vid-load .play::after{content:'';position:absolute;left:1.7rem;top:1.25rem;border-left:1.5rem solid #fff;border-top:1rem solid transparent;border-bottom:1rem solid transparent}
.vid iframe,.vid-file{width:100%;aspect-ratio:16/9;border:0;display:block;background:#000}
.faq{max-width:760px;margin-top:1.5rem;border-top:.2rem solid var(--navy)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:1rem 2.5rem 1rem 0;font-weight:800;color:var(--navy);list-style:none;position:relative;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:.4rem;top:.8rem;font:900 1.4rem/1 var(--hd);color:var(--red)}
.faq details[open] summary::after{content:'–'}
.faq .txt{padding:0 0 1rem}
