:root {
    --bg:#07111f;
    --panel:#0d1b2f;
    --panel2:#13233b;
    --text:#edf2f7;
    --muted:#9fb0c7;
    --line:#24364f;
    --accent:#fca311;
    --danger:#ef4444;
    --ok:#22c55e
}

* {
    box-sizing:border-box
}

body  {

    margin:0;
    color:var(--text);
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    background:linear-gradient(rgba(7,17,31,.42),rgba(3,7,18,.48)),url("../img/background.png");
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    background-attachment:fixed;
    min-height:100vh
}


.topbar  {

    position:sticky;
    top:0;
    z-index:5;
    display:flex;
    gap:16px;
    align-items:center;
    justify-content:space-between;
    padding:14px 22px;
    background: rgba(3,7,18,.52);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line)
}


.brand  {

    font-weight:800;
    color:#fff;
    text-decoration:none;
    font-size:1.1rem
}


.brand span  {

    font-size:.75rem;
    color:var(--accent);
    margin-left:6px
}


nav a,.button,button {
    color:#08111f;
    background:var(--accent);
    text-decoration:none;
    border:0;
    border-radius:999px;
    padding:9px 13px;
    font-weight:700;
    cursor:pointer
}

nav a {
    background:transparent;
    color:var(--text);
    border:1px solid transparent
}

nav a:hover {
    border-color:var(--line);
    background:var(--panel)
}

.container {
    width:min(1180px,94vw);
    margin:28px auto 48px
}

.footer {
    text-align:center;
    color:var(--muted);
    padding:24px
}

.hero,.card,.game,.team-card {
    background:linear-gradient(180deg,rgba(19,35,59,.95),rgba(13,27,47,.95));
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:0 18px 50px rgba(0,0,0,.22)
}

.hero {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding:20px;
    margin-bottom:18px
}

.hero span,.game-meta,.team-card span,.footer {
    color:var(--muted)
}

h1 {
    font-size:clamp(1.7rem,4vw,2.6rem);
    margin:0 0 18px
}

h2 {
    margin-top:0
}

.games {
    display:grid;
    gap:14px
}

.game {
    padding:14px 16px
}

.game.favorite,.team-card.favorite {
    border-color:var(--accent);
    box-shadow:0 0 0 1px rgba(252,163,17,.45),0 18px 50px rgba(252,163,17,.10)
}

.game-meta {
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
    margin-bottom:10px
}

.badge {
    background:rgba(252,163,17,.16);
    color:#ffd27a;
    border:1px solid rgba(252,163,17,.6);
    padding:4px 9px;
    border-radius:999px;
    font-weight:800
}

.matchup {
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:10px
}

.team {
    display:flex;
    align-items:center;
    gap:12px
}

.team:last-child {
    justify-content:flex-end;
    text-align:right
}

.team img,.team-card img {
    width:48px;
    height:48px;
    object-fit:contain
}

.team strong {
    font-size:1.45rem
}

.at {
    color:var(--muted);
    font-weight:900
}

.filters,.form {
    display:flex;
    gap:12px;
    align-items:end;
    flex-wrap:wrap;
    margin:0 0 18px
}

.filters label,.form label {
    display:grid;
    gap:5px;
    color:var(--muted)
}

input,select {
    background:#081528;
    color:var(--text);
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px
}

.check {
    display:flex!important;
    grid-auto-flow:column;
    align-items:center
}

.team-grid,.admin-grid,.standings,.playoff-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:14px
}

.team-card {
    padding:16px;
    display:grid;
    place-items:center;
    text-align:center;
    gap:8px
}

.team-card img {
    width:76px;
    height:76px
}

.selectable {
    cursor:pointer
}

.selectable input {
    accent-color:#fca311
}

.wide {
    grid-column:1/-1
}

.card {
    padding:18px
}

.narrow {
    max-width:460px;
    margin:auto
}

