/* Defund ASUW — extends Tufte CSS */

.site-nav {
    display: flex;
    gap: 2rem;
    padding-top: 2rem;
    font-size: 1.1rem;
    font-variant: small-caps;
    letter-spacing: 0.05em;
}

.site-nav a {
    text-decoration: none;
}

h1 {
    margin-top: 2rem;
    margin-bottom: 0.5rem;
}

h1 a {
    text-decoration: none;
}

.kicker {
    font-style: italic;
}

/* ── Hero image ── */
.hero-image {
    float: right;
    width: 35%;
    max-width: 300px;
    margin: 0 20px 1rem 2rem;
}

.hero-image img {
    width: 100%;
    display: block;
}

.hero-image figcaption {
    float: none;
    max-width: 100%;
    margin-top: 0.5rem;
    font-size: 1rem;
    color: #888;
}

/* ── Job listings ── */
.job-listing {
    width: 55%;
    margin-top: 2rem;
    margin-bottom: 0;
    padding-top: 1.5rem;
    border-top: 1px solid #ccc;
}

.job-listing h3 {
    font-style: normal;
    margin-top: 0;
    margin-bottom: 0.3rem;
}

.job-meta {
    font-size: 1.1rem;
    color: #777;
    margin-top: 0;
    margin-bottom: 0;
    font-style: italic;
}

.job-listing em {
    font-variant: small-caps;
    font-style: normal;
    letter-spacing: 0.03em;
}

/* ── Application form ── */
.application-form {
    width: 55%;
}

.application-form label {
    display: block;
    font-size: 1.1rem;
    margin-top: 1.4rem;
    margin-bottom: 0.3rem;
}

.application-form input,
.application-form textarea {
    display: block;
    width: 100%;
    font-family: inherit;
    font-size: 1.1rem;
    padding: 0.5rem;
    border: 1px solid #ccc;
    background: inherit;
    color: inherit;
}

.application-form textarea {
    resize: vertical;
}

.application-form button {
    display: block;
    margin-top: 1.5rem;
    font-family: inherit;
    font-size: 1.1rem;
    font-variant: small-caps;
    letter-spacing: 0.05em;
    padding: 0.6rem 2rem;
    border: 1px solid #111;
    background: none;
    color: inherit;
    cursor: pointer;
}

@media (prefers-color-scheme: dark) {
    .application-form input,
    .application-form textarea {
        border-color: #444;
    }
    .application-form button {
        border-color: #ddd;
    }
}

/* ── Footer ── */
.site-footer {
    margin-top: 4rem;
    padding-bottom: 4rem;
}

.site-footer p {
    font-size: 1.1rem;
    color: #888;
    line-height: 1.6;
}

@media (prefers-color-scheme: dark) {
    .job-listing {
        border-top-color: #333;
    }
    .job-meta {
        color: #888;
    }
}

@media (max-width: 760px) {
    .hero-image {
        display: none;
    }
    .job-listing {
        width: 100%;
    }
    .application-form {
        width: 100%;
    }
}
