/* pages.css - specific page tweaks */
.about p {
    color: var(--muted);
    line-height: 1.7
}

.cards-grid .card {
    min-height: 145px
}

.contact-list {
    padding: 0;
    list-style: none
}

.contact-list li {
    margin: 0.35rem 0;
    color: var(--muted)
}

.contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.25rem
}

.page:not(.legal-page) > section {
    max-width: 760px;
    padding: clamp(1.5rem, 5vw, 2.5rem);
    border: 1px solid var(--border);
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(232, 243, 236, 0.64), rgba(234, 243, 240, 0.7));
    box-shadow: 0 18px 45px rgba(23, 25, 27, 0.07)
}

.page:not(.legal-page) > section p:not(.section-kicker) {
    color: var(--muted);
    line-height: 1.7
}

.legal-page {
    max-width: 900px;
    line-height: 1.72;
    overflow-wrap: break-word;
    scroll-margin-top: 6rem
}

.legal-skip-link {
    position: fixed;
    top: 1rem;
    left: 1rem;
    z-index: 1000;
    padding: 0.75rem 1rem;
    color: var(--foreground);
    background: var(--surface);
    border: 2px solid var(--accent);
    border-radius: var(--radius);
    transform: translateY(-200%)
}

.legal-skip-link:focus {
    transform: translateY(0)
}

.legal-steps {
    padding-left: 1.5rem
}

.legal-steps li + li {
    margin-top: 0.75rem
}

.legal-page > p:first-of-type {
    max-width: 780px;
    font-size: 1.04rem
}

.legal-page section {
    scroll-margin-top: 6rem;
    margin-top: 1rem;
    padding: clamp(1.35rem, 4vw, 2rem);
    border: 1px solid var(--border);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.84)
}

.legal-page h2 {
    margin-bottom: 0.75rem;
    font-size: clamp(1.35rem, 4vw, 1.8rem)
}

.legal-page h3 {
    margin: 1.5rem 0 0.5rem;
    color: var(--foreground);
    font-size: 1.05rem
}

.legal-page p,
.legal-page li,
.legal-page dd {
    color: var(--muted)
}

.legal-definitions {
    margin: 1.25rem 0
}

.legal-definitions dt {
    margin-top: 1.25rem;
    color: var(--foreground);
    font-weight: 700
}

.legal-definitions dd {
    margin: 0.35rem 0 0;
    padding-left: 1rem;
    border-left: 3px solid rgba(0, 107, 133, 0.3)
}

.legal-page a {
    color: var(--accent);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px
}

.legal-toc {
    margin: 2rem 0;
    padding: 1.35rem;
    border: 1px solid rgba(0, 107, 133, 0.15);
    border-radius: var(--radius);
    background: linear-gradient(135deg, var(--tint), var(--tint-secondary))
}

.legal-toc ul {
    margin: 0.75rem 0 0;
    padding-left: 1.25rem
}

.legal-toc li + li {
    margin-top: 0.35rem
}

.notfound {
    height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center
}

.notfound h1 {
    margin: 0;
    color: var(--accent);
    font-size: 4rem
}

[data-theme="dark"] .page:not(.legal-page) > section {
    background: linear-gradient(135deg, rgba(33, 54, 49, 0.88), rgba(33, 54, 49, 0.78));
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.2)
}

[data-theme="dark"] .legal-page section {
    background: rgba(34, 41, 42, 0.88)
}

[data-theme="dark"] .legal-toc {
    border-color: rgba(103, 212, 229, 0.18)
}