.alert {
    background:rgba(239,68,68,.15);
    border:1px solid rgba(239,68,68,.45);
    padding:10px;
    border-radius:12px;
    margin-bottom:12px
}

table {
    width:100%;
    border-collapse:collapse
}

td,th {
    border-bottom:1px solid var(--line);
    padding:8px;
    text-align:left
}

code {
    display:block;
    white-space:pre-wrap;
    background:#07111f;
    border:1px solid var(--line);
    border-radius:12px;
    padding:12px;
    color:#ffd27a
}

@media(max-width:720px) {
    .topbar {
        align-items:flex-start;
        flex-direction:column
    }

.hero {
        align-items:flex-start;
        flex-direction:column
    }

.matchup {
        grid-template-columns:1fr
    }

.at {
        display:none
    }

.team:last-child {
        justify-content:flex-start;
        text-align:left
    }

.team strong {
        margin-left:auto
    }

}


.actions {
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center
}

.button.muted {
    background:#1f2d44;
    color:var(--text);
    border:1px solid var(--line)
}


.season-separator {
    display:flex;
    align-items:center;
    gap:14px;
    margin:10px 0 2px;
    color:#ffd27a;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em
}

.season-separator:before,.season-separator:after {
    content:"";
    height:1px;
    background:linear-gradient(90deg,transparent,var(--accent),transparent);
    flex:1
}

.season-separator span {
    background:rgba(252,163,17,.12);
    border:1px solid rgba(252,163,17,.45);
    border-radius:999px;
    padding:6px 12px
}

.game-venue {
    color:#cbd5e1;
    font-size:.95rem;
    margin:-2px 0 12px 0
}


/* NFL_3.0 Teamzentrale */

.team-hero {
    display:flex;
    gap:1.2rem;
    align-items:center;
    background:linear-gradient(135deg,rgba(252,163,17,.12),rgba(255,255,255,.04));
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    padding:1.2rem;
    margin-bottom:1rem
}


.team-hero img {
    width:110px;
    height:110px;
    object-fit:contain
}

.team-hero h2 {
    margin:.1rem 0
}

.team-hero.favorite {
    border-color:#fca311;
    box-shadow:0 0 0 1px rgba(252,163,17,.25)
}


.panel {
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    padding:1rem;
    margin:1rem 0
}

.section-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem
}

.button.small {
    padding:.45rem .7rem;
    font-size:.9rem
}

.pill {
    display:inline-block;
    padding:.25rem .55rem;
    border-radius:999px;
    background:rgba(255,255,255,.10)
}

.pill.fav {
    background:rgba(252,163,17,.18);
    border:1px solid rgba(252,163,17,.35)
}


.roster-groups {
    display:grid;
    gap:1rem
}

.roster-group h3 {
    margin:.5rem 0
}

.player-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
    gap:.75rem
}

.player-card {
    display:flex;
    gap:.75rem;
    align-items:center;
    background:rgba(0,0,0,.18);
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    padding:.65rem
}

.player-card img {
    width:56px;
    height:56px;
    border-radius:50%;
    object-fit:cover;
    background:#14213d
}

.player-card span,.player-card small {
    display:block;
    color:#aab3c5
}

.team-card a {
    color:inherit;
    text-decoration:none
}

.team-card a:hover {
    text-decoration:underline
}


@media(max-width:640px) {
    .team-hero {
        align-items:flex-start
    }

.team-hero img {
        width:82px;
        height:82px
    }

.section-head {
        align-items:flex-start;
        flex-direction:column
    }

.player-grid {
        grid-template-columns:1fr
    }

}


/* NFL_3.1 Team-Roster-Sync */

.notice {
    background:rgba(34,197,94,.14);
    border:1px solid rgba(34,197,94,.45);
    color:#bbf7d0;
    border-radius:12px;
    padding:.65rem .8rem
}

.roster-units {
    display:grid;
    gap:1.3rem
}

.roster-unit {
    display:grid;
    gap:.75rem
}

