:root {
    --navy: #080153;
    --purple: #3b008d;
    --deep-purple: #17006f;
    --red: #f30d16;
    --blue: #075edc;
    --sky: #e8f8ff;
    --green: #029a46;
    --orange: #ff6b17;
    --pink: #e71076;
    --teal: #009b9b;
    --line: #d7e0ee;
    --ink: #09053d;
    --muted: #4e5770;
    --white: #ffffff;
    --shadow: 0 8px 22px rgba(8, 1, 83, 0.14);
}

* { box-sizing: border-box; }
body { margin: 0; background: #f4fbff; color: var(--ink); font-family: Arial, Helvetica, sans-serif; line-height: 1.35; }
a { color: inherit; }

.portal-header {
    display: grid;
    grid-template-columns: minmax(420px, 1fr) minmax(280px, 430px) auto;
    gap: 24px;
    align-items: center;
    padding: 10px 28px 8px;
    background: #fff;
}
.portal-logo { display: flex; align-items: center; gap: 18px; text-decoration: none; min-width: 0; }
.logo-seal {
    display: grid; place-items: center; align-content: center; width: 92px; height: 92px; flex: 0 0 auto;
    border: 7px solid #69348e; border-radius: 50%; color: #09008c; background: #f8fbff; font-weight: 900; line-height: 1.02; box-shadow: inset 0 0 0 2px #2e1354;
}
.logo-seal strong { display: block; font-size: 16px; }
.logo-seal strong:nth-child(2) { color: var(--red); font-size: 19px; }
.logo-copy strong { display: block; color: #06006d; font-size: clamp(2rem, 4vw, 3.35rem); line-height: 0.95; letter-spacing: 0; font-weight: 900; white-space: nowrap; }
.logo-copy em { color: var(--red); font-style: normal; }
.logo-copy small { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 6px; color: #0c075e; font-size: clamp(1rem, 1.8vw, 1.45rem); font-weight: 800; }
.logo-copy i { width: 56px; height: 2px; background: var(--red); display: inline-block; }
.portal-search { display: grid; grid-template-columns: 1fr 48px; min-height: 50px; border: 1px solid #c7d0df; border-radius: 7px; overflow: hidden; background: #fff; }
.portal-search input { border: 0; padding: 0 18px; min-width: 0; font: inherit; }
.portal-search button { border: 0; background: linear-gradient(135deg, #240070, #5e0fb2); color: #fff; font-size: 0; cursor: pointer; }
.portal-search button::before { content: '⌕'; font-size: 28px; line-height: 1; }
.join-actions { display: flex; gap: 16px; }
.join-btn { display: grid; grid-template-columns: 34px auto; grid-template-rows: auto auto; column-gap: 8px; align-items: center; min-width: 136px; min-height: 54px; padding: 8px 12px; border: 1px solid #67c3ff; border-radius: 7px; background: #fff; text-decoration: none; }
.join-btn span { grid-row: 1 / 3; color: #1e9cf0; font-size: 18px; font-weight: 900; }
.join-btn strong { color: #043baf; line-height: 1; }
.join-btn small { color: #008ed0; }
.join-btn.whatsapp { border-color: #59c783; }
.join-btn.whatsapp span, .join-btn.whatsapp strong, .join-btn.whatsapp small { color: #06963f; }

.portal-nav {
    display: grid; grid-template-columns: repeat(9, minmax(100px, 1fr)); align-items: center; gap: 0;
    margin: 0 28px 12px; min-height: 68px; border-radius: 9px; overflow: hidden;
    background: linear-gradient(135deg, #120070, #080142); box-shadow: var(--shadow);
}
.portal-nav a { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 68px; color: #fff; font-weight: 900; text-decoration: none; border-right: 1px solid rgba(255,255,255,.28); }
.portal-nav a span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 7px; background: rgba(255,255,255,.13); font-size: 11px; }
.portal-nav a.active { margin: 8px 12px; min-height: 52px; border: 0; border-radius: 6px; background: linear-gradient(135deg, #9a138e, #ff371d); }

.portal-shell { width: calc(100% - 56px); margin: 0 auto; }
.showcase {
    display: grid; grid-template-columns: 330px 1fr 330px; gap: 20px; align-items: center;
    min-height: 255px; padding: 18px; border-radius: 13px; background: linear-gradient(155deg, #e5f8ff, #f7fdff 45%, #dff4ff); box-shadow: var(--shadow); overflow: hidden;
}
.study-art { position: relative; min-height: 220px; }
.cap { position: absolute; left: 115px; top: 0; width: 124px; height: 54px; background: #17243a; transform: skew(-18deg) rotate(-18deg); border-radius: 8px; box-shadow: 0 5px 0 #0a1120; }
.cap::after { content: ''; position: absolute; left: 55px; top: 48px; width: 3px; height: 70px; background: #f4a000; transform: skew(18deg) rotate(18deg); }
.screen { position: absolute; left: 105px; top: 58px; width: 230px; height: 138px; border: 8px solid #14366f; border-radius: 8px; background: #f7fbff; box-shadow: inset 0 -16px #dbeaf8; }
.screen span { display: block; height: 8px; margin: 17px 25px; border-radius: 9px; background: #a9c7e5; }
.screen span::before { content: ''; display: inline-block; width: 14px; height: 14px; margin: -3px 12px 0 -22px; border: 2px solid #4690d8; border-radius: 3px; background: #fff; vertical-align: top; }
.books { position: absolute; right: 6px; bottom: 12px; width: 138px; }
.books b { display: block; height: 21px; margin-top: 4px; border-radius: 5px; background: #ef233c; box-shadow: inset 0 -5px #fff3; }
.books b:nth-child(2) { background: #1e65dc; }
.books b:nth-child(3) { background: #ffb11b; }
.plant { position: absolute; left: 35px; bottom: 22px; width: 62px; height: 126px; border-bottom: 48px solid #e8eef2; border-left: 10px solid transparent; border-right: 10px solid transparent; }
.plant i { position: absolute; width: 28px; height: 16px; border-radius: 30px 0 30px 0; background: #64ae59; }
.plant i:nth-child(1) { left: 5px; top: 38px; transform: rotate(-35deg); }
.plant i:nth-child(2) { left: 32px; top: 60px; transform: rotate(35deg); }
.plant i:nth-child(3) { left: 6px; top: 83px; transform: rotate(-25deg); }
.showcase-copy { text-align: center; min-width: 0; }
.welcome { margin: 0; color: #e00000; font-size: 1.45rem; font-weight: 900; }
.welcome span { color: #f8a400; }
.showcase h1 { margin: 6px 0 4px; color: #15008f; font-size: clamp(3rem, 6vw, 5.2rem); line-height: .95; font-weight: 900; letter-spacing: 0; }
.showcase h1 strong { color: #de0000; }
.trusted-line { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0 0 20px; color: #10085a; font-size: 1.35rem; font-weight: 900; }
.trusted-line i { width: 120px; height: 1px; background: #6b6f8f; display: inline-block; }
.feature-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.feature-pills span { min-width: 140px; padding: 12px 16px; border: 1px solid #cbd8e8; border-radius: 7px; background: #fff; color: #0733d5; font-weight: 900; }
.quick-card { align-self: stretch; padding: 13px 18px; border-radius: 12px; background: linear-gradient(160deg, #210092, #17005f); color: #fff; box-shadow: var(--shadow); }
.quick-card h2 { margin: 0 0 7px; text-align: center; font-size: 1.28rem; }
.quick-card a { display: flex; justify-content: space-between; align-items: center; padding: 9px 4px; border-bottom: 1px solid rgba(255,255,255,.23); text-decoration: none; font-weight: 900; }
.quick-card b { font-size: 28px; line-height: .6; }

.social-strip, .trust-strip { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin: 0 18px; padding: 14px 16px; border-radius: 15px; background: #fff; box-shadow: var(--shadow); transform: translateY(-7px); }
.social-strip a, .trust-strip div { display: grid; grid-template-columns: 45px 1fr; grid-template-rows: auto auto; gap: 0 10px; align-items: center; min-height: 48px; padding: 0 16px; border-right: 1px solid #b8c3d2; text-decoration: none; }
.social-strip a:last-child, .trust-strip div:last-child { border-right: 0; }
.social-strip span, .trust-strip span { grid-row: 1 / 3; color: #0d63dc; font-weight: 900; font-size: 20px; }
.social-strip strong, .trust-strip strong { color: #0e0875; }
.social-strip small, .trust-strip small { color: #1e253c; }

.apply-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 14px 18px 20px; }
.apply-tile { position: relative; display: grid; grid-template-columns: 58px 1fr 18px; grid-template-rows: auto auto; align-items: center; min-height: 62px; padding: 10px 14px 10px 10px; border-radius: 9px; color: #fff; text-decoration: none; box-shadow: 0 8px 16px rgba(12, 4, 75, .15); overflow: hidden; }
.apply-tile span { grid-row: 1 / 3; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: rgba(255,255,255,.18); font-weight: 900; }
.apply-tile strong { font-size: .98rem; line-height: 1.12; }
.apply-tile small { font-size: .98rem; font-weight: 900; }
.apply-tile b { grid-row: 1 / 3; font-size: 34px; line-height: 1; }
.apply-tile.purple { background: linear-gradient(135deg, #3900a8, #781bdc); }
.apply-tile.blue { background: linear-gradient(135deg, #0559d6, #1272ff); }
.apply-tile.green { background: linear-gradient(135deg, #079347, #17b36b); }
.apply-tile.orange { background: linear-gradient(135deg, #ff6517, #ff8924); }
.apply-tile.red { background: linear-gradient(135deg, #ef1725, #ff353f); }
.apply-tile.teal { background: linear-gradient(135deg, #009c99, #04bcb6); }
.apply-tile.violet { background: linear-gradient(135deg, #7a12cf, #9d26ed); }
.apply-tile.pink { background: linear-gradient(135deg, #e70d72, #ff368d); }

.notice-panels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 0 18px 20px; }
.notice-panel { border-radius: 8px; background: #fff; box-shadow: var(--shadow); overflow: hidden; }
.notice-panel header { display: flex; justify-content: space-between; align-items: center; min-height: 40px; padding: 0 12px; color: #fff; }
.notice-panel h2 { margin: 0; font-size: 1.08rem; }
.notice-panel header a { padding: 5px 10px; border-radius: 999px; background: rgba(0,0,0,.18); color: #fff; font-size: .8rem; font-weight: 900; text-decoration: none; }
.panel-results header { background: linear-gradient(135deg, #4d098f, #8c00b2); }
.panel-admit header { background: linear-gradient(135deg, #1351d0, #217dff); }
.panel-jobs header { background: linear-gradient(135deg, #d60000, #ff1b13); }
.notice-panel ul { list-style: none; margin: 0; padding: 8px 12px 12px; }
.notice-panel li a { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; align-items: center; min-height: 31px; border-bottom: 1px dotted #c9d1df; color: #080159; font-size: .82rem; font-weight: 800; text-decoration: none; }
.notice-panel li a::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: #0a0090; margin-right: 4px; }
.notice-panel li a span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.notice-panel em {
    padding: 2px 5px;
    border: 1px solid transparent;
    border-radius: 4px;
    background:
        linear-gradient(#075edc, #075edc) padding-box,
        linear-gradient(90deg, #ff3155, #ff9f1c, #ffe11f, #12b76a, #19a7ff, #7047eb, #ff3155) border-box;
    color: #fff;
    font-size: .55rem;
    font-style: normal;
    line-height: 1.1;
    white-space: nowrap;
}
.notice-panel b { font-size: 20px; }
.notice-panel footer { text-align: center; padding: 0 0 13px; }
.notice-panel footer a { color: #07006c; font-weight: 900; text-decoration: none; }

.trust-strip { transform: none; margin-top: 0; margin-bottom: 12px; }
.trust-strip span { color: #ff6b17; }
.trust-strip div:nth-child(2) span { color: #13a34a; }
.trust-strip div:nth-child(3) span { color: #d3167a; }
.trust-strip div:nth-child(4) span { color: #137ad6; }
.trust-strip div:nth-child(5) span { color: #efa300; }

.source-status-home { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 0 18px 14px; padding: 14px 18px; border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.source-status-home h2 { margin: 0; color: #10006d; }
.source-status-home p { margin: 4px 0 0; color: var(--muted); font-weight: 800; }
.source-counts { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.source-counts span { padding: 8px 11px; border-radius: 999px; background: #edf6ff; color: #06006d; font-weight: 900; }

.portal-footer { display: grid; grid-template-columns: 1fr auto 1fr; gap: 18px; align-items: center; padding: 16px 88px; background: linear-gradient(135deg, #0a004d, #8e005c); color: #fff; font-weight: 900; }
.portal-footer nav { display: flex; gap: 18px; }
.portal-footer a { color: #fff; text-decoration: none; }
.portal-footer span { text-align: right; }

/* Shared detail/admin compatibility */
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 40px; background: #fff; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.brand-mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 8px; background: var(--navy); color: #fff; font-weight: 900; }
.brand strong, .brand small { display: block; }
.brand small, .lead, .footer, .detail-list dd, .link-list span, .admin-card p { color: var(--muted); }
.nav { display: flex; gap: 8px; }
.nav a { padding: 9px 12px; border-radius: 6px; color: var(--muted); font-weight: 800; text-decoration: none; white-space: nowrap; }
main:not(.portal-shell), .admin-main { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.detail-hero, .admin-hero { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 28px; align-items: center; padding: 45px 0 28px; }
.detail-hero h1, .admin-hero h1 { margin: 0; font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1; }
.eyebrow { margin: 0 0 12px; color: var(--purple); font-weight: 900; text-transform: uppercase; }
.lead { max-width: 760px; margin: 18px 0 0; font-size: 1.08rem; }
.search-panel, .date-card, .update-card, .info-panel, .empty-state, .admin-card, .sync-panel { border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: var(--shadow); }
.admin-card, .sync-panel, .date-card, .info-panel, .empty-state { display: grid; gap: 16px; padding: 20px; }
label span { display: block; margin-bottom: 7px; color: var(--muted); font-size: .86rem; font-weight: 800; }
input, select, button, textarea { width: 100%; min-height: 46px; border: 1px solid var(--line); border-radius: 6px; font: inherit; }
input, select, textarea { padding: 10px 12px; background: #fbfdff; }
button, .button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 14px; border: 0; border-radius: 6px; background: var(--navy); color: #fff; font-weight: 900; text-decoration: none; cursor: pointer; }
.button.ghost { border: 1px solid var(--line); background: #fff; color: var(--ink); }
.button.apply { background: var(--green); }
.trust-row, .card-top, .actions, .exam-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.trust-row { margin-top: 18px; }
.trust-row span { min-height: 30px; padding: 5px 10px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--muted); font-size: .86rem; font-weight: 800; }
.tag, .status { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: 999px; color: #fff; font-size: .78rem; font-weight: 900; }
.status.open { background: var(--green); } .status.soon { background: var(--orange); } .status.closed { background: var(--red); }
.notice { background: var(--blue); } .admit { background: var(--orange); } .result { background: var(--green); } .release { background: var(--teal); }
.detail-grid, .admin-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.status-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; overflow: hidden; margin: 10px 0 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--line); }
.status-strip div { min-height: 88px; padding: 16px; background: #fff; }
.status-strip strong { display: block; font-size: 1.55rem; }
.status-strip span { display: block; margin-top: 8px; color: var(--muted); font-size: .86rem; font-weight: 800; }
.source-list { display: grid; gap: 10px; }
.source-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fff; text-decoration: none; }
.source-row strong, .source-row small { display: block; }
.source-row small { color: var(--muted); }
.source-status { padding: 5px 9px; border-radius: 999px; background: #eaf4ef; color: var(--green); font-size: .78rem; font-style: normal; font-weight: 900; text-transform: capitalize; white-space: nowrap; }
.source-status.error { background: #fdecec; color: var(--red); } .source-status.manual_parser_needed { background: #fff4df; color: var(--orange); }
.date-card dl, .detail-list { display: grid; gap: 14px; margin: 18px 0 0; }
dt { color: var(--muted); font-size: .82rem; font-weight: 900; text-transform: uppercase; } dd { margin: 4px 0 0; font-weight: 800; }
.link-list { display: grid; gap: 12px; } .link-list a { display: grid; gap: 3px; padding: 14px; border: 1px solid var(--line); border-radius: 6px; text-decoration: none; }
.timeline-section { margin: 38px 0; } .timeline { display: grid; gap: 14px; margin-top: 18px; }
.timeline-item { display: grid; grid-template-columns: 130px 1fr; gap: 18px; padding: 18px 0; border-top: 1px solid var(--line); }
.footer { display: flex; justify-content: space-between; gap: 18px; width: min(1180px, calc(100% - 32px)); margin: 36px auto 0; padding: 22px 0 36px; border-top: 1px solid var(--line); font-size: .9rem; }
.admin-body { min-height: 100vh; display: grid; place-items: center; } .auth-wrap { width: min(460px, calc(100% - 24px)); } .admin-card.wide { grid-column: 1 / -1; }
.alert { margin: 14px 0; padding: 12px 14px; border-radius: 8px; font-weight: 900; } .alert.success { background: #eaf4ef; color: var(--green); } .alert.error { background: #fdecec; color: var(--red); }

@media (max-width: 1180px) {
    .portal-header { grid-template-columns: 1fr; }
    .join-actions { justify-content: flex-start; }
    .portal-nav { grid-template-columns: repeat(4, 1fr); }
    .showcase { grid-template-columns: 1fr; }
    .study-art { display: none; }
    .quick-card { width: min(520px, 100%); margin: 0 auto; }
    .apply-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 820px) {
    .portal-header { padding: 12px; }
    .portal-shell { width: calc(100% - 20px); }
    .portal-nav { margin: 0 10px 10px; grid-template-columns: repeat(2, 1fr); }
    .logo-copy strong { white-space: normal; font-size: 2.1rem; }
    .logo-copy small i { width: 32px; }
    .showcase h1 { font-size: 3rem; }
    .trusted-line i { display: none; }
    .social-strip, .trust-strip { grid-template-columns: 1fr; margin: 0; transform: none; }
    .social-strip a, .trust-strip div { border-right: 0; border-bottom: 1px solid #d7e0ee; }
    .apply-grid, .notice-panels { grid-template-columns: 1fr; margin-left: 0; margin-right: 0; }
    .source-status-home, .portal-footer { display: flex; flex-direction: column; align-items: flex-start; padding: 16px; }
    .portal-footer span { text-align: left; }
    .topbar, .footer { align-items: flex-start; flex-direction: column; }
    .detail-hero, .admin-hero, .detail-grid, .admin-grid { grid-template-columns: 1fr; }
    .status-strip { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 520px) {
    .logo-seal { width: 76px; height: 76px; border-width: 5px; }
    .portal-logo { align-items: flex-start; }
    .portal-search { grid-template-columns: 1fr 46px; }
    .join-actions { flex-direction: column; }
    .portal-nav { grid-template-columns: 1fr; }
    .feature-pills { display: grid; grid-template-columns: 1fr; }
    .showcase { padding: 14px; }
    .form-grid, .status-strip { grid-template-columns: 1fr; }
}

/* Exact reference matching refinements */
.portal-header {
    grid-template-columns: minmax(520px, 1fr) minmax(330px, 430px) auto;
    padding: 10px 30px 7px;
}
.logo-seal { width: 88px; height: 88px; }
.logo-copy strong { font-size: clamp(2.65rem, 3.8vw, 3.45rem); }
.logo-copy small { margin-top: 3px; }
.portal-nav { margin: 0 30px 13px; min-height: 66px; }
.portal-nav a { min-height: 66px; }
.portal-nav a.active { margin: 8px 12px; }
.portal-shell { width: calc(100% - 60px); }
.showcase { min-height: 255px; padding: 16px 18px 12px; }
.showcase-copy { padding-top: 2px; }
.welcome { font-size: 1.45rem; }
.showcase h1 { font-size: clamp(3.8rem, 5.4vw, 5.45rem); }
.feature-pills span { min-width: 146px; padding: 11px 16px; }
.social-strip { margin: 0 18px; padding: 13px 16px; }
.apply-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.apply-tile {
    grid-template-columns: 58px minmax(0, 1fr) 20px;
    min-width: 0;
    min-height: 62px;
    column-gap: 8px;
}
.apply-tile strong,
.apply-tile small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left;
}
.apply-tile strong { font-size: 1rem; }
.apply-tile small { font-size: .95rem; }
.notice-panel li a {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto 14px;
    gap: 7px;
    align-items: center;
}
.notice-panel li a::before {
    content: '';
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #0a0090;
    margin: 0;
}
.notice-panel li a span {
    grid-column: 2;
    text-align: left;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.notice-panel em { grid-column: 3; }
.notice-panel b { grid-column: 4; text-align: right; }
.trust-strip { margin-left: 18px; margin-right: 18px; }

.page-title-band {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin: 14px 0 16px;
    padding: 28px;
    border-radius: 14px;
    background: linear-gradient(135deg, #e8f8ff, #ffffff 54%, #e2f5ff);
    box-shadow: var(--shadow);
}
.page-title-band p { margin: 0 0 6px; color: #f00000; font-weight: 900; }
.page-title-band h1 { margin: 0; color: #13007f; font-size: clamp(2rem, 4vw, 4rem); line-height: 1; }
.page-title-band span { display: block; margin-top: 8px; color: var(--muted); font-weight: 800; }
.inner-search { display: grid; grid-template-columns: minmax(190px, 340px) 92px; min-height: 46px; }
.inner-search input { border-radius: 7px 0 0 7px; }
.inner-search button { border-radius: 0 7px 7px 0; background: linear-gradient(135deg, #23006f, #5d00a8); }
.category-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
.category-summary a { padding: 18px; border-radius: 10px; background: #fff; box-shadow: var(--shadow); text-decoration: none; }
.category-summary strong { display: block; color: #120070; font-size: 2rem; line-height: 1; }
.category-summary span { display: block; margin-top: 8px; color: var(--muted); font-weight: 900; }
.listing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.listing-card, .empty-list, .info-page-card { padding: 18px; border-radius: 10px; background: #fff; box-shadow: var(--shadow); }
.listing-top, .listing-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.listing-card h2 { margin: 14px 0 8px; font-size: 1.2rem; }
.listing-card h2 a { color: #09006f; text-decoration: none; }
.listing-card p { color: var(--muted); }
.listing-card dl { display: grid; gap: 9px; margin: 14px 0; }
.listing-card dt { color: var(--muted); font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.listing-card dd { margin: 2px 0 0; font-weight: 800; }
.info-page-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 18px; }
.info-page-card h2 { margin: 0 0 10px; color: #10006d; }
.info-page-card p { color: var(--muted); }
.info-page-card a { display: inline-flex; margin-top: 8px; padding: 10px 14px; border-radius: 7px; background: linear-gradient(135deg, #210092, #5900a8); color: #fff; font-weight: 900; text-decoration: none; }
.compact-source { margin-top: 12px; }

@media (max-width: 1180px) {
    .portal-header { grid-template-columns: 1fr; }
    .apply-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    .page-title-band { align-items: flex-start; flex-direction: column; }
    .inner-search { width: 100%; grid-template-columns: 1fr 90px; }
    .category-summary, .listing-grid, .info-page-grid { grid-template-columns: 1fr; }
    .apply-grid { grid-template-columns: 1fr; }
    .apply-tile strong, .apply-tile small { white-space: normal; }
}

/* Mobile responsiveness repair */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

.portal-header,
.portal-nav,
.portal-shell,
.portal-footer,
.showcase,
.social-strip,
.apply-grid,
.notice-panels,
.trust-strip,
.source-status-home,
.page-title-band,
.category-summary,
.listing-grid,
.info-page-grid {
    min-width: 0;
}

.portal-logo,
.logo-copy,
.logo-copy strong,
.portal-search,
.join-actions,
.join-btn,
.page-title-band > div,
.info-page-card,
.listing-card {
    min-width: 0;
}

@media (max-width: 640px) {
    body {
        background: #f3fbff;
    }

    .portal-header {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        width: 100%;
        padding: 8px;
    }

    .portal-logo {
        width: 100%;
        gap: 8px;
        align-items: center;
    }

    .logo-seal {
        width: 48px;
        height: 48px;
        border-width: 4px;
        box-shadow: inset 0 0 0 1px #2e1354;
    }

    .logo-seal strong {
        font-size: 9px;
        line-height: 1;
    }

    .logo-seal strong:nth-child(2) {
        font-size: 10px;
    }

    .logo-copy {
        flex: 1 1 auto;
        overflow: hidden;
    }

    .logo-copy strong {
        display: block;
        max-width: 100%;
        font-size: clamp(1.35rem, 8vw, 1.7rem);
        line-height: .98;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .logo-copy small {
        justify-content: flex-start;
        gap: 5px;
        margin-top: 2px;
        font-size: .68rem;
        line-height: 1.1;
        white-space: nowrap;
    }

    .logo-copy small i {
        width: 18px;
    }

    .portal-search {
        width: 100%;
        grid-template-columns: minmax(0, 1fr) 42px;
        min-height: 40px;
    }

    .portal-search input {
        width: 100%;
        min-width: 0;
        padding: 0 10px;
        font-size: .78rem;
    }

    .portal-search button::before {
        font-size: 21px;
    }

    .join-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        width: 100%;
    }

    .join-btn {
        min-width: 0;
        min-height: 46px;
        grid-template-columns: 28px minmax(0, 1fr);
        padding: 6px 8px;
    }

    .join-btn span {
        font-size: .82rem;
    }

    .join-btn strong {
        font-size: .78rem;
    }

    .join-btn small {
        font-size: .66rem;
    }

    .portal-nav {
        width: calc(100% - 16px);
        margin: 0 8px 8px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        min-height: 0;
        border-radius: 8px;
    }

    .portal-nav a,
    .portal-nav a.active {
        justify-content: flex-start;
        gap: 7px;
        min-height: 42px;
        margin: 0;
        padding: 0 9px;
        border-radius: 0;
        font-size: .76rem;
        border-right: 1px solid rgba(255,255,255,.18);
        border-bottom: 1px solid rgba(255,255,255,.18);
    }

    .portal-nav a.active {
        background: linear-gradient(135deg, #c01882, #ff2d2d);
    }

    .portal-nav a span {
        width: 23px;
        height: 23px;
        font-size: .55rem;
        flex: 0 0 auto;
    }

    .portal-shell {
        width: calc(100% - 16px);
        margin: 0 auto;
    }

    .showcase {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 14px 10px;
        border-radius: 10px;
    }

    .study-art {
        display: none;
    }

    .welcome {
        font-size: .96rem;
    }

    .showcase h1 {
        font-size: clamp(2rem, 13vw, 2.55rem);
        line-height: 1;
    }

    .trusted-line {
        margin-bottom: 12px;
        font-size: .95rem;
    }

    .trusted-line i {
        display: none;
    }

    .feature-pills {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .feature-pills span {
        min-width: 0;
        padding: 8px 7px;
        font-size: .75rem;
    }

    .quick-card {
        width: 100%;
        padding: 10px 12px;
    }

    .quick-card h2 {
        font-size: 1rem;
    }

    .quick-card a {
        padding: 7px 2px;
        font-size: .82rem;
    }

    .social-strip,
    .trust-strip {
        grid-template-columns: 1fr;
        gap: 0;
        margin: 8px 0;
        padding: 8px 10px;
        transform: none;
        border-radius: 10px;
    }

    .social-strip a,
    .trust-strip div {
        grid-template-columns: 34px minmax(0, 1fr);
        min-height: 42px;
        padding: 7px 0;
        border-right: 0;
        border-bottom: 1px solid #d7e0ee;
    }

    .social-strip a:last-child,
    .trust-strip div:last-child {
        border-bottom: 0;
    }

    .social-strip span,
    .trust-strip span {
        font-size: .9rem;
    }

    .social-strip strong,
    .trust-strip strong {
        font-size: .82rem;
    }

    .social-strip small,
    .trust-strip small {
        font-size: .72rem;
    }

    .apply-grid,
    .notice-panels,
    .category-summary,
    .listing-grid,
    .info-page-grid {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-left: 0;
        margin-right: 0;
    }

    .apply-tile {
        min-height: 56px;
        grid-template-columns: 48px minmax(0, 1fr) 16px;
        padding: 8px 10px;
    }

    .apply-tile span {
        width: 38px;
        height: 38px;
        border-radius: 11px;
        font-size: .78rem;
    }

    .apply-tile strong,
    .apply-tile small {
        white-space: normal;
        line-height: 1.1;
    }

    .apply-tile strong {
        font-size: .9rem;
    }

    .apply-tile small {
        font-size: .8rem;
    }

    .notice-panel header {
        min-height: 38px;
        padding: 0 10px;
    }

    .notice-panel h2 {
        font-size: .94rem;
    }

    .notice-panel header a {
        font-size: .68rem;
        padding: 4px 8px;
    }

    .notice-panel ul {
        padding: 7px 9px 10px;
    }

    .notice-panel li a {
        min-height: 34px;
        grid-template-columns: 8px minmax(0, 1fr) auto 10px;
        font-size: .72rem;
    }

    .source-status-home {
        align-items: stretch;
        flex-direction: column;
        margin: 8px 0;
        padding: 12px;
    }

    .source-counts {
        justify-content: flex-start;
    }

    .source-counts span {
        font-size: .72rem;
    }

    .portal-footer {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 14px 12px;
        font-size: .78rem;
    }

    .portal-footer nav {
        flex-wrap: wrap;
        gap: 9px;
    }

    .portal-footer span {
        text-align: left;
    }

    .page-title-band {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
        margin: 8px 0 10px;
        padding: 14px;
        border-radius: 10px;
    }

    .page-title-band p {
        font-size: .74rem;
    }

    .page-title-band h1 {
        font-size: clamp(1.65rem, 12vw, 2.25rem);
    }

    .page-title-band span {
        font-size: .82rem;
    }

    .inner-search {
        width: 100%;
        grid-template-columns: minmax(0, 1fr) 70px;
    }

    .inner-search input,
    .inner-search button {
        min-height: 40px;
        font-size: .78rem;
    }

    .category-summary a,
    .listing-card,
    .empty-list,
    .info-page-card {
        padding: 14px;
        border-radius: 9px;
    }

    .category-summary strong {
        font-size: 1.45rem;
    }

    .category-summary span,
    .listing-card p,
    .info-page-card p {
        font-size: .82rem;
    }

    .listing-top,
    .listing-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .listing-card h2 {
        font-size: 1rem;
    }

    .listing-card dl {
        font-size: .82rem;
    }

    .listing-actions .button,
    .listing-actions .status,
    .info-page-card a {
        width: 100%;
    }
}

@media (max-width: 320px) {
    .portal-nav {
        grid-template-columns: 1fr;
    }

    .feature-pills {
        grid-template-columns: 1fr;
    }

    .logo-copy strong {
        font-size: 1.22rem;
    }

    .logo-copy small {
        font-size: .62rem;
    }
}

/* Header/menu behavior update */
.portal-home {
    scroll-padding-top: 150px;
}

.portal-header {
    position: sticky;
    top: 0;
    z-index: 1000;
}

.portal-nav {
    position: sticky;
    top: 108px;
    z-index: 999;
}

.portal-nav a span {
    display: none !important;
}

.portal-nav a {
    gap: 0;
}

@media (max-width: 1180px) {
    .portal-nav {
        top: 171px;
    }
}

@media (max-width: 640px) {
    .portal-home {
        scroll-padding-top: 250px;
    }

    .portal-header {
        position: sticky;
        top: 0;
        z-index: 1000;
    }

    .portal-nav {
        position: sticky;
        top: 150px;
        z-index: 999;
    }

    .portal-nav a,
    .portal-nav a.active {
        justify-content: center;
        text-align: center;
        padding: 0 7px;
    }
}

@media (max-width: 360px) {
    .portal-nav {
        top: 144px;
    }
}

/* Featured latest updates section */
.featured-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 14px 18px 10px;
}

.featured-head h2 {
    margin: 0;
    color: #10006d;
    font-size: 1.25rem;
    font-weight: 900;
}

.featured-head a {
    padding: 7px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #210092, #6500b8);
    color: #fff;
    font-size: .82rem;
    font-weight: 900;
    text-decoration: none;
}

.apply-grid.featured-updates {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
}

.featured-updates .apply-tile {
    min-height: 58px;
    border-radius: 8px;
    grid-template-columns: 48px minmax(0, 1fr) 18px;
    grid-template-rows: 1fr 1fr;
    padding: 8px 10px;
}

.featured-updates .apply-tile span {
    width: 39px;
    height: 39px;
    border-radius: 11px;
    font-size: .78rem;
}

.featured-updates .apply-tile strong,
.featured-updates .apply-tile small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.featured-updates .apply-tile strong {
    align-self: end;
    font-size: .92rem;
    line-height: 1.05;
}

.featured-updates .apply-tile small {
    align-self: start;
    font-size: .78rem;
    line-height: 1.05;
}

.featured-updates .apply-tile b {
    align-self: center;
}

@media (max-width: 1180px) {
    .apply-grid.featured-updates {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .featured-head {
        margin-left: 0;
        margin-right: 0;
    }

    .apply-grid.featured-updates {
        grid-template-columns: 1fr;
    }

    .featured-updates .apply-tile strong,
    .featured-updates .apply-tile small {
        white-space: normal;
    }
}

/* Always-visible fixed portal header */
body.portal-home {
    padding-top: 155px;
}

.portal-header {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3000;
    box-shadow: 0 2px 14px rgba(8, 1, 83, 0.08);
}

.portal-nav {
    position: fixed !important;
    top: 91px;
    left: 30px;
    right: 30px;
    z-index: 2999;
    width: auto;
}

@media (max-width: 1180px) {
    body.portal-home {
        padding-top: 300px;
    }

    .portal-nav {
        top: 217px;
        left: 8px;
        right: 8px;
        width: auto;
    }
}

@media (max-width: 640px) {
    body.portal-home {
        padding-top: 382px;
    }

    .portal-header {
        max-height: none;
    }

    .portal-nav {
        top: 157px;
        left: 8px;
        right: 8px;
        width: auto;
        max-height: 216px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 360px) {
    body.portal-home {
        padding-top: 500px;
    }

    .portal-nav {
        top: 151px;
        max-height: 342px;
    }
}

/* Clean header gap and remove short-letter badges */
body.portal-home {
    padding-top: 170px;
}

.portal-nav {
    top: 106px;
}

.social-strip a {
    grid-template-columns: minmax(0, 1fr);
    padding-left: 22px;
    position: relative;
}

.social-strip a > span {
    position: absolute;
    left: 14px;
    top: 50%;
    width: 26px;
    height: 26px;
    transform: translateY(-50%);
    border-radius: 7px;
    background: linear-gradient(135deg, #0b6ff0, #1cc7ff);
    color: transparent !important;
    font-size: 0 !important;
}

.social-strip a > span::before {
    content: '';
    position: absolute;
    inset: 7px;
    border: 2px solid #fff;
    border-radius: 4px;
}

.social-strip a:nth-child(2) > span { background: linear-gradient(135deg, #f60000, #ff4d4d); }
.social-strip a:nth-child(3) > span { background: linear-gradient(135deg, #b400ff, #ff3b88); }
.social-strip a:nth-child(4) > span { background: linear-gradient(135deg, #075edc, #39a6ff); }
.social-strip a:nth-child(5) > span { background: linear-gradient(135deg, #0b7ee8, #19c2da); }

.social-strip strong,
.social-strip small {
    padding-left: 34px;
}

.featured-updates .apply-tile {
    grid-template-columns: 44px minmax(0, 1fr) 18px;
}

.featured-updates .apply-tile span {
    position: relative;
    color: transparent !important;
    font-size: 0 !important;
    overflow: hidden;
}

.featured-updates .apply-tile span::before {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border: 3px solid rgba(255,255,255,.95);
    border-radius: 5px;
    box-shadow: inset 0 0 0 4px rgba(255,255,255,.16);
}

.featured-updates .apply-tile strong,
.featured-updates .apply-tile small {
    text-align: left;
    padding-left: 0;
}

@media (max-width: 1180px) {
    body.portal-home {
        padding-top: 316px;
    }

    .portal-nav {
        top: 233px;
    }
}

@media (max-width: 640px) {
    body.portal-home {
        padding-top: 398px;
    }

    .portal-nav {
        top: 166px;
    }

    .social-strip a {
        grid-template-columns: minmax(0, 1fr);
        padding-left: 8px;
    }

    .social-strip a > span {
        left: 0;
        width: 24px;
        height: 24px;
    }

    .social-strip strong,
    .social-strip small {
        padding-left: 34px;
    }
}

@media (max-width: 360px) {
    body.portal-home {
        padding-top: 516px;
    }

    .portal-nav {
        top: 160px;
    }
}

/* Dynamic expandable search */
.portal-search {
    justify-self: end;
    width: 56px;
    max-width: min(430px, 100%);
    transition: width .22s ease, box-shadow .22s ease;
}

.portal-search input {
    width: 0;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
    opacity: 0;
    pointer-events: none;
    transition: width .18s ease, opacity .18s ease, padding .18s ease;
}

.portal-search.is-open,
.portal-search:focus-within {
    width: min(430px, 34vw);
    box-shadow: 0 8px 22px rgba(8, 1, 83, 0.13);
}

.portal-search.is-open input,
.portal-search:focus-within input {
    width: 100%;
    padding-left: 18px;
    padding-right: 18px;
    opacity: 1;
    pointer-events: auto;
}

.portal-search button {
    min-width: 48px;
}

@media (max-width: 1180px) {
    .portal-search,
    .portal-search.is-open,
    .portal-search:focus-within {
        justify-self: stretch;
        width: 100%;
    }

    .portal-search input {
        width: 100%;
        padding-left: 18px;
        padding-right: 18px;
        opacity: 1;
        pointer-events: auto;
    }
}

@media (max-width: 640px) {
    .portal-search,
    .portal-search.is-open,
    .portal-search:focus-within {
        width: 100%;
    }

    .portal-search input {
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* Homepage pasted category sections */
.home-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 0 18px 20px;
}

.home-category-card {
    overflow: hidden;
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}

.home-category-card header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    padding: 0 12px;
    color: #fff;
    background: linear-gradient(135deg, #17006f, #6d00b8);
}

.home-category-card:nth-child(2) header { background: linear-gradient(135deg, #075edc, #2292ff); }
.home-category-card:nth-child(3) header { background: linear-gradient(135deg, #009b55, #16b978); }
.home-category-card:nth-child(4) header { background: linear-gradient(135deg, #ff6b17, #ff961e); }
.home-category-card:nth-child(5) header { background: linear-gradient(135deg, #e71076, #ff3f95); }
.home-category-card:nth-child(6) header { background: linear-gradient(135deg, #080153, #3b008d); }

.home-category-card h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 900;
}

.home-category-card header a {
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(0,0,0,.18);
    color: #fff;
    font-size: .76rem;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}

.home-category-card ul {
    list-style: none;
    margin: 0;
    padding: 8px 12px 12px;
}

.home-category-card li a {
    display: grid;
    grid-template-columns: 8px minmax(0, 1fr) 14px;
    gap: 7px;
    align-items: center;
    min-height: 31px;
    border-bottom: 1px dotted #c9d1df;
    color: #080159;
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
}

.home-category-card li a::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #0a0090;
}

.home-category-card li span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-category-card li b {
    font-size: 18px;
    text-align: right;
}

@media (max-width: 1180px) {
    .home-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .home-category-grid {
        grid-template-columns: 1fr;
        margin-left: 0;
        margin-right: 0;
    }

    .home-category-card li a {
        min-height: 34px;
        font-size: .76rem;
    }

    .home-category-card li span {
        white-space: normal;
    }
}

/* Real social logos */
.join-btn img,
.social-strip img,
.social-admin-row img {
    display: block;
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.join-btn {
    grid-template-columns: 36px auto;
}

.social-strip a {
    grid-template-columns: 45px minmax(0, 1fr);
    padding-left: 16px;
}

.social-strip strong,
.social-strip small {
    padding-left: 0;
}

.social-strip a > span,
.social-strip a > span::before {
    display: none !important;
}

.social-admin-grid {
    display: grid;
    gap: 12px;
}

.social-admin-row {
    display: grid;
    grid-template-columns: 44px 1fr 1fr 2fr;
    gap: 10px;
    align-items: end;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fbfdff;
}

@media (max-width: 820px) {
    .social-admin-row {
        grid-template-columns: 36px 1fr;
    }
}

@media (max-width: 640px) {
    .join-btn {
        grid-template-columns: 30px minmax(0, 1fr);
    }

    .join-btn img {
        width: 28px;
        height: 28px;
    }

    .social-strip a {
        grid-template-columns: 34px minmax(0, 1fr);
        padding-left: 0;
    }

    .social-strip img {
        width: 26px;
        height: 26px;
    }
}

/* Modern detail style and all-screen responsiveness */
.modern-detail-shell {
    width: calc(100% - 60px);
    margin: 0 auto 24px;
}

.crumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 14px 0 18px;
    color: #0733a8;
    font-weight: 800;
}

.crumbs a {
    color: #0733a8;
    text-decoration: none;
}

.crumbs strong {
    color: #2f3a5c;
}

.modern-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 370px;
    gap: 28px;
    align-items: center;
    min-height: 330px;
    padding: 34px 44px;
    border-radius: 14px;
    background: linear-gradient(120deg, #f7fbff 0%, #e7f5ff 55%, #d9efff 100%);
    box-shadow: var(--shadow);
    position: relative;
    overflow: hidden;
}

.modern-hero::after {
    content: '';
    position: absolute;
    right: 22%;
    bottom: 0;
    width: 360px;
    height: 180px;
    background: linear-gradient(135deg, rgba(10, 108, 217, .12), rgba(255,255,255,.05));
    clip-path: polygon(0 60%, 100% 0, 100% 100%, 0 100%);
}

.modern-copy,
.modern-date-card {
    position: relative;
    z-index: 1;
}

.modern-eyebrow {
    margin: 0 0 12px;
    color: #075edc;
    font-weight: 900;
    text-transform: uppercase;
}

.modern-copy h1 {
    margin: 0;
    max-width: 780px;
    color: #101653;
    font-size: clamp(2.2rem, 4.8vw, 4.2rem);
    line-height: 1.05;
    letter-spacing: 0;
}

.modern-copy p {
    max-width: 720px;
    color: #52607d;
    font-size: 1.05rem;
}

.modern-pills,
.modern-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 16px;
}

.modern-pills span {
    padding: 11px 14px;
    border-radius: 8px;
    background: #fff;
    color: #293a70;
    box-shadow: 0 6px 18px rgba(8, 1, 83, .08);
    font-weight: 900;
}

.modern-date-card {
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(8, 1, 83, .14);
}

.modern-date-card > .status {
    display: flex;
    justify-content: center;
    min-height: 46px;
    border-radius: 0;
    font-size: .95rem;
}

.modern-date-card dl {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 16px 20px;
}

.modern-date-card dl div {
    padding: 15px 0;
    border-bottom: 1px solid #e2e8f2;
}

.modern-date-card dl div:last-child {
    border-bottom: 0;
}

.modern-date-card dt,
.modern-list dt {
    color: #52607d;
    font-weight: 900;
    text-transform: uppercase;
}

.modern-date-card dd,
.modern-list dd {
    margin: 5px 0 0;
    color: #0d1550;
    font-weight: 900;
    font-size: 1.1rem;
}

.modern-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin: 18px 0;
}

.modern-panel {
    padding: 22px;
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--shadow);
}

.modern-panel h2 {
    margin: 0 0 18px;
    color: #0d1550;
    font-size: 1.55rem;
}

.modern-list {
    display: grid;
    gap: 0;
    margin: 0;
}

.modern-list div {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 16px;
    padding: 13px 0;
    border-bottom: 1px solid #e2e8f2;
}

.modern-list div:last-child {
    border-bottom: 0;
}

.modern-list dd {
    font-size: 1rem;
}

.modern-links {
    display: grid;
    gap: 12px;
}

.modern-links .official-link-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 22px;
    align-items: center;
    gap: 12px;
    min-height: 76px;
    padding: 12px 14px;
    border: 1px solid #d8e3f2;
    border-radius: 8px;
    background: #fff;
    color: #0d1550;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(18, 45, 93, .05);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.modern-links .official-link-card:hover {
    border-color: #8db8f5;
    box-shadow: 0 8px 20px rgba(18, 78, 166, .11);
    transform: translateY(-1px);
}

.modern-links .official-link-card:focus-visible {
    outline: 3px solid rgba(20, 105, 220, .25);
    outline-offset: 2px;
}

.modern-links .official-link-card[data-official-pdf] {
    background: #fff;
    color: #0d1550;
}

.official-link-mark {
    display: grid;
    place-items: center;
    width: 52px;
    height: 42px;
    border-radius: 7px;
    background: #eaf3ff;
    color: #0b63ce;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: 0;
}

.official-link-card.is-pdf .official-link-mark {
    background: #ffedf0;
    color: #bd1826;
}

.official-link-card.is-apply .official-link-mark {
    background: #e8f9ef;
    color: #08783e;
}

.official-link-copy,
.official-link-copy strong,
.official-link-tags {
    display: block;
    min-width: 0;
}

.official-link-copy strong {
    color: #0d1550;
    font-size: .98rem;
    line-height: 1.35;
}

.official-link-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 7px;
}

.official-link-tags small {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 3px 7px;
    border: 1px solid #cddcf0;
    border-radius: 999px;
    background: #f4f8fd;
    color: #46607e;
    font-size: .7rem;
    font-weight: 800;
    line-height: 1.2;
}

.official-link-tags .active-tag {
    border-color: #a8e0bf;
    background: #eaf8ef;
    color: #08783e;
}

.modern-links .official-link-card > b {
    justify-self: end;
    color: #0b63ce;
    font-size: 1.35rem;
    line-height: 1;
}

@media (max-width: 520px) {
    .modern-links .official-link-card {
        grid-template-columns: 44px minmax(0, 1fr) 18px;
        gap: 10px;
        min-height: 70px;
        padding: 11px;
    }

    .official-link-mark {
        width: 44px;
        height: 38px;
        font-size: .62rem;
    }
}

@media (min-width: 1600px) {
    .portal-shell,
    .modern-detail-shell {
        max-width: 1840px;
    }

    .showcase {
        min-height: 310px;
    }

    .notice-panels,
    .home-category-grid {
        gap: 22px;
    }
}

@media (max-width: 1180px) {
    .modern-hero {
        grid-template-columns: 1fr;
    }

    .modern-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .modern-detail-shell {
        width: calc(100% - 18px);
    }

    .modern-hero {
        padding: 22px 16px;
        min-height: 0;
    }

    .modern-copy h1 {
        font-size: clamp(1.9rem, 10vw, 2.7rem);
    }

    .modern-pills span,
    .modern-actions .button {
        width: 100%;
    }

    .modern-list div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .modern-panel {
        padding: 16px;
    }
}

@media (max-width: 520px) {
    .crumbs {
        font-size: .78rem;
    }

    .modern-copy p {
        font-size: .92rem;
    }

    .modern-date-card dd,
    .modern-list dd {
        font-size: .95rem;
    }
}

/* Selected release on dynamic exam detail pages */
.selected-release {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px 24px;
    align-items: center;
    margin: 18px 0;
    padding: 22px 24px;
    border: 1px solid #b9d7ff;
    border-left: 6px solid #0868e8;
    border-radius: 10px;
    background: #fff;
    box-shadow: var(--shadow);
}

.selected-release-heading {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.selected-release-heading time {
    color: #52607d;
    font-weight: 900;
}

.selected-release .modern-eyebrow {
    margin-bottom: 6px;
    font-size: .8rem;
}

.selected-release h2 {
    margin: 0;
    color: #0d1550;
    font-size: clamp(1.35rem, 2.3vw, 2rem);
    letter-spacing: 0;
}

.selected-release p {
    margin: 8px 0 0;
    color: #52607d;
    line-height: 1.55;
}

.release-button {
    white-space: nowrap;
}

.official-note {
    margin: -6px 0 16px;
    color: #65718d;
    line-height: 1.5;
}

.timeline-item h3 a {
    color: #0d1550;
    text-decoration: none;
}

.timeline-item h3 a:hover {
    color: #075edc;
    text-decoration: underline;
}

.timeline-item.is-selected {
    border-color: #5ca4ff;
    background: #f1f7ff;
    box-shadow: 0 8px 24px rgba(7, 94, 220, .12);
}

@media (max-width: 820px) {
    .selected-release {
        grid-template-columns: 1fr;
        padding: 18px 16px;
    }

    .selected-release-heading {
        grid-column: 1;
        align-items: flex-start;
    }

    .release-button {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 520px) {
    .selected-release-heading {
        flex-direction: column;
    }

    .selected-release h2 {
        font-size: 1.28rem;
    }
}

/* Definitive responsive system: compact header, drawer navigation, and gap control */
.nav-toggle {
    display: none;
    width: 46px;
    min-width: 46px;
    height: 46px;
    min-height: 46px;
    padding: 11px 10px;
    border: 1px solid #d5def0;
    border-radius: 7px;
    background: #10006d;
    box-shadow: 0 6px 16px rgba(8, 1, 83, .16);
}

.nav-toggle span {
    display: block;
    width: 24px;
    height: 3px;
    margin: 3px auto;
    border-radius: 3px;
    background: #fff;
    transition: transform .2s ease, opacity .2s ease;
}

.nav-toggle:focus-visible,
.portal-nav a:focus-visible {
    outline: 3px solid #ffb000;
    outline-offset: 2px;
}

@media (min-width: 1101px) {
    body.portal-home {
        padding-top: 182px !important;
        scroll-padding-top: 182px;
    }

    .portal-header {
        min-height: 104px;
        grid-template-columns: minmax(450px, 1fr) minmax(56px, 430px) auto !important;
        gap: 18px;
        padding: 8px 24px !important;
    }

    .portal-nav {
        display: grid !important;
        grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
        top: 108px !important;
        left: 24px !important;
        right: 24px !important;
        width: auto !important;
        min-height: 62px;
        max-height: none;
        margin: 0 !important;
        opacity: 1;
        visibility: visible;
        transform: none;
        pointer-events: auto;
    }

    .portal-nav a {
        min-height: 62px;
        padding: 0 6px;
        font-size: .82rem;
        white-space: nowrap;
    }

    .portal-nav a.active {
        min-height: 46px;
        margin: 8px 10px;
    }
}

@media (max-width: 1100px) {
    body.portal-home {
        padding-top: 132px !important;
        scroll-padding-top: 132px;
    }

    body.portal-home.menu-open {
        overflow: hidden;
    }

    body.portal-home.menu-open::before {
        content: '';
        position: fixed;
        inset: 0;
        z-index: 4000;
        background: rgba(5, 4, 34, .42);
    }

    .portal-header {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 46px !important;
        grid-template-rows: auto auto;
        gap: 8px 10px !important;
        min-height: 0;
        padding: 8px 12px 10px !important;
        z-index: 4010 !important;
    }

    .portal-logo {
        gap: 9px;
        overflow: hidden;
    }

    .logo-seal {
        width: 52px;
        height: 52px;
        border-width: 4px;
        box-shadow: inset 0 0 0 1px #2e1354;
    }

    .logo-seal strong {
        font-size: 10px;
    }

    .logo-seal strong:nth-child(2) {
        font-size: 12px;
    }

    .logo-copy {
        min-width: 0;
        overflow: hidden;
    }

    .logo-copy strong {
        font-size: 1.55rem;
        line-height: 1;
        white-space: nowrap;
    }

    .logo-copy small {
        justify-content: flex-start;
        gap: 6px;
        margin-top: 3px;
        font-size: .78rem;
        white-space: nowrap;
    }

    .logo-copy i {
        width: 24px;
    }

    .join-actions {
        display: none !important;
    }

    .nav-toggle {
        display: block;
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        justify-self: end;
    }

    .portal-search,
    .portal-search.is-open,
    .portal-search:focus-within {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: stretch;
        width: 100% !important;
        max-width: none;
        min-height: 42px;
    }

    .portal-search input,
    .portal-search.is-open input,
    .portal-search:focus-within input {
        width: 100%;
        padding: 0 12px;
        opacity: 1;
        pointer-events: auto;
    }

    .portal-search button {
        min-width: 46px;
        min-height: 42px;
    }

    .portal-nav {
        position: fixed !important;
        top: 124px !important;
        left: auto !important;
        right: 12px !important;
        z-index: 4020 !important;
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        width: min(340px, calc(100% - 24px)) !important;
        min-height: 0 !important;
        max-height: calc(100dvh - 136px);
        margin: 0 !important;
        padding: 7px;
        border-radius: 10px;
        overflow-x: hidden;
        overflow-y: auto;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px) scale(.98);
        transform-origin: top right;
        pointer-events: none;
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    }

    body.menu-open .portal-nav {
        opacity: 1;
        visibility: visible;
        transform: translateY(0) scale(1);
        pointer-events: auto;
    }

    .portal-nav a,
    .portal-nav a.active {
        flex: 0 0 auto;
        justify-content: flex-start !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 0 16px !important;
        border: 0;
        border-bottom: 1px solid rgba(255,255,255,.15);
        border-radius: 6px;
        text-align: left !important;
    }

    .portal-nav a:last-child {
        border-bottom: 0;
    }

    .portal-nav a.active {
        margin-bottom: 4px !important;
        background: linear-gradient(135deg, #9a138e, #ff371d);
    }

    body.menu-open .nav-toggle span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    body.menu-open .nav-toggle span:nth-child(2) {
        opacity: 0;
    }

    body.menu-open .nav-toggle span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .portal-shell,
    .modern-detail-shell {
        width: calc(100% - 24px) !important;
        max-width: none;
    }

    .showcase {
        grid-template-columns: 1fr !important;
        gap: 16px;
        min-height: 0;
        padding: 20px;
    }

    .study-art {
        display: none;
    }

    .quick-card {
        width: 100%;
        margin: 0;
    }

    .social-strip,
    .trust-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        margin: 0 0 14px !important;
        transform: none;
    }

    .apply-grid,
    .apply-grid.featured-updates {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        margin-left: 0;
        margin-right: 0;
    }

    .notice-panels,
    .home-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        margin-left: 0;
        margin-right: 0;
    }

    .notice-panels > :last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .featured-head {
        margin-left: 0;
        margin-right: 0;
    }

    .page-title-band {
        margin-top: 12px;
    }

    .category-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .listing-grid {
        grid-template-columns: 1fr;
    }

    .info-page-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .modern-hero,
    .modern-detail-grid,
    .detail-hero,
    .detail-grid,
    .admin-grid {
        grid-template-columns: 1fr;
    }

    .source-status-home {
        margin-left: 0;
        margin-right: 0;
    }

    .portal-footer {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 18px 24px;
    }

    .portal-footer span {
        text-align: left;
    }
}

@media (max-width: 700px) {
    body.portal-home {
        padding-top: 124px !important;
        scroll-padding-top: 124px;
    }

    .portal-header {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .portal-nav {
        top: 116px !important;
        right: 8px !important;
        width: min(330px, calc(100% - 16px)) !important;
        max-height: calc(100dvh - 124px);
    }

    .portal-shell,
    .modern-detail-shell {
        width: calc(100% - 16px) !important;
    }

    .logo-copy strong {
        font-size: 1.25rem;
    }

    .logo-copy small {
        font-size: .7rem;
    }

    .logo-copy small i {
        display: none;
    }

    .showcase {
        padding: 16px 12px;
        border-radius: 9px;
    }

    .welcome {
        font-size: 1rem;
    }

    .showcase h1 {
        font-size: 2.55rem;
        line-height: 1;
    }

    .trusted-line {
        margin-bottom: 14px;
        font-size: 1rem;
    }

    .feature-pills {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .feature-pills span {
        min-width: 0;
        padding: 10px 8px;
        font-size: .84rem;
    }

    .social-strip,
    .trust-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        padding: 8px;
        border-radius: 9px;
    }

    .social-strip a,
    .trust-strip div {
        min-width: 0;
        padding: 8px;
        border-right: 0;
        border-bottom: 1px solid #d7e0ee;
    }

    .social-strip strong,
    .social-strip small,
    .trust-strip strong,
    .trust-strip small {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .apply-grid,
    .apply-grid.featured-updates,
    .notice-panels,
    .home-category-grid,
    .info-page-grid {
        grid-template-columns: 1fr !important;
    }

    .notice-panels > :last-child:nth-child(odd) {
        grid-column: auto;
    }

    .featured-updates .apply-tile {
        min-height: 64px;
    }

    .featured-updates .apply-tile strong,
    .featured-updates .apply-tile small,
    .notice-panel li a span,
    .home-category-card li span {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

    .notice-panel li a,
    .home-category-card li a {
        min-height: 42px;
        padding: 5px 0;
    }

    .page-title-band {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
        padding: 18px 14px;
        border-radius: 9px;
    }

    .page-title-band h1 {
        font-size: 2rem;
    }

    .inner-search {
        width: 100%;
        grid-template-columns: minmax(0, 1fr) 82px;
    }

    .category-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .category-summary a,
    .listing-card,
    .info-page-card,
    .modern-panel {
        padding: 14px;
    }

    .listing-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .listing-actions .button,
    .listing-actions .status {
        width: 100%;
    }

    .modern-hero {
        gap: 18px;
        min-height: 0;
        padding: 20px 14px;
        border-radius: 9px;
    }

    .modern-copy h1 {
        font-size: 2.25rem;
    }

    .modern-pills span,
    .modern-actions .button,
    .modern-actions .status {
        width: 100%;
    }

    .modern-list div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .timeline-item {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 16px 0;
    }

    .section-head.with-note {
        align-items: flex-start;
        flex-direction: column;
    }

    .source-status-home,
    .source-counts {
        align-items: stretch;
        flex-direction: column;
    }

    .source-counts span {
        text-align: center;
    }

    .portal-footer,
    .portal-footer nav {
        align-items: flex-start;
        flex-direction: column;
    }

    .portal-footer {
        padding: 16px;
    }
}

@media (max-width: 420px) {
    body.portal-home {
        padding-top: 118px !important;
        scroll-padding-top: 118px;
    }

    .logo-seal {
        width: 46px;
        height: 46px;
    }

    .logo-copy strong {
        font-size: 1.05rem;
    }

    .logo-copy small {
        font-size: .65rem;
    }

    .portal-search {
        grid-template-columns: minmax(0, 1fr) 44px;
    }

    .portal-nav {
        top: 112px !important;
        max-height: calc(100dvh - 120px);
    }

    .showcase h1 {
        font-size: 2.1rem;
    }

    .feature-pills,
    .social-strip,
    .trust-strip,
    .category-summary,
    .status-strip,
    .form-grid {
        grid-template-columns: 1fr !important;
    }

    .featured-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .featured-head a {
        width: 100%;
        text-align: center;
    }

    .modern-copy h1 {
        font-size: 1.85rem;
    }

    .crumbs {
        gap: 6px;
        font-size: .74rem;
    }

    .selected-release,
    .modern-panel {
        padding: 14px 12px;
    }

    .social-admin-row {
        grid-template-columns: 1fr;
    }
}

/* Featured updates: compact, consistent cards with a professional light palette. */
.featured-head {
    position: relative;
    align-items: center;
    margin-top: 22px;
    padding: 0 2px 10px 15px;
    border-bottom: 1px solid #cbd9e8;
}

.featured-head::before {
    position: absolute;
    top: 3px;
    bottom: 12px;
    left: 0;
    width: 5px;
    border-radius: 2px;
    background: #087e78;
    content: '';
}

.featured-head h2 {
    color: #102a56;
    font-size: 1.22rem;
    letter-spacing: 0;
}

.featured-head a {
    padding: 8px 12px;
    border: 1px solid #b8cfe5;
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
    color: #075edc;
}

.featured-head a:hover {
    border-color: #75a8dc;
    background: #f4f9ff;
}

.featured-updates {
    gap: 12px 14px;
}

.featured-updates .apply-tile {
    grid-template-rows: auto minmax(20px, 1fr) !important;
    align-content: center;
    height: 96px;
    min-height: 96px;
    max-height: 96px;
    box-sizing: border-box;
    overflow: hidden;
    border-color: color-mix(in srgb, var(--tile-accent) 22%, #d8e2ec);
    box-shadow: 0 4px 12px rgba(23, 42, 70, .07);
}

.featured-updates .apply-tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(23, 42, 70, .12);
}

.featured-updates .apply-tile.purple { --tile-accent: #5d52b7; --tile-surface: #f4f3ff; }
.featured-updates .apply-tile.blue { --tile-accent: #1769aa; --tile-surface: #eff7ff; }
.featured-updates .apply-tile.green { --tile-accent: #14805e; --tile-surface: #eefaf5; }
.featured-updates .apply-tile.orange { --tile-accent: #c76221; --tile-surface: #fff6ed; }
.featured-updates .apply-tile.red { --tile-accent: #b93c55; --tile-surface: #fff2f4; }
.featured-updates .apply-tile.teal { --tile-accent: #0f7b83; --tile-surface: #edfafa; }
.featured-updates .apply-tile.violet { --tile-accent: #7650a8; --tile-surface: #f7f2fb; }
.featured-updates .apply-tile.pink { --tile-accent: #b83d75; --tile-surface: #fff3f8; }

.featured-updates .apply-tile > .tile-category {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.featured-updates .apply-tile.priority-job {
    --tile-accent: #075edc;
    --tile-surface: #edf7ff;
    border-color: #9dc8ef;
    box-shadow: inset 4px 0 0 #075edc, 0 4px 12px rgba(7, 94, 220, .1);
}

.featured-updates .apply-tile.priority-job .tile-category {
    border-color: #075edc !important;
    background: #075edc !important;
    color: #fff !important;
}

@media (max-width: 700px) {
    .featured-head {
        padding-left: 13px;
    }

    .featured-head h2 {
        font-size: 1.05rem;
    }

    .featured-updates .apply-tile {
        height: 88px;
        min-height: 88px;
        max-height: 88px;
    }
}

@media (max-width: 300px) {
    .logo-seal {
        display: none;
    }

    .portal-logo {
        gap: 0;
    }

    .logo-copy strong {
        font-size: .98rem;
    }
}

/* Homepage clarity fixes: readable updates, aligned channels, and header/nav breathing room */
.featured-updates .apply-tile {
    grid-template-columns: 44px minmax(0, 1fr) 18px !important;
    grid-template-rows: auto auto !important;
    column-gap: 9px;
    row-gap: 3px;
    min-height: 84px;
    padding: 10px 11px !important;
}

/* Academic results: official board and entrance outcomes in one calm dashboard. */
.tag.academic {
    background: #e7f8f3;
    color: #087a5a;
}

.academic-results-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: 32px;
    align-items: center;
    margin-bottom: 16px;
    padding: 28px 30px;
    border: 1px solid #cfe2f5;
    border-top: 5px solid #1463e6;
    border-radius: 8px;
    background: #edf7ff;
    box-shadow: 0 7px 20px rgba(18, 58, 111, .09);
}

.academic-results-copy > p,
.academic-results-heading p {
    margin: 0 0 5px;
    color: #087a5a;
    font-size: .73rem;
    font-weight: 900;
    text-transform: uppercase;
}

.academic-results-copy h1 {
    margin: 0;
    color: #0b1d55;
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1;
    letter-spacing: 0;
}

.academic-results-copy > span {
    display: block;
    max-width: 760px;
    margin-top: 10px;
    color: #435574;
    font-size: .94rem;
}

.academic-result-assurances {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.academic-result-assurances strong {
    padding: 7px 10px;
    border: 1px solid #c7dcef;
    border-radius: 5px;
    background: #fff;
    color: #0d4c93;
    font-size: .72rem;
}

.academic-result-search {
    min-width: 0;
    padding: 18px;
    border: 1px solid #c7dcef;
    border-radius: 7px;
    background: #fff;
}

.academic-result-search label {
    display: block;
    margin-bottom: 7px;
    color: #14204b;
    font-size: .8rem;
    font-weight: 900;
}

.academic-result-search > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid #aec9e5;
    border-radius: 6px;
}

.academic-result-search input {
    min-width: 0;
    height: 44px;
    padding: 0 12px;
    border: 0;
    color: #14204b;
    font: inherit;
    outline: 0;
}

.academic-result-search button {
    min-height: 44px;
    border-radius: 0;
    background: #1463e6;
}

.academic-result-search small {
    display: block;
    margin-top: 8px;
    color: #60708b;
    font-size: .69rem;
}

.academic-result-filters {
    display: grid;
    grid-template-columns: repeat(7, minmax(115px, 1fr));
    gap: 8px;
    margin: 0 0 18px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.academic-result-filters a {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 7px;
    align-items: center;
    min-height: 46px;
    padding: 7px 9px;
    border: 1px solid #d7e2ee;
    border-radius: 6px;
    background: #fff;
    color: #253758;
    font-size: .72rem;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}

.academic-result-filters a span {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 4px;
    background: #e9f3ff;
    color: #1463e6;
    font-size: .66rem;
}

.academic-result-filters a:nth-child(2) span { background: #e8f8f2; color: #087a5a; }
.academic-result-filters a:nth-child(3) span { background: #fff2e7; color: #c95a16; }
.academic-result-filters a:nth-child(4) span { background: #edf0ff; color: #4b50c8; }
.academic-result-filters a:nth-child(5) span { background: #ffedf1; color: #c72c4d; }
.academic-result-filters a:nth-child(6) span { background: #f3edff; color: #6d28d9; }
.academic-result-filters a:nth-child(7) span { background: #e9f8fa; color: #087d88; }

.academic-result-filters a:hover,
.academic-result-filters a.active {
    border-color: #1463e6;
    background: #eaf4ff;
    color: #084aab;
}

.academic-results-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 10px;
}

.academic-results-heading h2 {
    margin: 0;
    color: #111d4f;
    font-size: 1.22rem;
    letter-spacing: 0;
}

.academic-results-heading > span {
    color: #60708b;
    font-size: .75rem;
    font-weight: 800;
}

.academic-result-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.academic-result-card {
    --result-accent: #1463e6;
    display: flex;
    min-width: 0;
    min-height: 285px;
    padding: 16px;
    border: 1px solid #d8e3ef;
    border-top: 4px solid var(--result-accent);
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 5px 15px rgba(22, 44, 87, .07);
    flex-direction: column;
}

.academic-result-card.class-10 { --result-accent: #0b966a; }
.academic-result-card.class-12 { --result-accent: #e36b1d; }
.academic-result-card.engineering { --result-accent: #4e55d6; }
.academic-result-card.medical { --result-accent: #d52f57; }
.academic-result-card.university { --result-accent: #6d28d9; }
.academic-result-card.other { --result-accent: #078894; }

.academic-result-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.academic-result-card-top span {
    padding: 4px 7px;
    border: 1px solid #c9d8ea;
    border: 1px solid color-mix(in srgb, var(--result-accent) 30%, white);
    border-radius: 4px;
    background: #eef5ff;
    background: color-mix(in srgb, var(--result-accent) 9%, white);
    color: var(--result-accent);
    font-size: .62rem;
    font-weight: 900;
    text-transform: uppercase;
}

.academic-result-card-top time {
    color: #68768f;
    font-size: .68rem;
    font-weight: 800;
    white-space: nowrap;
}

.academic-result-card h2 {
    margin: 12px 0 7px;
    font-size: 1rem;
    line-height: 1.28;
    letter-spacing: 0;
}

.academic-result-card h2 a {
    color: #111d4f;
    text-decoration: none;
}

.academic-result-card h2 a:hover { color: var(--result-accent); }

.academic-result-card > p {
    display: -webkit-box;
    margin: 0 0 12px;
    overflow: hidden;
    color: #596782;
    font-size: .76rem;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.academic-result-card dl {
    display: grid;
    gap: 7px;
    margin: auto 0 14px;
}

.academic-result-card dl div {
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    gap: 8px;
    padding-top: 7px;
    border-top: 1px solid #e5ebf2;
}

.academic-result-card dt {
    color: #748199;
    font-size: .62rem;
    font-weight: 900;
    text-transform: uppercase;
}

.academic-result-card dd {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: #263758;
    font-size: .69rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.academic-result-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.academic-result-actions .button {
    min-height: 38px;
    padding: 0 9px;
    font-size: .7rem;
}

.academic-result-actions .button:first-child { background: var(--result-accent); }

.academic-empty {
    grid-column: 1 / -1;
    text-align: center;
}

.academic-source-note {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
    gap: 24px;
    align-items: center;
    margin-bottom: 18px;
    padding: 16px 18px;
    border: 1px solid #cfe2f5;
    border-radius: 7px;
    background: #edf7ff;
}

.academic-source-note > div { display: grid; gap: 3px; }
.academic-source-note strong { color: #14204b; font-size: .78rem; }
.academic-source-note span { color: #566680; font-size: .7rem; }
.academic-source-note > div:last-child { padding-left: 22px; border-left: 1px solid #bfd4e8; }

@media (max-width: 1050px) {
    .academic-results-hero { grid-template-columns: 1fr; }
    .academic-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .academic-result-filters { grid-template-columns: repeat(7, minmax(135px, 1fr)); }
}

@media (max-width: 700px) {
    .academic-results-hero { gap: 20px; padding: 20px 16px; }
    .academic-results-copy h1 { font-size: 2rem; }
    .academic-result-assurances { display: grid; grid-template-columns: 1fr; }
    .academic-result-search { padding: 14px; }
    .academic-result-search > div { grid-template-columns: minmax(0, 1fr) 72px; }
    .academic-result-grid { grid-template-columns: 1fr; }
    .academic-result-card { min-height: 0; }
    .academic-source-note { grid-template-columns: 1fr; gap: 12px; }
    .academic-source-note > div:last-child { padding: 12px 0 0; border-top: 1px solid #bfd4e8; border-left: 0; }
}

@media (max-width: 380px) {
    .academic-result-card dl div { grid-template-columns: 1fr; gap: 3px; }
    .academic-result-actions { grid-template-columns: 1fr; }
}

/* Deadline-aware government job feeds. */
.government-job-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 0 18px 20px;
}

.government-job-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #d7e0ec;
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}

.government-job-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 92px;
    padding: 15px 17px;
    border-top: 4px solid #1768dc;
    background: #f4f8ff;
}

.government-job-card.state > header {
    border-top-color: #11934d;
    background: #f2fbf6;
}

.government-job-card header div { min-width: 0; }
.government-job-card header span {
    display: inline-block;
    margin-bottom: 4px;
    color: #1768dc;
    font-size: .66rem;
    font-weight: 900;
    text-transform: uppercase;
}
.government-job-card.state header span { color: #087b3d; }
.government-job-card h2 { margin: 0; color: #111a4d; font-size: 1.18rem; }
.government-job-card header p { margin: 5px 0 0; color: #52617c; font-size: .74rem; line-height: 1.35; }
.government-job-card header > a {
    flex: 0 0 auto;
    color: #075edc;
    font-size: .76rem;
    font-weight: 900;
    text-decoration: none;
}
.government-job-card.state header > a { color: #087b3d; }
.government-job-card ul { margin: 0; padding: 0 16px 8px; list-style: none; }
.government-job-card li > a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 14px;
    gap: 12px;
    align-items: center;
    min-height: 64px;
    border-bottom: 1px solid #e2e8f0;
    color: inherit;
    text-decoration: none;
}
.government-job-card li:last-child > a { border-bottom: 0; }
.government-job-copy { min-width: 0; }
.government-job-copy strong,
.government-job-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.government-job-copy strong { color: #111a4d; font-size: .82rem; }
.government-job-copy small { margin-top: 4px; color: #65718a; font-size: .68rem; }
.government-job-meta { display: grid; justify-items: end; gap: 4px; min-width: 112px; }
.government-job-meta em { color: #087b3d; font-size: .68rem; font-style: normal; font-weight: 900; }
.government-job-meta small { color: #59667f; font-size: .66rem; white-space: nowrap; }
.government-job-card li b { color: #1768dc; font-size: 1.3rem; }
.government-job-card.state li b { color: #087b3d; }
.government-job-empty { padding: 18px 0; color: #65718a; font-size: .78rem; }

@media (max-width: 820px) {
    .government-job-panels { grid-template-columns: minmax(0, 1fr); margin-right: 0; margin-left: 0; }
}

@media (max-width: 480px) {
    .government-job-card > header { align-items: flex-start; min-height: 0; padding: 14px; }
    .government-job-card header p { max-width: 235px; }
    .government-job-card ul { padding: 0 13px 7px; }
    .government-job-card li > a { grid-template-columns: minmax(0, 1fr) 12px; gap: 8px; padding: 10px 0; }
    .government-job-meta { grid-column: 1; grid-row: 2; justify-items: start; min-width: 0; }
    .government-job-card li b { grid-column: 2; grid-row: 1 / 3; }
}

.featured-updates .apply-tile > span {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    align-self: center;
}

.featured-updates .apply-tile > strong {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end;
    color: #fff;
    font-size: .9rem;
    line-height: 1.2;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.featured-updates .apply-tile > small {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start;
    color: rgba(255,255,255,.94);
    font-size: .72rem;
    line-height: 1.22;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.featured-updates .apply-tile > b {
    grid-column: 3 !important;
    grid-row: 1 / 3 !important;
    align-self: center;
    justify-self: end;
}

.social-strip a {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 10px;
    row-gap: 2px;
    align-content: center;
    min-height: 64px;
}

.social-strip a > img {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    align-self: center;
    justify-self: center;
}

.social-strip a > strong {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end;
    line-height: 1.15;
}

.social-strip a > small {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start;
    line-height: 1.15;
}

.notice-panel li a {
    grid-template-columns: 6px minmax(0, 1fr) auto 14px !important;
    gap: 8px;
    min-height: 50px;
    padding: 6px 0;
}

.notice-panel li a::before {
    grid-column: 1;
}

.notice-panel li a > span {
    grid-column: 2;
    min-width: 0;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.notice-panel li a > span strong,
.notice-panel li a > span small {
    display: block;
    min-width: 0;
}

.notice-panel li a > span strong {
    color: #080159;
    font-size: .82rem;
    line-height: 1.18;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.notice-panel li a > span small {
    margin-top: 3px;
    color: #59647d;
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.2;
}

.notice-panel li a > em {
    grid-column: 3;
}

.notice-panel li a > b {
    grid-column: 4;
}

.current-job-expansion {
    border-top: 1px solid #e4e9f2;
}

.current-job-expansion summary {
    margin: 0 12px 12px;
    padding: 9px 12px;
    border-radius: 6px;
    background: #fff1f0;
    color: #b51212;
    cursor: pointer;
    font-size: .76rem;
    font-weight: 900;
    text-align: center;
}

.current-job-expansion[open] summary {
    margin-bottom: 0;
}

.current-job-expansion > ul {
    max-height: 620px;
    overflow: auto;
    overscroll-behavior: contain;
}

@media (min-width: 1501px) {
    body.portal-home {
        padding-top: 190px !important;
        scroll-padding-top: 190px;
    }

    .portal-nav {
        top: 116px !important;
    }
}

/* Trust, support and policy content. */
.home-support-band {
    margin: 18px 0;
    overflow: hidden;
    border: 1px solid #cfdced;
    border-top: 5px solid #1269d3;
    border-radius: 8px;
    background: #f7fbff;
    box-shadow: 0 7px 20px rgba(18, 48, 92, .08);
}

.home-support-band > header {
    padding: 22px 24px 18px;
    border-bottom: 1px solid #d9e4f0;
    background: #fff;
}

.home-support-band > header p,
.content-page-hero > p {
    margin: 0 0 5px;
    color: #087a5a;
    font-size: .7rem;
    font-weight: 900;
    text-transform: uppercase;
}

.home-support-band > header h2 {
    margin: 0;
    color: #111d4f;
    font-size: 1.35rem;
    letter-spacing: 0;
}

.home-support-band > header span {
    display: block;
    max-width: 950px;
    margin-top: 7px;
    color: #596984;
    font-size: .8rem;
    line-height: 1.5;
}

.home-support-columns {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-support-columns > div {
    display: flex;
    min-width: 0;
    padding: 20px 24px 22px;
    border-right: 1px solid #d9e4f0;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
}

.home-support-columns > div:last-child { border-right: 0; }
.home-support-columns h3 { margin: 0 0 3px; color: #111d4f; font-size: .86rem; letter-spacing: 0; }
.home-support-columns > div:nth-child(2) h3 { color: #087a5a; }
.home-support-columns > div:nth-child(3) h3 { color: #b94d11; }
.home-support-columns > div:nth-child(4) h3 { color: #6428b7; }
.home-support-columns a { color: #24436e; font-size: .75rem; font-weight: 800; text-decoration: none; }
.home-support-columns a:hover { color: #075edc; text-decoration: underline; }
.home-support-columns span { color: #68768d; font-size: .69rem; line-height: 1.45; }

.portal-footer {
    display: grid;
    grid-template-columns: minmax(260px, 1.2fr) minmax(240px, .9fr) minmax(280px, 1fr);
    gap: 18px 28px;
    align-items: start;
    padding: 22px 34px;
}

.portal-footer-brand { display: grid; gap: 5px; }
.portal-footer-brand strong { color: #fff; }
.portal-footer-brand small { max-width: 520px; color: #d8e5ff; font-size: .7rem; line-height: 1.45; }
.portal-footer nav { display: flex; flex-wrap: wrap; gap: 8px 15px; }
.portal-footer nav a { color: #fff; font-size: .7rem; font-weight: 800; text-decoration: none; }
.portal-footer nav a:hover { text-decoration: underline; }
.portal-footer > span { grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.22); color: #d8e5ff; font-size: .68rem; text-align: center; }

.content-page-shell { max-width: 1240px; }
.content-breadcrumb { display: flex; gap: 8px; align-items: center; margin: 4px 0 12px; color: #64728a; font-size: .72rem; font-weight: 800; }
.content-breadcrumb a { color: #075edc; text-decoration: none; }
.content-page-hero {
    padding: 24px 28px;
    border: 1px solid #cfe0f2;
    border-top: 5px solid #1269d3;
    border-radius: 8px 8px 0 0;
    background: #edf7ff;
}
.content-page-hero h1 { margin: 0; color: #101e51; font-size: 2.25rem; line-height: 1.05; letter-spacing: 0; }
.content-page-hero > span { display: block; max-width: 900px; margin-top: 8px; color: #52627d; font-size: .86rem; line-height: 1.5; }

.content-page-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    margin-bottom: 22px;
    border: 1px solid #d7e1ec;
    border-top: 0;
    border-radius: 0 0 8px 8px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(20, 46, 84, .08);
}

.editable-content { min-width: 0; padding: 28px 32px 34px; }
.editable-content h2 { margin: 25px 0 8px; color: #121f52; font-size: 1.08rem; letter-spacing: 0; }
.editable-content h2:first-child { margin-top: 0; }
.editable-content p,
.editable-content li { color: #455572; font-size: .83rem; line-height: 1.7; }
.editable-content p { margin: 0 0 13px; }
.editable-content ul { margin: 0 0 15px; padding-left: 20px; }
.editable-content .content-reviewed { margin-top: 28px; padding-top: 14px; border-top: 1px solid #e0e7ef; color: #68768d; font-size: .7rem; font-weight: 800; }

.content-support-aside { min-width: 0; padding: 26px 24px; border-left: 1px solid #dce5ee; background: #f8fbfe; }
.content-support-aside > section { padding: 0 0 20px; }
.content-support-aside > section + section { padding-top: 20px; border-top: 1px solid #dce5ee; }
.content-support-aside h2 { margin: 0 0 8px; color: #121f52; font-size: .9rem; letter-spacing: 0; }
.content-support-aside p,
.content-support-aside small { display: block; margin: 0 0 12px; color: #5d6b82; font-size: .72rem; line-height: 1.5; }
.content-support-aside .button { width: 100%; margin-bottom: 8px; background: #075edc; }
.content-support-aside dl { display: grid; gap: 12px; margin: 0; }
.content-support-aside dl div { display: grid; gap: 2px; }
.content-support-aside dt { font-size: .62rem; }
.content-support-aside dd { margin: 0; color: #2a3c5d; font-size: .72rem; }
.content-support-aside nav { display: grid; gap: 6px; }
.content-support-aside nav a { padding: 7px 0; border-bottom: 1px solid #e1e8f0; color: #164f96; font-size: .72rem; font-weight: 800; text-decoration: none; }

.site-page-editors { display: grid; gap: 9px; }
.site-page-editor { overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: #fbfdff; }
.site-page-editor summary { padding: 13px 15px; color: var(--ink); cursor: pointer; font-size: .82rem; font-weight: 900; }
.site-page-editor > div { display: grid; gap: 12px; padding: 15px; border-top: 1px solid var(--line); }
.site-page-editor textarea { resize: vertical; }

@media (max-width: 980px) {
    .home-support-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-support-columns > div:nth-child(2) { border-right: 0; }
    .home-support-columns > div:nth-child(-n+2) { border-bottom: 1px solid #d9e4f0; }
    .content-page-layout { grid-template-columns: minmax(0, 1fr) 280px; }
    .portal-footer { grid-template-columns: 1fr 1fr; }
    .portal-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
    .home-support-band > header { padding: 18px 16px; }
    .home-support-band > header h2 { font-size: 1.15rem; }
    .home-support-columns { grid-template-columns: 1fr; }
    .home-support-columns > div { padding: 17px 16px; border-right: 0; border-bottom: 1px solid #d9e4f0; }
    .home-support-columns > div:last-child { border-bottom: 0; }
    .content-page-hero { padding: 20px 17px; }
    .content-page-hero h1 { font-size: 1.75rem; }
    .content-page-layout { grid-template-columns: 1fr; }
    .editable-content { padding: 22px 17px 26px; }
    .content-support-aside { padding: 22px 17px; border-top: 1px solid #dce5ee; border-left: 0; }
    .portal-footer { grid-template-columns: 1fr; gap: 15px; padding: 20px 17px; }
    .portal-footer-brand { grid-column: 1; }
}

/* Featured updates: light, category-led tiles with one focused heading. */
.featured-updates .apply-tile {
    --tile-accent: #5b21b6;
    --tile-surface: #f3efff;
    grid-template-columns: minmax(0, 1fr) 18px !important;
    grid-template-rows: auto minmax(22px, auto) !important;
    align-content: center;
    min-height: 78px;
    padding: 10px 12px !important;
    border: 1px solid color-mix(in srgb, var(--tile-accent) 24%, white);
    border-left: 5px solid var(--tile-accent);
    border-radius: 7px;
    background: var(--tile-surface) !important;
    box-shadow: 0 5px 14px rgba(23, 31, 66, .08);
    color: #14204b;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.featured-updates .apply-tile:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--tile-accent) 40%, white);
    box-shadow: 0 9px 20px rgba(23, 31, 66, .13);
}

.featured-updates .apply-tile.purple { --tile-accent: #6d28d9; --tile-surface: #f3efff; }
.featured-updates .apply-tile.blue { --tile-accent: #1473e6; --tile-surface: #eaf4ff; }
.featured-updates .apply-tile.green { --tile-accent: #0b8f55; --tile-surface: #eaf9f1; }
.featured-updates .apply-tile.orange { --tile-accent: #e76518; --tile-surface: #fff1e8; }
.featured-updates .apply-tile.red { --tile-accent: #d92d4b; --tile-surface: #ffedf1; }
.featured-updates .apply-tile.teal { --tile-accent: #078b91; --tile-surface: #e7f9fa; }
.featured-updates .apply-tile.violet { --tile-accent: #7c3aed; --tile-surface: #f2edff; }
.featured-updates .apply-tile.pink { --tile-accent: #d7267b; --tile-surface: #ffedf7; }

.featured-updates .apply-tile > .tile-category {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start;
    width: auto !important;
    height: auto !important;
    margin: 0 0 5px;
    padding: 3px 7px;
    border: 1px solid color-mix(in srgb, var(--tile-accent) 24%, white);
    border-radius: 4px;
    background: #fff !important;
    color: var(--tile-accent) !important;
    font-size: .62rem !important;
    line-height: 1.1;
    text-transform: uppercase;
    white-space: nowrap;
}

.featured-updates .apply-tile > strong {
    grid-column: 1 !important;
    grid-row: 2 !important;
    display: block;
    min-width: 0;
    overflow: hidden !important;
    color: #14204b !important;
    font-size: .86rem;
    line-height: 1.2;
    text-align: left;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.featured-updates .apply-tile > b {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    align-self: center;
    justify-self: end;
    color: var(--tile-accent) !important;
    font-size: 1.35rem;
}

.featured-updates .apply-tile > .tile-update {
    display: none !important;
}

@media (max-width: 700px) {
    .featured-updates .apply-tile {
        min-height: 72px;
    }
}

@media (min-width: 1101px) and (max-width: 1500px) {
    body.portal-home {
        padding-top: 168px !important;
        scroll-padding-top: 168px;
    }

    .portal-header {
        min-height: 84px;
        grid-template-columns: minmax(390px, 1fr) minmax(56px, 300px) auto !important;
        gap: 14px;
        padding: 8px 18px !important;
    }

    .logo-seal {
        width: 66px;
        height: 66px;
        border-width: 5px;
    }

    .logo-seal strong {
        font-size: 12px;
    }

    .logo-seal strong:nth-child(2) {
        font-size: 14px;
    }

    .portal-logo {
        gap: 12px;
    }

    .logo-copy strong {
        font-size: 2rem;
        white-space: nowrap;
    }

    .logo-copy small {
        justify-content: flex-start;
        margin-top: 4px;
        font-size: .9rem;
        white-space: nowrap;
    }

    .logo-copy i {
        width: 34px;
    }

    .join-actions {
        gap: 10px;
    }

    .join-btn {
        min-width: 124px;
        padding: 7px 9px;
    }

    .portal-nav {
        top: 94px !important;
        left: 18px !important;
        right: 18px !important;
    }
}

@media (max-width: 1100px) {
    .portal-nav {
        top: 130px !important;
    }
}

@media (max-width: 700px) {
    .portal-nav {
        top: 122px !important;
    }

    .social-strip a {
        min-height: 62px;
    }

    .featured-updates .apply-tile {
        min-height: 78px;
    }

    .featured-updates .apply-tile > strong {
        font-size: .92rem;
    }

    .featured-updates .apply-tile > small {
        font-size: .76rem;
    }
}

@media (max-width: 420px) {
    .portal-nav {
        top: 118px !important;
    }

    .social-strip a > strong,
    .social-strip a > small {
        overflow-wrap: anywhere;
    }
}

/* Complete category list pages */
.category-list-view {
    display: grid;
    gap: 12px;
    margin: 0 0 18px;
}

.category-list-row {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid #dce5f1;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(8, 1, 83, .08);
}

.category-list-badge {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: linear-gradient(135deg, #160070, #075edc);
    color: #fff;
    font-weight: 900;
}

.category-list-copy {
    min-width: 0;
}

.category-list-copy > p:first-child {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 5px;
}

.category-list-copy > p:first-child span,
.category-list-copy > p:first-child em {
    color: #075edc;
    font-size: .72rem;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

.category-list-copy > p:first-child em {
    color: #079347;
}

.category-list-copy h2 {
    margin: 0;
    font-size: 1.08rem;
    letter-spacing: 0;
}

.category-list-copy h2 a {
    color: #0d1550;
    text-decoration: none;
}

.category-list-copy h2 a:hover {
    color: #075edc;
    text-decoration: underline;
}

.category-list-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-top: 7px;
    color: #52607d;
    font-size: .78rem;
    font-weight: 800;
}

.category-list-description {
    margin: 7px 0 0;
    color: #65718d;
    font-size: .84rem;
}

.category-list-actions {
    display: grid;
    gap: 8px;
    min-width: 140px;
}

@media (max-width: 820px) {
    .category-list-row {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 12px;
        padding: 14px;
    }

    .category-list-badge {
        width: 42px;
        height: 42px;
    }

    .category-list-actions {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        min-width: 0;
    }
}

@media (max-width: 420px) {
    .category-list-row {
        grid-template-columns: 1fr;
    }

    .category-list-badge {
        display: none;
    }

    .category-list-actions {
        grid-template-columns: 1fr;
    }

    .category-list-copy h2 {
        font-size: 1rem;
    }
}

/* Official documents and structured advertisement facts */
.pdf-button,
a[data-official-pdf] {
    background: #b5121b;
    color: #fff;
}

.advertisement-facts {
    margin: 22px 0;
}

.fact-panel-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.fact-panel {
    align-content: start;
}

.fact-panel h3 {
    margin: 0;
    color: #101852;
    font-size: 1.05rem;
    letter-spacing: 0;
}

.fact-total {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 2px 0 4px;
    padding: 14px;
    border-left: 4px solid #075edc;
    background: #eef6ff;
}

.fact-total strong {
    color: #075edc;
    font-size: 1.6rem;
}

.fact-total span,
.fact-empty {
    color: #596681;
    font-size: .86rem;
}

.fact-table {
    margin: 0;
}

.fact-table > div {
    display: grid;
    grid-template-columns: minmax(130px, .8fr) minmax(0, 1.2fr);
    gap: 16px;
    padding: 11px 0;
    border-top: 1px solid #e0e7f1;
}

.fact-table dt {
    color: #53617e;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.fact-table dd {
    margin: 0;
    color: #11194f;
    font-weight: 800;
    overflow-wrap: anywhere;
}

@media (max-width: 820px) {
    .fact-panel-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .fact-table > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .fact-total {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Job vacancy status and related-release progress */
.vacancy-apply-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 0 0 14px;
    border-bottom: 1px solid #dce6f3;
}
.vacancy-apply-status > span:first-child { display: grid; gap: 3px; }
.vacancy-apply-status small { color: #5b6782; font-size: .7rem; font-weight: 900; text-transform: uppercase; }
.vacancy-apply-status strong { color: #0a3ca8; font-size: 1.45rem; line-height: 1.1; overflow-wrap: anywhere; }
.vacancy-apply-status .status { margin: 0; text-align: center; }
.release-progress {
    overflow: hidden;
    margin: 24px 0;
    padding: 0;
    border: 1px solid #d7e3f1;
    border-radius: 8px;
    background: #f4f9ff;
    box-shadow: 0 8px 26px rgba(12, 35, 83, .08);
}
.progress-intro {
    display: grid;
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding: 28px 34px;
    background: #edf6ff;
}
.progress-intro-icon {
    position: relative;
    display: block;
    width: 60px;
    height: 60px;
    border: 1px solid #c9dcf4;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(8, 73, 173, .1);
}
.progress-intro-icon::before {
    content: "";
    position: absolute;
    inset: 17px 13px 11px;
    border: 3px solid #1769e8;
    border-radius: 5px;
    box-shadow: inset 0 7px 0 #dceaff;
}
.progress-intro-icon::after {
    content: "";
    position: absolute;
    top: 12px;
    left: 20px;
    width: 4px;
    height: 12px;
    border-radius: 3px;
    background: #1769e8;
    box-shadow: 16px 0 0 #1769e8;
}
.progress-intro .eyebrow { margin-bottom: 8px; color: #075edc; }
.progress-intro h2 { margin: 0; color: #101852; font-size: clamp(1.45rem, 3vw, 2.05rem); letter-spacing: 0; }
.progress-intro p:last-child { margin: 10px 0 0; color: #4e5e7c; }
.timeline-progress-shell {
    margin: 0 34px 30px;
    padding: 28px 34px 0;
    border: 1px solid #dbe5f1;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(12, 35, 83, .07);
}
.release-progress .timeline { position: relative; display: grid; gap: 26px; }
.release-progress .timeline::before {
    content: "";
    position: absolute;
    top: 36px;
    bottom: 32px;
    left: 191px;
    width: 2px;
    background: #bbcee7;
}
.release-progress .timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: 166px 50px minmax(0, 1fr);
    gap: 0;
    align-items: center;
    padding: 0;
    border: 0;
}
.timeline-stage {
    z-index: 1;
    display: grid;
    place-items: center;
    align-content: center;
    justify-self: center;
    width: 138px;
    height: 138px;
    padding: 14px;
    border-radius: 50%;
    color: #fff;
    text-align: center;
    box-shadow: 0 8px 18px rgba(12, 35, 83, .16);
}
.timeline-stage.notice { background: #1463e6; }
.timeline-stage.admit { background: #fb6b1a; }
.timeline-stage.result { background: #07994d; }
.timeline-stage.release { background: #008e9c; }
.timeline-stage-icon {
    position: relative;
    display: block;
    width: 42px;
    height: 32px;
    margin-bottom: 9px;
    border: 3px solid currentColor;
    border-radius: 5px;
}
.timeline-stage-icon::before,
.timeline-stage-icon::after {
    content: "";
    position: absolute;
    left: 7px;
    right: 7px;
    height: 3px;
    border-radius: 2px;
    background: currentColor;
}
.timeline-stage-icon::before { top: 8px; }
.timeline-stage-icon::after { top: 17px; }
.timeline-stage strong { font-size: .88rem; line-height: 1.2; }
.timeline-node {
    z-index: 2;
    display: block;
    justify-self: center;
    width: 20px;
    height: 20px;
    border: 5px solid #fff;
    border-radius: 50%;
    background: #1769e8;
    box-shadow: 0 0 0 3px #1769e8;
}
.timeline-admit .timeline-node { background: #fb6b1a; box-shadow: 0 0 0 3px #fb6b1a; }
.timeline-result .timeline-node { background: #07994d; box-shadow: 0 0 0 3px #07994d; }
.timeline-release .timeline-node { background: #008e9c; box-shadow: 0 0 0 3px #008e9c; }
.timeline-entry { min-width: 0; padding-left: 12px; }
.timeline-entry time { display: block; margin: 0 0 8px 2px; color: #1769e8; font-size: .92rem; font-weight: 900; }
.timeline-admit .timeline-entry time { color: #e8550c; }
.timeline-result .timeline-entry time { color: #078844; }
.timeline-release .timeline-entry time { color: #007e89; }
.timeline-card {
    padding: 18px 20px;
    border: 1px solid #dce5f0;
    border-right: 5px solid #1769e8;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(12, 35, 83, .08);
}
.timeline-admit .timeline-card { border-right-color: #fb6b1a; }
.timeline-result .timeline-card { border-right-color: #07994d; }
.timeline-release .timeline-card { border-right-color: #008e9c; }
.timeline-item.is-selected .timeline-card { background: #f7fbff; box-shadow: 0 7px 20px rgba(7, 94, 220, .13); }
.timeline-card h3 { margin: 0; font-size: 1.12rem; letter-spacing: 0; }
.timeline-card h3 a { color: #101852; text-decoration: none; }
.timeline-card h3 a:hover { color: #075edc; text-decoration: underline; }
.timeline-card p { margin: 9px 0 13px; color: #52607c; font-size: .9rem; }
.timeline-release-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid #a9c5ff;
    border-radius: 6px;
    color: #075edc;
    font-size: .82rem;
    font-weight: 900;
    text-decoration: none;
}
.timeline-release-link:hover { border-color: #075edc; background: #edf5ff; }
.timeline-trust-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 28px -34px 0;
    padding: 18px 34px;
    border-radius: 0 0 8px 8px;
    background: #eaf5ff;
}
.timeline-trust-strip p { display: flex; align-items: center; justify-content: center; gap: 12px; min-width: 0; margin: 0; }
.timeline-trust-strip p + p { border-left: 1px solid #b9cae0; }
.timeline-trust-strip p > span:last-child { display: grid; gap: 3px; }
.timeline-trust-strip strong,
.timeline-trust-strip small { display: block; }
.timeline-trust-strip strong { color: #101852; font-size: .84rem; }
.timeline-trust-strip small { color: #52607c; font-size: .76rem; }
.trust-shield,
.trust-sync {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: #1769e8;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 900;
}
.trust-sync { background: #08a653; }
@media (max-width: 820px) {
    .progress-intro { grid-template-columns: 52px minmax(0, 1fr); padding: 22px 18px; }
    .progress-intro-icon { width: 50px; height: 50px; }
    .progress-intro-icon::before { inset: 15px 10px 9px; }
    .progress-intro-icon::after { left: 16px; box-shadow: 14px 0 0 #1769e8; }
    .timeline-progress-shell { margin: 0 12px 18px; padding: 22px 16px 0; }
    .release-progress .timeline { gap: 24px; }
    .release-progress .timeline::before { top: 16px; bottom: 24px; left: 13px; }
    .release-progress .timeline-item { grid-template-columns: 28px minmax(0, 1fr); align-items: start; }
    .timeline-stage {
        grid-column: 2;
        grid-row: 1;
        display: inline-flex;
        gap: 8px;
        justify-self: start;
        width: auto;
        height: auto;
        min-height: 36px;
        margin: 0 0 8px 12px;
        padding: 7px 11px;
        border-radius: 6px;
    }
    .timeline-stage-icon { width: 21px; height: 17px; margin: 0; border-width: 2px; }
    .timeline-stage-icon::before { top: 4px; height: 2px; }
    .timeline-stage-icon::after { top: 9px; height: 2px; }
    .timeline-node {
        grid-column: 1;
        grid-row: 1 / span 2;
        width: 14px;
        height: 14px;
        margin-top: 11px;
        border-width: 4px;
        box-shadow: 0 0 0 2px #1769e8;
    }
    .timeline-admit .timeline-node { box-shadow: 0 0 0 2px #fb6b1a; }
    .timeline-result .timeline-node { box-shadow: 0 0 0 2px #07994d; }
    .timeline-release .timeline-node { box-shadow: 0 0 0 2px #008e9c; }
    .timeline-entry { grid-column: 2; grid-row: 2; padding-left: 12px; }
    .timeline-trust-strip { grid-template-columns: 1fr; gap: 15px; margin: 24px -16px 0; padding: 16px; }
    .timeline-trust-strip p { justify-content: flex-start; }
    .timeline-trust-strip p + p { padding-top: 15px; border-top: 1px solid #b9cae0; border-left: 0; }
}
@media (max-width: 480px) {
    .vacancy-apply-status { align-items: flex-start; flex-direction: column; }
    .progress-intro { grid-template-columns: 1fr; }
    .progress-intro-icon { display: none; }
    .timeline-card { padding: 15px; }
    .timeline-card h3 { font-size: 1rem; }
}

/* Timeline overflow safeguards */
body.detail-modern { overflow-x: hidden; }
.release-progress,
.timeline-progress-shell,
.release-progress .timeline,
.release-progress .timeline-item,
.timeline-entry,
.timeline-card { max-width: 100%; min-width: 0; }
.timeline-card h3,
.timeline-card p,
.timeline-release-link { overflow-wrap: anywhere; }

/* Complete official advertisement brief */
.vacancy-apply-status {
    min-height: 78px;
    padding: 13px 15px;
    border: 1px solid #d7e3f1;
    border-radius: 8px;
    background: #f5f9ff;
}
.vacancy-apply-status > span:first-child { gap: 7px; padding-right: 10px; }
.vacancy-apply-status small { display: block; line-height: 1; }
.vacancy-apply-status strong { display: block; line-height: 1.15; }
.advertisement-brief { display: grid; gap: 16px; margin: 24px 0; }
.brief-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 370px);
    gap: 24px;
    align-items: center;
    padding: 22px 24px;
    border: 1px solid #d8e4f2;
    border-radius: 8px;
    background: #eef7ff;
}
.brief-heading .eyebrow { margin-bottom: 7px; color: #075edc; }
.brief-heading h2 { margin: 0; color: #101852; font-size: clamp(1.45rem, 2.6vw, 2rem); letter-spacing: 0; }
.brief-heading > div:first-child > p:last-child { margin: 9px 0 0; color: #53617e; }
.brief-verification {
    display: grid;
    gap: 5px;
    padding: 14px 16px;
    border-left: 4px solid #07994d;
    border-radius: 6px;
    background: #fff;
}
.brief-verification strong { color: #08773d; }
.brief-verification span { color: #465775; font-size: .8rem; line-height: 1.4; }
.brief-verification small { color: #075edc; font-size: .72rem; font-weight: 900; }
.brief-short-info,
.brief-panel,
.brief-official-callout {
    border: 1px solid #dce5f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(12, 35, 83, .07);
}
.brief-short-info {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
    gap: 24px;
    padding: 20px 22px;
}
.brief-label {
    display: block;
    margin-bottom: 8px;
    color: #075edc;
    font-size: .75rem;
    font-weight: 900;
    text-transform: uppercase;
}
.brief-short-info p { margin: 0; color: #3f4e6c; line-height: 1.6; }
.brief-short-info dl { display: grid; gap: 8px; margin: 0; }
.brief-short-info dl div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; }
.brief-short-info dt { color: #65718a; font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.brief-short-info dd { margin: 0; color: #101852; font-size: .82rem; font-weight: 800; }
.brief-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.brief-panel { min-width: 0; padding: 20px 22px; }
.brief-panel > h3,
.vacancy-brief-grid h3 {
    margin: -20px -22px 14px;
    padding: 12px 18px;
    border-bottom: 1px solid #dce5f0;
    background: #0f2f87;
    color: #fff;
    font-size: 1rem;
    letter-spacing: 0;
}
.brief-table { margin: 0; }
.brief-table > div {
    display: grid;
    grid-template-columns: minmax(130px, .75fr) minmax(0, 1.25fr);
    gap: 14px;
    padding: 10px 0;
    border-top: 1px solid #e3e9f2;
}
.brief-table > div:first-child { border-top: 0; }
.brief-table dt { color: #52607b; font-size: .76rem; font-weight: 900; }
.brief-table dd { margin: 0; color: #101852; font-size: .84rem; font-weight: 800; overflow-wrap: anywhere; }
.brief-table.text-heavy > div { grid-template-columns: 110px minmax(0, 1fr); }
.brief-table.text-heavy dd { font-weight: 600; line-height: 1.5; }
.brief-fallback { margin: 0; color: #53617e; font-size: .87rem; line-height: 1.55; }
.vacancy-brief-panel { padding: 0; overflow: hidden; }
.vacancy-brief-title {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    padding: 18px 22px;
    background: #eaf5ff;
}
.vacancy-brief-title > div { display: grid; gap: 4px; min-width: 150px; }
.vacancy-brief-title span { color: #52607b; font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.vacancy-brief-title strong { color: #075edc; font-size: 2rem; line-height: 1; }
.vacancy-brief-title p { margin: 0; color: #52607b; font-size: .82rem; }
.vacancy-brief-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vacancy-brief-grid > section { min-width: 0; padding: 20px 22px; }
.vacancy-brief-grid > section + section { border-left: 1px solid #dce5f0; }
.vacancy-brief-grid h3 { margin: -20px -22px 14px; background: #1463e6; }
.vacancy-table > div { grid-template-columns: minmax(0, 1fr) minmax(70px, .25fr); }
.vacancy-table dd { color: #075edc; text-align: right; }
.brief-list { display: grid; gap: 10px; margin: 0; padding-left: 22px; }
.brief-list li { padding-left: 3px; color: #3f4e6c; font-size: .85rem; line-height: 1.45; }
.application-guide { padding: 0; overflow: hidden; }
.application-guide-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 17px 22px;
    background: #eef7ff;
}
.application-guide-heading .eyebrow { margin: 0 0 4px; color: #075edc; }
.application-guide-heading h3 { margin: 0; color: #101852; letter-spacing: 0; }
.application-guide-heading > span {
    padding: 7px 10px;
    border: 1px solid #bfd4ee;
    border-radius: 6px;
    background: #fff;
    color: #52607b;
    font-size: .7rem;
    font-weight: 900;
}
.application-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 8px 22px 18px;
    list-style: none;
}
.application-steps li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 11px; align-items: start; padding: 13px 12px 13px 0; }
.application-steps li:nth-child(even) { padding-left: 18px; border-left: 1px solid #e0e8f2; }
.application-steps li > span {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    background: #075edc;
    color: #fff;
    font-size: .78rem;
    font-weight: 900;
}
.application-steps p { margin: 3px 0 0; color: #465573; font-size: .82rem; line-height: 1.45; }
.brief-official-callout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    align-items: center;
    padding: 20px 22px;
    border-left: 5px solid #e31b23;
}
.brief-official-callout strong { color: #101852; font-size: 1.03rem; }
.brief-official-callout p { margin: 6px 0 0; color: #52607b; font-size: .8rem; line-height: 1.45; }
.brief-official-callout .modern-actions { justify-content: flex-end; margin: 0; }
@media (max-width: 900px) {
    .brief-heading,
    .brief-short-info,
    .brief-official-callout { grid-template-columns: 1fr; }
    .brief-two-column,
    .vacancy-brief-grid { grid-template-columns: 1fr; }
    .vacancy-brief-grid > section + section { border-top: 1px solid #dce5f0; border-left: 0; }
    .brief-official-callout .modern-actions { justify-content: flex-start; }
}
@media (max-width: 620px) {
    .brief-heading,
    .brief-short-info,
    .brief-panel,
    .vacancy-brief-grid > section { padding: 16px; }
    .brief-panel > h3,
    .vacancy-brief-grid h3 { margin: -16px -16px 12px; }
    .brief-short-info dl div,
    .brief-table > div,
    .brief-table.text-heavy > div { grid-template-columns: 1fr; gap: 4px; }
    .vacancy-brief-title { grid-template-columns: 1fr; gap: 9px; padding: 16px; }
    .vacancy-table > div { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
    .application-guide-heading { align-items: flex-start; flex-direction: column; padding: 16px; }
    .application-steps { grid-template-columns: 1fr; padding: 8px 16px 16px; }
    .application-steps li:nth-child(even) { padding-left: 0; border-left: 0; }
    .brief-official-callout { padding: 17px; }
}


/* Final responsive audit: bound every public surface to the viewport. */
html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

.portal-header,
.portal-shell,
.modern-detail-shell,
.showcase,
.showcase-copy,
.quick-card,
.social-strip,
.featured-head,
.apply-grid,
.notice-panels,
.government-job-panels,
.home-category-grid,
.source-status-home,
.portal-footer {
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 700px) {
    .portal-header {
        width: 100%;
        grid-template-columns: minmax(0, 1fr) 44px !important;
        column-gap: 8px !important;
    }

    .portal-logo,
    .logo-copy {
        min-width: 0;
        max-width: 100%;
    }

    .logo-copy strong {
        max-width: 100%;
        font-size: 1.08rem;
        line-height: 1.05;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .logo-copy small {
        max-width: 100%;
        font-size: .66rem;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .nav-toggle {
        display: block !important;
        width: 44px;
        min-width: 44px;
    }

    .portal-search,
    .portal-search.is-open,
    .portal-search:focus-within {
        grid-template-columns: minmax(0, 1fr) 44px !important;
        min-width: 0;
        max-width: 100%;
    }

    .portal-search input {
        min-width: 0;
        max-width: 100%;
    }

    .showcase-copy,
    .showcase h1,
    .welcome,
    .trusted-line {
        min-width: 0;
        max-width: 100%;
    }

    .showcase h1 {
        font-size: 2.2rem;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .welcome,
    .trusted-line {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .feature-pills,
    .social-strip,
    .trust-strip {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .logo-seal {
        width: 44px;
        height: 44px;
    }

    .logo-copy strong {
        font-size: .98rem;
    }

    .logo-copy small {
        font-size: .61rem;
    }

    .showcase h1 {
        font-size: 1.85rem;
    }
}

.source-status.stale { background: #fff4df; color: #b76500; }

/* Featured feed hierarchy: stage first, focused one-line exam name second. */
.featured-updates .apply-tile {
    grid-template-columns: minmax(0, 1fr) 18px !important;
    grid-template-rows: auto minmax(22px, auto) !important;
    align-content: center;
    min-height: 78px;
    padding: 10px 12px !important;
}

.featured-updates .apply-tile > .tile-category {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start;
    justify-self: start;
    width: auto !important;
    height: auto !important;
    margin: 0 0 5px;
    padding: 3px 7px;
    border: 1px solid #d9ddea;
    border-color: color-mix(in srgb, var(--tile-accent) 24%, white);
    border-radius: 4px;
    background: #fff !important;
    display: block !important;
    overflow: visible !important;
    color: var(--tile-accent) !important;
    font-size: .63rem !important;
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
    white-space: nowrap;
}

.featured-updates .apply-tile > .tile-category::before {
    content: none !important;
}

.featured-updates .apply-tile > strong {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: center;
    display: block;
    min-width: 0;
    overflow: hidden !important;
    color: #14204b !important;
    font-size: .91rem;
    line-height: 1.22;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.featured-updates .apply-tile > .tile-update {
    display: none !important;
}

.featured-updates .apply-tile > b {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    align-self: center;
    justify-self: end;
    color: var(--tile-accent) !important;
}

@media (max-width: 700px) {
    .featured-updates .apply-tile {
        min-height: 72px;
    }
}

/* Final header and hero polish after responsive device verification. */
@media (min-width: 1101px) {
    .showcase h1 {
        font-size: 3.3rem;
        line-height: 1;
        white-space: nowrap;
    }
}

@media (max-width: 1100px) {
    body.portal-home {
        padding-top: 72px !important;
        scroll-padding-top: 72px;
    }

    .portal-header {
        grid-template-rows: auto !important;
        min-height: 64px !important;
        padding: 6px 10px !important;
    }

    .portal-logo {
        max-width: calc(100% - 102px);
    }

    .portal-search,
    .portal-search:focus-within {
        position: absolute;
        grid-column: auto !important;
        grid-row: auto !important;
        top: 10px;
        right: 62px;
        left: auto;
        z-index: 3;
        display: grid;
        grid-template-columns: 0 46px;
        width: 46px !important;
        min-height: 44px;
        border-color: transparent;
        box-shadow: none;
    }

    .portal-search input,
    .portal-search:focus-within input {
        width: 0 !important;
        padding: 0 !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .portal-search.is-open,
    .portal-search.is-open:focus-within {
        top: 66px;
        right: 10px;
        left: 10px;
        grid-template-columns: minmax(0, 1fr) 46px;
        width: auto !important;
        border-color: #c7d0df;
        box-shadow: 0 8px 22px rgba(8, 1, 83, .18);
    }

    .portal-search.is-open input,
    .portal-search.is-open:focus-within input {
        width: 100% !important;
        padding: 0 12px !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .portal-nav {
        top: 70px !important;
        max-height: calc(100dvh - 82px) !important;
    }

    .showcase h1 {
        font-size: 2.4rem;
        line-height: 1.05;
        white-space: nowrap;
    }
}

@media (max-width: 520px) {
    .portal-logo { gap: 0; }
    .portal-logo .logo-seal { display: none; }
    .logo-copy strong {
        font-size: .96rem !important;
        overflow-wrap: normal !important;
        white-space: nowrap !important;
    }
    .logo-copy small { font-size: .58rem !important; }
    .showcase h1 {
        font-size: 1.75rem;
    }
}

@media (max-width: 360px) {
    .logo-copy strong { font-size: .62rem !important; }
    .logo-copy small { font-size: .46rem !important; }
    .logo-seal { width: 46px !important; height: 46px !important; }
    .showcase h1 { font-size: 1.45rem; }
}

.notice-hero .modern-copy h1 {
    display: block;
    max-width: 100%;
    overflow: hidden;
    font-size: 2.35rem;
    line-height: 1.08;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.notice-hero .notice-release-title {
    max-width: 860px;
    margin: 10px 0 0;
    color: #26375c;
    font-size: .94rem;
    line-height: 1.4;
}

.notice-hero .notice-release-title strong {
    color: #075edc;
}

@media (max-width: 820px) {
    .modern-hero {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .modern-copy,
    .modern-date-card,
    .modern-actions,
    .modern-actions > * {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .modern-actions .button,
    .modern-actions .status {
        width: 100%;
    }

    .notice-hero .modern-copy h1 {
        font-size: 1.7rem;
    }
}

@media (max-width: 420px) {
    .notice-hero .modern-copy h1 {
        font-size: 1.35rem;
    }
}

@media (max-width: 300px) {
    .logo-copy strong {
        overflow: hidden;
        font-size: .82rem;
        text-overflow: clip;
        white-space: nowrap !important;
    }

    .logo-copy small {
        font-size: .58rem;
        white-space: nowrap !important;
    }
}

.featured-updates .apply-tile.priority-job {
    background: #eef8ff;
    border-color: #1476d4;
    box-shadow: inset 5px 0 0 #1476d4, 0 5px 14px rgba(20, 118, 212, 0.12);
}

.featured-updates .apply-tile.priority-job .tile-category {
    color: #075cac;
    background: #fff;
    border-color: #64abe8;
}

.featured-updates .tile-priority-meta {
    display: block;
    min-width: 0;
    padding-right: 22px;
    overflow: hidden;
    color: #315b83;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.academic-coverage-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 4px 12px;
    align-items: baseline;
    padding: 18px 20px;
    border: 1px solid #bdd7ee;
    border-radius: 7px;
    background: #fff;
}

.academic-coverage-summary strong {
    color: #075edc;
    font-size: 1.55rem;
    line-height: 1;
}

.academic-coverage-summary span {
    color: #425579;
    font-size: .82rem;
    font-weight: 800;
}

.academic-filter-workflow {
    margin: 0 0 14px;
    padding: 18px;
    border: 1px solid #cdddeb;
    border-left: 5px solid #0a8b68;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 5px 15px rgba(22, 44, 87, .06);
}

.academic-filter-workflow > header {
    display: flex;
    gap: 8px 16px;
    align-items: baseline;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.academic-filter-workflow > header p {
    margin: 0;
    color: #087a5a;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.academic-filter-workflow > header h2 {
    margin: 0;
    color: #111d4f;
    font-size: 1.24rem;
}

.academic-filter-workflow > header span {
    color: #566987;
    font-size: .8rem;
}

.academic-filter-workflow form {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr)) minmax(190px, .9fr) auto;
    gap: 10px;
    align-items: end;
}

.academic-filter-step,
.academic-filter-search {
    display: grid;
    min-width: 0;
    gap: 6px;
}

.academic-filter-step {
    position: relative;
    padding-left: 34px;
}

.academic-filter-step > span {
    position: absolute;
    top: 24px;
    left: 0;
    display: grid;
    width: 27px;
    height: 38px;
    place-items: center;
    border-radius: 5px 0 0 5px;
    background: #0a8b68;
    color: #fff;
    font-size: .78rem;
    font-weight: 900;
}

.academic-filter-step strong,
.academic-filter-search strong {
    color: #314667;
    font-size: .72rem;
}

.academic-filter-step select,
.academic-filter-search input {
    width: 100%;
    height: 40px;
    min-width: 0;
    padding: 0 10px;
    border: 1px solid #b9cce0;
    border-radius: 5px;
    background: #f9fcff;
    color: #142551;
    font: inherit;
    font-size: .8rem;
    font-weight: 750;
}

.academic-filter-step select:focus,
.academic-filter-search input:focus {
    border-color: #1463e6;
    outline: 3px solid rgba(20, 99, 230, .12);
}

.academic-filter-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
}

.academic-filter-actions button,
.academic-filter-actions a {
    display: grid;
    min-width: 112px;
    height: 40px;
    padding: 0 14px;
    place-items: center;
    border: 1px solid #075edc;
    border-radius: 5px;
    background: #075edc;
    color: #fff;
    font: inherit;
    font-size: .76rem;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.academic-filter-actions a {
    height: 24px;
    border-color: transparent;
    background: transparent;
    color: #516684;
}

.academic-level-filters {
    grid-template-columns: repeat(9, minmax(120px, 1fr));
}

.academic-result-card.diploma { --result-accent: #c75a11; }
.academic-result-card.iit-jee { --result-accent: #6b3dc8; }

.academic-result-actions .official-action {
    border-color: #0a8b68;
    color: #087457;
    background: #effbf7;
}

.academic-board-directory {
    margin: 20px 0;
    padding-top: 18px;
    border-top: 4px solid #1463e6;
}

.academic-board-directory > header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.academic-board-directory > header p {
    margin: 0 0 4px;
    color: #087a5a;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.academic-board-directory > header h2 {
    margin: 0;
    color: #111d4f;
    font-size: 1.28rem;
}

.academic-board-directory > header > span {
    color: #536785;
    font-size: .78rem;
    font-weight: 850;
}

.academic-board-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.academic-board-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-width: 0;
    padding: 13px;
    border: 1px solid #d5e2ee;
    border-radius: 6px;
    background: #fff;
}

.academic-board-item > div {
    min-width: 0;
}

.academic-board-item strong,
.academic-board-item span {
    display: block;
}

.academic-board-item strong {
    overflow: hidden;
    color: #122455;
    font-size: .8rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.academic-board-item span {
    margin-top: 4px;
    color: #62718b;
    font-size: .69rem;
}

.academic-board-item nav {
    display: grid;
    gap: 5px;
    text-align: right;
}

.academic-board-item nav a {
    color: #075edc;
    font-size: .7rem;
    font-weight: 900;
    text-decoration: none;
}

.academic-board-item nav .official-source-link {
    color: #087457;
}

@media (max-width: 1180px) {
    .academic-filter-workflow form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .academic-filter-actions {
        grid-template-columns: auto auto;
        justify-content: start;
    }

    .academic-board-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .academic-filter-workflow {
        padding: 15px 12px;
    }

    .academic-filter-workflow form,
    .academic-board-list {
        grid-template-columns: 1fr;
    }

    .academic-filter-actions {
        grid-template-columns: 1fr auto;
    }

    .academic-filter-actions button {
        min-width: 0;
    }

    .academic-board-directory > header {
        align-items: start;
        flex-direction: column;
    }
}

@media (max-width: 420px) {
    .academic-board-item {
        grid-template-columns: 1fr;
    }

    .academic-board-item nav {
        grid-template-columns: 1fr 1fr;
        text-align: left;
    }
}

/* Final featured-update component rules. Keep after legacy homepage styles. */
.featured-head {
    position: relative;
    align-items: center;
    margin-top: 22px;
    padding: 0 2px 10px 15px;
    border-bottom: 1px solid #cbd9e8;
}

.featured-head::before {
    position: absolute;
    top: 3px;
    bottom: 12px;
    left: 0;
    width: 5px;
    border-radius: 2px;
    background: #087e78;
    content: '';
}

.featured-head h2 {
    color: #102a56;
    font-size: 1.22rem;
    letter-spacing: 0;
}

.featured-head a {
    padding: 8px 12px;
    border: 1px solid #b8cfe5;
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
    color: #075edc;
}

.featured-head a:hover {
    border-color: #75a8dc;
    background: #f4f9ff;
}

.featured-updates {
    gap: 12px 14px;
}

.featured-updates .apply-tile {
    grid-template-rows: auto minmax(20px, 1fr) !important;
    align-content: center;
    height: 96px;
    min-height: 96px;
    max-height: 96px;
    box-sizing: border-box;
    overflow: hidden;
    border-color: color-mix(in srgb, var(--tile-accent) 22%, #d8e2ec);
    box-shadow: 0 4px 12px rgba(23, 42, 70, .07);
}

.featured-updates .apply-tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(23, 42, 70, .12);
}

.featured-updates .apply-tile.purple { --tile-accent: #5d52b7; --tile-surface: #f4f3ff; }
.featured-updates .apply-tile.blue { --tile-accent: #1769aa; --tile-surface: #eff7ff; }
.featured-updates .apply-tile.green { --tile-accent: #14805e; --tile-surface: #eefaf5; }
.featured-updates .apply-tile.orange { --tile-accent: #c76221; --tile-surface: #fff6ed; }
.featured-updates .apply-tile.red { --tile-accent: #b93c55; --tile-surface: #fff2f4; }
.featured-updates .apply-tile.teal { --tile-accent: #0f7b83; --tile-surface: #edfafa; }
.featured-updates .apply-tile.violet { --tile-accent: #7650a8; --tile-surface: #f7f2fb; }
.featured-updates .apply-tile.pink { --tile-accent: #b83d75; --tile-surface: #fff3f8; }

.featured-updates .apply-tile > .tile-category {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.featured-updates .apply-tile.priority-job {
    --tile-accent: #075edc;
    --tile-surface: #edf7ff;
    border-color: #9dc8ef;
    background: var(--tile-surface) !important;
    box-shadow: inset 4px 0 0 #075edc, 0 4px 12px rgba(7, 94, 220, .1);
}

.featured-updates .apply-tile.priority-job .tile-category {
    border-color: #075edc !important;
    background: #075edc !important;
    color: #fff !important;
}

@media (max-width: 700px) {
    .featured-head {
        padding-left: 13px;
    }

    .featured-head h2 {
        font-size: 1.05rem;
    }

    .featured-updates .apply-tile {
        height: 88px;
        min-height: 88px;
        max-height: 88px;
    }
}
