:root {
  /* Shared palette and spacing. Layout breakpoints: 760px and 1120px. */
  color-scheme: light;
  --ink: #1b2a3d;
  --muted: #5b6a7a;
  --blue: #0b5798;
  --blue-dark: #103d70;
  --blue-soft: #e4f2fd;
  --line: #dce5ee;
  --paper: #ffffff;
  --background: #f3f8fc;
  --focus: #f3ae29;
  font-family: Arial, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--background); color: var(--ink); font-size: 16px; line-height: 1.55; }
a { color: var(--blue); }
a:hover { color: #0c2e58; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
button, input, textarea { font: inherit; }
.container { width: min(1280px, calc(100% - 48px)); margin-inline: auto; }
.skip-link { position: absolute; left: -9999px; top: 8px; z-index: 100; background: #fff; padding: 9px 14px; }
.skip-link:focus { left: 12px; }
.university-bar { background: #14365f; color: #edf3fa; font-size: 13px; letter-spacing: .01em; padding: 6px 0; }
.masthead { display: grid; grid-template-columns: minmax(280px, 420px) minmax(210px, 1fr) minmax(235px, 310px); align-items: center; gap: 30px; min-height: 148px; }
.eyebrow { color: #567da9; font-size: 12px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.site-name { margin-top: 5px; color: var(--blue-dark); font-size: clamp(17px, 1.5vw, 22px); font-weight: 700; line-height: 1.24; }
.header-search label, .search-page-form label { display: block; color: #3d5269; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.search-row { display: flex; width: 100%; }
.search-row input { min-width: 0; flex: 1; border: 1px solid #aebfd2; border-radius: 7px 0 0 7px; background: #fff; padding: 11px 12px; color: var(--ink); }
.search-row button { border: 1px solid var(--blue); border-radius: 0 7px 7px 0; background: var(--blue); color: #fff; cursor: pointer; font-weight: 700; padding: 10px 18px; }
.search-row button:hover { background: var(--blue-dark); }
.nav-wrap { background: var(--blue); box-shadow: 0 3px 10px #193a6020; }
.quick-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.quick-actions a { display: flex; flex-direction: column; justify-content: flex-end; position: relative; min-height: 137px; gap: 3px; padding: 17px 18px; background: linear-gradient(140deg, #fff 40%, #eaf3fc); border: 1px solid #d7e4f1; border-radius: 13px; text-decoration: none; box-shadow: 0 5px 18px #17334b0a; transition: transform .18s ease, box-shadow .18s ease; }
.quick-actions a:nth-child(2) { background: linear-gradient(140deg, #fff 40%, #eaf7f5); }
.quick-actions a:nth-child(3) { background: linear-gradient(140deg, #fff 40%, #f3effa); }
.quick-actions a:nth-child(4) { background: linear-gradient(140deg, #fff 40%, #fff3e9); }
.quick-actions a::before { content: '01'; position: absolute; top: 15px; left: 18px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: #dfeefc; color: #164683; font-size: 12px; font-weight: 800; }
.quick-actions a:nth-child(2)::before { content: '02'; background: #dff3ed; color: #12664f; }
.quick-actions a:nth-child(3)::before { content: '03'; background: #ebe4f7; color: #61468e; }
.quick-actions a:nth-child(4)::before { content: '04'; background: #ffead5; color: #95621e; }
.quick-actions a:hover, .quick-actions a:focus-visible { transform: translateY(-2px); box-shadow: 0 9px 22px #17334b16; }
.quick-actions strong { color: var(--blue-dark); font-size: 17px; line-height: 1.24; }
.quick-actions span { color: var(--muted); font-size: 13px; line-height: 1.35; }
.all-news-action { margin: 18px 0 0; }
.all-news-action a { display: inline-flex; gap: 12px; align-items: center; padding: 11px 16px; border-radius: 7px; background: var(--blue); color: #fff; font-weight: 700; text-decoration: none; }
.all-news-action a:hover { background: var(--blue-dark); color: #fff; }
.visitor-links { display: grid; }
.visitor-links a { padding: 8px 0; text-decoration: none; border-top: 1px solid #edf1f5; font-size: 14px; }
.visitor-links a:hover { text-decoration: underline; }
.all-sections { border-top: 1px solid var(--line); margin-top: 8px; padding-top: 12px; }
.all-sections summary { cursor: pointer; color: var(--blue-dark); font-weight: 700; font-size: 14px; }
.all-sections .side-menu { max-height: 520px; overflow: auto; margin-top: 10px; }
.page-grid { display: grid; grid-template-columns: minmax(205px, 235px) minmax(0, 1fr) minmax(205px, 245px); align-items: start; gap: 22px; margin-top: 25px; margin-bottom: 40px; }
.rail-card, .main-content { background: var(--paper); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 3px 16px #17334b08; }
.rail-card { padding: 17px 17px 18px; margin-bottom: 17px; }
.rail-card h2 { margin: 0 0 12px; color: var(--blue-dark); font-size: 16px; line-height: 1.3; }
.side-menu ul { margin: 0; padding-left: 0; list-style: none; }
.side-menu li { margin: 0; }
.side-menu li + li { border-top: 1px solid #edf1f5; }
.side-menu a { display: block; padding: 8px 0; text-decoration: none; font-size: 14px; line-height: 1.35; }
.side-menu a:hover { text-decoration: underline; }
.side-menu li ul { padding-left: 12px; border-left: 2px solid #d4e3f3; }
.side-menu li ul li + li { border: 0; }
.side-menu li ul a { font-size: 13px; padding: 6px 0; }
.rail-card.compact a { display: block; font-weight: 700; text-decoration: none; }
.rail-card.compact span { float: right; }
.catalog-card { background: #eff5fb; }
.catalog-card p { color: var(--muted); font-size: 14px; margin: 0 0 12px; }
.catalog-link { display: inline-block; font-weight: 700; }
.main-content { min-height: 560px; padding: clamp(20px, 2.8vw, 36px); }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; color: var(--muted); font-size: 13px; margin: 0 0 18px; }
.breadcrumb a { text-decoration: none; }
.welcome-panel { background: linear-gradient(116deg, #eaf3fc 0%, #f5f9fd 100%); border: 1px solid #d9e9f8; border-radius: 10px; padding: 28px 30px; margin-bottom: 31px; }
.welcome-panel h1 { margin: 5px 0 9px; color: var(--blue-dark); font-size: clamp(29px, 3vw, 40px); line-height: 1.15; }
.welcome-panel p { margin: 0; color: #435a70; max-width: 56ch; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; border-bottom: 2px solid var(--line); margin-bottom: 4px; padding-bottom: 11px; }
.section-heading h1, .section-heading h2 { color: var(--blue-dark); margin: 0; font-size: clamp(22px, 2vw, 27px); line-height: 1.25; }
.section-heading a { font-size: 14px; font-weight: 700; white-space: nowrap; text-decoration: none; }
.section-heading a:hover { text-decoration: underline; }
.news-card { padding: 19px 0 20px; border-bottom: 1px solid var(--line); }
.news-card:last-child { border-bottom: 0; }
.news-card h2 { margin: 4px 0 7px; font-size: 20px; line-height: 1.32; }
.news-card h2 a { text-decoration: none; }
.news-card h2 a:hover { text-decoration: underline; }
.news-card p { margin: 0 0 9px; color: #465769; }
.news-date, .article-date { color: var(--muted); font-size: 13px; font-weight: 700; }
.read-more { font-size: 14px; font-weight: 700; text-decoration: none; }
.read-more:hover { text-decoration: underline; }
.article h1, .main-content > h1 { margin: 0 0 15px; color: var(--blue-dark); font-size: clamp(25px, 2.6vw, 34px); line-height: 1.2; overflow-wrap: anywhere; }
.article-date { margin: -5px 0 20px; }
.article-body { overflow-wrap: anywhere; }
.article-body a { text-decoration: underline; text-underline-offset: 2px; }
.article-body p { margin: 0 0 15px; }
.article-body h2, .article-body h3 { color: var(--blue-dark); margin: 25px 0 11px; line-height: 1.32; }
.article-body h2 { font-size: clamp(19px, 1.6vw, 24px); }
.article-body h3 { font-size: clamp(17px, 1.3vw, 21px); }
.article-body h2 a, .article-body h3 a { text-decoration-thickness: 1px; text-underline-offset: 4px; }
.article-body > div { max-width: 100%; }
.article-body p:empty { display: none; }
.article-body img { display: block; max-width: 100%; height: auto; margin: 14px 0; }
.article-body table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 16px 0; }
.article-body th, .article-body td { border: 1px solid var(--line); padding: 7px 9px; vertical-align: top; }
.article-body blockquote { border-left: 4px solid #8ab4df; padding-left: 15px; margin-left: 0; color: #465769; }
.attachments-list { border-top: 1px solid var(--line); margin-top: 26px; padding-top: 16px; overflow-wrap: anywhere; }
.attachments-list summary { cursor: pointer; color: var(--blue-dark); font-weight: 700; font-size: 19px; }
.file-links { columns: 2; column-gap: 28px; margin: 16px 0 0; padding-left: 22px; }
.file-links li { break-inside: avoid; margin: 5px 0; }
.review-note { background: #fff6df; border: 1px solid #e6d39e; border-radius: 7px; padding: 12px 15px; margin: 0 0 20px; }
.listing-heading { margin-bottom: 8px; }
.listing-heading span, .result-count { color: var(--muted); font-size: 14px; }
.page-link { display: inline-block; margin: 18px 10px 0 0; padding: 8px 13px; border: 1px solid var(--line); border-radius: 6px; text-decoration: none; font-weight: 700; }
.search-page-form { max-width: 620px; margin: 8px 0 19px; }
.question-form { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 24px; }
.question-form h2 { color: var(--blue-dark); margin: 0 0 16px; font-size: 22px; }
.question-form form { display: grid; gap: 14px; max-width: 620px; }
.question-form label { display: grid; gap: 5px; font-weight: 700; font-size: 14px; }
.question-form input, .question-form textarea { width: 100%; border: 1px solid #aebfd2; border-radius: 6px; background: #fff; color: var(--ink); padding: 10px 12px; font-weight: 400; }
.question-form textarea { resize: vertical; min-height: 145px; }
.question-form button { justify-self: start; border: 1px solid var(--blue); border-radius: 6px; background: var(--blue); color: #fff; font-weight: 700; padding: 10px 18px; cursor: pointer; }
.question-form button:hover { background: var(--blue-dark); }
.question-form .form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; left: -9999px; }
.admin-content { max-width: 960px; margin: 28px auto; min-height: 0; }
.admin-content form { display: grid; gap: 14px; max-width: 700px; margin: 18px 0; }
.admin-content label { display: grid; gap: 5px; font-weight: 700; }
.admin-content input, .admin-content textarea, .admin-content select { width: 100%; border: 1px solid #aebfd2; border-radius: 6px; padding: 10px 12px; background: #fff; color: var(--ink); font: inherit; font-weight: 400; }
.admin-content textarea { min-height: 300px; resize: vertical; }
.admin-content button { justify-self: start; padding: 10px 18px; background: var(--blue); border: 1px solid var(--blue); border-radius: 6px; color: #fff; cursor: pointer; font-weight: 700; }
.admin-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.admin-actions button { margin: 0; }
.admin-content li { margin: 8px 0; }
.admin-content code { display: inline-block; padding: 4px 7px; background: var(--blue-soft); overflow-wrap: anywhere; }
.form-notice { background: #eaf5ee; border: 1px solid #b8d5c1; border-radius: 6px; padding: 10px 13px; }
.sitemap-group { border: 1px solid var(--line); border-radius: 7px; margin: 12px 0; padding: 0; }
.sitemap-group summary { cursor: pointer; color: var(--blue-dark); font-weight: 700; padding: 11px 14px; }
.sitemap-group summary span { color: var(--muted); font-weight: 400; }
.sitemap-group ul { columns: 2; padding: 0 25px 13px 33px; margin: 0; }
.sitemap-group li { break-inside: avoid; margin-bottom: 6px; }
.footer { background: #173a64; color: #edf4fb; padding: 27px 0; font-size: 13px; }
.footer .container { display: flex; justify-content: space-between; gap: 20px; }

@media (max-width: 1120px) {
  .quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .masthead { grid-template-columns: minmax(270px, 1fr) minmax(230px, .9fr); gap: 10px 24px; padding: 16px 0 20px; }
  .masthead-copy { grid-column: 2; grid-row: 1; }
  .header-search { grid-column: 1 / -1; }
  .page-grid { grid-template-columns: minmax(190px, 230px) minmax(0, 1fr); }
  .right-rail { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .right-rail .rail-card { margin-bottom: 0; }
}

@media (max-width: 760px) {
  .quick-actions { margin-top: 13px; gap: 8px; }
  .quick-actions a { padding: 11px 12px; }
  .container { width: min(100% - 28px, 680px); }
  .masthead { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; padding: 16px 0; }
  .masthead-copy { flex: 1 1 100%; }
  .site-name { font-size: 17px; }
  .header-search { flex: 1 1 100%; }
  .page-grid { display: flex; flex-direction: column; gap: 16px; margin-top: 16px; }
  .main-content { order: 1; width: 100%; min-height: 0; }
  .left-rail { order: 2; width: 100%; }
  .right-rail { order: 3; width: 100%; display: block; }
  .rail-card { margin-bottom: 14px !important; }
  .welcome-panel { padding: 20px; }
  .section-heading { align-items: flex-start; }
  .sitemap-group ul { columns: 1; }
  .file-links { columns: 1; }
  .footer .container { display: block; }
  .footer .container span { display: block; margin: 4px 0; }
}

@media (max-width: 420px) {
  .university-bar { font-size: 11px; }
  .main-content { padding: 18px; }
  .section-heading { display: block; }
  .section-heading a { display: inline-block; margin-top: 7px; }
  .news-card h2 { font-size: 18px; }
  .search-row button { padding: 10px 12px; }
}

.archive-image-placeholder {
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 0 8px;
  padding: 4px 10px;
  border: 1px solid #d8e3ee;
  border-radius: 6px;
  background: #f3f7fb;
  color: #47617c;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  vertical-align: middle;
}

.cookie-notice { position: fixed; z-index: 1000; right: 0; bottom: 0; left: 0; padding: 14px 0; background: #102b4d; color: #fff; box-shadow: 0 -6px 25px #102b4d35; }
.cookie-notice .container { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.cookie-notice p { margin: 0; line-height: 1.5; font-size: 14px; }
.cookie-notice a { color: #fff; text-decoration: underline; }
.cookie-notice button { min-width: 100px; padding: 10px 15px; border: 0; border-radius: 6px; background: #fff; color: #102b4d; font-weight: 700; cursor: pointer; }
.consent-check { display: flex !important; align-items: flex-start; gap: 9px; }
.consent-check input { flex: 0 0 auto; width: auto !important; margin-top: 5px; }
@media (max-width: 700px) { .cookie-notice .container { align-items: stretch; flex-direction: column; gap: 10px; } .cookie-notice button { width: 100%; } }
.inquiry-workflow { display: grid; grid-template-columns: minmax(150px, 220px) minmax(220px, 1fr) auto; align-items: end; gap: 10px; margin: 12px 0 24px; padding: 12px; border-radius: 9px; background: #f2f6fb; }
.inquiry-workflow label { display: grid; gap: 4px; font-size: 13px; font-weight: 700; }
.inquiry-workflow select, .inquiry-workflow textarea { width: 100%; border: 1px solid #b9c9d9; border-radius: 6px; padding: 7px; background: #fff; color: var(--ink); }
.inquiry-workflow button { padding: 9px 12px; border: 0; border-radius: 6px; background: var(--blue); color: #fff; cursor: pointer; }
@media (max-width: 750px) { .inquiry-workflow { grid-template-columns: 1fr; } }

/* Reader journeys replace the inherited Drupal menu and repeated sidebars. */
.container { width: min(1720px, calc(100% - 64px)); }
.masthead-band { background: linear-gradient(100deg, #fff 8%, #e6f3fc 65%, #d3e8f8 100%); border-bottom: 1px solid #d8e3ed; }
.masthead { min-height: 160px; grid-template-columns: minmax(300px, 420px) minmax(270px, 1fr) minmax(275px, 360px); }
.site-nav { display: flex; align-items: stretch; gap: 0; }
.mobile-menu { display: none; }
.site-nav > a, .site-nav summary { display: flex; align-items: center; min-height: 52px; padding: 12px 13px; color: #fff; font-size: 14px; font-weight: 700; line-height: 1.25; text-decoration: none; cursor: pointer; }
.site-nav summary { list-style: none; gap: 7px; }
.site-nav summary::-webkit-details-marker { display: none; }
.nav-chevron { width: 15px; height: 15px; margin-left: 2px; flex: 0 0 auto; transition: transform .2s ease; }
.nav-group[open] .nav-chevron { transform: rotate(180deg); }
.site-nav > a:hover, .site-nav summary:hover, .site-nav .nav-group[open] > summary { color: #fff; background: var(--blue-dark); }
.nav-group { position: relative; }
.nav-submenu { position: absolute; z-index: 30; left: 0; top: 100%; display: grid; min-width: 290px; max-width: min(360px, 90vw); padding: 10px; border: 1px solid #d7e2ed; border-radius: 0 0 12px 12px; background: #fff; box-shadow: 0 18px 28px #102c4d2a; }
.nav-group:nth-last-child(-n+3) .nav-submenu { right: 0; left: auto; }
.nav-submenu a { display: block; padding: 10px 11px; border-radius: 6px; color: var(--blue-dark); text-decoration: none; line-height: 1.3; }
.nav-submenu a:hover, .nav-submenu a:focus-visible { background: #eaf2fa; }
.desktop-site-nav .nav-submenu { display: none; }
.nav-panel[hidden] { display: none; }
.nav-panel { background: #fff; border-bottom: 1px solid #d8e3ed; box-shadow: 0 10px 20px #14365f16; }
.nav-panel-inner { display: grid; grid-template-columns: minmax(190px, 270px) 1fr; gap: 28px; padding-top: 22px; padding-bottom: 25px; }
.nav-panel-title { color: var(--blue-dark); font-size: 20px; }
.nav-panel-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-content: start; gap: 8px 22px; }
.nav-panel-links a { display: block; padding: 7px 0; text-decoration: none; line-height: 1.35; }
.nav-panel-links a:hover { text-decoration: underline; }
.page-content { max-width: 1540px; margin-top: 26px; margin-bottom: 48px; min-height: 500px; }
.home-page { max-width: 1720px; padding: 0; background: transparent; border: 0; box-shadow: none; }
.page-content .article-body { max-width: 88ch; }
.welcome-panel { display: flex; flex-direction: column; justify-content: center; min-height: 245px; padding: clamp(24px, 3vw, 44px); background: linear-gradient(115deg, #11355e 0%, #286598 66%, #659dbe 100%); border: 0; border-radius: 14px; color: #fff; }
.welcome-panel .eyebrow { color: #c4e0f8; }
.welcome-panel h1 { max-width: 29ch; color: #fff; font-size: clamp(30px, 3.1vw, 44px); }
.welcome-panel p { color: #f2f7fc; }
.task-section { margin-bottom: 36px; }
.task-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.task-card { display: flex; flex-direction: column; align-items: flex-start; min-height: 226px; padding: 22px; border: 1px solid #dce6ef; border-radius: 11px; background: #fff; box-shadow: 0 3px 12px #14365f08; }
.task-card > svg { width: 36px; height: 36px; margin-bottom: 13px; padding: 6px; color: var(--blue); border-radius: 9px; background: #e8f1fa; }
.task-card h3 { margin: 0 0 7px; color: var(--blue-dark); font-size: 19px; line-height: 1.25; }
.task-card p { margin: 0 0 13px; color: var(--muted); }
.task-card a { display: inline-block; margin: 4px 0; font-weight: 700; text-underline-offset: 3px; }
.task-card a:first-of-type { padding: 8px 12px; border-radius: 6px; background: #e9f1fa; text-decoration: none; }
.task-card a:first-of-type:hover { background: #d9eafa; }
.footer .container { align-items: center; flex-wrap: wrap; }
.footer a { color: #fff; }
.menu-editor-list { padding-left: 22px; }
.menu-editor-list li { padding: 10px 0; border-bottom: 1px solid var(--line); }
.menu-editor-list form { max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.menu-editor-list .admin-actions { align-items: end; }
@media (max-width: 1120px) {
  .site-nav { flex-wrap: wrap; }
  .site-nav > a, .site-nav summary { min-height: 45px; }
  .task-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-panel-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .container { width: min(100% - 28px, 680px); }
  .masthead-band { background: linear-gradient(90deg, #fff, #eaf4fb); }
  .masthead { min-height: 0; }
  .desktop-site-nav { display: none; }
  .mobile-menu { display: block; color: #fff; }
  .mobile-menu > summary { min-height: 49px; display: flex; align-items: center; justify-content: space-between; list-style: none; font-weight: 700; cursor: pointer; }
  .mobile-menu > summary::-webkit-details-marker { display: none; }
  .mobile-menu > summary::after { content: '☰'; font-size: 22px; line-height: 1; }
  .mobile-menu[open] > summary::after { content: '×'; }
  .mobile-menu .site-nav { display: block; padding-block: 6px; border-top: 1px solid #ffffff4a; }
  .nav-panel { display: none; }
  .site-nav > a, .site-nav summary { min-height: 44px; padding: 10px 12px; }
  .nav-group { border-top: 1px solid #ffffff30; }
  .nav-submenu, .nav-group:nth-last-child(-n+3) .nav-submenu { position: static; min-width: 0; max-width: none; border: 0; border-radius: 7px; box-shadow: none; margin: 0 0 8px; }
  .page-content { width: min(100% - 28px, 680px); margin-top: 16px; margin-bottom: 26px; }
  .home-page { padding: 0; }
  .task-grid { grid-template-columns: 1fr; }
  .task-card { padding: 17px; }
  .menu-editor-list form { grid-template-columns: 1fr; }
  .welcome-panel { min-height: 235px; background: linear-gradient(115deg, #11355e, #286598); }
}
@media (min-width: 761px) and (max-width: 1120px) {
  .desktop-site-nav { display: none; }
  .mobile-menu { display: block; color: #fff; }
  .mobile-menu > summary { display: flex; align-items: center; justify-content: space-between; min-height: 50px; list-style: none; font-weight: 700; cursor: pointer; }
  .mobile-menu > summary::-webkit-details-marker { display: none; }
  .mobile-menu > summary::after { content: '☰'; font-size: 22px; line-height: 1; }
  .mobile-menu[open] > summary::after { content: '×'; }
  .mobile-menu .site-nav { display: block; padding: 6px 0; border-top: 1px solid #ffffff4a; }
  .mobile-menu .nav-group { border-top: 1px solid #ffffff30; }
  .mobile-menu .nav-submenu { position: static; min-width: 0; max-width: none; margin: 0 0 8px; border: 0; border-radius: 7px; box-shadow: none; }
  .nav-panel { display: none; }
}

/* Customer navigation and identity, October 2026. */
.masthead { grid-template-columns: minmax(255px, 330px) minmax(310px, 1fr) minmax(255px, 360px); }
.masthead-copy { display: flex; align-items: center; gap: 15px; text-decoration: none; }
.masthead-copy > .center-logo { width: 60px; height: 60px; flex: 0 0 auto; object-fit: contain; }
.masthead-copy .site-name { display: block; margin: 0; }
.search-row button, .all-news-action a, .question-form button, .admin-content button, .inquiry-workflow button { border-radius: 9px; }
.search-row input { border-radius: 9px 0 0 9px; }
.search-row button { border-radius: 0 9px 9px 0; background: #0a477f; border-color: #0a477f; }
.task-card a:first-of-type { border-radius: 9px; background: #cce6fa; color: #093e71; }
.task-card a:first-of-type:hover { background: #b4d9f3; }
.section-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 22px; }
.section-card { scroll-margin-top: 18px; border: 1px solid var(--line); border-radius: 12px; padding: 20px 22px; background: #fafdff; }
.section-card h2 { margin: 0 0 10px; color: var(--blue-dark); font-size: 22px; }
.section-card ul { margin: 0; padding-left: 21px; }
.section-card li { margin: 9px 0; }
.news-heading { align-items: center; }
.news-controls { display: flex; align-items: center; gap: 10px; }
.news-controls button { width: 42px; height: 42px; border: 1px solid #a8c4de; border-radius: 50%; background: #fff; color: #0b4173; font-size: 23px; line-height: 1; cursor: pointer; }
.news-controls button:hover { background: #dceefa; }
.news-position { min-width: 44px; text-align: center; color: #526a81; font-size: 13px; font-weight: 700; white-space: nowrap; }
.news-carousel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 190px; gap: 11px; margin-top: 16px; }
.news-carousel .news-card { position: relative; min-width: 0; min-height: 0; padding: 0; overflow: hidden; border: 0; border-radius: 9px; background: #1b4d8b; }
.news-carousel .news-card[hidden] { display: none; }
.news-carousel .news-card.is-feature { grid-column: span 2; grid-row: span 2; }
.news-card-link { position: relative; display: flex; width: 100%; height: 100%; padding: 18px; align-items: flex-end; color: #fff; text-decoration: none; isolation: isolate; }
.news-card-link::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, #0a234313 10%, #092443d9 100%); }
.news-card-media { position: absolute; inset: 0; z-index: -2; background: linear-gradient(135deg, #225aa0 0%, #2e76bf 55%, #133e77 100%); }
.news-carousel .news-card:nth-child(3n+2) .news-card-media { background: linear-gradient(125deg, #164679, #5a94bd); }
.news-carousel .news-card:nth-child(3n) .news-card-media { background: linear-gradient(125deg, #17416d, #327cae); }
.news-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.news-carousel .news-date { position: absolute; top: 12px; left: 12px; display: flex; flex-direction: column; align-items: center; min-width: 62px; padding: 4px 7px 6px; border-radius: 5px; background: #fff; color: #d22439; text-transform: lowercase; font-size: 11px; line-height: 1.1; }
.news-carousel .news-date strong { font-size: 24px; line-height: 1; }
.news-card-title { display: block; max-width: 56ch; color: #fff; font-size: clamp(16px, 1.25vw, 20px); font-weight: 700; line-height: 1.3; text-wrap: balance; }
.news-carousel .news-card.is-feature .news-card-title { font-size: clamp(20px, 2vw, 28px); }
.news-card-link:hover .news-card-title { text-decoration: underline; text-underline-offset: 3px; }
.news-dots { display: flex; justify-content: center; gap: 8px; margin: 16px 0 4px; }
.news-dots button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: #b1c8dd; cursor: pointer; }
.news-dots button[aria-current="true"] { width: 27px; border-radius: 10px; background: #155693; }
@media (max-width: 1120px) {
  .masthead { grid-template-columns: minmax(240px, 1fr) minmax(310px, 1.2fr); }
  .masthead-copy { grid-column: 2; grid-row: 1; }
}
@media (max-width: 760px) {
  .masthead { display: flex; }
  .masthead-copy { flex: 1 1 100%; }
  .masthead-copy > .center-logo { width: 43px; height: 43px; }
  .section-index { grid-template-columns: 1fr; }
  .news-carousel { grid-template-columns: 1fr; grid-auto-rows: minmax(280px, 58vw); }
}

/* Reader controls are available on every public and editor page. */
.university-bar-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.reader-tools { position: relative; z-index: 50; display: flex; align-items: center; gap: 10px; font-size: 14px; }
.reader-toggle, .reader-options summary { color: #fff; background: transparent; border: 1px solid #d9e8f5; border-radius: 6px; padding: 5px 10px; font-weight: 700; cursor: pointer; white-space: normal; }
.reader-toggle-icon, .reader-options-icon, .mobile-search { display: none; }
.reader-toggle:hover, .reader-options summary:hover { background: #ffffff25; }
.reader-options summary { list-style: none; }
.reader-options summary::-webkit-details-marker { display: none; }
.reader-options summary::after { content: ' ▾'; }
.reader-options[open] summary::after { content: ' ▴'; }
.reader-options-panel { position: absolute; top: calc(100% + 9px); right: 0; z-index: 60; width: min(430px, 92vw); padding: 18px; background: #fff; color: #102b4d; border: 2px solid #164683; border-radius: 9px; box-shadow: 0 12px 24px #102b4d33; }
.reader-option-group { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 17px; }
.reader-option-group > span { flex: 0 0 100%; font-weight: 700; }
.reader-option-group button, .reader-reset { padding: 9px 11px; border: 2px solid #164683; border-radius: 6px; background: #fff; color: #102b4d; cursor: pointer; }
.reader-option-group button[aria-pressed="true"] { background: #164683; color: #fff; }
.reader-reset { font-weight: 700; }
.admin-reader-bar { display: flex; justify-content: flex-end; margin: 14px 0; }
.admin-reader-bar .reader-toggle, .admin-reader-bar .reader-options summary { color: #103665; border-color: #164683; }
@media (max-width: 760px) {
  .university-bar-inner { align-items: flex-start; flex-direction: column; }
  .reader-tools { flex-wrap: wrap; }
  .reader-options-panel { left: 0; right: auto; }
}

/* Adjustable reading mode: the standard's text, contrast and reflow controls. */
html[data-reader-mode="on"] { --reader-bg: #fff; --reader-fg: #000; --reader-border: #000; --reader-focus: #b00000; }
html[data-reader-mode="on"][data-reader-theme="dark"] { --reader-bg: #000; --reader-fg: #fff; --reader-border: #fff; --reader-focus: #ffea00; }
html[data-reader-mode="on"][data-reader-theme="yellow"] { --reader-bg: #000; --reader-fg: #ffea00; --reader-border: #ffea00; --reader-focus: #fff; }
html[data-reader-mode="on"] body { background: var(--reader-bg) !important; color: var(--reader-fg) !important; font-family: Arial, sans-serif; line-height: 1.65 !important; }
html[data-reader-mode="on"][data-reader-size="125"] body { font-size: 20px !important; }
html[data-reader-mode="on"][data-reader-size="150"] body { font-size: 24px !important; }
html[data-reader-mode="on"][data-reader-size="200"] body { font-size: 32px !important; }
html[data-reader-mode="on"] body *:not(svg):not(path):not(img) { color: var(--reader-fg) !important; background-color: var(--reader-bg) !important; background-image: none !important; border-color: var(--reader-border) !important; box-shadow: none !important; text-shadow: none !important; }
html[data-reader-mode="on"] body :is(a, h1, h2, h3, p, li, span, div, summary, button) { overflow-wrap: anywhere; }
html[data-reader-mode="on"] body :is(p, a, li, label, button, summary, input, textarea, select, span, div) { font-size: 1em !important; line-height: 1.65 !important; }
html[data-reader-mode="on"] body :is(h1, .welcome-panel h1) { font-size: 1.7em !important; line-height: 1.25 !important; }
html[data-reader-mode="on"] body h2 { font-size: 1.4em !important; line-height: 1.3 !important; }
html[data-reader-mode="on"] body h3 { font-size: 1.18em !important; line-height: 1.35 !important; }
html[data-reader-mode="on"] body :is(p, .article-body p) { margin-block: 0 2.5em; }
html[data-reader-mode="on"] body :is(a, .task-card a:first-of-type) { text-decoration: underline !important; text-decoration-thickness: .08em !important; text-underline-offset: .16em; }
html[data-reader-mode="on"] body :is(button, input, textarea, select, .reader-tools summary) { border: 2px solid var(--reader-border) !important; border-radius: 0 !important; padding: .35em .55em !important; }
html[data-reader-mode="on"] body :is(a, button, input, textarea, select, summary):focus-visible { outline: 4px solid var(--reader-focus) !important; outline-offset: 3px !important; }
html[data-reader-mode="on"] body :is(.container, .page-content) { width: min(100% - 24px, 80ch); max-width: none; }
html[data-reader-mode="on"] body .masthead { display: grid; grid-template-columns: minmax(0, 1fr); min-height: 0; gap: 14px; padding-block: 20px; }
html[data-reader-mode="on"] body .masthead-copy { min-width: 0; }
html[data-reader-mode="on"] body img { filter: none !important; }
html[data-reader-mode="on"] body .desktop-site-nav { display: none; }
html[data-reader-mode="on"] body .mobile-menu { display: block; }
html[data-reader-mode="on"] body .mobile-menu .site-nav { display: block; }

html[data-reader-mode="on"] body .site-nav, html[data-reader-mode="on"] body .task-grid { display: block; }
html[data-reader-mode="on"] body .site-nav > a, html[data-reader-mode="on"] body .site-nav summary { min-height: 44px; padding: .4em .2em; }
html[data-reader-mode="on"] body .nav-submenu { position: static; width: 100%; max-width: none; min-width: 0; margin: 0; }
html[data-reader-mode="on"] body .nav-panel { display: none; }
html[data-reader-mode="on"] body .task-card { min-height: 0; margin-bottom: 18px; padding: 18px; }
html[data-reader-mode="on"] body .welcome-panel { min-height: 0; padding: 22px; }
html[data-reader-mode="on"] body .reader-options-panel { width: min(100vw - 32px, 25em); }
html[data-reader-mode="on"] body .reader-option-group button[aria-pressed="true"] { background: var(--reader-fg) !important; color: var(--reader-bg) !important; }
html[data-reader-mode="on"] body .reader-option-group button[aria-pressed="true"] * { color: var(--reader-bg) !important; }
html[data-reader-mode="on"] body .cookie-notice { position: static; }
html[data-reader-mode="on"] body .article-body { max-width: 80ch; }
html[data-reader-mode="on"] body :is(.header-search, .search-row, .footer .container, .university-bar-inner, .reader-tools) { flex-wrap: wrap; }
html[data-reader-mode="on"] body :is(.search-row input, .search-row button) { flex: 1 1 100%; min-width: 0; }
@media (max-width: 540px) {
  html[data-reader-mode="on"] body .reader-tools { display: block; }
  html[data-reader-mode="on"] body .reader-options { margin-top: 8px; }
  html[data-reader-mode="on"] body .reader-options-panel { position: static; margin-top: 8px; }
}

/* Compact mobile identity, accessible controls and search. */
@media (max-width: 760px) {
  .university-bar { padding: 4px 0; }
  .university-bar-inner { min-height: 36px; flex-direction: row; align-items: center; justify-content: flex-end; }
  .university-bar-inner > span { display: none; }
  .reader-tools { display: flex; flex-wrap: nowrap; gap: 6px; }
  .reader-toggle, .reader-options summary { display: grid; place-items: center; width: 42px; height: 36px; padding: 0; border-color: #a6c6e2; border-radius: 8px; }
  .reader-toggle-label, .reader-options-label { display: none; }
  .reader-toggle-icon { display: block; font-size: 18px; line-height: 1; letter-spacing: -.07em; }
  .reader-options-icon { display: block; width: 20px; height: 20px; }
  .reader-options summary::after { display: none; }
  .reader-options-panel { right: 0; left: auto; width: min(360px, calc(100vw - 28px)); }
  .masthead { position: relative; flex-wrap: nowrap; gap: 10px; padding: 10px 0; min-height: 68px; }
  .masthead-copy { flex: 1 1 auto; min-width: 0; }
  .masthead-copy > .center-logo { display: block; width: 42px; height: 42px; }
  .masthead-copy .site-name { margin: 0; font-size: clamp(13px, 3.8vw, 16px); line-height: 1.25; }
  .header-search { display: none; }
  .mobile-search { display: block; flex: 0 0 42px; }
  .mobile-search > summary { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #a7bfd4; border-radius: 9px; background: #fff; color: var(--blue-dark); list-style: none; cursor: pointer; }
  .mobile-search > summary::-webkit-details-marker { display: none; }
  .mobile-search > summary > svg { width: 21px; height: 21px; }
  .mobile-search[open] > summary { background: #dceefa; }
  .mobile-search > form { position: absolute; z-index: 90; top: calc(100% + 2px); right: 0; width: min(380px, calc(100vw - 28px)); padding: 13px; border: 1px solid #bfd2e2; border-radius: 10px; background: #fff; box-shadow: 0 12px 22px #14365f24; }
  .mobile-search label { display: block; margin-bottom: 6px; color: #3d5269; font-size: 13px; font-weight: 700; }
  .mobile-search .search-row input { min-width: 0; }
  .mobile-search .search-row button { padding-inline: 12px; }
  .mobile-menu > summary { min-height: 44px; }
}
@media (max-width: 760px) {
  html[data-reader-mode="on"] body .reader-tools { display: flex; flex-wrap: nowrap; }
  html[data-reader-mode="on"] body .reader-toggle-label, html[data-reader-mode="on"] body .reader-options-label { display: block; }
  html[data-reader-mode="on"] body .reader-toggle-icon, html[data-reader-mode="on"] body .reader-options-icon { display: none; }
  html[data-reader-mode="on"] body .reader-toggle, html[data-reader-mode="on"] body .reader-options summary { width: auto; height: auto; min-height: 44px; }
  html[data-reader-mode="on"] body .masthead { display: grid; grid-template-columns: minmax(0, 1fr); }
  html[data-reader-mode="on"] body .masthead-copy > .center-logo { display: block; }
  html[data-reader-mode="on"] body .header-search { display: block; }
  html[data-reader-mode="on"] body .mobile-search { display: none; }
}

@media (min-width: 761px) and (max-width: 1120px) {
  .news-carousel { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 205px; }
  .news-carousel .news-card.is-feature { grid-column: auto; grid-row: auto; }
}
@media (max-width: 760px) {
  .news-heading { gap: 9px; }
  .news-controls { gap: 5px; }
  .news-controls button { width: 37px; height: 37px; }
  .news-carousel { grid-auto-rows: minmax(300px, 78vw); }
  .news-carousel .news-card.is-feature { grid-column: auto; grid-row: auto; }
  .news-card-title, .news-carousel .news-card.is-feature .news-card-title { font-size: clamp(19px, 5vw, 23px); }
  .news-dots { padding-right: 52px; }
}
html[data-reader-mode="on"] body .news-card-link::after,
html[data-reader-mode="on"] body .news-card-media { display: none; }
html[data-reader-mode="on"] body .news-carousel { grid-auto-rows: minmax(260px, auto); }
html[data-reader-mode="on"] body .news-carousel .news-card { border: 2px solid var(--reader-border) !important; }

/* Navigation requested by the library, 29 October: each destination is a
   separate rounded button; section panels still open below the whole row. */
:root { --blue: #1f3a93; --blue-dark: #182c73; --nav-violet: #9932cc; }
.nav-wrap { background: #1f3a93; padding-block: 10px; }
.desktop-site-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.site-nav > a, .site-nav .nav-group > summary { min-height: 46px; padding: 10px 15px; border-radius: 10px; background: var(--nav-violet); color: #fff; box-shadow: 0 2px 5px #10286826; }
.site-nav > a:hover, .site-nav > a:focus-visible, .site-nav .nav-group > summary:hover, .site-nav .nav-group > summary:focus-visible, .site-nav .nav-group[open] > summary { background: #7922a8; color: #fff; }
.site-nav .nav-group > summary { justify-content: space-between; }
.nav-panel { border-bottom-color: #c9d1ee; }
.nav-overview { font-weight: 700; }
.welcome-panel { background: linear-gradient(115deg, #1f3a93 0%, #3651a9 72%, #596fc0 100%); }
.news-card-media { background: linear-gradient(135deg, #1f3a93, #4159ab 65%, #253b8e); }
.news-carousel .news-card:nth-child(3n+2) .news-card-media { background: linear-gradient(125deg, #253e95, #6c69b8); }
.news-carousel .news-card:nth-child(3n) .news-card-media { background: linear-gradient(125deg, #1b357d, #5b73b9); }
.search-row button, .task-card a:first-of-type, .all-news-action a, .question-form button, .admin-content button, .inquiry-workflow button { background: var(--nav-violet); border-color: var(--nav-violet); color: #fff; }
.search-row button:hover, .task-card a:first-of-type:hover, .all-news-action a:hover, .question-form button:hover, .admin-content button:hover, .inquiry-workflow button:hover { background: #7922a8; color: #fff; }
@media (max-width: 1120px) {
  .desktop-site-nav { display: none; }
  .mobile-menu .site-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; border: 0; padding-block: 10px 2px; }
  .mobile-menu .nav-group { border: 0; min-width: 0; }
  .mobile-menu .site-nav > a, .mobile-menu .site-nav .nav-group > summary { min-height: 48px; height: 100%; }
  .mobile-menu .nav-submenu { margin: 7px 0 3px; }
}
@media (max-width: 600px) {
  .mobile-menu .site-nav { grid-template-columns: minmax(0, 1fr); }
}
html[data-reader-mode="on"] body .mobile-menu .site-nav { display: block; }

/* Current identity and navigation; old header variants were removed. */
.university-bar { background: #1f3a93; }
.university-bar-inner { justify-content: space-between; }
.university-top-link { display: inline-flex; align-items: center; gap: 11px; min-width: 0; color: #fff; font-size: 14px; font-weight: 700; line-height: 1.25; text-decoration: none; }
.university-top-link:hover { color: #fff; text-decoration: underline; }
.university-top-link img { display: block; flex: 0 0 28px; width: 28px; height: 28px; object-fit: contain; filter: brightness(0) invert(1); }
.reader-tools { margin-left: auto; flex: 0 0 auto; }
.masthead { grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); gap: 22px; }
.masthead-copy { grid-column: 1; grid-row: 1; min-width: 0; }
.masthead-copy .site-name { color: #1f3a93; font-size: 18px; line-height: 1.25; }
.header-search { grid-column: 2; grid-row: 1; }
.all-news-action { display: flex; justify-content: flex-end; margin: 10px 0 34px; }
.all-news-action a { gap: 7px; padding: 7px 11px; font-size: 14px; line-height: 1.3; }
@media (min-width: 1121px) {
  .desktop-site-nav > a, .desktop-site-nav > .nav-group { flex: 1 1 auto; min-width: 0; text-align: center; }
  .desktop-site-nav .nav-group > summary { justify-content: center; gap: 8px; }
}
@media (min-width: 761px) and (max-width: 1120px) {
  .masthead { grid-template-columns: minmax(0, 1fr) minmax(220px, 320px); }
  .masthead-copy { grid-column: 1; grid-row: 1; }
  .header-search { grid-column: 2; grid-row: 1; }
}
@media (max-width: 760px) {
  .university-bar-inner { flex-direction: row; align-items: center; justify-content: space-between; gap: 8px; }
  .university-top-link { flex: 1 1 auto; gap: 7px; font-size: 11px; }
  .university-top-link img { flex: 0 0 24px; width: 24px; height: 24px; }
  .masthead { display: flex; }
  .masthead-copy { flex: 1 1 auto; }
  .masthead-copy .site-name { font-size: clamp(13px, 3.8vw, 16px); }
  .header-search { display: none; }
  .mobile-menu .nav-group { align-self: start; }
  .mobile-menu .site-nav .nav-group > summary { height: auto; min-height: 48px; }
  .mobile-menu .nav-submenu { margin-top: 7px; }
}