.roster-unit-title {
    display:flex;
    align-items:center;
    gap:14px;
    margin:.2rem 0;
    color:#ffd27a;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em
}

.roster-unit-title:before,.roster-unit-title:after {
    content:"";
    height:1px;
    background:linear-gradient(90deg,transparent,var(--accent),transparent);
    flex:1
}

.roster-unit-title span {
    background:rgba(252,163,17,.12);
    border:1px solid rgba(252,163,17,.45);
    border-radius:999px;
    padding:6px 12px
}

.roster-group {
    display:grid;
    gap:.45rem
}

.roster-group h3 {
    color:#e5e7eb;
    border-bottom:1px solid rgba(255,255,255,.10);
    padding-bottom:.35rem
}


/* NFL_3.2 Depth Chart */

.depth-chart-panel {
    overflow:hidden
}

.depth-units {
    display:grid;
    gap:1.6rem
}

.depth-position-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:1rem
}

.depth-position-card {
    background:rgba(0,0,0,.18);
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding:1rem;
    box-shadow:0 10px 30px rgba(0,0,0,.15)
}

.depth-position-card h3 {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:0 0 .75rem;
    color:#f8fafc;
    border-bottom:1px solid rgba(255,255,255,.10);
    padding-bottom:.5rem
}

.depth-position-card h3 span {
    font-size:.78rem;
    color:#ffd27a;
    background:rgba(252,163,17,.12);
    border:1px solid rgba(252,163,17,.35);
    border-radius:999px;
    padding:.15rem .45rem
}

.depth-player-list {
    display:grid;
    gap:.55rem
}

.depth-player {
    display:grid;
    grid-template-columns:48px 48px 1fr auto;
    align-items:center;
    gap:.65rem;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.07);
    border-radius:14px;
    padding:.55rem
}

.depth-player img {
    width:48px;
    height:48px;
    border-radius:50%;
    object-fit:cover;
    background:#14213d
}

