.edu-portal {
    --edu-green: #104c39;
    --edu-ink: #202d26;
    --edu-muted: #515d55;
    --edu-border: #dedbcc;
    max-width: 49rem;
    margin: 1.25rem auto 2.5rem;
    color: var(--edu-ink);
    background: #faf8f0;
    border: 1px solid var(--edu-border);
    border-radius: 1.5rem;
    overflow: hidden;
    font-size: 1.15rem;
}
.edu-hero {
    padding: clamp(1.35rem, 5vw, 2.5rem);
    background: #f5efdc;
    border-bottom: 1px solid var(--edu-border);
    color: var(--edu-green);
}
.edu-kicker {
    display: inline-block;
    margin-bottom: .6rem;
    color: #5d4b24;
    font-size: .95rem;
    font-weight: bold;
}
.edu-hero h2 {
    margin: 0;
    font-size: clamp(1.9rem, 6vw, 2.9rem);
    line-height: 1.24;
    font-weight: bold;
}
.edu-hero p { margin: .65rem 0 0; color: #725920; }
.edu-card, .edu-errors {
    margin: clamp(.7rem, 3vw, 1.5rem);
    padding: clamp(1rem, 4vw, 1.85rem);
    background: #fff;
    border: 1px solid var(--edu-border);
    border-radius: 1.4rem;
    box-shadow: 0 6px 20px #30280c0a;
    scroll-margin-top: 5rem;
}
.edu-card h3 { margin: 0 0 .45rem; font-size: 1.55rem; font-weight: bold; color: var(--edu-green); }
.edu-card p { margin: .3rem 0; }
.edu-errors { background: #fff0ed; color: #8c2f22; list-style: disc inside; }
.edu-benefits, .edu-openings { display: grid; gap: .65rem; margin: 1rem 0; }
.edu-benefits li {
    display: flex;
    gap: .65rem;
    padding: .8rem 1rem;
    border-radius: .85rem;
    background: #e2eee6;
    color: #184b37;
}
.edu-openings li { padding: .75rem 0; border-bottom: 1px solid var(--edu-border); }
.edu-openings li:last-child { border-bottom: 0; }
.edu-form { display: grid; gap: 1.2rem; margin-top: 1.15rem; }
.edu-form label, .edu-form legend { display: block; font-weight: bold; }
.edu-form label small, .edu-form legend small, .edu-help { color: var(--edu-muted); font-weight: normal; }
.edu-form label > input:not([type=checkbox]):not([type=radio]), .edu-form textarea {
    width: 100%;
    display: block;
    box-sizing: border-box;
    border: 1px solid #c9c7b5;
    border-radius: .8rem;
    padding: .65rem .8rem;
    margin-top: .35rem;
    background: #fcfbf6;
    color: var(--edu-ink);
}
.edu-form input:focus, .edu-form textarea:focus, .edu-button:focus-visible {
    outline: 2px solid #237755;
    outline-offset: 3px;
}
.edu-form input[type=radio], .edu-form input[type=checkbox] {
    accent-color: var(--edu-green);
    width: 1.15rem;
    height: 1.15rem;
    flex-shrink: 0;
}
.edu-form .edu-check { display: flex; align-items: center; gap: .7rem; font-weight: normal; }
.edu-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin-top: .55rem; }
.edu-options .edu-choice {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .6rem .7rem;
    border: 1px solid #c9c7b5;
    border-radius: .8rem;
    background: #fcfbf6;
    color: var(--edu-green);
    cursor: pointer;
}
.edu-choice:has(input:checked) { border-color: var(--edu-green); background: #e7f1e9; }
.edu-choice small { display: block; line-height: 1.3; }
.edu-wide { grid-column: 1 / -1; }
.edu-options .edu-unspecified { order: 1; background: #fff; border-color: transparent; padding-block: .1rem; font-size: .93rem; font-weight: normal; }
.edu-button {
    background: var(--edu-green);
    color: #fff;
    border: 0;
    border-radius: .75rem;
    padding: .65rem 1rem;
    font: inherit;
    font-weight: bold;
    cursor: pointer;
}
.edu-button:hover { background: #0c3c2d; }
.edu-submit { width: 100%; font-size: 1.3rem; }
.edu-card a, .edu-contact a { color: var(--edu-green); text-decoration: underline; text-underline-offset: .2em; }
.edu-contact { margin: 1rem; text-align: center; }
.edu-contact a { font-weight: bold; }
.edu-code { display: block; font: 600 1rem/1.4 ui-monospace, monospace; overflow-wrap: anywhere; }
.edu-pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.edu-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 1rem; }
@media print {
    body * { visibility: hidden; }
    .edu-receipt, .edu-receipt * { visibility: visible; }
    .edu-receipt { position: absolute; top: 0; left: 0; right: 0; box-shadow: none; }
    .edu-receipt .edu-no-print, .edu-receipt .edu-no-print * { display: none; }
}
