:root{--navy:#202242;--red:#c51f2b;--paper:#f5f6f8;--ink:#171923;--muted:#667085}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#fff}header{background:var(--navy);color:#fff}.nav{max-width:1180px;margin:auto;padding:16px 24px;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:14px;font-weight:800}.brand img{width:68px;height:82px;object-fit:contain}.navlinks{margin-left:auto;display:flex;gap:20px;align-items:center}.menu-toggle{
    display:none;
    margin-left:auto;
    width:46px;
    height:46px;
    padding:0;
    border:1px solid rgba(255,255,255,.25);
    border-radius:8px;
    background:transparent;
    color:#fff;
    font-size:28px;
    line-height:1;
    cursor:pointer;
}.nav a{color:#fff;text-decoration:none}.btn{display:inline-block;background:var(--red);color:#fff!important;padding:11px 16px;border-radius:8px;text-decoration:none;border:0;cursor:pointer;font:inherit}.btn.secondary{background:#35385f}.btn.danger{background:#a41420}.hero{background:linear-gradient(135deg,#202242,#30345f);color:#fff;padding:72px 24px}.wrap{max-width:1100px;margin:auto}.hero-grid{display:grid;grid-template-columns:1fr 280px;gap:48px;align-items:center}.hero h1{font-size:clamp(38px,6vw,68px);line-height:1;margin:0 0 18px}.hero p{font-size:20px;max-width:720px;color:#e6e7ef}.hero img{max-width:260px;width:100%}.section{padding:64px 24px}.section.alt{background:var(--paper)}.cards,.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:24px;box-shadow:0 8px 25px rgba(0,0,0,.05)}footer{background:#17182f;color:#ddd;padding:32px 24px}.loginbox{max-width:430px;margin:60px auto;padding:30px;border:1px solid #ddd;border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.08)}input,select{width:100%;padding:12px;margin:7px 0 16px;border:1px solid #bbb;border-radius:8px;font:inherit}.portal{max-width:1100px;margin:40px auto;padding:0 20px}.notice{padding:12px;border-radius:8px;background:#fff3cd;margin:15px 0}.notice.success{background:#e8f7ee}.notice.error{background:#fde8ea}.muted{color:var(--muted)}.portal-actions{margin:22px 0 32px}.folder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.folder-card{display:block;border:1px solid #e5e7eb;border-radius:14px;padding:22px;text-decoration:none;color:var(--ink);box-shadow:0 6px 20px rgba(0,0,0,.04)}.folder-card:hover{border-color:#b7b9c8}.folder-card h3{margin:0 0 8px}.folder-card p{min-height:44px}.folder-card span{font-size:14px;color:var(--muted)}.admin-heading{margin-top:42px}.admin-list{display:grid;gap:18px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkline{display:flex;align-items:center}.checkline input,.perm-table input{width:auto;margin:0 8px 0 0}.inline-form{margin-top:14px}.folder-admin{margin-bottom:18px}.perm-table{display:grid;grid-template-columns:minmax(180px,2fr) repeat(3,1fr);gap:0;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;margin:14px 0 20px}.perm-table>div{padding:11px;border-bottom:1px solid #eee}.perm-head{font-weight:700;background:var(--paper)}.upload-card{margin:24px 0}.upload-card form{display:flex;gap:12px;align-items:center}.upload-card input[type=file]{margin:0}.doc-list{display:grid;gap:14px}.doc-card{border:1px solid #e5e7eb;border-radius:12px;padding:18px}.doc-main{display:flex;justify-content:space-between;gap:20px;margin-bottom:12px}.doc-main span{color:var(--muted);font-size:14px}.doc-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.doc-actions form{display:flex;gap:8px;align-items:center;margin:0}.doc-actions input,.doc-actions select{margin:0;min-width:190px}.doc-actions .btn{white-space:nowrap}@media(max-width:760px){.hero-grid,.cards,.admin-grid,.folder-grid,.row2{grid-template-columns:1fr}.navlinks{display:flex;gap:12px;font-size:14px}.hero img{max-width:180px}.perm-table{grid-template-columns:minmax(130px,2fr) repeat(3,1fr);font-size:13px}.perm-table>div{padding:8px}.upload-card form,.doc-main,.doc-actions form{display:block}.doc-actions input,.doc-actions select{margin:7px 0;width:100%}}textarea{width:100%;padding:12px;margin:7px 0 16px;border:1px solid #bbb;border-radius:8px;font:inherit;resize:vertical}.site-header{position:sticky;top:0;z-index:20;box-shadow:0 4px 18px rgba(0,0,0,.12)}.site-header .nav{min-height:90px}.site-header .brand{text-decoration:none;color:#fff}.site-header .brand img{width:56px;height:66px}.home-hero{padding:86px 24px 92px;position:relative;overflow:hidden}.home-hero:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-180px;top:-210px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800;color:#f0c7cb}.eyebrow.dark{color:var(--red)}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:28px}.text-link{color:#fff;font-weight:700;text-decoration:none}.crest-stage{display:flex;justify-content:center;position:relative;z-index:1}.crest-stage:before{content:"";position:absolute;inset:12% 4%;background:rgba(255,255,255,.07);filter:blur(30px);border-radius:50%}.crest-stage img{position:relative;filter:drop-shadow(0 22px 22px rgba(0,0,0,.25))}.quick-strip{background:#17182f;color:#fff}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr)}.quick-grid>div{padding:24px 30px;border-right:1px solid rgba(255,255,255,.12);display:flex;gap:12px;align-items:baseline}.quick-grid>div:last-child{border:0}.quick-grid strong{font-size:22px}.quick-grid span{color:#c9cada}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section h2{font-size:clamp(30px,4vw,44px);margin:6px 0 22px}.news-layout{display:grid;grid-template-columns:1.35fr .85fr;gap:28px}.stack{display:grid;gap:16px}.subheading{margin:0 0 14px}.news-card h3,.event-card h3,.placeholder-card h3{margin:6px 0 8px}.news-card p,.event-card p,.placeholder-card p{margin-bottom:0}.meta{font-size:13px;color:var(--muted)}.event-card{display:grid;grid-template-columns:58px 1fr;gap:16px}.event-date{border-right:1px solid #e5e7eb;display:flex;flex-direction:column;justify-content:center}.event-date strong{font-size:28px}.event-date span{font-size:12px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:start}.lead{font-size:21px;line-height:1.55}.lead.small{font-size:17px;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.feature{background:#fff;border:1px solid #e2e4e9;border-radius:14px;padding:22px}.feature>span{color:var(--red);font-weight:800;font-size:13px}.feature h3{margin:10px 0 6px}.feature p{color:var(--muted);margin:0}.join{background:var(--red);color:#fff}.join-grid{display:grid;grid-template-columns:1fr 200px;gap:60px;align-items:center}.join h2{margin-top:6px}.join p{font-size:19px;max-width:720px}.join img{max-width:170px;filter:drop-shadow(0 15px 15px rgba(0,0,0,.18))}.btn.light{background:#fff;color:var(--red)!important}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-brand{display:flex;gap:15px;align-items:center}.footer-brand img{width:55px;height:66px;object-fit:contain}.footer-brand div{display:flex;flex-direction:column;gap:4px}.footer-brand span{color:#aeb0c0;font-size:14px}.footer-links{display:flex;gap:18px}.footer-links a,footer a{color:#fff;text-decoration:none}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:25px;padding-top:20px;display:flex;justify-content:space-between;color:#aeb0c0;font-size:14px}.legal{max-width:850px;margin:50px auto;padding:0 24px 70px}.legal h1{font-size:42px}.legal h2{margin-top:34px}.checklabel{display:flex;align-items:center;gap:8px;margin:2px 0 18px}.checklabel input{width:auto;margin:0}.content-admin{margin-bottom:18px}@media(max-width:760px){.home-hero{padding-top:58px}.quick-grid,.news-layout,.split,.feature-grid,.join-grid,.contact-grid{grid-template-columns:1fr}.quick-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.join img{display:none}.footer-grid,.footer-bottom{display:block}.footer-links{margin-top:24px;flex-wrap:wrap}.footer-bottom span{display:block;margin-top:8px}}
.post-image{width:100%;height:260px;object-fit:cover;border-radius:10px;margin-bottom:18px}.event-image{grid-column:1/-1;width:100%;height:180px;object-fit:cover;border-radius:10px}.admin-image{margin:8px 0 16px}.admin-image img{display:block;max-width:320px;max-height:220px;object-fit:cover;border-radius:10px;margin-bottom:10px}.contact-grid a{color:var(--navy)}
/* =========================================================
   FAHRZEUGE
   ========================================================= */

.vehicle-section {
    margin-top: 55px;
}

.vehicle-intro {
    margin-bottom: 28px;
}

.vehicle-intro h2 {
    margin: 6px 0 10px;
}

.vehicle-intro p {
    max-width: 760px;
    color: #667085;
}

.vehicle-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 28px;
}