.depth-rank {
    font-weight:900;
    color:#0b1020;
    background:linear-gradient(135deg,#ffd27a,#fca311);
    border-radius:12px;
    text-align:center;
    padding:.35rem .25rem;
    min-width:42px
}

.depth-player-main strong {
    display:block;
    color:#fff
}

.depth-player-main span,.depth-player small {
    display:block;
    color:#aab3c5
}

.depth-player small {
    text-align:right;
    white-space:nowrap
}

@media (max-width:700px) {
    .depth-position-grid {
        grid-template-columns:1fr
    }

.depth-player {
        grid-template-columns:44px 44px 1fr
    }

.depth-player small {
        grid-column:3;
        text-align:left
    }

.depth-rank {
        min-width:38px
    }

.depth-player img {
        width:44px;
        height:44px
    }

}


.muted {
    color:var(--muted)
}


.login-register-hint a,.terms-check a {
    color:var(--accent);
    font-weight:800;
    text-decoration:none
}

.login-register-hint a:hover,.terms-check a:hover {
    text-decoration:underline
}

.register-form {
    align-items:stretch
}

.register-form label {
    width:100%
}

.terms-check {
    display:flex!important;
    grid-auto-flow:unset;
    grid-template-columns:auto 1fr;
    align-items:flex-start;
    color:var(--text);
    gap:.6rem
}

.terms-check input {
    margin-top:.18rem
}

.terms-check span {
    line-height:1.35
}


.injury-status {

    color:#ffbf1a;
    font-style:normal;
    font-weight:800;
}


.injuries-panel {
    margin-top:18px;
}


.injury-list {
    display:grid;
    gap:10px;
}


.injury-item {

    display:grid;
    grid-template-columns:44px 1fr;
    gap:12px;
    align-items:start;
    padding:12px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    background:rgba(255,255,255,.035);
}


.injury-item img {
    width:44px;
    height:44px;
    border-radius:50%;
    object-fit:cover;
    background:#fff;
}


.injury-item p {
    margin:6px 0 0;
    color:#aeb9c9;
    font-size:.94rem;
    line-height:1.35;
}


.injury-dot {
    display:inline-block;
    width:9px;
    height:9px;
    border-radius:50%;
    background:#ffbf1a;
    margin:0 4px 0 2px;
    vertical-align:middle;
}


.small {
    font-size:.85rem;
}


/* NFL 3.5 - 14-Team-Playoff-Bracket */

.playoff-page {
    display:grid;
    gap:22px
}

.playoff-info {
    line-height:1.55
}

.po-conference {
    background:linear-gradient(180deg,rgba(19,35,59,.95),rgba(13,27,47,.95));
    border:1px solid var(--line);
    border-radius:20px;
    padding:18px;
    box-shadow:0 18px 50px rgba(0,0,0,.22)
}

.po-conference.afc {
    border-color:rgba(210,31,53,.45)
}

.po-conference.nfc {
    border-color:rgba(0,72,130,.55)
}

.po-conference-head {
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:18px
}

.po-conference-head h2 {
    margin:0
}

.po-conference-head p {
    margin:4px 0 0;
    color:var(--muted)
}

.po-conf-logo {
    display:grid;
    place-items:center;
    min-width:86px;
    height:58px;
    border-radius:16px;
    background:#081528;
    border:1px solid var(--line);
    font-weight:1000;
    font-size:1.7rem;
    letter-spacing:.04em
}

.afc .po-conf-logo {
    color:#ff6b7b
}

.nfc .po-conf-logo {
    color:#7bbcff
}

.po-bracket {
    display:grid;
    grid-template-columns:1.15fr 1.05fr 1fr .85fr;
    gap:14px;
    align-items:start;
    overflow-x:auto;
    padding-bottom:4px
}

.po-round {
    min-width:230px;
    display:grid;
    gap:12px
}

.po-round h3 {
    margin:0 0 2px;
    color:#ffd27a;
    font-size:1rem
}

.po-game {
    background:#081528;
    border:1px solid var(--line);
    border-radius:16px;
    padding:12px;
    display:grid;
    gap:8px;
    min-height:108px
}

.po-game-title {
    font-weight:900;
    color:var(--muted);
    font-size:.88rem
}

.po-team {
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:8px;
    align-items:center;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.06);
    border-radius:12px;
    padding:8px
}

.po-seed {
    display:grid;
    place-items:center;
    width:34px;
    height:28px;
    border-radius:999px;
    background:rgba(252,163,17,.18);
    border:1px solid rgba(252,163,17,.5);
    color:#ffd27a;
    font-weight:1000
}

.po-label {
    font-weight:800
}

.po-type {
    font-size:.72rem;
    font-weight:1000;
    text-transform:uppercase;
    border-radius:999px;
    padding:4px 7px;
    color:#08111f;
    background:#9fb0c7
}

.po-type.dw,.po-type.bye {
    background:#fca311
}

.po-type.wc {
    background:#60a5fa
}

.po-type.re-seed {
    background:#a78bfa
}

.po-type.winner {
    background:#22c55e
}

.po-type.champion {
    background:#facc15
}

.po-note {
    color:var(--muted);
    font-size:.82rem;
    line-height:1.35
}

.po-champion-card {
    min-height:auto
}

.po-superbowl h2 {
    margin-bottom:14px
}

.po-superbowl-grid {
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:14px;
    align-items:center
}

.po-vs {
    font-size:1.4rem;
    font-weight:1000;
    color:#ffd27a
}

.po-round-final .po-game {
    border-color:rgba(250,204,21,.4)
}

@media(max-width:900px) {
    .po-bracket {
        grid-template-columns:1fr
    }

.po-round {
        min-width:0
    }

.po-superbowl-grid {
        grid-template-columns:1fr
    }

.po-vs {
        text-align:center
    }

.po-conference-head {
        align-items:flex-start;
        flex-direction:column
    }

.po-conf-logo {
        width:86px
    }

}


