/* Impressum page styles */

.imp-main {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    padding: calc(var(--nav-height) + 4rem) 0 6rem;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(13, 13, 26, 0.8) 15%,
        rgba(13, 13, 26, 0.8) 85%,
        transparent
    );
}

.imp-container {
    max-width: 760px;
}

.imp-title {
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    margin-bottom: 3rem;
    background: var(--grad-text);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.imp-section {
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid var(--border);
}

.imp-section:last-of-type {
    border-bottom: none;
}

.imp-section h2 {
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--accent-cyan);
    margin-bottom: 1rem;
}

.imp-section h3 {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.78rem;
}

.imp-section p,
.imp-section address {
    color: var(--text-secondary);
    line-height: 1.8;
    font-style: normal;
    font-size: 0.975rem;
}

.imp-section p + p {
    margin-top: 0.75rem;
}

.imp-section a {
    color: var(--accent-cyan);
    text-decoration: none;
    border-bottom: 1px solid rgba(0, 212, 255, 0.3);
    transition: border-color var(--dur) var(--ease-out);
}

.imp-section a:hover,
.imp-section a:focus-visible {
    border-bottom-color: var(--accent-cyan);
}

.imp-back {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-top: 1rem;
    transition: color var(--dur) var(--ease-out),
                gap   var(--dur) var(--ease-out);
}

.imp-back svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    transition: transform var(--dur) var(--ease-out);
}

.imp-back:hover,
.imp-back:focus-visible {
    color: var(--text-primary);
    gap: 0.65rem;
}

.imp-back:hover svg,
.imp-back:focus-visible svg {
    transform: translateX(-3px);
}

/* active nav link */
.nav-links a[aria-current="page"] {
    color: var(--text-primary);
}
