/* Career alerts portal: section listings (/career-alerts, /events, …) and update pages (/updates/{slug}). */
.up-blue { --up-a: #1a49b8; --up-b: #2f74e0; --up-soft: #e8f0fd; --up-ink: #1a49b8; }
.up-indigo { --up-a: #3730a3; --up-b: #5b5bd6; --up-soft: #ecebfc; --up-ink: #3f3cbb; }
.up-violet { --up-a: #5b21b6; --up-b: #8b5cf6; --up-soft: #f1eafe; --up-ink: #6d28d9; }
.up-teal { --up-a: #0f6f6a; --up-b: #14a39a; --up-soft: #e3f6f4; --up-ink: #0f766e; }
.up-green { --up-a: #15693f; --up-b: #22a35f; --up-soft: #e5f6ec; --up-ink: #15803d; }
.up-amber { --up-a: #9a5300; --up-b: #e08a12; --up-soft: #fff3df; --up-ink: #a16207; }
.up-rose { --up-a: #9f1d48; --up-b: #e0477a; --up-soft: #fde8ef; --up-ink: #be185d; }

/* Hero */
.up-hero { color: #fff; background: linear-gradient(118deg, var(--up-a), var(--up-b)); padding: 30px 0 34px; position: relative; overflow: hidden; }
.up-hero::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 88% 18%, rgba(255, 255, 255, .16), transparent 40%); pointer-events: none; }
.up-hero .container { position: relative; z-index: 1; }
.up-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: var(--fs-nav); color: rgba(255, 255, 255, .78); }
.up-crumbs a { color: #fff; }
.up-crumbs-dark { color: var(--muted); margin: 22px 0 16px; }
.up-crumbs-dark a { color: var(--brand); }
.up-hero-row { display: flex; gap: 18px; align-items: center; margin: 18px 0 22px; }
.up-hero-icon { width: 64px; height: 64px; flex: none; border-radius: 18px; display: grid; place-items: center; font-size: 1.8rem; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .28); }
.up-hero h1 { margin: 0 0 6px; color: #fff; font-size: var(--fs-h1); letter-spacing: var(--ls-tight); }
.up-hero p { margin: 0; max-width: 720px; color: rgba(255, 255, 255, .9); font-size: var(--fs-base); }
.up-search { display: flex; gap: 8px; max-width: 640px; background: #fff; padding: 6px; border-radius: 12px; box-shadow: 0 10px 28px rgba(10, 30, 80, .2); }
.up-search input { flex: 1; min-width: 0; border: 0; outline: 0; padding: 10px 12px; font: inherit; color: var(--ink); background: transparent; }
.up-search:focus-within { box-shadow: 0 0 0 3px rgba(255, 255, 255, .55), 0 10px 28px rgba(10, 30, 80, .2); }

/* Section tabs */
.up-sections { background: #fff; border-bottom: 1px solid var(--line); position: sticky; top: 64px; z-index: 5; }
.up-sections .container { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.up-sections .container::-webkit-scrollbar { display: none; }
.up-sections a { white-space: nowrap; padding: 14px 12px; color: var(--ink-soft); font-weight: var(--fw-semibold); font-size: var(--fs-base); border-bottom: 2px solid transparent; }
.up-sections a:hover { color: var(--brand); text-decoration: none; }
.up-sections a.active { color: var(--brand); border-bottom-color: var(--brand); }

/* Toolbar, chips */
.up-page { padding-top: 24px; padding-bottom: 56px; }
.up-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.up-count { margin: 0; font-size: var(--fs-h2); display: flex; align-items: center; gap: 10px; }
.up-loading { display: none; font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--muted); }
.up-is-loading .up-loading { display: inline; }
.up-is-loading #up-results { opacity: .55; transition: opacity .15s; }
.up-selects { display: flex; gap: 8px; flex-wrap: wrap; }
.up-selects .input { width: auto; min-width: 150px; }
.up-chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0 4px; }
.up-chips a { display: inline-flex; gap: 6px; align-items: center; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--ink-soft); font-size: var(--fs-base); font-weight: var(--fw-medium); }
.up-chips a span { font-size: var(--fs-xs); color: var(--muted); }
.up-chips a:hover { border-color: var(--brand); color: var(--brand); text-decoration: none; }
.up-chips a.active { background: var(--brand); border-color: var(--brand); color: #fff; }
.up-chips a.active span { color: rgba(255, 255, 255, .8); }
.up-active { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 12px 0 0; color: var(--muted); }
.up-tag-x { background: var(--brand-soft); color: var(--brand-dark); border-radius: 999px; padding: 2px 10px; font-weight: var(--fw-medium); }
.up-tag-x:hover { text-decoration: none; background: #d7e6fd; }
.up-results { margin-top: 18px; }

/* Cards */
.up-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.up-card { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; box-shadow: var(--shadow); transition: transform .15s, border-color .15s; }
.up-card:hover { transform: translateY(-2px); border-color: #a9c6f5; }
.up-card:focus-within { outline: 3px solid #9cc0fa; outline-offset: 2px; }
.up-card-media { position: relative; aspect-ratio: 16 / 8; display: grid; place-items: center; background: linear-gradient(130deg, var(--up-a), var(--up-b)); color: #fff; overflow: hidden; }
.up-card-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.up-card-symbol { font-size: var(--fs-display); opacity: .9; }
.up-card-cat { position: absolute; left: 12px; top: 12px; background: rgba(255, 255, 255, .94); color: var(--ink); font-size: var(--fs-xs); font-weight: var(--fw-bold); padding: 3px 10px; border-radius: 999px; }
.up-card-body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; flex: 1; }
.up-card-date { margin: 0; font-size: var(--fs-base); color: var(--muted); }
.up-card h3 { margin: 0; font-size: var(--fs-h3); line-height: var(--lh-heading); }
.up-card h3 a { color: var(--ink); }
.up-card h3 a::after { content: ""; position: absolute; inset: 0; }
.up-card h3 a:focus { outline: none; }
.up-card-text { margin: 0; color: var(--ink-soft); font-size: var(--fs-base); line-height: var(--lh-body); }
.up-card-key { margin: 0; font-size: var(--fs-sm); color: var(--warn); font-weight: var(--fw-semibold); }
.up-card-key span { font-weight: var(--fw-medium); }
.up-card-more { margin-top: auto; padding-top: 6px; color: var(--brand); font-weight: var(--fw-semibold); font-size: var(--fs-base); }
.up-card:hover .up-card-more { text-decoration: underline; }
.up-pager .pagination { justify-content: center; margin-top: 28px; }

/* Empty state */
.up-empty { text-align: center; background: #fff; border: 1px dashed #c9d5e6; border-radius: 14px; padding: 44px 20px; }
.up-empty-icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--brand-soft); color: var(--brand); font-size: 1.5rem; }
.up-empty h3 { margin: 14px 0 6px; }
.up-empty p { margin: 0 0 14px; color: var(--muted); }

/* Article */
.up-article-wrap { padding-bottom: 56px; }
.alert-warn { background: var(--warn-soft); color: var(--warn); border: 1px solid #f3d9a8; }
.up-article-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; align-items: start; }
.up-article { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 28px 32px; box-shadow: var(--shadow); }
.up-pill { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--up-soft); color: var(--up-ink); font-weight: var(--fw-bold); font-size: var(--fs-sm); }
.up-pill:hover { text-decoration: none; filter: brightness(.97); }
.up-article h1 { margin: 12px 0 10px; font-size: var(--fs-h1); line-height: var(--lh-heading); letter-spacing: var(--ls-tight); }
.up-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; color: var(--muted); font-size: var(--fs-base); }
.up-figure { margin: 22px 0; border-radius: 14px; overflow: hidden; aspect-ratio: 16 / 7; background: linear-gradient(130deg, var(--up-a, #1a49b8), var(--up-b, #2f74e0)); display: grid; place-items: center; color: #fff; }
.up-figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.up-figure-symbol { font-size: var(--fs-display); opacity: .9; }
.up-lead { font-size: var(--fs-base); color: var(--ink); font-weight: var(--fw-medium); line-height: var(--lh-body); margin: 0 0 14px; }
.up-body p { color: var(--ink-soft); line-height: var(--lh-body); margin: 0 0 14px; overflow-wrap: anywhere; }
.up-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 8px; }
.up-side { display: grid; gap: 16px; position: sticky; top: 84px; }
.up-box { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; }
.up-box h2 { font-size: var(--fs-h2); margin: 0 0 12px; }
.up-box dl { margin: 0 0 14px; display: grid; gap: 10px; }
.up-box dl > div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); padding-bottom: 8px; font-size: var(--fs-base); }
.up-box dt { color: var(--muted); }
.up-box dd { margin: 0; font-weight: var(--fw-semibold); text-align: right; overflow-wrap: anywhere; }
.up-side-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.up-side-links a { display: flex; gap: 10px; padding: 8px 10px; border-radius: 8px; color: var(--ink-soft); font-size: var(--fs-base); }
.up-side-links a:hover, .up-side-links a.active { background: var(--brand-soft); color: var(--brand); text-decoration: none; }
.up-related { margin-top: 40px; }
.up-related-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.up-related-head h2 { margin: 0; }

@media (max-width: 1000px) {
    .up-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .up-article-grid { grid-template-columns: minmax(0, 1fr); }
    .up-side { position: static; }
}
@media (max-width: 640px) {
    .up-hero { padding: 22px 0 26px; }
    .up-hero-row { align-items: flex-start; gap: 14px; }
    .up-hero-icon { width: 48px; height: 48px; font-size: 1.3rem; border-radius: 14px; }
    .up-grid { grid-template-columns: minmax(0, 1fr); }
    .up-card-media { aspect-ratio: 16 / 6; }
    .up-selects, .up-selects label, .up-selects .input { width: 100%; }
    .up-selects label { flex: 1 1 140px; }
    .up-article { padding: 20px 18px; }
    .up-figure { aspect-ratio: 16 / 9; }
    .up-actions .btn { flex: 1 1 100%; justify-content: center; }
}

/* Service pages (admission guidance, online degrees, study abroad, contact, help, employers) and the network directory. */
.sv-h2 { font-size: var(--fs-h2); margin: 0 0 14px; }
.up-article .sv-h2 { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--line); }
.sv-two { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; margin-top: 24px; }
.sv-form-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px 26px; box-shadow: var(--shadow); scroll-margin-top: 140px; }
.sv-form-card h2 { margin: 0 0 6px; font-size: var(--fs-h2); }
.sv-form-card > p.muted { margin: 0 0 16px; }
.sv-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.sv-grid .sv-full { grid-column: 1 / -1; }
.sv-grid textarea.input { min-height: 96px; }
.sv-consent { margin: 14px 0 4px; font-size: var(--fs-base); }
.sv-form .btn[type=submit] { margin-top: 12px; }
.sv-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sv-topics { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.sv-topic { display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; color: var(--ink-soft); font-size: var(--fs-base); line-height: var(--lh-body); }
.sv-topic b { color: var(--ink); font-size: var(--fs-md); }
a.sv-topic:hover { border-color: #a9c6f5; text-decoration: none; transform: translateY(-1px); }
a.sv-topic.active { border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand-soft); }
.sv-topic-icon { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--brand-soft); color: var(--brand); font-weight: var(--fw-bold); font-size: 1.1rem; }
.sv-steps { margin: 0; padding-left: 20px; display: grid; gap: 10px; color: var(--ink-soft); font-size: var(--fs-base); }
.sv-ticks { margin: 0; padding-left: 18px; display: grid; gap: 8px; color: var(--ink-soft); font-size: var(--fs-base); }
.sv-mini { display: grid; gap: 2px; padding: 9px 0; border-bottom: 1px solid var(--line); color: var(--ink); font-size: var(--fs-base); }
.sv-mini span { color: var(--muted); font-size: var(--fs-sm); }
.sv-mini:hover { text-decoration: none; color: var(--brand); }
.sv-band { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 36px; padding: 22px 26px; border-radius: 16px; background: linear-gradient(118deg, #e8f0fd, #f3eefe); border: 1px solid #dbe5f6; }
.sv-band h2 { margin: 0 0 4px; font-size: var(--fs-h2); }
.sv-band p { margin: 0; color: var(--ink-soft); }
.sv-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.sv-table { width: 100%; border-collapse: collapse; min-width: 560px; font-size: var(--fs-base); }
.sv-table th, .sv-table td { padding: 11px 14px; text-align: left; border-bottom: 1px solid var(--line); }
.sv-table th { background: #f8fafc; color: var(--muted); font-size: var(--fs-th); text-transform: uppercase; letter-spacing: .03em; }
.sv-table tr:last-child td { border-bottom: 0; }
.sv-help-search { display: flex; align-items: center; gap: 12px; max-width: 620px; }
.sv-faq-group { margin-top: 22px; }
.sv-faq { background: #fff; border: 1px solid var(--line); border-radius: 12px; margin-bottom: 8px; }
.sv-faq summary { cursor: pointer; padding: 14px 16px; font-weight: var(--fw-semibold); color: var(--ink); }
.sv-faq p { margin: 0; padding: 0 16px 14px; color: var(--ink-soft); line-height: var(--lh-body); }
.sv-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.sv-stats > div { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; }
.sv-stats b { display: block; font-size: var(--fs-h1); color: var(--ink); }
.sv-stats span { color: var(--muted); font-size: var(--fs-base); }
.sv-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.nw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.nw-card { position: relative; display: flex; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; transition: border-color .15s, transform .15s; }
.nw-card:hover { border-color: #a9c6f5; transform: translateY(-1px); }
.nw-card:focus-within { outline: 3px solid #9cc0fa; outline-offset: 2px; }
.nw-card h3 { margin: 0; font-size: var(--fs-h3); }
.nw-card h3 a { color: var(--ink); }
.nw-card h3 a::after { content: ""; position: absolute; inset: 0; }
.nw-card h3 a:focus { outline: none; }
.nw-card p { margin: 2px 0 0; color: var(--muted); font-size: var(--fs-base); }
.nw-logo { width: 46px; height: 46px; flex: none; border-radius: 12px; object-fit: contain; background: #fff; border: 1px solid var(--line); }
.nw-logo.lg { width: 72px; height: 72px; border-radius: 16px; }
.nw-mono { display: grid; place-items: center; background: linear-gradient(135deg, #e6f6f4, #d3ecf8); color: #0f6f6a; font-weight: var(--fw-bold); border: 0; }
.nw-logo.lg.nw-mono { font-size: 1.4rem; }
.nw-profile-head { display: flex; gap: 18px; align-items: center; }
.nw-profile-head h1 { margin: 8px 0 4px; font-size: var(--fs-h1); }
@media (max-width: 1000px) {
    .sv-two { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .sv-grid, .sv-stats { grid-template-columns: minmax(0, 1fr); }
    .sv-form-card { padding: 18px; }
    .nw-profile-head { align-items: flex-start; }
}