/* NFL 3.5.2 - Teamkopf und Records */

.team-hero-main {
    display:grid;
    gap:.55rem
}

.team-division-label {
    margin:0;
    color:#ffd27a;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em
}

.team-hero h2 span {
    color:var(--muted);
    font-size:.9em
}

.team-records {
    display:grid;
    grid-template-columns:repeat(3,minmax(110px,1fr));
    gap:.65rem;
    margin:.25rem 0 .35rem
}

.team-records div {
    background:rgba(0,0,0,.18);
    border:1px solid rgba(255,255,255,.09);
    border-radius:14px;
    padding:.6rem .7rem
}

.team-records span {
    display:block;
    color:var(--muted);
    font-size:.78rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em
}

.team-records strong {
    display:block;
    color:#fff;
    font-size:1.2rem;
    margin-top:.15rem
}

@media(max-width:640px) {
    .team-records {
        grid-template-columns:1fr
    }

.team-hero-main {
        width:100%
    }

}


/* NFL_3.5.3: Team-News und bereinigte Verletztenbox */

.team-news-list,
.injury-list  {

    display: grid;
    gap: 10px;
}


.team-news-item,
.injury-item  {

    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 12px;
    align-items: flex-start;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
}


.team-news-item img,
.injury-item img  {

    width: 42px;
    height: 42px;
    object-fit: cover;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
}


.team-news-item p,
.injury-item p  {

    margin: 6px 0 0;
    line-height: 1.35;
}


.team-news-item details  {

    margin-top: 8px;
    color: var(--muted);
}


.team-news-item summary  {

    cursor: pointer;
    font-size: .88rem;
}


/* NFL_3.5.6 - deutsche Injury-Badges, keine Fantasy-Interna */

.injury-badge {

    display:inline-flex;
    align-items:center;
    gap:.45rem;
    width:max-content;
    margin:.25rem 0 .2rem;
    padding:.22rem .58rem;
    border-radius:999px;
    font-weight:900;
    font-size:.88rem;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.06);
}


.injury-badge-dot {

    width:.62rem;
    height:.62rem;
    border-radius:999px;
    display:inline-block;
    box-shadow:0 0 0 2px rgba(255,255,255,.08);
}


.injury-badge-questionable .injury-badge-dot {
    background:#fbbf24;
}


.injury-badge-out .injury-badge-dot {
    background:#ef4444;
}


.injury-badge-doubtful .injury-badge-dot {
    background:#fb6a3d;
}


.injury-badge-ir .injury-badge-dot {
    background:#3b82f6;
}


.injury-badge-suspended .injury-badge-dot {
    background:#a855f7;
}


.injury-badge-questionable {
    color:#fde68a;
    border-color:rgba(251,191,36,.35);
    background:rgba(251,191,36,.10);
}


.injury-badge-out {
    color:#fecaca;
    border-color:rgba(239,68,68,.38);
    background:rgba(239,68,68,.10);
}


.injury-badge-doubtful {
    color:#fed7aa;
    border-color:rgba(251,106,61,.38);
    background:rgba(251,106,61,.10);
}


.injury-badge-ir {
    color:#bfdbfe;
    border-color:rgba(59,130,246,.38);
    background:rgba(59,130,246,.10);
}


.injury-badge-suspended {
    color:#e9d5ff;
    border-color:rgba(168,85,247,.38);
    background:rgba(168,85,247,.10);
}


.injury-dot {
    display:none;
}


/* NFL_3.5.6 - Spielstand mittig auf Desktop, mobile Ansicht bleibt zeilenweise */

.matchup.score-layout  {

    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 18px;
}


.score-layout .team  {

    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}


.score-layout .team.home  {

    grid-template-columns: minmax(0, 1fr) 48px;
    justify-content: stretch;
    text-align: right;
}


.score-layout .team img  {

    width: 48px;
    height: 48px;
}


.score-layout .team-text  {

    display: grid;
    gap: 2px;
    min-width: 0;
}