.vehicle-card {
    background: #fff;
    border: 1px solid #e4e7ec;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 35px rgba(16, 24, 40, 0.08);
    transition: transform .2s ease, box-shadow .2s ease;
}

.vehicle-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 45px rgba(16, 24, 40, 0.13);
}

.vehicle-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #202544;
}

.vehicle-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.vehicle-content {
    padding: 24px;
}

.vehicle-call {
    display: inline-block;
    margin-bottom: 12px;
    padding: 6px 11px;
    border-radius: 999px;
    background: #202544;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
}

.vehicle-content h3 {
    margin: 0 0 4px;
    font-size: 26px;
    color: #101828;
}

.vehicle-type {
    margin: 0 0 15px;
    color: #d4202f;
    font-weight: 700;
}

.vehicle-content p {
    line-height: 1.6;
}

.vehicle-data {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 18px;
}

.vehicle-data span {
    padding: 12px;
    border-radius: 10px;
    background: #f4f5f7;
    color: #344054;
    font-size: 14px;
}

.vehicle-data strong {
    display: block;
    color: #101828;
    font-size: 17px;
}

.station-call {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 24px;
    padding: 20px 24px;
    background: #202544;
    color: #fff;
    border-radius: 14px;
}

.station-call strong {
    font-size: 18px;
}

