
.legal-main {
    min-height: 70vh;
}

.legal-hero {
    padding:
        92px
        0
        48px;

    border-bottom:
        1px solid
        var(--border);
}

.legal-hero h1 {
    margin:
        12px
        0
        18px;

    font-size:
        clamp(
            44px,
            7vw,
            72px
        );

    line-height: 1;

    letter-spacing: -.055em;
}

.legal-hero p {
    max-width: 720px;

    margin: 0;

    color: var(--muted);

    font-size: 18px;
}

.legal-section {
    padding:
        64px
        0
        100px;
}

.legal-layout {
    display: grid;

    grid-template-columns:
        minmax(0, 820px);

    justify-content: center;
}

.legal-content {
    color: #c1cad6;
}

.legal-content h2 {
    margin:
        55px
        0
        15px;

    color: var(--text);

    font-size: 26px;

    letter-spacing: -.035em;
}

.legal-content h2:first-child {
    margin-top: 0;
}

.legal-content h3 {
    margin:
        32px
        0
        10px;

    color: #e1e7ee;

    font-size: 17px;
}

.legal-content p {
    margin:
        0
        0
        17px;

    line-height: 1.78;
}

.legal-content ul {
    margin:
        0
        0
        22px;

    padding-left: 22px;
}

.legal-content li {
    margin:
        8px
        0;
}

.legal-content a {
    color: var(--green);

    text-decoration: underline;

    text-decoration-color:
        rgba(101,226,154,.35);

    text-underline-offset: 3px;
}

.legal-content code {
    padding:
        2px
        6px;

    border:
        1px solid
        var(--border);

    border-radius: 6px;

    background:
        rgba(255,255,255,.025);

    color: #dce5ee;
}

.legal-card,
.legal-callout,
.legal-note {
    padding:
        22px
        24px;

    border:
        1px solid
        var(--border);

    border-radius: 15px;

    background:
        linear-gradient(
            155deg,
            rgba(16,26,41,.74),
            rgba(8,14,23,.78)
        );
}

.legal-card {
    margin:
        16px
        0
        24px;
}

.legal-contact {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0,1fr));

    gap:
        15px
        30px;
}

.legal-contact p {
    margin: 0;
}

.legal-callout {
    margin-bottom: 42px;

    border-color:
        var(--green-border);

    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(101,226,154,.08),
            transparent 35%
        ),
        rgba(13,21,33,.75);
}

.legal-callout > strong {
    display: block;

    margin-bottom: 8px;

    color: var(--green);

    font-size: 13px;

    text-transform: uppercase;

    letter-spacing: .08em;
}

.legal-callout p {
    margin: 0;
}

.legal-callout.important > strong {
    font-size: 14px;
}

.legal-note {
    margin:
        25px
        0;

    color: #aab6c5;
}

.legal-updated {
    margin-top: 70px;

    padding-top: 22px;

    border-top:
        1px solid
        var(--border);

    color: var(--dim);

    font-size: 11px;

    text-transform: uppercase;

    letter-spacing: .06em;
}

.legal-content hr {
    margin:
        65px
        0;

    border: 0;

    border-top:
        1px solid
        var(--border);
}

/* Hauptseite hat jetzt vier Footer-Spalten. */
.footer-grid {
    grid-template-columns:
        1.4fr
        .65fr
        .8fr
        .85fr;
}

.footer-meta {
    grid-column:
        1 / -1;
}

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

    .footer-meta {
        grid-column:
            1 / -1;
    }
}

@media (max-width: 720px) {
    .legal-hero {
        padding-top: 65px;
    }

    .legal-section {
        padding-top: 45px;
    }

    .legal-contact {
        grid-template-columns: 1fr;
    }

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

    .footer-meta {
        grid-column: auto;
    }
}