.score-layout .team-text strong  {

    font-size: 1rem;
    line-height: 1.15;
}


.score-layout .team-text small  {

    color: var(--muted);
    font-weight: 700;
}


.scoreline  {

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 110px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(0,0,0,.58);
    border: 1px solid rgba(255,255,255,.50);
    color: #fff;
    font-weight: 1000;
    font-size: 1.45rem;
    line-height: 1;
}


.scoreline span  {

    color: var(--muted);
    font-size: 1.1rem;
}


.team-score-mobile  {

    display: none;
}


@media(max-width:720px)  {

    .matchup.score-layout  {

        grid-template-columns: 1fr;
        gap: 12px;
    }


    .score-layout .scoreline  {

        display: none;
    }


    .score-layout .team,
    .score-layout .team.home  {

        display: grid;
        grid-template-columns: 48px minmax(0, 1fr) auto;
        justify-content: stretch;
        text-align: left;
    }


    .score-layout .team.home img  {

        grid-column: 1;
        grid-row: 1;
    }


    .score-layout .team.home .team-text  {

        grid-column: 2;
        grid-row: 1;
    }


    .score-layout .team-score-mobile  {

        display: block;
        grid-column: 3;
        grid-row: 1;
        align-self: center;
        font-size: 1.45rem;
    }


    .score-layout .team-text strong  {

        font-size: 1.1rem;
    }


    .score-layout .team-text small  {

        display: none;
    }

}

/* NFL 3.5.7: Tabellen nach Conferences gruppiert */
.conference-standings {
    display:grid;
    gap:32px;
}

.conference-section {
    min-width:0;
}

.conference-title {
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 14px;
    font-size:clamp(1.45rem,3vw,2rem);
}

.conference-logo {
    width:44px;
    height:44px;
    object-fit:contain;
    flex:0 0 44px;
}

.standings-conference {
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.standings-card {
    min-width:0;
}

.standings-card h3 {
    margin:0 0 14px;
    font-size:1.35rem;
}

.standings-table {
    table-layout:fixed;
}

.standings-table th:first-child,
.standings-table td:first-child {
    width:auto;
}

.standings-table th:not(:first-child),
.standings-table td:not(:first-child) {
    width:30px;
    text-align:center;
}

.standings-team {
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
}

.standings-team-logo {
    width:26px;
    height:26px;
    object-fit:contain;
    flex:0 0 26px;
}

.standings-team span {
    min-width:0;
    overflow-wrap:anywhere;
}

@media(max-width:1050px) {
    .standings-conference {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:600px) {
    .standings-conference {
        grid-template-columns:1fr;
    }
}

/* NFL 3.5.8: Teamhistorie und zentralisierte Versionsanzeige */
.team-hero {
    display:grid;
    grid-template-columns:110px minmax(0,1fr) minmax(300px,520px);
    align-items:center;
}

.team-history {
    align-self:stretch;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:1rem;
    padding:1rem 1.15rem;
    background:rgba(6,15,27,.52);
    border:1px solid rgba(255,255,255,.28);
    border-radius:18px;
    line-height:1.35;
}

.team-history p,
.team-history-group {
    margin:0;
}

.team-history-group strong,
.team-history-group span {
    display:block;
}

.team-history-group span {
    margin-top:.15rem;
    color:#f8fafc;
}

.team-history-note {
    padding-top:.75rem;
    border-top:1px solid rgba(255,255,255,.12);
    color:var(--muted);
    font-size:.9rem;
}

@media(max-width:980px) {
    .team-hero {
        grid-template-columns:90px minmax(0,1fr);
    }

    .team-hero > img {
        width:90px;
        height:90px;
    }

    .team-history {
        grid-column:1 / -1;
    }
}

@media(max-width:640px) {
    .team-hero {
        grid-template-columns:1fr;
        align-items:start;
    }

    .team-hero > img {
        width:88px;
        height:88px;
    }
}