.station-call span {
    opacity: .85;
}

/* Tablet */
@media (max-width: 900px) {
    .vehicle-grid {
        grid-template-columns: 1fr 1fr;
    }

    .vehicle-card:first-child {
        grid-column: 1 / -1;
    }
}

/* Smartphone */
@media (max-width: 650px) {
    .vehicle-section {
        margin-top: 40px;
    }

    .vehicle-grid {
        grid-template-columns: 1fr;
    }

    .vehicle-card:first-child {
        grid-column: auto;
    }

    .vehicle-content {
        padding: 20px;
    }

    .station-call {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
}
.team-photo {
    margin: 42px 0 55px;
}

.team-photo img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 650px;
    object-fit: cover;
    object-position: center;
    border-radius: 18px;
}

.team-photo-caption {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 14px;
}

.team-photo-caption strong {
    font-size: 1.05rem;
}

@media (max-width: 700px) {
    .team-photo {
        margin: 30px 0 42px;
    }

    .team-photo img {
        border-radius: 12px;
        max-height: none;
    }

    .team-photo-caption {
        display: block;
    }

    .team-photo-caption strong {
        display: block;
        margin-top: 5px;
    }
    .calendar-more-link {
    display: inline-flex;
    align-items: center;
    margin-top: 6px;
    color: #102a43;
    font-weight: 700;
    text-decoration: none;
}

.calendar-more-link:hover {
    color: #d9232e;
    text-decoration: underline;
}
}
/* Einsatzberichte auf der Startseite */

.incidents-home {
    background: #fff;
}

.home-incidents-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.home-incident-card {
    padding: 0;
    overflow: hidden;
}

.home-incident-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 240px;
    background: #eef1f4;
    overflow: hidden;
}

.home-incident-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.home-incident-content {
    padding: 22px 24px 25px;
}

.home-incident-type {
    display: inline-block;
    margin: 8px 0 4px;
    color: #d9232e;
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.home-incident-card h3 {
    margin: 6px 0 10px;
}

.home-incident-card h3 a {
    color: #102a43;
    text-decoration: none;
}

.home-incident-card h3 a:hover {
    color: #d9232e;
}

.home-incident-location {
    margin: 0 0 8px;
}

.home-incident-text {
    margin: 0;
    line-height: 1.55;
}

@media(max-width: 700px) {
    .home-incidents-grid {
        grid-template-columns: 1fr;
    }

    .home-incident-image {
        height: 220px;
    }
}
.home-incidents-more {
    margin-top: 18px;
}
@media(max-width:1100px){
    .site-header .nav{
        position:relative;
        display:flex;
        align-items:center;
        flex-wrap:wrap;
        min-height:76px;
        padding:12px 16px;
        gap:10px;
    }

    .site-header .brand{
        min-width:0;
        flex:1 1 0;
        gap:10px;
    }

    .site-header .brand img{
        width:42px;
        height:50px;
        flex:0 0 auto;
    }

    .site-header .brand span{
        font-size:14px;
        line-height:1.25;
    }

    .menu-toggle{
        display:flex;
        align-items:center;
        justify-content:center;
        flex:0 0 46px;
        margin-left:auto;
    }

    .site-header .navlinks{
        display:none;
        flex:0 0 100%;
        width:100%;
        margin:4px 0 0;
        padding:10px 0 4px;
        flex-direction:column;
        align-items:stretch;
        gap:4px;
    }

    .site-header .navlinks.mobile-open{
        display:flex;
    }

    .site-header .navlinks a,
    .site-header .navlinks a:not(.nav-login){
        display:block;
        width:100%;
        padding:11px 12px;
        border-radius:7px;
        box-sizing:border-box;
    }

    .site-header .navlinks a:hover{
        background:rgba(255,255,255,.08);
    }

    .site-header .navlinks .nav-login{
        margin-top:6px;
        padding:12px 16px;
        text-align:center;
    }
}
