/* Public site stylesheet.

   One file, concatenated from the ten sheets that used to load separately. Their
   order is preserved exactly, so the cascade is identical to the previous set-up;
   the section banners below mark where each came from.

   Later sections intentionally override earlier ones. Before moving a rule between
   sections, check it does not change which declaration wins.
*/


/* ==========================================================================
   Design system: tokens, masthead, forms, footer shell
   (was institution.css)
   ========================================================================== */

/* Public design system uses native system fonts without external requests. */
:root {
  color-scheme:light;--navy:#0b1f3a;--deep:#071426;--blue:#15345b;
  --gold:#9b7838;--gold-light:#c6ad76;--ink:#232d36;--muted:#626b72;
  --line:#dcdedb;--paper:#f7f6f2;--white:#fff;
  --sans:'Segoe UI',Arial,'Nirmala UI',sans-serif;--serif:var(--sans);
  --content:1320px;--gutter:clamp(16px,3.5vw,54px);--section:clamp(56px,7vw,104px);
  --space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;
  --radius:2px;--ease:cubic-bezier(.2,.7,.2,1);--duration:260ms;
}
* {box-sizing:border-box}
html {scroll-padding-top:190px}
body {margin:0;background:var(--white);color:var(--ink);font:18px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
[hidden] {display:none!important}
img {max-width:100%}
a {color:var(--navy);text-decoration-thickness:1px;text-underline-offset:5px;transition:color var(--duration),background var(--duration)}
a:hover {color:var(--gold)}
:focus-visible {outline:2px solid var(--gold);outline-offset:5px}
button,
input,
select,
textarea {font:inherit}
button,
a {-webkit-tap-highlight-color:transparent}
.container {width:min(var(--content),calc(100% - var(--gutter)*2));margin-inline:auto;min-width:0}
main {min-height:60vh;padding-block:56px var(--section)}
main>h1,
.page-intro h1 {max-width:950px}
h1,
h2,
h3 {color:var(--navy);font-family:var(--serif);font-weight:500;line-height:1.08;text-wrap:balance;margin:0 0 24px}
h1 {font-size:clamp(42px,5.2vw,70px);letter-spacing:-.025em}
h2 {font-size:clamp(32px,3.2vw,46px);letter-spacing:-.018em}
h3 {font-size:30px}
p {margin:0 0 20px}
.eyebrow {font:600 11px/1.5 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.metadata {font-size:12px;letter-spacing:.04em;color:var(--muted)}
:lang(bn) .eyebrow,
:lang(bn) .metadata {letter-spacing:.025em}
:lang(bn) h1,
:lang(bn) h2,
:lang(bn) h3 {line-height:1.4}
.skip-link {position:fixed;top:-100px;left:16px;z-index:100;background:#fff;padding:12px}
.skip-link:focus {top:8px}
/* Formal masthead: utility,
identity and public navigation have distinct roles. */
.masthead {position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow var(--duration)}
.masthead.is-scrolled {box-shadow:0 5px 16px #0714260b}
.language-switch {display:flex;align-items:center;gap:8px}
.language-switch button {color:#e8ebef;background:none;border:0;min-height:36px;padding:4px;font-size:12px}
.language-switch [aria-current] {color:var(--gold-light)}
.masthead-inner {display:flex;justify-content:space-between;align-items:center;gap:32px;padding-block:25px;transition:padding var(--duration)}
.is-scrolled .masthead-inner {padding-block:14px}
.identity {display:flex;gap:20px;align-items:center;text-decoration:none}
.institution-logo {width:68px;height:68px;object-fit:contain}
.identity-copy {display:grid;gap:3px}
.identity-name {font:600 clamp(24px,2.6vw,36px)/1.1 var(--serif);color:var(--navy);letter-spacing:.012em}
.identity-copy>span[lang] {font-size:14px;color:var(--muted)}
.identity-copy small {font-size:12px;color:var(--muted)}
.account-links {display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-wrap:wrap;max-width:430px;font-size:13px}
.account-links>a:first-child {border-bottom:1px solid var(--gold);padding-block:7px;text-decoration:none}
.account-links form {margin:0}
.account-links button {border:0;background:none;color:var(--navy);font-size:13px;padding:8px 0;min-height:40px}
.navigation-bar {border-top:1px solid #e9e9e4}
.navigation-bar nav {display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.navigation-bar nav a {position:relative;display:block;padding:15px 0;font-size:14px;font-weight:550;text-decoration:none;color:var(--navy)}
.navigation-bar nav a::after {content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--duration) var(--ease)}
.navigation-bar nav a:hover::after,
.navigation-bar nav [aria-current]::after {transform:scaleX(1)}
.menu-toggle {display:none}
/* Forms retain their original Django controls and submission behavior. */
label {font-size:14px;font-weight:550;display:block;margin-bottom:8px}
input,
select,
textarea {max-width:100%;width:100%;min-height:50px;border:1px solid #b9bfc1;border-radius:var(--radius);padding:11px 14px;color:var(--ink);background:#fff;transition:border-color var(--duration),box-shadow var(--duration)}
input:focus,
select:focus,
textarea:focus {border-color:var(--navy);box-shadow:0 0 0 3px #0b1f3a09}
input[type=checkbox],
input[type=radio] {width:auto;min-height:0}
input::placeholder {color:#747b81;font-size:15px}
textarea {min-height:130px}
button,
.institution-button {display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--navy);border-radius:var(--radius);padding:12px 25px;min-height:50px;background:var(--navy);color:#fff;font:550 15px/1.5 var(--sans);text-decoration:none;cursor:pointer;transition:background var(--duration),border-color var(--duration),color var(--duration)}
button:hover,
.institution-button:hover {background:var(--blue);border-color:var(--blue);color:#fff}
.form-field {min-width:0;display:grid;align-content:start}
.form-actions {display:flex;align-items:end;flex-wrap:wrap;gap:24px}
.errorlist {color:#923d37;font-size:14px;padding-left:20px}
.helptext {font-size:14px;color:var(--muted)}
.empty-state {grid-column:1/-1;color:var(--muted);padding:36px 0;border-block:1px solid var(--line);font-size:16px;max-width:none}
.result-count {margin-block:32px 24px;color:var(--muted);font-size:14px}
.pagination {display:flex;align-items:center;justify-content:center;gap:32px;padding-top:36px;margin-top:24px;border-top:1px solid var(--line);font-size:15px}
.pagination a {padding:10px}
.breadcrumbs {font-size:12px;color:var(--muted);margin-bottom:40px;display:flex;gap:12px;flex-wrap:wrap}
.page-intro,
.inner-heading {padding:26px 0 40px;margin-bottom:36px;border-bottom:1px solid var(--line);position:relative}
.page-intro::before,
.inner-heading::before {content:'';position:absolute;top:0;left:0;width:44px;height:2px;background:var(--gold)}
.page-intro p:last-child {color:var(--muted);max-width:650px;margin-bottom:0}
.inner-heading .breadcrumbs {margin:24px 0 0}
/* Footer is a quiet institutional colophon,
not another set of cards. */
.site-footer {background:var(--deep);color:#c5ccd5;padding:72px 0 24px;border-top:3px solid var(--gold)}
.site-footer a {color:#dce1e7;text-decoration:none}
.site-footer a:hover {color:var(--gold-light)}
.footer-bottom {display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ffffff20;margin-top:52px;padding-top:24px;font-size:12px;color:#aab4c0}
.footer-bottom p {margin:0}
/* Previously implemented account/application pages share the same form language. */
.application-form {max-width:800px;padding:32px;border-block:1px solid var(--line);background:var(--paper)}
.application-form p {margin-bottom:24px}
.application-form .helptext {display:block}
.application-list,
.application-section {margin-top:40px}
.application-steps {display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}
.application-steps a {border-bottom:1px solid var(--line);padding:10px 4px}
.application-section .member-card {margin-bottom:20px}
@media(max-width:1000px) {
  .account-links {max-width:260px;gap:10px 18px}
  .identity-name {font-size:29px}
  .navigation-bar nav {gap:10px 20px;justify-content:flex-start}
}
@media(max-width:700px) {
  html {scroll-padding-top:20px}
  .masthead {position:relative}
  .masthead-inner,
.is-scrolled .masthead-inner {padding-block:22px;align-items:flex-start;flex-direction:column;gap:16px}
  .identity-name {font-size:27px}
  .institution-logo {width:50px;height:50px}
  .identity {gap:14px}
  .identity-copy>span[lang] {font-size:13px}
  .account-links {max-width:none;justify-content:flex-start;gap:20px;font-size:13px}
  .language-switch button {min-height:40px}
  .has-public-js .menu-toggle {display:flex;justify-content:space-between;width:100%;padding:13px 0;background:none;border:0;color:var(--navy);min-height:48px}
  .has-public-js .navigation-bar nav {display:none}
  .has-public-js .navigation-bar nav.is-open {display:flex}
  .navigation-bar nav {flex-direction:column;gap:0;padding-bottom:10px}
  .navigation-bar nav a {padding:12px 0}
  .footer-bottom {display:block}
  .footer-bottom p+p {margin-top:12px}
  .site-footer {padding-top:48px}
  main {padding-top:30px}
  .page-intro,
.inner-heading {padding-block:22px 30px}
  .breadcrumbs {margin-bottom:24px}
  .application-form {padding:22px}
  .pagination {gap:16px;font-size:13px}
  .identity-copy small {max-width:260px}
}
@media(prefers-reduced-motion:reduce) {
  *,
*::before,
*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print {
  .masthead {position:static}
  .navigation-bar,
.account-links,
.site-footer,
.skip-link,
.print-hint {display:none!important}
  .container {width:100%;max-width:none}
  main {padding:20px 0}
  body {font-size:11pt}
  a {color:inherit;text-decoration:none}
  h1 {font-size:30pt}
  h2 {font-size:20pt}
}


/* ==========================================================================
   Home layout: hero, bands, section scaffolding
   (was home.css)
   ========================================================================== */

/* Home: ceremony,
registry,
dispatches and journal use distinct compositions. */
main:has(.hero-carousel) {
    padding-top: 0
}
.hero-carousel {
    position: relative;
    margin-inline: calc(var(--gutter)*-1);
    background: var(--paper);
    border-bottom: 1px solid var(--line)
}
.institution-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: 1fr;
    min-height: 560px;
    overflow: hidden;
    background: var(--paper)
}
.hero-copy {
    position: relative;
    z-index: 2;
    width: min(var(--content), calc(100% - var(--gutter)*2));
    margin-inline: auto;
    padding: 92px 0 100px
}
.hero-copy::before {
    content: '';
    display: block;
    width: 58px;
    height: 2px;
    background: var(--gold);
    margin-bottom: 34px
}
.hero-copy .eyebrow {
    font-size: 12px;
    letter-spacing: .21em
}
.hero-copy h1,
.hero-copy h2 {
    max-width: 780px;
    font-size: clamp(52px, 6.3vw, 86px);
    font-weight: 500;
    line-height: 1.01;
    margin-bottom: 28px;
    letter-spacing: -.025em
}
.hero-description {
    max-width: 510px;
    font-size: 19px;
    line-height: 1.65;
    color: var(--muted)
}
.hero-actions {
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
    margin-top: 36px;
    font-size: 15px
}
.hero-actions>a:last-child {
    padding-block: 12px;
    text-decoration: none;
    border-bottom: 1px solid var(--gold)
}
.hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2
}
.with-image {
    background: var(--deep)
}
.with-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(7, 20, 38, .91), rgba(7, 20, 38, .55) 58%, rgba(7, 20, 38, .12));
    z-index: -1
}
.with-image h1,
.with-image h2 {
    color: #fff
}
.with-image .hero-description {
    color: #e0e4e7
}
.with-image .eyebrow {
    color: var(--gold-light)
}
.with-image .hero-actions>a:last-child {
    color: #fff
}
.with-image .institution-button {
    background: #fff;
    border-color: #fff;
    color: var(--navy)
}
.with-image .institution-button:hover {
    background: var(--paper)
}
/* Abstract architectural linework,
never presented as the association building. */
.institution-hero:not(.with-image)::after {
    content: '';
    position: absolute;
    right: -4%;
    bottom: -18%;
    width: 55%;
    height: 115%;
    background: url("../images/architectural-rule.ab07274ba0d4.svg") center/contain no-repeat;
    opacity: .45;
    z-index: -1;
    pointer-events: none
}
.directory-band {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    align-items: center;
    gap: 60px;
    padding: 44px 0;
    border-bottom: 1px solid var(--line)
}
.directory-band .eyebrow {
    margin-bottom: 8px
}
.directory-band h2 {
    font-size: 36px;
    margin: 0
}
.directory-band label {
    font-size: 13px
}
.inline-search {
    display: flex;
    gap: 0
}
.inline-search input {
    border-right: 0;
    min-width: 0;
    border-radius: 0;
    min-height: 56px
}
.inline-search button {
    min-width: 120px;
    border-radius: 0
}
.home-section {
    padding-top: var(--section)
}
.section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 36px
}
.section-heading h2 {
    margin-bottom: 0
}
.section-heading .eyebrow {
    margin-bottom: 14px
}
.section-heading>a {
    font-size: 14px;
    white-space: nowrap;
    text-decoration: none;
    border-bottom: 1px solid var(--gold);
    padding-block: 8px
}
.home-section>h2 {
    margin-bottom: 36px
}
.institution-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 44px;
    border-top: 1px solid var(--line)
}
.institution-grid article {
    padding-top: 28px;
    min-width: 0
}
.institution-grid h3 {
    font-size: 31px
}
.institution-grid h3 a {
    text-decoration: none
}
.institution-grid p {
    color: var(--muted);
    font-size: 16px;
    max-width: 350px
}
.services-section {
    padding-bottom: 8px
}
.leadership-section {
    margin-top: var(--section);
    padding: 64px 48px;
    background: var(--paper);
    border-top: 1px solid var(--gold)
}
.leadership-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px
}
.leadership-card {
    display: block;
    min-width: 0
}
.leadership-card+.leadership-card {
    border-left: 1px solid #d9d5cb;
    padding-left: 64px
}
.leadership-card img {
    display: block;
    width: 210px;
    height: 260px;
    object-fit: cover;
    object-position: top;
    margin-bottom: 32px;
    filter: saturate(.82);
    border-bottom: 3px solid var(--gold)
}
.leadership-card .eyebrow {
    margin-bottom: 12px
}
.leadership-card h3 {
    font-size: 38px;
    margin-bottom: 20px
}
.leadership-card p:not(.eyebrow) {
    font-size: 17px;
    max-width: 420px;
    color: var(--muted)
}
.leadership-card a {
    font-size: 14px;
    text-decoration: none;
    border-bottom: 1px solid var(--gold);
    padding-bottom: 7px
}
.notice-section {
    display: grid;
    grid-template-columns: 1fr 2.15fr;
    gap: 72px
}
.notice-section>.section-heading {
    display: block;
    margin-bottom: 0
}
.notice-section .section-heading h2 {
    margin-bottom: 24px
}
.news-section .editorial-grid {
    grid-template-columns: 1.35fr 1fr;
    gap: 0 48px
}
.news-section .editorial-card:first-child {
    grid-row: span 2;
    border-bottom: 0
}
.news-section .editorial-card:not(:first-child) {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 22px;
    padding: 0 0 28px;
    margin-bottom: 28px
}
.news-section .editorial-card:not(:first-child):not(:has(.editorial-cover)) {
    grid-template-columns: 1fr
}
.news-section .editorial-card:not(:first-child) .editorial-card-body {
    padding: 0
}
.news-section .editorial-card:not(:first-child) h2 {
    font-size: 29px
}
.news-section .editorial-card:not(:first-child) .editorial-cover {
    height: 130px;
    aspect-ratio: auto
}
.news-section .editorial-card:not(:first-child) .editorial-card-body>p:not(.metadata) {
    font-size: 15px
}
.featured-pages .institution-grid {
    grid-template-columns: 1.35fr 1fr
}
.featured-pages .institution-grid article:first-child h3 {
    font-size: 42px
}
.gallery-section .editorial-grid {
    grid-template-columns: 1.3fr 1fr 1fr
}
.important-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 36px;
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--line)
}
.important-links li {
    min-width: 0
}
.important-links a {
    display: block;
    padding: 20px 0;
    border-bottom: 1px solid var(--line);
    font-size: 15px;
    text-decoration: none;
    overflow-wrap: anywhere
}
@media(min-width:1480px) {
  .hero-carousel {
        margin-inline: calc((min(var(--content), 100vw - var(--gutter)*2) - 100vw)/2)
    }
}
@media(max-width:1000px) {
  .institution-hero {
        min-height: 500px
    }
  .hero-copy {
        padding-block: 72px 90px
    }
  .directory-band {
        gap: 32px;
        grid-template-columns: 1fr 1.4fr
    }
  .institution-grid {
        gap: 28px
    }
  .notice-section {
        grid-template-columns: 1fr;
        gap: 20px
    }
  .notice-section>.section-heading {
        display: flex
    }
  .notice-section .section-heading h2 {
        margin-bottom: 0
    }
  .leadership-section {
        padding: 44px 32px
    }
  .leadership-grid {
        gap: 32px
    }
  .leadership-card+.leadership-card {
        padding-left: 32px
    }
  .news-section .editorial-grid {
        gap: 0 30px
    }
  .news-section .editorial-card:not(:first-child) {
        display: block
    }
  .news-section .editorial-card:not(:first-child) .editorial-cover {
        height: 180px;
        margin-bottom: 20px
    }
}
@media(max-width:700px) {
  .institution-hero {
        min-height: 440px
    }
  .hero-copy {
        padding: 52px 0 66px
    }
  .hero-copy h1,
.hero-copy h2 {
        font-size: 48px;
        max-width: 540px
    }
  .hero-copy .eyebrow {
        font-size: 10px;
        letter-spacing: .14em
    }
  .hero-copy::before {
        margin-bottom: 24px
    }
  .hero-description {
        font-size: 17px;
        max-width: 310px
    }
  .hero-actions {
        gap: 20px;
        margin-top: 26px;
        font-size: 14px
    }
  .hero-actions .institution-button {
        padding-inline: 20px
    }
  .institution-hero:not(.with-image)::after {
        width: 80%;
        right: -25%;
        opacity: .22
    }
  .with-image::after {
        background: #071426c7
    }
  .directory-band {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 32px 0
    }
  .directory-band h2 {
        font-size: 32px
    }
  .inline-search button {
        min-width: 85px;
        padding-inline: 18px
    }
  .directory-band input {
        font-size: 16px
    }
  .institution-grid,
.featured-pages .institution-grid {
        grid-template-columns: 1fr;
        gap: 0
    }
  .institution-grid article {
        display: grid;
        grid-template-columns: 34px 1fr;
        column-gap: 16px;
        padding: 24px 0;
        border-bottom: 1px solid var(--line)
    }
  .institution-grid article>p {
        grid-column: 2
    }
  .institution-grid h3 {
        font-size: 29px;
        margin-bottom: 12px
    }
  .featured-pages .institution-grid article {
        display: block
    }
  .featured-pages .institution-grid article:first-child h3 {
        font-size: 34px
    }
  .leadership-section {
        padding: 32px 24px
    }
  .leadership-grid {
        grid-template-columns: 1fr;
        gap: 40px
    }
  .leadership-card+.leadership-card {
        border-left: 0;
        border-top: 1px solid var(--line);
        padding: 36px 0 0
    }
  .leadership-card img {
        width: 180px;
        height: 225px
    }
  .leadership-card h3 {
        font-size: 34px
    }
  .section-heading,
.notice-section>.section-heading {
        display: block
    }
  .section-heading h2 {
        margin-bottom: 18px
    }
  .section-heading>a {
        display: inline-block
    }
  .news-section .editorial-grid,
.gallery-section .editorial-grid {
        grid-template-columns: 1fr;
        gap: 30px
    }
  .news-section .editorial-card:first-child {
        grid-row: auto
    }
  .news-section .editorial-card:not(:first-child) {
        margin-bottom: 0;
        padding-bottom: 24px
    }
  .news-section .editorial-card:not(:first-child) .editorial-cover {
        height: auto;
        aspect-ratio: 3/2
    }
  .important-links {
        grid-template-columns: 1fr
    }
}
@media print {
  .institution-hero {
        min-height: 0
    }
  .hero-copy {
        padding: 24px 0
    }
  .hero-image,
.institution-hero::after,
.hero-dots {
        display: none !important
    }
  .with-image {
        background: white
    }
  .with-image h1,
.with-image .hero-description {
        color: black
    }
  .home-section {
        padding-top: 30px
    }
  .leadership-section {
        background: none
    }
  .notice-section {
        display: block
    }
}


/* ==========================================================================
   Editorial archives, member records, publications
   (was public-content.css)
   ========================================================================== */

/* Editorial archives: open columns for stories,
ruled rows for documents. */
.editorial-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 32px}
.editorial-card {min-width:0;border-bottom:1px solid var(--line);padding-bottom:28px;overflow-wrap:anywhere}
.editorial-card-body {padding-top:22px}
.editorial-card h2 {font-size:33px;margin-bottom:16px}
.editorial-card h2 a {text-decoration:none}
.editorial-card p {font-size:16px;color:var(--muted)}
.editorial-card .metadata {font-size:11px;margin-bottom:15px}
.editorial-card-body>a {font-size:13px;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px}
.editorial-cover {display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:filter 400ms,transform 400ms var(--ease)}
.editorial-card>a {display:block;overflow:hidden}
.editorial-card:hover .editorial-cover {filter:saturate(.9);transform:scale(1.018)}
.document-list {display:block;border-top:1px solid var(--navy)}
.notice-row {position:relative;display:grid;grid-template-columns:78px 1fr 24px;gap:26px;padding:27px 0;border-bottom:1px solid var(--line);transition:background var(--duration),padding var(--duration)}
.notice-row:hover {background:var(--paper);padding-inline:12px}
.notice-date {font-size:11px;line-height:1.5;color:var(--muted);padding-top:2px}
.notice-date strong {display:block;font:500 38px/1 var(--serif);color:var(--navy);margin-bottom:5px}
.notice-row .metadata {margin:0 0 10px;text-transform:uppercase;font-size:10px;letter-spacing:.1em}
.notice-row h2 {font-size:29px;line-height:1.2;margin:0 0 10px}
.notice-row h2 a {text-decoration:none}
.notice-row .notice-summary {font-size:15px;color:var(--muted);margin:0 0 10px}
.notice-arrow {color:var(--gold);padding-top:24px;transition:transform var(--duration)}
.notice-row:hover .notice-arrow {transform:translateX(3px)}
.notice-row.is-pinned::before {content:'';position:absolute;top:29px;left:-13px;width:3px;height:36px;background:var(--gold)}
.notice-label {color:var(--gold);margin-right:10px}
.attachment-note {font-size:11px;color:var(--muted);margin:0}
.archive-filter {display:flex;align-items:end;flex-wrap:wrap;gap:20px;padding:28px;background:var(--paper);border-block:1px solid var(--line)}
.archive-filter>div {flex:1 1 150px;min-width:0}
.archive-filter>a {font-size:13px;padding-bottom:12px}
.archive-filter .errorlist {margin-bottom:0}
.archive-filter label {font-size:12px}
.site-search {display:flex;align-items:end;gap:16px;max-width:850px;padding:30px;background:var(--paper);border-top:1px solid var(--gold)}
.site-search>div {flex:1}
.search-results article {max-width:950px;padding:34px 0;border-bottom:1px solid var(--line)}
.search-results article h2 {font-size:34px;margin-bottom:16px}
.search-results p {color:var(--muted)}
/* Registry is an official list; member profiles read as records {display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;padding:32px;background:var(--paper);border-top:1px solid var(--gold);border-bottom:1px solid var(--line)}
.member-card {display:flex;align-items:start;gap:24px;padding:30px 0;border-bottom:1px solid var(--line);min-width:0;overflow-wrap:anywhere}
.member-card h2 {font-size:32px;margin:8px 0 12px}
.member-card h2 a {text-decoration:none}
.member-card p {margin:0 0 8px;font-size:15px}
.member-card .metadata {font-size:11px}
.member-photo {width:84px;height:105px;object-fit:cover;object-position:top;filter:saturate(.8)}
.status {display:inline-block;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:0;margin-top:6px}
.status::before {content:'';display:inline-block;width:13px;height:1px;background:var(--gold);vertical-align:middle;margin-right:8px}
.profile {max-width:1100px;margin-inline:auto;border-top:2px solid var(--gold);padding:48px 0 0}
.profile-heading {display:flex;align-items:center;gap:48px;padding:12px 0 48px;border-bottom:1px solid var(--navy)}
.profile-heading h1 {font-size:clamp(40px,4.5vw,62px);margin-bottom:16px}
.profile-heading .metadata {font-size:14px}
.profile-heading p[lang] {font-size:20px;color:var(--muted)}
.profile section {padding:40px 0;border-bottom:1px solid var(--line)}
.profile section h2 {font-size:29px;margin-bottom:26px}
.details {display:grid;grid-template-columns:minmax(150px,1fr) 2fr;gap:0 32px;margin:0}
.details dt,
.details dd {padding-block:15px;border-bottom:1px solid #eaebe7}
.details dt {color:var(--muted);font-size:14px}
.details dd {margin:0;overflow-wrap:anywhere;font-size:17px}
.verification {padding-top:28px;color:var(--muted);font-size:13px}
.print-hint {max-width:1100px;margin:28px auto 0;font-size:12px;color:var(--muted)}
/* Inner publications use a narrow reading measure and spacious title treatment. */
.editorial-page {max-width:870px;margin-inline:auto;padding:24px 0 32px}
.editorial-page>h1 {padding-top:24px;border-top:1px solid var(--gold)}
.editorial-summary {font:400 27px/1.45 var(--serif);color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:34px}
.editorial-body {font-size:19px;line-height:1.9;overflow-wrap:anywhere}
.editorial-body p {margin-bottom:28px}
.leadership-portrait {width:220px;height:275px;object-fit:cover;object-position:top;float:left;margin:8px 40px 24px 0;border-bottom:3px solid var(--gold)}
.editorial-page::after {content:'';display:block;clear:both}
.faq-list {max-width:940px;border-top:1px solid var(--navy)}
.faq-list details {padding:26px 0;border-bottom:1px solid var(--line)}
.faq-list summary {font:500 29px/1.3 var(--serif);color:var(--navy);cursor:pointer}
.faq-list details>div {padding:20px 30px 0;color:var(--muted)}
.attachment-list {padding:30px 0;margin-top:40px;border-block:1px solid var(--line)}
.attachment-list h2 {font:600 11px var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.attachment-list ul {list-style:none;padding:0;margin:0}
.attachment-list li {padding:12px 0}
.attachment-list a {font-size:16px}
.photo-grid {display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:44px}
.photo-grid figure {margin:0}
.photo-grid figure:nth-child(3n+1) {grid-column:1/-1}
.photo-grid img {display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.photo-grid figcaption {font-size:13px;color:var(--muted);padding-top:12px}
#photo-viewer {max-width:min(94vw,1100px);max-height:94vh;background:var(--paper);padding:24px;border:1px solid var(--gold)}
#photo-viewer::backdrop {background:#071426e8}
#photo-viewer>img {display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:20px auto}
.viewer-controls {display:flex;gap:16px;justify-content:center}
/* Short,
optional presentation effects; content is never hidden pending JS. */
@keyframes council-enter {from{opacity:.35;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference) {
  .hero-copy {animation:council-enter 500ms var(--ease) both}
  .reveal-active {animation:council-enter 440ms var(--ease) both}
  [data-slide]:not([hidden]) .hero-image {animation:council-enter 500ms var(--ease) both}
}
@media(max-width:1000px) {
  .editorial-grid {grid-template-columns:1fr 1fr}
  .profile-heading {gap:32px}
}
@media(max-width:700px) {
  .editorial-grid {grid-template-columns:1fr}
  .editorial-card h2 {font-size:32px}
  .notice-row {grid-template-columns:48px 1fr 14px;gap:16px;padding-block:24px}
  .notice-date strong {font-size:30px}
  .notice-date {font-size:10px}
  .notice-row h2 {font-size:27px}
  .notice-row:hover {padding-inline:0}
  .notice-row.is-pinned::before {left:-10px}
  .notice-summary {display:none}
  .archive-filter {padding:22px 18px;gap:18px 14px}
  .archive-filter>div {flex-basis:calc(50% - 14px)}
  .archive-filter>div:first-child {flex-basis:100%}
  .archive-filter button {flex:1}
  .member-card {gap:20px}
  .member-card h2 {font-size:29px}
  .member-photo {width:72px;height:90px}
  .profile {padding-top:28px}
  .profile-heading {align-items:start;gap:24px;flex-direction:column;padding-bottom:32px}
  .profile-heading h1 {font-size:43px}
  .profile section {padding-block:30px}
  .details {grid-template-columns:1fr;gap:0}
  .details dt {border-bottom:0;padding:16px 0 3px;font-size:12px}
  .details dd {padding:0 0 14px}
  .editorial-page {padding-top:0}
  .editorial-body {font-size:17px;line-height:1.85}
  .editorial-summary {font-size:25px}
  .leadership-portrait {float:none;width:180px;height:225px;margin:8px 0 28px}
  .photo-grid {grid-template-columns:1fr}
  .photo-grid figure:nth-child(3n+1) {grid-column:auto}
  .site-search {display:block;padding:24px 18px}
  .site-search button {margin-top:16px;width:100%}
  .faq-list summary {font-size:26px}
  .faq-list details>div {padding-inline:0}
  .inner-heading h1 {font-size:44px}
}
@media print {
  .profile {border:0;padding:0;max-width:none}
  .profile-heading {padding-bottom:20px}
  .profile section {break-inside:avoid;padding-block:20px}
  .archive-filter,
.site-search,
dialog {display:none!important}
  .editorial-grid {display:block}
  .editorial-card {break-inside:avoid;margin-bottom:20px}
  .editorial-page {max-width:none}
  .reveal-active {animation:none!important}
  .notice-row {break-inside:avoid}
  .breadcrumbs {display:none}
}


/* ==========================================================================
   Institutional colour treatment
   (was colour-edition.css)
   ========================================================================== */

/* Rich institutional colour treatment: navy,
parchment,
antique gold and green. */
:root {--navy:#102b46;--deep:#071c2d;--blue:#204563;--gold:#946b2b;--gold-light:#dfc28b;--paper:#f5f0e5;--forest:#24483e;--wine:#713d42}
.language-switch button {color:var(--navy)}
.language-switch [aria-current] {color:#886323;font-weight:600}
.masthead {border-bottom:0}
.masthead-inner {padding-block:22px}
.identity-monogram {display:grid;place-content:center;text-align:center;width:66px;height:74px;flex-shrink:0;background:var(--navy);color:var(--gold-light);font:500 38px/.9 var(--serif);border:1px solid #b59452;outline:1px solid #b59452;outline-offset:4px;margin:5px}
.identity-monogram>span {font:500 13px/1.4 var(--serif);letter-spacing:.22em;margin-top:6px}
.identity-name {font-size:clamp(26px,2.7vw,38px);font-weight:600}
.identity-copy>span[lang] {color:#786744}
.account-links>a:first-child {padding:12px 22px;color:#fff;background:var(--navy);border:1px solid var(--navy);font-weight:550}
.account-links>a:first-child:hover {background:var(--forest);border-color:var(--forest)}
.navigation-bar {background:var(--navy);border-top:0;border-bottom:2px solid #b99a5b}
.navigation-bar nav {gap:0}
.navigation-bar nav a {color:#edf2f4;padding:15px 17px;font-weight:500}
.navigation-bar nav a:first-child {padding-left:0}
.navigation-bar nav a:last-child {padding-right:0}
.navigation-bar nav a::after {background:var(--gold-light);bottom:5px;left:16px;right:16px;height:1px}
.navigation-bar nav a:first-child::after {left:0}
.navigation-bar nav a:hover,
.navigation-bar nav [aria-current] {color:var(--gold-light)}
.institution-hero {min-height:600px}
.hero-copy {padding-block:100px 108px}
.hero-copy h1 {max-width:650px;font-size:clamp(52px,6vw,84px);color:#fff}
.hero-copy .eyebrow {color:#e9ce99}
.hero-description {max-width:430px;color:#e2e5e4}
.with-image::after {background:linear-gradient(90deg,rgba(5,24,38,.96) 0%,rgba(6,27,41,.85) 35%,rgba(7,28,42,.28) 68%,rgba(7,28,42,.08))}
.with-image .institution-button {background:var(--gold-light);border-color:var(--gold-light);color:var(--deep)}
.with-image .institution-button:hover {background:#ecd5a8;border-color:#ecd5a8}
.hero-copy::before {background:var(--gold-light)}
.directory-band {background:#f5f0e5;padding:36px 34px;border-bottom:3px solid #c2a265;gap:48px}
.directory-band .eyebrow {color:#866126}
.directory-band input {border-color:#cec1a8}
.directory-band button {background:var(--forest);border-color:var(--forest)}
.services-section .institution-grid {gap:0;border:0}
.services-section .institution-grid article {padding:32px;background:#edf1f3;border-top:3px solid #2d526d}
.services-section .institution-grid article:nth-child(2) {background:#f5eee0;border-color:#b38d48}
.services-section .institution-grid article:nth-child(3) {background:#eaf0eb;border-color:var(--forest)}
.services-section .institution-grid h3 {font-size:32px}
.services-section .institution-grid p {margin:0}
.leadership-section {background:#f4efe3;border-color:#ad8844}
.notice-row.is-pinned {background:#faf6ec}
.notice-date strong {color:var(--forest)}
.news-section {border-top:1px solid var(--line);margin-top:var(--section);padding-top:56px}
.news-section .section-heading h2 {color:var(--wine)}
.member-monogram {display:flex;align-items:center;justify-content:center;width:84px;height:105px;flex-shrink:0;background:#e7edef;color:var(--navy);border-bottom:3px solid #ba9856;font:500 58px var(--serif)}
.member-card:nth-child(3n+2) .member-monogram {background:#edf0e6;color:var(--forest)}
.member-card:nth-child(3n+3) .member-monogram {background:#f2e9e3;color:var(--wine)}
.member-card {padding:28px 16px}
.member-card:hover {background:#faf8f2}
.profile-heading {background:#f6f1e6;padding:32px}
.archive-filter {background:#f3f0e7}
.inner-heading {background:#f6f2e9;padding:32px}
.inner-heading::before {left:32px;top:0}
.site-footer {background:#092b35;border-color:#c0a36c}
.footer-bottom {border-color:#ffffff26}
@media(max-width:1000px) {
  .navigation-bar nav {gap:0 12px}
  .navigation-bar nav a {padding-inline:7px}
  .hero-copy h1 {max-width:550px}
  .directory-band {gap:28px}
  .services-section .institution-grid article {padding:26px}
  .identity-name {font-size:30px}
}
@media(max-width:700px) {
  .masthead-inner {gap:20px;padding-block:22px}
  .identity-monogram {width:48px;height:56px;font-size:28px}
  .identity-monogram>span {font-size:10px;margin-top:4px}
  .identity-name {font-size:25px}
  .identity-copy>span[lang] {font-size:12px}
  .account-links>a:first-child {padding:8px 15px}
  .has-public-js .menu-toggle {color:#fff}
  .navigation-bar nav a,
.navigation-bar nav a:first-child,
.navigation-bar nav a:last-child {padding:12px 0}
  .navigation-bar nav a::after {left:0;right:0}
  .institution-hero {min-height:510px}
  .hero-copy {padding:58px 0 72px}
  .hero-copy h1 {font-size:50px;max-width:340px}
  .hero-description {max-width:280px}
  .with-image::after {background:linear-gradient(90deg,#071c2deb,#071c2d8c)}
  .hero-image {object-position:65% center}
  .directory-band {padding:28px 20px;gap:22px}
  .services-section .institution-grid article {padding:28px 22px}
  .services-section .institution-grid article>p {margin-top:0}
  .member-monogram {width:72px;height:90px;font-size:48px}
  .member-card {padding-inline:0}
  .profile-heading {padding:24px}
  .inner-heading {padding:26px 22px}
  .inner-heading::before {left:22px}
  .news-section {padding-top:40px}
}
@media print {
  .navigation-bar {display:none!important}
  .profile-heading,
.directory-band,
.inner-heading {background:#fff;color:#000}
  .identity-monogram {background:white;color:black}
  .hero-copy h1 {color:#000}
}


/* ==========================================================================
   Typography and homepage composition refinements
   (was home-refinement.css)
   ========================================================================== */

/* Homepage composition and the two-level institutional masthead. */
html {scroll-padding-top:90px}
.masthead {position:sticky;top:0;transition:top .35s ease,box-shadow .35s ease}
.masthead.is-scrolled {top:calc(-1 * var(--header-offset,0px));box-shadow:0 5px 24px #071c2d20}
.masthead.is-scrolled .masthead-inner {padding-block:22px}
.navigation-bar nav a {white-space:nowrap;font-size:14px}
.hero-without-photo {background:var(--deep);isolation:isolate}
.institution-hero.hero-without-photo::after {content:'RBA';position:absolute;right:3%;top:8%;font:500 clamp(170px,27vw,390px)/1 var(--serif);color:#ffffff06;background:none;opacity:1;bottom:auto;border-block:1px solid #c4a36930;transform:none;width:auto;height:auto;z-index:-1}
.hero-without-photo .hero-actions,
.hero-without-photo .hero-actions>a {color:#f0debb}
.hero-without-photo .institution-button {background:var(--gold-light);color:var(--deep)!important;border-color:var(--gold-light)}
.statistics-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:30px 0 40px}
.stat-card {position:relative;min-height:166px;padding:25px 20px 21px;background:#eef1f2;border-top:3px solid var(--navy);transition:transform .25s ease,box-shadow .25s ease}
.stat-card:nth-child(3n+2) {background:#eef2ec;border-color:var(--forest)}
.stat-card:nth-child(3n) {background:#f5eee1;border-color:var(--gold)}
.stat-card strong {display:block;font:500 clamp(40px,4.2vw,60px)/1.15 var(--serif);color:var(--navy);font-variant-numeric:tabular-nums}
.stat-card h2 {font:600 14px/1.4 var(--sans);margin:14px 0 0;color:var(--navy)}
.stat-card small {font-size:11px;color:var(--muted)}
.portrait-placeholder {width:210px;height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e4e9e5;border-bottom:3px solid var(--gold);margin-bottom:32px;color:var(--forest)}
.portrait-placeholder>span {font:500 100px/1.2 var(--serif)}
.portrait-placeholder small {font-size:8px;letter-spacing:.14em}
.leadership-card:nth-child(2) .portrait-placeholder {background:#e4e8ed;color:var(--navy)}
.download-section {padding:42px;background:var(--navy);color:#ecf0f1;border-top:3px solid var(--gold-light);margin-top:var(--section)}
.download-section h2,
.download-section h3,
.download-section a {color:#f5f0e5}
.download-section .eyebrow {color:var(--gold-light)}
.download-section .empty-state {color:#d5dee2}
.member-photo,
.leadership-card img,
.editorial-cover {transition:filter .4s ease,transform .4s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .stat-card:hover {transform:translateY(-5px);box-shadow:0 12px 25px #102b4610}
  .member-card:hover .member-photo,
.leadership-card:hover img,
.editorial-card:hover .editorial-cover {filter:saturate(1);transform:translateY(-3px)}
  .institution-button:hover,
.account-links>a:first-child:hover {transform:translateY(-2px)}
  .navigation-bar nav a:hover {background:#ffffff08}
}
@media(prefers-reduced-motion:no-preference) {
  .stat-card:nth-child(2) {animation-delay:60ms}
  .stat-card:nth-child(3) {animation-delay:120ms}
  .stat-card:nth-child(4) {animation-delay:180ms}
  .stat-card:nth-child(5) {animation-delay:240ms}
  .stat-card:nth-child(6) {animation-delay:300ms}
}
@media(max-width:1100px) {
  .statistics-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .navigation-bar nav {flex-wrap:wrap}
}
@media(max-width:700px) {
  .masthead {position:sticky}
  .statistics-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0 30px}
  .stat-card {min-height:145px;padding:23px 18px}
  .stat-card strong {font-size:46px}
  .stat-card h2 {font-size:13px}
  .download-section {padding:30px 22px}
  .portrait-placeholder {width:180px;height:225px}
  .navigation-bar #main-navigation.is-open {max-height:calc(100dvh - 60px);overflow-y:auto;overscroll-behavior:contain}
  .institution-hero.hero-without-photo::after {top:26%;right:-10%;font-size:220px}
}
@media(prefers-reduced-motion:reduce) {
  .masthead,
.stat-card,
.member-photo,
.leadership-card img,
.editorial-cover {transition:none}
}
@media print {
  .masthead {position:static}
  .statistics-grid {grid-template-columns:repeat(3,1fr)}
  .stat-card,
.download-section {background:white;color:black}
  .download-section h2,
.download-section h3,
.download-section a {color:black}
}
.institution-button,
.account-links>a:first-child {transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease}
/* Compact two-part header and straightforward system typography. */
body {font-size:16px;line-height:1.65}
h1,
h2,
h3 {font-weight:600;line-height:1.25;letter-spacing:-.02em}
h1 {font-size:clamp(32px,4vw,52px)}
h2 {font-size:clamp(26px,2.8vw,36px)}
h3 {font-size:24px}
.masthead .masthead-inner,
.masthead.is-scrolled .masthead-inner {padding-block:12px;gap:24px}
.identity {gap:16px;min-width:0}
.identity-name {font-family:var(--sans);font-size:clamp(21px,2.2vw,29px);font-weight:600;letter-spacing:-.025em;line-height:1.25}
.identity-monogram {width:48px;height:56px;font-size:29px;margin:3px;outline-offset:2px}
.identity-monogram>span {font-size:10px;letter-spacing:.16em}
.institution-logo {width:56px;height:56px}
.identity-copy>span[lang] {font-size:13px}
.header-actions {display:grid;justify-items:end;gap:6px;flex-shrink:0}
.header-utilities {display:flex;align-items:center;gap:18px;font-size:11px}
.header-utilities>a {text-decoration:none}
.header-utilities .language-switch button {min-height:28px;font-size:11px;padding:2px 4px}
.header-actions .account-links {gap:18px;font-size:12px;max-width:none}
.header-actions .account-links>a:first-child {padding:8px 15px;font-size:12px;min-height:36px}
.header-actions .account-links button {min-height:36px;font-size:12px}
.navigation-bar nav a {padding-block:10px;font-size:13px}
.navigation-bar nav a::after {bottom:3px}
.hero-copy h1,
.hero-copy h2 {font-size:clamp(36px,4.6vw,62px);line-height:1.15;font-weight:600;letter-spacing:-.035em;max-width:760px}
.hero-description {font-size:18px}
.eyebrow {letter-spacing:.1em}
.directory-band h2 {font-size:28px}
.services-section .institution-grid h3,
.institution-grid h3 {font-size:23px;line-height:1.3}
.leadership-card h3 {font-size:28px}
.member-card h2 {font-size:23px;line-height:1.3}
.editorial-card h2,
.notice-row h2 {font-size:25px;line-height:1.3}
.inner-heading h1,
.profile-heading h1 {font-size:clamp(32px,4vw,48px)}
.editorial-summary {font-size:22px;line-height:1.6}
.editorial-body {font-size:17px}
.stat-card strong {font-size:46px;font-weight:600;letter-spacing:-.04em}
.stat-card h2 {letter-spacing:0}
.faq-list summary {font-size:23px;line-height:1.4}
@media(max-width:900px) {
  .header-actions {flex-shrink:1}
  .header-utilities {gap:12px}
  .header-actions .account-links {gap:12px;max-width:300px}
  .identity-name {font-size:23px}
}
@media(max-width:700px) {
  .masthead .masthead-inner,
.masthead.is-scrolled .masthead-inner {gap:12px;padding-block:14px}
  .header-actions {width:100%;justify-items:stretch;gap:8px}
  .header-utilities {justify-content:flex-start;flex-wrap:wrap;gap:10px 18px}
  .header-actions .account-links {max-width:none;justify-content:flex-start}
  .identity-name {font-size:22px}
  .identity-monogram {width:42px;height:48px;font-size:25px}
  .identity-copy>span[lang] {font-size:12px}
  .navigation-bar nav a,
.navigation-bar nav a:first-child,
.navigation-bar nav a:last-child {padding-block:10px}
  .has-public-js .menu-toggle {min-height:44px;padding-block:10px}
  .hero-copy h1,
.hero-copy h2 {font-size:38px}
  .hero-description {font-size:16px}
  .stat-card strong {font-size:40px}
  .leadership-card h3 {font-size:26px}
  .section-heading h2 {font-size:27px}
}


/* ==========================================================================
   Committees and elections
   (was governance.css)
   ========================================================================== */

.term-navigation {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    padding: 0 0 24px;
    border-bottom: 1px solid var(--line)
}

.term-navigation a {
    font-size: 14px;
    text-decoration: none
}

.term-navigation [aria-current] {
    border-bottom: 2px solid var(--gold)
}

.institution-register article {
    padding: 30px 0;
    border-bottom: 1px solid var(--line)
}

.institution-register h2 {
    font-size: 28px
}

.institution-register h2 a {
    text-decoration: none
}

/* =========================================================
   PREMIUM COMMITTEE / OFFICE BEARER CARDS
   ========================================================= */

.committee-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 28px;
    margin-top: 40px;
}


/* ---------------------------------------------------------
   Card
   --------------------------------------------------------- */

.committee-person {
    position: relative;
    min-width: 0;

    background: #ffffff;
    border: 1px solid #e7e3da;
    border-radius: 8px;

    overflow: hidden;

    box-shadow:
        0 2px 4px rgba(11, 31, 58, 0.02),
        0 10px 30px rgba(11, 31, 58, 0.055);

    transition:
        transform 280ms ease,
        box-shadow 280ms ease,
        border-color 280ms ease;
}


/* Premium gold top line */

.committee-person::before {
    content: "";
    position: absolute;
    z-index: 5;

    top: 0;
    left: 0;

    width: 100%;
    height: 3px;

    background: linear-gradient(90deg,
            #8c6a2d,
            #c4a15d,
            #8c6a2d);
}


/* ---------------------------------------------------------
   Portrait
   --------------------------------------------------------- */

.committee-person__photo {
    position: relative;
    display: block;

    width: 100%;
    aspect-ratio: 4 / 4.7;

    overflow: hidden;

    background: #f4f1ea;
}


.committee-person__photo img {
    display: block;

    width: 100%;
    height: 100%;

    margin: 0;

    object-fit: cover;
    object-position: top center;

    transition: transform 500ms cubic-bezier(.2, .7, .2, 1);
}


/*
   Very subtle navy treatment at bottom of image.
   Gives white/light portraits better separation.
*/

.committee-person__photo::after {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(to bottom,
            transparent 65%,
            rgba(7, 20, 38, 0.12) 100%);
}


/* Gold separator under portrait */

.committee-person__photo-accent {
    position: absolute;

    left: 28px;
    bottom: 0;

    width: 58px;
    height: 3px;

    background: #b7924a;

    z-index: 2;
}


/* ---------------------------------------------------------
   Content
   --------------------------------------------------------- */

.committee-person__content {
    position: relative;

    padding: 27px 28px 25px;
}


/* ---------------------------------------------------------
   Designation
   --------------------------------------------------------- */

.committee-person__role {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 13px;
}


.committee-person__role>span {
    display: block;

    width: 22px;
    height: 1px;

    flex-shrink: 0;

    background: #b7924a;
}


.committee-person .eyebrow {
    margin: 0;

    color: #8c6a2d;

    font-size: 11px;
    font-weight: 700;

    line-height: 1.3;

    letter-spacing: 0.14em;
    text-transform: uppercase;
}


/* ---------------------------------------------------------
   Member Name
   --------------------------------------------------------- */

.committee-person h3 {
    margin: 0 0 18px;

    color: #0b1f3a;

    font-family:
        "Libre Baskerville",
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(20px, 1.6vw, 24px);
    font-weight: 600;

    line-height: 1.35;

    letter-spacing: -0.015em;
}


.committee-person h3 a {
    color: inherit;

    text-decoration: none;

    transition: color 200ms ease;
}


.committee-person h3 a:hover {
    color: #8c6a2d;
}


/* ---------------------------------------------------------
   Member ID
   --------------------------------------------------------- */

.committee-person__meta {
    display: flex;
    flex-direction: column;

    gap: 3px;

    padding-top: 15px;

    border-top: 1px solid #ece9e2;
}


.committee-person__meta-label {
    color: #8b9098;

    font-size: 9px;
    font-weight: 700;

    line-height: 1.4;

    letter-spacing: 0.13em;
    text-transform: uppercase;
}


.committee-person .metadata {
    margin: 0;

    color: #667085;

    font-size: 13px;
    font-weight: 500;

    line-height: 1.5;

    letter-spacing: 0.01em;

    overflow-wrap: anywhere;
}


/* ---------------------------------------------------------
   View Profile
   --------------------------------------------------------- */

.committee-person__link {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-top: 21px;

    color: #0b1f3a;

    font-size: 12px;
    font-weight: 700;

    line-height: 1;

    letter-spacing: 0.06em;
    text-transform: uppercase;

    text-decoration: none;
}


.committee-person__link span {
    color: #b7924a;

    font-size: 17px;

    transition: transform 220ms ease;
}


/* ---------------------------------------------------------
   Monogram / No photo
   --------------------------------------------------------- */

.committee-monogram {
    display: grid;
    place-items: center;

    width: 100%;
    height: 100%;
    min-height: 300px;

    margin: 0;

    background:
        radial-gradient(circle at center,
            rgba(183, 146, 74, 0.08),
            transparent 48%),
        #f7f5ef;

    color: #0b1f3a;

    font-family:
        "Libre Baskerville",
        Georgia,
        serif;

    font-size: 76px;
    font-weight: 500;
}


/* ---------------------------------------------------------
   Hover — only on devices with proper hover
   --------------------------------------------------------- */

@media (hover: hover) {

    .committee-person:hover {
        transform: translateY(-4px);

        border-color: rgba(183, 146, 74, 0.55);

        box-shadow:
            0 4px 8px rgba(11, 31, 58, 0.035),
            0 18px 45px rgba(11, 31, 58, 0.11);
    }

    .committee-person:hover .committee-person__photo img {
        transform: scale(1.025);
    }

    .committee-person__link:hover span {
        transform: translateX(4px);
    }

}


/* ---------------------------------------------------------
   Keyboard focus
   --------------------------------------------------------- */

.committee-person a:focus-visible {
    outline: 3px solid rgba(183, 146, 74, 0.35);
    outline-offset: 4px;

    border-radius: 2px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

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

        gap: 28px 24px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 650px) {

    .committee-grid {
        grid-template-columns: 1fr;

        gap: 20px;

        margin-top: 28px;
    }


    /*
       Premium horizontal card on mobile
    */

    .committee-person {
        display: grid;

        grid-template-columns: 118px minmax(0, 1fr);

        min-height: 160px;
    }


    .committee-person__photo {
        width: 118px;
        height: 100%;

        aspect-ratio: auto;
    }


    .committee-person__photo img {
        width: 100%;
        height: 100%;

        min-height: 170px;

        object-fit: cover;
        object-position: top center;
    }


    .committee-person__photo-accent {
        left: auto;
        right: 0;
        bottom: 20px;

        width: 3px;
        height: 38px;
    }


    .committee-person__content {
        display: flex;
        flex-direction: column;
        justify-content: center;

        padding: 20px 18px;
    }


    .committee-person__role {
        margin-bottom: 9px;
    }


    .committee-person__role>span {
        width: 16px;
    }


    .committee-person .eyebrow {
        font-size: 9px;

        letter-spacing: 0.11em;
    }


    .committee-person h3 {
        margin-bottom: 12px;

        font-size: 18px;

        line-height: 1.3;
    }


    .committee-person__meta {
        padding-top: 10px;
    }


    .committee-person__meta-label {
        display: none;
    }


    .committee-person .metadata {
        font-size: 11px;
    }


    .committee-person__link {
        margin-top: 12px;

        font-size: 10px;
    }


    .committee-person__link span {
        font-size: 15px;
    }


    .committee-monogram {
        min-height: 170px;

        font-size: 46px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 380px) {

    .committee-person {
        grid-template-columns: 100px minmax(0, 1fr);
    }


    .committee-person__photo {
        width: 100px;
    }


    .committee-person__content {
        padding: 17px 14px;
    }


    .committee-person h3 {
        font-size: 16px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .committee-person,
    .committee-person__photo img,
    .committee-person__link span {
        transition: none;
    }

    .committee-person:hover {
        transform: none;
    }

    .committee-person:hover .committee-person__photo img {
        transform: none;
    }

}


/* =========================================================
   PRINT
   ========================================================= */

@media print {

    .committee-grid {
        grid-template-columns: repeat(3, 1fr);

        gap: 16px;
    }


    .committee-person {
        break-inside: avoid;

        box-shadow: none;

        border: 1px solid #ccc;
    }


    .committee-person__link {
        display: none;
    }

}

.governance-table-wrap {
    overflow-x: auto;
    margin: 24px 0
}

.governance-table {
    border-collapse: collapse;
    width: 100%;
    text-align: left;
    font-size: 15px
}

.governance-table th {
    font-weight: 600;
    background: var(--paper)
}

.governance-table td,
.governance-table th {
    padding: 16px;
    border-bottom: 1px solid var(--line)
}

.election-sections {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    border-block: 1px solid var(--line);
    padding: 20px 0;
    margin-bottom: 36px
}

.election-sections a {
    font-size: 14px
}

.governance-section {
    margin: 48px 0
}

.voter-search {
    max-width: 750px;
    padding: 28px;
    background: var(--paper);
    border-top: 2px solid var(--gold)
}

.voter-search button {
    margin-top: 16px
}

.governance-section h2 {
    font-size: 28px
}

@media(max-width:900px) {
    .committee-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:700px) {
    .committee-grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .committee-person {
        display: flex;
        gap: 20px
    }

    .committee-person img,
    .committee-monogram {
        width: 90px;
        height: 112px;
        flex-shrink: 0;
        font-size: 40px
    }

    .committee-person h3 {
        font-size: 21px
    }

    .committee-person .eyebrow {
        margin-bottom: 10px
    }

    .governance-table td,
    .governance-table th {
        padding: 12px
    }

    .election-sections {
        gap: 16px
    }

    .voter-search {
        padding: 22px
    }
}

@media print {

    .term-navigation,
    .election-sections,
    .voter-search {
        display: none
    }

    .committee-person,
    .institution-register article {
        break-inside: avoid
    }

    .committee-grid {
        grid-template-columns: 1fr 1fr
    }

    .governance-table-wrap {
        overflow: visible
    }
}

@media(min-width:701px) {
    .navigation-bar nav {
        gap: 0;
        flex-wrap: nowrap
    }

    .navigation-bar nav a {
        padding-inline: 8px;
        font-size: 12px
    }

    .navigation-bar nav a::after {
        left: 8px;
        right: 8px
    }
}

@media(min-width:701px) and (max-width:1000px) {
    .navigation-bar nav {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 0 12px
    }
}
/* Committee overview reuses the existing portrait cards without register-row styling. */
.committee-overview-section{padding:40px 0;border-bottom:1px solid var(--line)}
.committee-overview-section>.section-heading{margin-bottom:24px}
.committee-overview-section .section-heading h2{font-size:28px;line-height:1.3}
.committee-overview-section .section-heading h2 a{text-decoration:none}
.committee-overview-section .section-heading .metadata{margin:12px 0 0}
.committee-overview-section>.committee-grid{margin-top:0}
@media(max-width:700px){.committee-overview-section{padding-block:28px}.committee-overview-section .section-heading h2{font-size:24px}}


/* ==========================================================================
   Responsive layer and navigation breakpoints
   (was mobile.css)
   ========================================================================== */

/* Final responsive layer: one shared breakpoint for the header and menu JS. */
.nav-dropdown {position:relative;min-width:0}
.nav-dropdown summary {list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 8px;color:#edf2f4;font-size:12px;font-weight:600;cursor:pointer;min-height:40px}
.nav-dropdown summary::-webkit-details-marker {display:none}
.nav-dropdown[open]>summary {color:var(--gold-light);background:#ffffff0a}
.nav-submenu {position:absolute;top:100%;left:0;min-width:220px;padding:8px;background:var(--navy);border-top:2px solid var(--gold-light);box-shadow:0 12px 24px #071c2d26;z-index:40;max-height:70dvh;overflow-y:auto}
.navigation-bar nav .nav-submenu>a,
.navigation-bar nav .nav-submenu>a:first-child,
.navigation-bar nav .nav-submenu>a:last-child {display:block;padding:11px 16px;min-height:44px;font-size:14px;line-height:1.5;white-space:normal;border-bottom:1px solid #ffffff12}
.navigation-bar nav .nav-submenu>a::after {display:none}
.navigation-bar nav .nav-submenu>a:hover,
.navigation-bar nav .nav-submenu>a:focus-visible {background:#ffffff10;color:var(--gold-light)}
@media screen and (max-width:1024px) {
  .nav-dropdown summary {font-size:14px;min-height:48px;padding:13px 0;border-bottom:1px solid #ffffff20}
  .nav-dropdown[open] {grid-column:1/-1}
  .nav-submenu {position:static;min-width:0;max-height:none;box-shadow:none;margin-bottom:10px;background:#071c2d55;padding:6px 10px;border-top-width:1px}
  .navigation-bar nav .nav-submenu>a {font-size:13px}
}
.identity-copy,
.header-actions,
.directory-band>* {min-width:0}
@media screen and (max-width:1024px) {
  :root {--gutter:20px;--section:60px}
  .home-section h2,
.home-section h3,
.home-section p,
.directory-band h2 {overflow-wrap:anywhere}
  .masthead .masthead-inner,
.masthead.is-scrolled .masthead-inner {flex-direction:row;align-items:center;padding-block:16px;gap:16px}
  .identity {gap:14px;max-width:100%}
  .identity-copy {overflow-wrap:anywhere}
  .identity-name {font-size:24px;line-height:1.25}
  .identity-copy small {max-width:520px}
  .institution-logo,
.identity-monogram {flex-shrink:0}
  .navigation-bar {position:relative}
  .has-public-js .navigation-bar .menu-toggle {display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:10px 0;background:none;border:0;color:#fff;font-size:14px;font-weight:600}
  .menu-symbol {position:relative;width:20px;height:14px;border-block:1.5px solid currentColor}
  .menu-symbol::after {content:'';position:absolute;left:0;right:0;top:5px;border-top:1.5px solid currentColor}
  .menu-toggle[aria-expanded=true] .menu-symbol {border:0}
  .menu-toggle[aria-expanded=true] .menu-symbol::before,
.menu-toggle[aria-expanded=true] .menu-symbol::after {content:'';position:absolute;top:6px;left:0;right:0;border-top:1.5px solid currentColor;transform:rotate(45deg)}
  .menu-toggle[aria-expanded=true] .menu-symbol::after {transform:rotate(-45deg)}
  .has-public-js .navigation-bar #main-navigation {display:none}
  .has-public-js .navigation-bar #main-navigation.is-open {display:grid;position:absolute;top:100%;left:0;right:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding:12px var(--gutter) 20px;background:var(--navy);box-shadow:0 16px 24px #071c2d26;max-height:var(--menu-room,65dvh);overflow-y:auto;overscroll-behavior:contain;border-bottom:2px solid var(--gold-light)}
  .navigation-bar nav>a,
.navigation-bar nav>a:first-child,
.navigation-bar nav>a:last-child {padding:13px 0;min-height:48px;white-space:normal;font-size:14px;border-bottom:1px solid #ffffff20;overflow-wrap:anywhere}
  .navigation-bar nav>a::after {display:none}
  .navigation-bar nav>a[aria-current] {color:var(--gold-light)}
  .navigation-bar .header-actions {grid-column:1/-1;display:flex;flex-direction:column;width:100%;gap:16px;padding-top:20px}
  .navigation-bar .header-utilities {flex-wrap:wrap;gap:8px 20px;font-size:13px}
  .navigation-bar .header-utilities>a {padding-block:10px;color:#fff;font-size:13px}
  .navigation-bar .language-switch {margin-left:auto}
  .navigation-bar .header-utilities .language-switch button {color:#fff;min-height:44px;padding:8px;font-size:13px}
  .navigation-bar .language-switch [aria-current] {color:var(--gold-light)!important}
  .navigation-bar .account-links {justify-content:flex-start;max-width:none!important;gap:12px 20px;width:100%}
  .navigation-bar .account-links>a,
.navigation-bar .account-links button {color:#fff;font-size:13px;min-height:44px;padding-block:10px}
  .navigation-bar .account-links>a:first-child {background:var(--gold-light);border-color:var(--gold-light);color:var(--deep);padding:11px 16px;white-space:normal}
  /* All links and account controls remain available when JavaScript is disabled. */
  html:not(.has-public-js) .masthead-inner {flex-wrap:wrap}
  html:not(.has-public-js) .header-actions {width:100%;justify-items:start}
  html:not(.has-public-js) .navigation-bar nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
  .hero-copy h1,
.hero-copy h2 {font-size:clamp(36px,5.5vw,54px);max-width:680px}
  .institution-hero {min-height:440px}
  .hero-copy {padding-block:64px 72px}
  .statistics-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .directory-band {grid-template-columns:1fr;gap:20px;padding:28px}
  .leadership-grid {gap:28px}
  .leadership-section {padding:36px 28px}
  .leadership-card+.leadership-card {padding-left:28px}
  .download-section {padding:32px}
}
@media screen and (max-width:600px) {
  :root {--gutter:20px;--section:48px}
  html {scroll-padding-top:72px}
  body {font-size:15px}
  .masthead .masthead-inner,
.masthead.is-scrolled .masthead-inner {padding-block:14px}
  .identity-name {font-size:clamp(18px,5vw,22px);letter-spacing:-.025em;line-height:1.3}
  .identity-copy>span[lang] {font-size:12px;line-height:1.5}
  .identity-copy small {font-size:11px;line-height:1.4}
  .identity-monogram {width:40px;height:48px;font-size:25px;margin:3px}
  .identity-monogram>span {font-size:9px}
  .institution-logo {width:46px;height:52px}
  .institution-hero {min-height:0}
  .hero-copy {padding:44px 0 48px}
  .hero-copy::before {width:36px;margin-bottom:22px}
  .hero-copy h1,
.hero-copy h2 {font-size:clamp(30px,8.6vw,42px);line-height:1.16;letter-spacing:-.035em;margin-bottom:20px;max-width:100%;overflow-wrap:anywhere}
  .hero-copy .eyebrow {font-size:10px;letter-spacing:.09em;line-height:1.6;max-width:100%}
  .hero-description {max-width:100%;font-size:15px;line-height:1.7}
  .hero-actions {align-items:flex-start;gap:10px 22px;margin-top:24px;font-size:13px}
  .hero-actions .institution-button {min-height:46px;padding:11px 18px;font-size:13px}
  .hero-actions>a:last-child {min-height:44px;padding-block:11px}
  .hero-image {object-position:center}
  .with-image::after {background:linear-gradient(90deg,#071c2deb,#071c2d9c)}
  .institution-hero.hero-without-photo::after {font-size:160px;top:auto;bottom:30px;right:-18px}
  .statistics-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0 28px}
  .stat-card {min-height:130px;padding:22px 16px 17px;border-top-width:2px}
  .stat-card strong {font-size:clamp(30px,9vw,39px);letter-spacing:-.04em;overflow-wrap:anywhere}
  .stat-card h2 {font-size:12px;line-height:1.5;margin-top:8px}
  .stat-card small {display:block;font-size:10px;line-height:1.5;margin-top:3px}
  .directory-band {padding:24px 18px;gap:18px;border-bottom-width:2px}
  .directory-band h2 {font-size:24px}
  .directory-band .eyebrow {font-size:10px}
  .directory-band label {font-size:12px;line-height:1.5}
  .inline-search {display:grid;grid-template-columns:minmax(0,1fr) auto}
  .inline-search input {font-size:16px;min-height:48px;padding:10px;min-width:0}
  .inline-search button {min-width:0;min-height:48px;padding:10px 14px;font-size:13px}
  .home-section {padding-top:48px}
  .section-heading,
.notice-section>.section-heading {display:block;margin-bottom:24px}
  .section-heading h2,
.home-section>h2 {font-size:26px;line-height:1.25;margin-bottom:14px}
  .section-heading .eyebrow {margin-bottom:8px}
  .section-heading>a {min-height:40px;font-size:13px;white-space:normal}
  .services-section .institution-grid {grid-template-columns:1fr}
  .services-section .institution-grid article {padding:24px 20px;grid-template-columns:24px minmax(0,1fr);gap:0 14px}
  .services-section .institution-grid h3 {font-size:21px;margin-bottom:10px}
  .services-section .institution-grid p {font-size:14px;line-height:1.7}
  .member-card>div {min-width:0}
  .member-photo,
.member-monogram {width:70px;height:88px;flex-shrink:0}
  .member-monogram {font-size:40px}
  .leadership-section {margin-top:48px;padding:28px 20px}
  .leadership-grid {grid-template-columns:1fr;gap:30px}
  .leadership-card+.leadership-card {border-left:0;border-top:1px solid var(--line);padding:30px 0 0}
  .leadership-card img,
.portrait-placeholder {width:136px;height:170px;margin-bottom:24px}
  .portrait-placeholder>span {font-size:68px}
  .portrait-placeholder small {font-size:6px;letter-spacing:.1em}
  .leadership-card h3 {font-size:23px;margin-bottom:14px}
  .leadership-card p:not(.eyebrow) {font-size:14px;line-height:1.8}
  .leadership-card .eyebrow {font-size:10px;line-height:1.6}
  .leadership-card a {display:inline-block;min-height:40px}
  .notice-section {display:block}
  .notice-row {grid-template-columns:42px minmax(0,1fr) 12px;gap:13px;padding-block:22px}
  .notice-row h2 {font-size:20px;line-height:1.4}
  .notice-date strong {font-size:27px}
  .notice-row .metadata {font-size:9px;line-height:1.6}
  .notice-row:hover {padding-inline:0}
  .notice-summary {display:none}
  .news-section {margin-top:48px;padding-top:32px}
  .news-section .editorial-grid,
.gallery-section .editorial-grid {grid-template-columns:1fr;gap:26px}
  .news-section .editorial-card:first-child {grid-row:auto;border-bottom:1px solid var(--line)}
  .news-section .editorial-card:not(:first-child) {display:block;padding-bottom:24px;margin-bottom:0}
  .news-section .editorial-card h2,
.news-section .editorial-card:not(:first-child) h2,
.gallery-section .editorial-card h2 {font-size:22px;line-height:1.35}
  .news-section .editorial-card:not(:first-child) .editorial-cover {height:auto;aspect-ratio:3/2;margin-bottom:0}
  .editorial-card-body,
.news-section .editorial-card:not(:first-child) .editorial-card-body {padding-top:18px}
  .editorial-card p {font-size:14px}
  .editorial-card-body>a {display:inline-block;min-height:40px}
  .download-section {margin-top:48px;padding:28px 20px}
  .committee-grid {grid-template-columns:1fr}
  .committee-person {gap:16px}
  .committee-person>div {min-width:0}
  .committee-person img,
.committee-monogram {width:80px;height:100px}
  .committee-person h3 {font-size:20px}
  .important-links {grid-template-columns:1fr}
  .important-links a {font-size:14px;padding-block:16px}
  .site-footer {padding-top:36px}
  .footer-bottom {margin-top:28px;padding-top:20px;font-size:11px;line-height:1.7;overflow-wrap:anywhere}
}
@media screen and (max-width:359px) {
  :root {--gutter:16px}
  .identity {gap:11px}
  .identity-name {font-size:18px}
  .navigation-bar .language-switch {margin-left:0}
  .hero-actions {flex-direction:column;gap:12px}
  .directory-band {padding-inline:14px}
  .inline-search {grid-template-columns:1fr;gap:8px}
  .inline-search input {border-right:1px solid #cec1a8}
}


/* ==========================================================================
   Cards, member rail and the mobile drawer
   (was home-premium.css)
   ========================================================================== */

/* Premium home layer: auto-playing hero,
member rail,
media cards,
light mobile drawer.
   Loaded last so it may refine the earlier institutional layers without !important. */

:root {
  --card-radius: 14px;
  --shadow-sm: 0 1px 2px rgba(16, 43, 70, .04), 0 6px 18px rgba(16, 43, 70, .06);
  --shadow-md: 0 3px 8px rgba(16, 43, 70, .06), 0 18px 44px rgba(16, 43, 70, .12);
  --shadow-lg: 0 30px 70px rgba(7, 28, 45, .22);
  --hairline: #e9e4d9;
  --tint: #f8f5ee;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
/* ============================================================
   1. Hero — advances on its own; dots replace previous/next
   ============================================================ */

.hero-carousel {
  position: relative;
}
[data-slide]:not([hidden]) {
  animation: hero-fade 620ms var(--ease) both;
}
@keyframes hero-fade {
  from { opacity: 0 }
  to { opacity: 1 }
}
.hero-dots {
  position: absolute;
  left: 50%;
  bottom: 24px;
  z-index: 4;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 15px;
  border-radius: 999px;
  background: rgba(7, 28, 45, .42);
  border: 1px solid rgba(255, 255, 255, .2);
  backdrop-filter: blur(10px);
}
.hero-dot {
  position: relative;
  width: 32px;
  height: 4px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .3);
  overflow: hidden;
  cursor: pointer;
  transition: width var(--duration) var(--ease), background var(--duration);
}
.hero-dot:hover {
  background: rgba(255, 255, 255, .55);
}
.hero-dot[aria-current='true'] {
  width: 54px;
  background: rgba(255, 255, 255, .26);
}
.hero-dot[aria-current='true']::after {
  content: '';
  position: absolute;
  inset: 0;
  transform-origin: left;
  background: var(--gold-light);
  animation: hero-progress var(--hero-duration, 7000ms) linear forwards;
}
@keyframes hero-progress {
  from { transform: scaleX(0) }
  to { transform: scaleX(1) }
}
.hero-carousel.is-paused .hero-dot[aria-current='true']::after {
  animation-play-state: paused;
}
/* ============================================================
   2. Featured members — a horizontal rail,
2 to 5 tiles wide
   ============================================================ */

.member-rail {
  --rail-cards: 2;
  --rail-gap: 16px;
  position: relative;
  margin-top: 4px;
}
@media (min-width:760px) {
  .member-rail { --rail-cards: 3; --rail-gap: 20px }
}
@media (min-width:1080px) {
  .member-rail { --rail-cards: 4; --rail-gap: 24px }
}
@media (min-width:1400px) {
  .member-rail { --rail-cards: 5 }
}
.member-rail__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - var(--rail-gap) * (var(--rail-cards) - 1)) / var(--rail-cards));
  gap: var(--rail-gap);
  margin: 0;
  padding: 6px 2px 20px;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}
.member-rail__track::-webkit-scrollbar { display: none }
.member-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  scroll-snap-align: start;
  background: #fff;
  border: 1px solid var(--hairline);
  border-radius: var(--card-radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.member-tile__frame {
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  background: linear-gradient(160deg, #eef2f4, #e2e9ec);
}
.member-tile:nth-child(3n+2) .member-tile__frame { background: linear-gradient(160deg, #edf2ec, #e1e9e2) }
.member-tile:nth-child(3n+3) .member-tile__frame { background: linear-gradient(160deg, #f4ece5, #ebe0d6) }
.member-tile__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform .6s var(--ease);
}
.member-tile__frame::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 54%;
  background: linear-gradient(to top, rgba(7, 28, 45, .8), rgba(7, 28, 45, 0));
  pointer-events: none;
}
.member-tile__monogram {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  font: 600 clamp(38px, 6vw, 62px)/1 var(--serif);
  color: var(--navy);
  opacity: .28;
}
.member-tile__number {
  position: absolute;
  left: 12px;
  bottom: 11px;
  z-index: 2;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #f2e4c4;
}
.member-tile__body {
  display: grid;
  align-content: start;
  gap: 3px;
  padding: 14px 15px 17px;
}
.member-tile h3 {
  margin: 0;
  font-size: clamp(15px, 1.1vw, 17px);
  line-height: 1.3;
  letter-spacing: -.01em;
}
.member-tile__link {
  color: var(--navy);
  text-decoration: none;
}
.member-tile__link::after {
  content: '';
  position: absolute;
  inset: 0;
}
.member-tile__bn,
.member-tile__district {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--muted);
}
.member-tile__status {
  justify-self: start;
  margin-top: 9px;
  padding: 4px 10px;
  border: 1px solid #dde7e0;
  border-radius: 999px;
  background: #eef4ef;
  color: var(--forest);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.rail-nav {
  position: absolute;
  top: 38%;
  z-index: 5;
  width: 44px;
  height: 44px;
  min-height: 0;
  padding: 0;
  display: grid;
  place-content: center;
  border: 1px solid var(--hairline);
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  color: var(--navy);
  font-size: 16px;
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(6px);
  transition: background var(--duration), color var(--duration), transform var(--duration);
}
.rail-nav--prev { left: 6px }
.rail-nav--next { right: 6px }
.rail-nav:hover {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
}
/* ============================================================
   3. Media cards — notices,
news,
events and gallery share one card
   ============================================================ */

.rba-grid {
  display: grid;
  grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
  gap: clamp(20px, 2.1vw, 30px);
}
.home-section.notice-section {
  display: block;
  gap: 0;
}
.notice-section > .section-heading {
  display: flex;
  margin-bottom: 36px;
}
.notice-section .section-heading h2 {
  margin-bottom: 0;
}
.rba-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--hairline);
  border-radius: var(--card-radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.rba-card__media {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: linear-gradient(140deg, #102b46, #1b3f5c 48%, #24483e);
}
.rba-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s var(--ease);
}
/* Abstract crest,
never a photograph the association did not publish. */
.rba-card__crest {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  background:
    radial-gradient(120% 90% at 78% 12%, rgba(223, 194, 139, .22), transparent 60%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .03) 0 11px, transparent 11px 22px);
}
.rba-card__crest::before {
  content: '';
  position: absolute;
  inset: 16px;
  border: 1px solid rgba(223, 194, 139, .3);
  border-radius: 9px;
}
.rba-card__crest > span {
  font: 600 clamp(42px, 4.6vw, 66px)/1 var(--serif);
  color: rgba(240, 223, 182, .88);
  letter-spacing: -.02em;
}
.rba-card__crest--event {
  background:
    radial-gradient(120% 90% at 22% 14%, rgba(223, 194, 139, .2), transparent 62%),
    repeating-linear-gradient(45deg, rgba(255, 255, 255, .03) 0 11px, transparent 11px 22px);
}
.rba-card__stamp {
  position: absolute;
  left: 16px;
  top: 16px;
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: 2px;
  min-width: 62px;
  padding: 8px 11px 9px;
  border-top: 3px solid var(--gold);
  border-radius: 4px 4px 10px 10px;
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 10px 22px rgba(7, 28, 45, .24);
}
.rba-card__stamp strong {
  font: 600 22px/1 var(--sans);
  letter-spacing: -.03em;
  color: var(--navy);
}
.rba-card__stamp span {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
}
.rba-card__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
  padding: 19px 19px 20px;
}
.rba-card__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
  font-size: 11px;
  color: var(--muted);
}
.rba-tag {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eef2f5;
  color: var(--navy);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.rba-tag--gold { background: #f7edd9; color: #7c591c }
.rba-tag--new,
.rba-tag--forest { background: #eaf2ec; color: var(--forest) }
.rba-card h3 {
  margin: 0;
  font-size: clamp(18px, 1.4vw, 21px);
  line-height: 1.32;
}
.rba-card__link {
  color: var(--navy);
  text-decoration: none;
}
.rba-card__link::after {
  content: '';
  position: absolute;
  inset: 0;
}
.rba-card__summary,
.rba-card__venue {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--muted);
}
.rba-card__venue > span {
  margin-right: 8px;
  color: var(--gold);
}
.rba-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: auto 0 0;
  padding-top: 14px;
  border-top: 1px solid #f0ece3;
  font-size: 12px;
}
.rba-card__attach {
  color: var(--gold);
  font-size: 11px;
  letter-spacing: .05em;
}
.rba-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-left: auto;
  color: var(--navy);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
}
.rba-card__cta > span {
  color: var(--gold);
  transition: transform var(--duration) var(--ease);
}
.rba-card.is-pinned {
  border-color: #e4d2ab;
}
.rba-card.is-pinned::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
}
/* ============================================================
   4. Downloads — a dark panel of clearly labelled documents
   ============================================================ */

.home-section.download-section {
  margin-top: var(--section);
  padding: clamp(30px, 3.6vw, 52px);
  border-top: 0;
  border-radius: 20px;
  background: linear-gradient(135deg, #0a2236 0%, #102b46 45%, #173a52 100%);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  position: relative;
}
.download-section::before {
  content: '';
  position: absolute;
  top: -35%;
  right: -12%;
  width: 55%;
  height: 130%;
  background: radial-gradient(closest-side, rgba(223, 194, 139, .16), transparent);
  pointer-events: none;
}
.download-section .section-heading {
  position: relative;
  z-index: 1;
}
.download-section .section-heading > a {
  color: #f3e7cc;
  border-bottom-color: var(--gold-light);
}
.downloads-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
  gap: 18px;
}
.download-section .download-tile {
  display: flex;
  gap: 16px;
  padding: 19px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 14px;
  background: rgba(255, 255, 255, .055);
  transition: transform .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease);
}
.download-section .download-tile__kind {
  position: relative;
  flex: 0 0 50px;
  height: 62px;
  display: grid;
  place-content: center;
  border-radius: 7px;
  background: linear-gradient(160deg, #e6cf9f, #bd9550);
  box-shadow: 0 10px 20px rgba(0, 0, 0, .26);
}
.download-section .download-tile__kind::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  border-width: 0 13px 13px 0;
  border-style: solid;
  border-color: rgba(10, 34, 54, .45) transparent;
  border-top-right-radius: 7px;
}
.download-section .download-tile__ext {
  max-width: 44px;
  overflow: hidden;
  font: 700 11px/1 var(--sans);
  letter-spacing: .04em;
  color: #0a2236;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.download-section .download-tile__body { min-width: 0 }
.download-section .download-tile__category {
  margin: 0 0 6px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--gold-light);
}
.download-section .download-tile h3 {
  margin: 0 0 8px;
  font-size: 17px;
  line-height: 1.4;
  color: #f6f2e8;
  overflow-wrap: anywhere;
}
.download-section .download-tile h3 a {
  color: #f6f2e8;
  text-decoration: none;
}
.download-section .download-tile h3 a:hover { color: var(--gold-light) }
.download-section .download-tile__summary {
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.65;
  color: #c2cfda;
}
.download-section .download-tile__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 0;
}
.download-section .download-tile__button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 18px;
  border-radius: 999px;
  background: var(--gold-light);
  color: #0a2236;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
  text-decoration: none;
  transition: background var(--duration), transform var(--duration);
}
.download-section .download-tile__button:hover {
  background: #f1ddb4;
  color: #0a2236;
}
.download-section .download-tile__detail {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(223, 194, 139, .5);
  color: #c9d6e0;
  font-size: 12px;
  text-decoration: none;
}
.download-section .download-tile__detail:hover { color: var(--gold-light) }
/* ============================================================
   5. Important links,
statistics and bands
   ============================================================ */

.links-section .important-links {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 12px;
  border-top: 0;
}
.links-section .important-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid var(--hairline);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--shadow-sm);
  font-size: 14px;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.important-links__arrow { color: var(--gold) }
.statistics-grid { gap: 14px }
.stat-card {
  border: 1px solid var(--hairline);
  border-top: 0;
  border-radius: 14px;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.stat-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--navy);
}
.stat-card:nth-child(3n+2)::before { background: var(--forest) }
.stat-card:nth-child(3n)::before { background: var(--gold) }
.directory-band {
  border-radius: 16px;
  padding-inline: clamp(22px, 3vw, 40px);
  border-bottom: 0;
  box-shadow: var(--shadow-sm);
}
.services-section .institution-grid article {
  border-radius: 14px;
  border-top-width: 3px;
  box-shadow: var(--shadow-sm);
}
/* ============================================================
   6. Motion
   ============================================================ */

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .rba-card:hover,
  .member-tile:hover {
    transform: translateY(-6px);
    border-color: #ddd0af;
    box-shadow: var(--shadow-md);
  }

  .rba-card:hover .rba-card__media img { transform: scale(1.05) }
  .member-tile:hover .member-tile__photo { transform: scale(1.06) }
  .rba-card:hover .rba-card__cta > span { transform: translateX(4px) }

  .download-section .download-tile:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, .1);
    border-color: rgba(223, 194, 139, .5);
  }

  .download-section .download-tile__button:hover { transform: translateY(-2px) }

  .links-section .important-links a:hover {
    transform: translateY(-3px);
    border-color: var(--gold);
    box-shadow: var(--shadow-md);
  }

  .rail-nav:hover { transform: scale(1.06) }
}
@media (prefers-reduced-motion:reduce) {
  .rba-card,
.member-tile,
.member-tile__photo,
.rba-card__media img,
.download-tile,
.hero-dot[aria-current='true']::after {
    transition: none;
    animation: none;
  }
  .member-rail__track { scroll-behavior: auto }
}
/* ============================================================
   7. Responsive
   ============================================================ */

@media (max-width:1100px) {
  .rba-grid { --cols: 2 }
  .downloads-grid { --cols: 2 }
}
@media (max-width:820px) {
  .rail-nav { display: none }
}
@media (max-width:700px) {
  .rba-grid { --cols: 1 }
  .downloads-grid { --cols: 1 }
  .home-section.download-section { border-radius: 16px; padding: 26px 20px }
  .rba-card__body { padding: 17px 17px 18px }
  .notice-section > .section-heading { display: block; margin-bottom: 24px }
  .member-tile__body { padding: 12px 12px 15px }
  .member-tile h3 { font-size: 14px }
  .member-tile__bn,
.member-tile__district { font-size: 11px }
  .hero-dots { bottom: 14px; padding: 7px 12px; gap: 7px }
  .hero-dot { width: 24px }
  .hero-dot[aria-current='true'] { width: 40px }
}
@media print {
  .hero-dots,
.rail-nav,
.nav-scrim,
.drawer-head,
.drawer-label { display: none !important }
  .rba-card,
.member-tile,
.home-section.download-section {
    box-shadow: none;
    border: 1px solid #ccc;
    break-inside: avoid;
  }
  .home-section.download-section { background: #fff }
  .download-section .download-tile h3,
.download-section .download-tile h3 a { color: #000 }
  .member-rail__track { overflow: visible }
}
/* ============================================================
   8. Mobile navigation drawer — light,
never a dark overlay sheet
   ============================================================ */

.drawer-head,
.drawer-label { display: none }
.nav-scrim {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(9, 26, 40, .44);
  backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity .35s ease;
}
.nav-scrim.is-visible { opacity: 1 }
body.nav-open { overflow: hidden }
@media screen and (max-width:1024px) {
  /* The closed and open states both restate the layout,
because the earlier
     mobile layer styles `#main-navigation.is-open` and would otherwise win. */
  html.has-public-js .navigation-bar #main-navigation,
html.has-public-js .navigation-bar #main-navigation.is-open {
    display: flex;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    z-index: 90;
    width: min(390px, 90vw);
    max-height: none;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fdfcf9;
    overflow-y: auto;
    overscroll-behavior: contain;
    transition: transform .4s var(--ease), visibility .4s;
  }
  html.has-public-js .navigation-bar #main-navigation {
    transform: translateX(102%);
    visibility: hidden;
    box-shadow: none;
  }
  html.has-public-js .navigation-bar #main-navigation.is-open {
    transform: none;
    visibility: visible;
    box-shadow: -30px 0 70px rgba(7, 28, 45, .3);
  }
  html.has-public-js .navigation-bar #main-navigation > * { flex-shrink: 0 }
  /* Drawer chrome */
  html.has-public-js .navigation-bar #main-navigation .drawer-head {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    background: #fff;
    border-bottom: 1px solid #ece7dc;
  }
  .drawer-brand {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
  }
  .drawer-brand img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 9px;
  }
  .drawer-monogram {
    display: grid;
    place-content: center;
    width: 40px;
    height: 40px;
    border-radius: 9px;
    background: var(--navy);
    color: var(--gold-light);
    font: 600 12px/1 var(--sans);
    letter-spacing: .06em;
  }
  .drawer-brand-name {
    overflow: hidden;
    font: 600 15px/1.3 var(--sans);
    color: var(--navy);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .drawer-close {
    flex: 0 0 auto;
    display: grid;
    place-content: center;
    width: 38px;
    height: 38px;
    min-height: 0;
    padding: 0;
    border: 1px solid #e6e0d3;
    border-radius: 10px;
    background: #f3f0e8;
    color: var(--navy);
    font-size: 14px;
  }
  .drawer-close:hover {
    background: var(--navy);
    border-color: var(--navy);
    color: #fff;
  }
  html.has-public-js .navigation-bar #main-navigation .drawer-label {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 20px 18px 9px;
    font: 600 11px/1.4 var(--sans);
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--navy);
  }
  .drawer-label__note {
    max-width: 58%;
    overflow: hidden;
    font-size: 9px;
    letter-spacing: .12em;
    color: #ab9c78;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  /* Drawer rows */
  html.has-public-js .navigation-bar #main-navigation > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 56px;
    padding: 15px 18px;
    border-bottom: 1px solid #efeade;
    background: none;
    color: var(--navy);
    font-size: 15px;
    font-weight: 600;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  html.has-public-js .navigation-bar #main-navigation > a::after {
    content: '→';
    position: static;
    display: block;
    width: auto;
    height: auto;
    background: none;
    transform: none;
    color: #bda978;
    font-size: 15px;
    transition: transform var(--duration) var(--ease), color var(--duration);
  }
  html.has-public-js .navigation-bar #main-navigation > a:hover,
html.has-public-js .navigation-bar #main-navigation > a[aria-current] {
    background: #faf7ef;
    color: var(--gold);
  }
  html.has-public-js .navigation-bar #main-navigation > a:hover::after {
    transform: translateX(4px);
    color: var(--gold);
  }
  /* Disclosure rows */
  html.has-public-js .navigation-bar #main-navigation > .nav-dropdown {
    border-bottom: 1px solid #efeade;
  }
  html.has-public-js .navigation-bar #main-navigation > .nav-dropdown > summary {
    min-height: 56px;
    padding: 15px 18px;
    border-bottom: 0;
    background: none;
    color: var(--navy);
    font-size: 15px;
    font-weight: 600;
  }
  html.has-public-js .navigation-bar #main-navigation > .nav-dropdown > summary > span {
    color: #bda978;
    font-size: 15px;
    transition: transform var(--duration) var(--ease);
  }
  html.has-public-js .navigation-bar #main-navigation > .nav-dropdown[open] > summary {
    background: #faf7ef;
    color: var(--gold);
  }
  html.has-public-js .navigation-bar #main-navigation > .nav-dropdown[open] > summary > span {
    transform: rotate(180deg);
  }
  html.has-public-js .navigation-bar #main-navigation .nav-submenu {
    margin: 0;
    padding: 4px 0 10px;
    border-top: 0;
    background: #f6f3ea;
    box-shadow: none;
  }
  html.has-public-js .navigation-bar #main-navigation .nav-submenu > a {
    min-height: 48px;
    padding: 12px 18px 12px 32px;
    border-bottom: 0;
    color: #41535f;
    font-size: 14px;
    font-weight: 500;
  }
  html.has-public-js .navigation-bar #main-navigation .nav-submenu > a:hover,
html.has-public-js .navigation-bar #main-navigation .nav-submenu > a:focus-visible {
    background: #efe9dc;
    color: var(--navy);
  }
  /* Account block,
moved into the drawer by the menu script */
  html.has-public-js .navigation-bar .header-actions {
    display: block;
    width: 100%;
    padding: 0 0 28px;
    grid-column: auto;
  }
  html.has-public-js .navigation-bar .header-utilities {
    display: block;
    gap: 0;
    padding: 0;
  }
  html.has-public-js .navigation-bar .header-utilities > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 52px;
    padding: 14px 18px;
    border-bottom: 1px solid #efeade;
    color: var(--navy);
    font-size: 14px;
    font-weight: 600;
  }
  html.has-public-js .navigation-bar .header-utilities > a:hover {
    background: #faf7ef;
    color: var(--gold);
  }
  html.has-public-js .navigation-bar .header-utilities .language-switch {
    display: flex;
    gap: 0;
    width: auto;
    margin: 16px 18px 0;
    padding: 4px;
    border: 1px solid #e6e0d3;
    border-radius: 999px;
    background: #f2eee4;
  }
  html.has-public-js .navigation-bar .header-utilities .language-switch > span { display: none }
  html.has-public-js .navigation-bar .header-utilities .language-switch button {
    flex: 1;
    min-height: 40px;
    padding: 8px;
    border: 0;
    border-radius: 999px;
    background: none;
    color: var(--navy);
    font-size: 13px;
    font-weight: 600;
  }
  html.has-public-js .navigation-bar .header-utilities .language-switch [aria-current] {
    background: #fff;
    color: var(--navy);
    box-shadow: 0 2px 6px rgba(16, 43, 70, .14);
  }
  html.has-public-js .navigation-bar .account-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 0 18px;
  }
  html.has-public-js .navigation-bar .account-links > a,
html.has-public-js .navigation-bar .account-links button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    padding: 13px 14px;
    border: 1px solid #e4ded1;
    border-radius: 12px;
    background: #fff;
    color: var(--navy);
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    white-space: normal;
  }
  html.has-public-js .navigation-bar .account-links form {
    grid-column: span 1;
    margin: 0;
  }
  html.has-public-js .navigation-bar .account-links > a:first-child {
    grid-column: 1/-1;
    border-color: transparent;
    background: linear-gradient(135deg, var(--navy), #1c4468);
    color: #fff;
    box-shadow: 0 14px 26px rgba(16, 43, 70, .24);
  }
  html.has-public-js .navigation-bar .account-links > a:first-child:hover {
    background: linear-gradient(135deg, #16375a, var(--forest));
    color: #fff;
  }
  /* Toggle in the navigation bar */
  html.has-public-js .navigation-bar .menu-toggle {
    gap: 14px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  /* Without JavaScript every link stays in the page,
unchanged. */
  html:not(.has-public-js) .drawer-head,
html:not(.has-public-js) .drawer-label { display: none }
}
/* ============================================================
   9. Leadership — the portrait runs the full width of its card
   ============================================================ */

.leadership-section {
  padding: clamp(28px, 3.4vw, 56px);
  border-top: 0;
  border-radius: 20px;
  box-shadow: var(--shadow-sm);
}
.leadership-section .leadership-grid {
  gap: clamp(22px, 2.6vw, 34px);
}
.leadership-section .leadership-card,
.leadership-section .leadership-card + .leadership-card {
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--hairline);
  border-radius: 16px;
  box-shadow: var(--shadow-sm);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.leadership-section .leadership-card img,
.leadership-section .portrait-placeholder {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  margin: 0;
  object-fit: cover;
  object-position: center 20%;
  filter: none;
  border: 0;
  border-bottom: 3px solid var(--gold);
  border-radius: 0;
  transition: transform .6s var(--ease);
}
.leadership-section .portrait-placeholder {
  display: flex;
}
.leadership-section .portrait-placeholder > span {
  font-size: clamp(60px, 6.5vw, 104px);
}
.leadership-section .portrait-placeholder small {
  font-size: 9px;
  letter-spacing: .16em;
}
.leadership-section .leadership-card > div {
  padding: 24px clamp(20px, 2vw, 30px) 28px;
}
.leadership-section .leadership-card .eyebrow { margin-bottom: 10px }
.leadership-section .leadership-card h3 { margin-bottom: 14px }
.leadership-section .leadership-card p:not(.eyebrow) {
  max-width: none;
  font-size: 15px;
  line-height: 1.75;
}
.leadership-section .leadership-card > div > a {
  display: inline-block;
  margin-top: 4px;
}
/* ============================================================
   10. Executive committee — the same swipe rail,
led by the office
   ============================================================ */

.executive-tile .member-tile__frame {
  aspect-ratio: 4/5;
  background: linear-gradient(160deg, #e9eef1, #dce5ea);
}
.executive-tile .member-tile__photo {
  object-position: center 14%;
}
/* A shorter,
softer scrim: enough to carry the office title,
not enough to
   dim the face. */
.executive-tile .member-tile__frame::after {
  height: 44%;
  background: linear-gradient(to top, rgba(7, 28, 45, .9), rgba(7, 28, 45, .12) 72%, transparent);
}
.executive-tile .member-tile__body { gap: 4px }
.executive-tile__label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #9aa4ac;
}
/* ============================================================
   11. Committee portraits read clearly on the governance pages
   ============================================================ */

.committee-person__photo {
  aspect-ratio: 4/4.9;
  background: linear-gradient(160deg, #f1f4f6, #e5ecef);
}
.committee-person__photo img {
  object-position: center 14%;
}
/* The old wash darkened the whole portrait; keep only a hairline of
   separation above the gold accent. */
.committee-person__photo::after {
  background: linear-gradient(to bottom, transparent 86%, rgba(7, 20, 38, .06));
}
.committee-monogram {
  font-size: clamp(58px, 6vw, 84px);
}
/* ============================================================
   12. Motion and responsive for the sections above
   ============================================================ */

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .leadership-section .leadership-card:hover {
    transform: translateY(-5px);
    border-color: #ddd0af;
    box-shadow: var(--shadow-md);
  }

  .leadership-section .leadership-card:hover img {
    transform: scale(1.04);
  }
}
@media (prefers-reduced-motion:reduce) {
  .leadership-section .leadership-card,
.leadership-section .leadership-card img {
    transition: none;
  }
}
@media (max-width:700px) {
  .leadership-section { padding: 24px 18px; border-radius: 16px }
  .leadership-section .leadership-card > div { padding: 20px 18px 24px }
}
@media (max-width:650px) {
  .committee-person { grid-template-columns: 148px minmax(0, 1fr) }
  .committee-person__photo { width: 148px }
  .committee-person__photo img { min-height: 196px }
  .committee-monogram { min-height: 196px; font-size: 52px }
}
@media (max-width:380px) {
  .committee-person { grid-template-columns: 122px minmax(0, 1fr) }
  .committee-person__photo { width: 122px }
}
@media print {
  .leadership-section .leadership-card { box-shadow: none; break-inside: avoid }
}
/* User-controlled pause for the existing autoplay carousel. */
.hero-pause {min-height:32px;padding:5px 8px;border:1px solid #ffffff40;border-radius:3px;background:transparent;color:white;font-size:11px;white-space:nowrap}
.hero-pause:hover {background:#ffffff18;border-color:#ffffff80}
@media(max-width:400px) {
  .hero-dots {gap:6px;padding:8px 10px}
  .hero-dot {width:18px}
  .hero-dot[aria-current='true'] {width:28px}
  .hero-pause {font-size:10px}
}


/* ==========================================================================
   Site footer
   (was footer.css)
   ========================================================================== */

.site-footer{background:linear-gradient(120deg,#0d2b3c,#09242c);border-top:3px solid #b69b63;padding:58px 0 0;color:#c7d3d8}
.footer-main{display:grid;grid-template-columns:1.25fr 1fr 1fr .9fr;gap:40px;padding-bottom:42px}
.footer-main>*{min-width:0}.footer-main h2{font-family:inherit;color:#dac492;font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:0 0 24px}
.footer-identity{display:flex;align-items:center;gap:16px;text-decoration:none;color:#fff}
.footer-identity img{width:64px;height:76px;object-fit:contain;flex-shrink:0}.footer-identity>span:last-child{font-size:23px;line-height:1.3;font-weight:600;color:#fff}.footer-identity>span:last-child small{display:block;font-size:13px;color:#c1cbd0;font-weight:400;margin-top:9px;line-height:1.6}
.footer-monogram{display:flex;flex-direction:column;align-items:center;justify-content:center;width:58px;height:72px;flex-shrink:0;border:1px solid #d8bf88;outline:1px solid #b2986044;outline-offset:4px;font:32px Georgia,serif;color:#e3ce9e}.footer-monogram small{font:10px Arial,sans-serif;letter-spacing:.2em;margin-top:4px}
.footer-description{font-size:14px;line-height:1.9;margin:24px 0;max-width:320px;color:#b5c6ce}
.site-footer .footer-contact-link{display:inline-flex;align-items:center;gap:26px;min-height:44px;border-bottom:1px solid #a28b5b;color:#eddbb4;font-size:13px;text-decoration:none}
.footer-office dl{margin:0}.footer-office dl>div{margin-bottom:17px}.footer-office dt{font-size:11px;color:#91a8b4;letter-spacing:.03em;margin-bottom:5px}.footer-office dd{margin:0;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.footer-office address{font-style:normal}.footer-office a{color:#e0e8eb;text-decoration:none}.footer-main nav a{display:block;color:#c7d3d8;font-size:13px;line-height:1.6;padding:7px 0;text-decoration:none;overflow-wrap:anywhere}.footer-navigation{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:0 16px}.footer-navigation h2{grid-column:1/-1}.footer-social{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px;font-size:12px}.footer-main a:hover{color:#efd298;text-decoration:underline}.footer-main a:focus-visible,.footer-bottom a:focus-visible{outline:2px solid #e0c38d;outline-offset:4px}
.site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0;padding:22px 0;border-top:1px solid #ffffff20;font-size:12px}.footer-bottom p{margin:0;line-height:1.8}.footer-credit{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.codehub-credit{font-size:15px;color:#fff;font-weight:700;text-decoration:none;white-space:nowrap}.codehub-credit span{color:#e0c38d}.footer-map{font-size:13px}
@media(max-width:1050px){.footer-main{grid-template-columns:1fr 1fr;gap:38px 48px}}
@media(max-width:600px){.site-footer{padding-top:38px}.footer-main{grid-template-columns:1fr;gap:30px;padding-bottom:30px}.footer-brand{padding-bottom:28px;border-bottom:1px solid #ffffff18}.footer-identity>span:last-child{font-size:22px}.footer-main h2{margin-bottom:16px}.footer-main nav a{min-height:44px;padding-block:11px}.footer-services{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.footer-services h2{grid-column:1/-1}.site-footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;padding-block:22px}.footer-description{max-width:none}}
@media print{.site-footer{display:none}}


/* ==========================================================================
   Homepage editorial treatment (was home-only)
   (was home-editorial.css)
   ========================================================================== */

/* Homepage-only editorial finish. */
.view-home{background:#faf8f3}
.view-home .home-section{margin-block:76px;padding-top:0;border-top:0}
.view-home .home-section h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.025em}
.view-home .section-heading{align-items:end;padding-bottom:24px;border-bottom:1px solid #dcd6c7;margin-bottom:30px}
.view-home .section-heading> a{font-size:13px;min-height:44px;display:flex;align-items:center}
.view-home .hero-copy h1,.view-home .hero-copy h2{max-width:880px;font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;font-size:clamp(38px,4.7vw,68px);letter-spacing:-.035em}
.view-home .institution-hero{min-height:600px}
.view-home .hero-description{max-width:500px;line-height:1.8}
.view-home .statistics-grid{position:relative;background:white;border:1px solid #e5dece;border-bottom:3px solid #b89a59;box-shadow:0 16px 45px #102b4610;border-radius:0;padding:22px 12px;margin-top:28px;gap:0}
.view-home .stat-card{background:transparent;border:0;border-right:1px solid #e9e3d7;box-shadow:none;border-radius:0;padding:18px 20px}
.view-home .stat-card:last-child{border-right:0}
.view-home .stat-card strong{font-family:Georgia,serif;font-weight:400;font-size:42px;color:#173647}
.view-home .directory-band{background:#102f40;border:0;border-radius:8px;box-shadow:none;padding:32px 38px;margin-top:26px}
.view-home .directory-band h2,.view-home .directory-band label{color:#fff}
.view-home .directory-band .eyebrow{color:#dcc28b}
.view-home .services-section .institution-grid{gap:22px;margin-top:30px}
.view-home .services-section article{position:relative;padding:30px;border:1px solid #e1daca;border-radius:6px;background:#fff;box-shadow:0 8px 24px #102b4605}
.view-home .services-section h3{font-size:24px}
.view-home .services-section article p{line-height:1.8;color:#62717a}
.view-home .featured-members{padding:38px;background:#efece3;border:1px solid #e0d8c7;border-radius:8px}
.view-home .member-tile{background:#fff;border:1px solid #e1dacd;border-radius:5px;box-shadow:none}
.view-home .member-tile__frame{background:radial-gradient(ellipse at 50% 30%,#fffaf0,#e7e0d1);border-bottom:3px solid #b39862}
.view-home .member-tile__monogram{color:#8d784e;font-family:Georgia,serif;font-weight:400;font-size:76px}
.view-home .member-tile__pending{position:absolute;top:65%;left:8px;right:8px;text-align:center;font-size:10px;color:#fff;text-shadow:0 1px 3px #102b46;z-index:2}
.view-home .member-tile__body{padding:20px 16px}
.view-home .member-tile__body h3{font-size:18px;line-height:1.4}
.view-home .leadership-section{padding:38px;background:#fff;border:1px solid #e6dfd1;border-radius:8px;box-shadow:none}
.view-home .leadership-section .leadership-card{border-radius:4px;box-shadow:none;background:#faf8f3}
.view-home .leadership-section .leadership-card img,.view-home .leadership-section .portrait-placeholder{aspect-ratio:16/9;object-position:center 22%}
.view-home .rba-card{border-radius:6px;box-shadow:0 8px 24px #102b4606;border-color:#e4ddce}
.view-home .rba-card__crest{background:linear-gradient(135deg,#193c4c,#0e2635);color:#d6be87}
.view-home .rba-card__crest>span{font-family:Georgia,serif;font-weight:400}
.view-home .rba-grid--notices{grid-template-columns:repeat(2,minmax(0,1fr))}
.view-home .rba-grid--notices .rba-card{display:grid;grid-template-columns:130px minmax(0,1fr)}
.view-home .rba-grid--notices .rba-card__media{height:100%;min-height:210px;aspect-ratio:auto}
.view-home .rba-grid--notices .rba-card__body{padding:24px}
.view-home .download-section{border-radius:8px;background:#102f40;padding:38px}
.view-home .download-section .section-heading{border-color:#ffffff25}
.view-home .download-tile{border-radius:4px}
.view-home .executive-section--single{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:36px;background:#fff;border:1px solid #e4ddce;border-left:4px solid #b39862}
.view-home .executive-section--single .section-heading{display:block;border:0;margin:0}
.view-home .executive-section--single .member-rail__track{display:block;padding:0}
.view-home .executive-section--single .executive-tile{display:grid;grid-template-columns:145px minmax(0,1fr);width:100%;align-items:center}
.view-home .executive-section--single .member-tile__body{padding:22px}
.home-welcome{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:40px;background:#eee8db;border-top:3px solid #b39862;padding:44px;margin:72px 0 30px;border-radius:4px}
.home-welcome h2{font-size:36px}.home-welcome p{line-height:1.8;max-width:600px}.home-welcome__actions{display:flex;flex-direction:column;align-items:start;gap:20px}.home-welcome__actions>a:last-child{padding:8px 0}
@media(max-width:900px){.view-home .home-section{margin-block:50px}.view-home .rba-grid--notices .rba-card{display:block}.view-home .rba-grid--notices .rba-card__media{height:150px;min-height:0}.view-home .executive-section--single{grid-template-columns:1fr}.view-home .featured-members,.view-home .leadership-section,.view-home .download-section{padding:26px}.home-welcome{grid-template-columns:1fr;padding:30px}}
@media(max-width:600px){.view-home .institution-hero{min-height:540px}.view-home .hero-copy h1,.view-home .hero-copy h2{font-size:38px}.view-home .statistics-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.view-home .stat-card{padding:16px;border-bottom:1px solid #e9e3d7}.view-home .stat-card strong{font-size:34px}.view-home .directory-band{padding:24px}.view-home .rba-grid--notices{grid-template-columns:1fr}.view-home .rba-grid--notices .rba-card{display:grid;grid-template-columns:90px minmax(0,1fr)}.view-home .rba-grid--notices .rba-card__media{height:100%;min-height:190px}.view-home .rba-grid--notices .rba-card__body{padding:18px}.view-home .featured-members,.view-home .leadership-section,.view-home .download-section{padding:20px 16px}.view-home .member-tile__body{padding:14px 10px}.view-home .member-tile__body h3{font-size:16px}.view-home .member-tile__pending{font-size:9px}.view-home .executive-section--single{padding:24px 18px}.view-home .executive-section--single .executive-tile{grid-template-columns:110px minmax(0,1fr)}.view-home .executive-section--single .member-tile__body{padding:14px}.home-welcome{padding:26px 22px}.home-welcome h2{font-size:29px}}

/* Announcement ribbon: continuous text, stationary action, CSS-only pause. */
.home-announcement{position:relative;display:flex;align-items:center;gap:0;margin:24px 0 0;border:1px solid #dfd3b9;border-radius:6px;background:#fffdf7;box-shadow:0 5px 18px #102b4608;overflow:hidden;min-height:66px}
.announcement-label{align-self:stretch;display:flex;align-items:center;gap:10px;padding:16px 22px;background:#123447;color:#f5e4bc;font-size:12px;font-weight:700;letter-spacing:.04em;white-space:nowrap;border-right:3px solid #ba9854}
.announcement-label>span{font-size:22px;color:#dfbd74}
.announcement-window{flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent)}
.announcement-track{display:flex;width:max-content;animation:announcement-scroll 28s linear infinite}
.announcement-track p{flex:none;white-space:nowrap;margin:0;padding:12px 36px;color:#6f251e;font-weight:600;font-size:16px;line-height:1.7}
.announcement-link{display:flex;align-items:center;justify-content:center;gap:14px;flex-shrink:0;margin:10px 12px;padding:12px 18px;min-height:44px;background:#ac3028;color:#fff;border-radius:4px;font-size:13px;font-weight:700;text-decoration:none}
.announcement-link:hover{background:#86251f;color:white}
.announcement-toggle{position:absolute;opacity:0;width:1px;height:1px}
.announcement-pause{order:3;display:flex;align-items:center;gap:6px;padding:12px;margin-right:10px;min-height:44px;color:#52616b;cursor:pointer;font-size:11px;border:1px solid transparent;border-radius:4px}
.announcement-pause>span:first-child{font-size:15px}
.announcement-toggle:focus-visible + .announcement-pause{outline:2px solid #ac3028;outline-offset:-2px}
.announcement-toggle:checked + .announcement-pause{background:#e8e2d4;border-color:#c5b78e;color:#102f40}
.home-announcement:hover .announcement-track,.home-announcement:focus-within .announcement-track,.announcement-toggle:checked ~ .announcement-window .announcement-track{animation-play-state:paused}
@keyframes announcement-scroll{to{transform:translateX(-50%)}}
@media(max-width:700px){.home-announcement{flex-wrap:wrap;margin-top:18px}.announcement-label{padding:12px 16px;font-size:11px;min-height:46px}.announcement-window{flex-basis:100%;order:2;border-top:1px solid #e9dfcb}.announcement-track p{font-size:14px;padding:14px 24px}.announcement-link{margin:7px 10px 7px auto;padding:9px 12px;font-size:12px}.announcement-pause{order:1;margin-right:4px;padding:8px;min-height:44px}.announcement-pause>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}
@media(prefers-reduced-motion:reduce){.announcement-track{animation:none;width:auto}.announcement-track p{white-space:normal;flex:1}.announcement-track p[aria-hidden]{display:none}.announcement-window{mask-image:none}.announcement-toggle,.announcement-pause{display:none}}
@media print{.announcement-track{animation:none;width:auto}.announcement-track p{white-space:normal}.announcement-track p[aria-hidden],.announcement-pause,.announcement-toggle{display:none}.announcement-window{mask-image:none}}

/* Denser homepage rhythm and a complete, visible executive roster. */
.view-home .home-section{margin-block:42px}
.view-home .section-heading{margin-bottom:22px;padding-bottom:16px}
.view-home .services-section .institution-grid{margin-top:22px}
.view-home .services-section article{padding:24px}
.view-home .executive-showcase{padding:30px;background:#f0ece2;border:1px solid #ded5c2;border-top:3px solid #ad8d4b;border-radius:6px}
.executive-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;padding:0}
.view-home .executive-grid .executive-tile{min-width:0;overflow:hidden;position:relative;background:#fff;border:1px solid #ddd5c5;border-radius:5px}
.view-home .executive-grid .member-tile__frame{aspect-ratio:5/4;border-bottom:2px solid #b79b63;background:radial-gradient(ellipse at 50% 30%,#fffdf7,#e4ddcc)}
.view-home .executive-grid .member-tile__frame::after{display:none}
.view-home .executive-grid .member-tile__photo{object-position:center 18%}
.view-home .executive-grid .member-tile__monogram{font-size:68px;color:#8c784e}
.view-home .executive-grid .member-tile__body{padding:18px}
.executive-office{font-size:11px;font-weight:700;letter-spacing:.04em;color:#8a682c;line-height:1.5;margin:0 0 8px;overflow-wrap:anywhere}
.view-home .executive-grid h3{font-size:19px;line-height:1.35;margin:0 0 8px}
.view-home .executive-grid .member-tile__district{font-size:10px;line-height:1.7;overflow-wrap:anywhere;margin:0}
.view-home .leadership-section,.view-home .featured-members,.view-home .download-section{padding:28px}
.view-home .leadership-section .leadership-card{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:start}
.view-home .leadership-section .leadership-card img,.view-home .leadership-section .portrait-placeholder{width:130px;aspect-ratio:3/4;border-bottom:2px solid #b39862}
.view-home .leadership-section .leadership-card>div:not(.portrait-placeholder){padding:22px}
.view-home .leadership-section .leadership-card p:not(.eyebrow){font-size:14px;line-height:1.75}
.view-home .leadership-section .leadership-card h3{font-size:23px;margin-bottom:12px}
.view-home .home-welcome{margin:42px 0 0;padding:32px}
.view-home main{padding-bottom:42px}
@media(max-width:1050px){.executive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.view-home .leadership-section .leadership-card{grid-template-columns:90px minmax(0,1fr)}.view-home .leadership-section .leadership-card img,.view-home .leadership-section .portrait-placeholder{width:90px}}
@media(max-width:700px){.view-home .home-section{margin-block:30px}.view-home .executive-showcase,.view-home .leadership-section,.view-home .featured-members,.view-home .download-section{padding:20px 16px}.executive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.view-home .executive-grid .member-tile__body{padding:13px 10px}.view-home .executive-grid h3{font-size:16px}.executive-office{font-size:10px;letter-spacing:0}.view-home .executive-grid .member-tile__district{font-size:9px}.view-home .leadership-section .leadership-card>div:not(.portrait-placeholder){padding:16px}.view-home .home-welcome{margin-top:30px;padding:24px}.view-home main{padding-bottom:30px}}

.view-home .executive-grid .member-tile__monogram{opacity:1}
.view-home .leadership-section .portrait-placeholder small{font-size:7px;letter-spacing:.04em;overflow-wrap:anywhere;text-align:center}

/* ==========================================================================
   Flash messages
   ========================================================================== */
.site-flashes {margin: 0 0 clamp(24px, 3vw, 40px)}
.site-flash {
  display: flex; align-items: flex-start; gap: 12px;
  margin: 0 0 10px; padding: 16px 20px;
  border: 1px solid var(--hairline); border-left: 3px solid var(--forest);
  border-radius: 12px; background: #f1f6f2;
  color: #1f3d34; font-size: 15px; line-height: 1.6;
}
.site-flash::before {content: '\2713'; font-weight: 700; color: var(--forest)}
.site-flash--warning {border-left-color: var(--gold); background: #f9f3e6; color: #6d4f16}
.site-flash--warning::before {content: '!'; color: var(--gold)}
.site-flash--error {border-left-color: #9c4a43; background: #fbf0ef; color: #7d3a34}
.site-flash--error::before {content: '!'; color: #9c4a43}

/* Editorial, committee and election pages: compact institutional polish. */
.archive-page {padding-bottom:clamp(36px,5vw,68px)}
.archive-page .inner-heading {margin-bottom:30px}
.archive-page .archive-filter {gap:14px 18px;padding:20px 22px;background:#f6f4ee;border:1px solid #e7e1d4;border-left:3px solid #ad8d4b;border-radius:3px}
.archive-page .archive-filter button {min-height:44px}
.archive-page .archive-filter>a {display:inline-flex;align-items:center;min-height:44px;padding:0 8px}
.archive-page .result-count {margin:26px 0 18px;color:#69757b;font-size:12px;letter-spacing:.045em}
.archive-page .editorial-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.archive-page .editorial-card {display:flex;flex-direction:column;padding:0;overflow:hidden;border:1px solid #e6e0d4;border-radius:5px;background:#fff;box-shadow:0 8px 25px #102b4608;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.archive-page .editorial-card:hover {transform:translateY(-3px);border-color:#c9b98e;box-shadow:0 15px 34px #102b4612}
.archive-page .editorial-card-media {display:block;overflow:hidden;background:#e9e5db;aspect-ratio:3/2}
.archive-page .editorial-cover {height:100%;object-fit:cover}
.archive-page .editorial-card-body {display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:21px 22px 22px}
.archive-page .editorial-card .metadata {color:#817149;font-size:10px;letter-spacing:.07em;line-height:1.6;text-transform:uppercase}
.archive-page .editorial-card h2 {font-size:clamp(21px,2vw,26px);line-height:1.32;margin:2px 0 10px}
.archive-page .editorial-card h2 a {color:#173647}
.archive-page .editorial-card h2 a:hover {color:#80612c}
.archive-page .editorial-card-body>p:not(.metadata) {font-size:14px;line-height:1.7;margin:0 0 15px}
.archive-page .editorial-card-body>a:last-child {margin-top:auto;padding-top:12px;color:#765b2d;font-size:12px;font-weight:700;letter-spacing:.02em;border:0}
.archive-page .editorial-card-body>a:last-child span {display:inline-block;transition:transform .2s ease}
.archive-page .editorial-card-body>a:last-child:hover span {transform:translateX(4px)}
.archive-page--events .editorial-event-meta {display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 14px!important;color:#4c6069!important;font-size:12px!important}
.archive-page--events .editorial-event-meta span+span {padding-left:13px;border-left:1px solid #ded8c9}
.archive-page--gallery .editorial-card {border-bottom:1px solid #e6e0d4}
.archive-page--downloads .document-list {border-top:1px solid #ddd5c5}
.archive-page--downloads .notice-row {grid-template-columns:66px minmax(0,1fr) 24px;gap:22px;align-items:center;padding:22px 16px;border-color:#e8e2d7}
.archive-page--downloads .notice-row:nth-child(even) {background:#fbfaf7}
.archive-page--downloads .notice-row:hover {padding-inline:22px;background:#f3f0e8}
.archive-page--downloads .notice-date strong {font-size:31px}
.archive-page--downloads .notice-row h2 {font-size:22px}
.archive-page--downloads .file-kind {display:inline-flex;margin-left:10px;padding:3px 7px;border:1px solid #ded4bd;border-radius:2px;color:#6f592f;font-size:9px;letter-spacing:.06em}
.archive-page--downloads .download-action {display:inline-flex;align-items:center;gap:8px;margin-top:4px;color:#765b2d;font-size:12px;font-weight:700;text-decoration:none}
.archive-page--downloads .download-action:hover {text-decoration:underline}
.archive-page--downloads .notice-arrow {font-size:19px}
.archive-page--notices .notice-row {padding-block:25px}
.archive-page--notices .notice-row h2 {font-size:25px}
.term-navigation {gap:8px;padding:0 0 20px;border-bottom:1px solid #ded8ca}
.term-navigation a {display:inline-flex;align-items:center;min-height:40px;padding:0 15px;border:1px solid transparent;border-radius:3px;color:#53636b;text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease}
.term-navigation a:hover {background:#f5f2ea;color:#173647}
.term-navigation [aria-current] {border-color:#e4dcc9;background:#f5f2ea;color:#173647;font-weight:700}
.committee-overview-section {padding:28px 0 34px;border-bottom:1px solid #e4dfd4}
.committee-overview-section>.section-heading {align-items:center;padding:18px 22px;margin-bottom:0;border:1px solid #e7e1d5;border-bottom:0;background:#f8f6f0}
.committee-overview-section .section-heading h2 {margin:0;font-size:clamp(22px,2.5vw,29px)}
.committee-overview-section .section-heading> a {display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;color:#70572d;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.committee-overview-section .section-heading> a:hover {background:#eee9dd}
.committee-overview-section .committee-grid {margin:0;padding:22px;background:#fff;border:1px solid #e7e1d5;border-top:0;gap:16px}
.committee-overview-section .committee-person {padding:16px;border:1px solid #eae5da;background:#fff;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.committee-overview-section .committee-person:hover {transform:translateY(-2px);border-color:#cbb98c;box-shadow:0 8px 22px #102b460c}
.committee-overview-section .committee-person h3 {font-size:18px;line-height:1.35}
.committee-overview-section .committee-person .eyebrow {color:#80612c;font-size:10px}
.site-committees .inner-heading,.site-elections>.inner-heading {margin-bottom:30px}
.site-elections .breadcrumbs {margin-bottom:18px;color:#788187;font-size:12px}
.election-register {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.election-register article {display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:24px;border:1px solid #e5dfd3;border-top:2px solid #ad8d4b;border-radius:4px;background:#fff;box-shadow:0 8px 24px #102b4608;transition:transform .2s ease,box-shadow .2s ease}
.election-register article:hover {transform:translateY(-2px);box-shadow:0 14px 30px #102b4610}
.election-register article .metadata {display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 13px;color:#80612c;font-size:10px;letter-spacing:.07em;text-transform:uppercase}
.election-register h2 {margin:0 0 8px;font-size:25px;line-height:1.3}
.election-register h2 a,.institution-register h3 a {color:#173647;text-decoration:none}
.election-register h2 a:hover,.institution-register h3 a:hover {color:#80612c}
.election-register article>p:not(.metadata) {color:#66747b;font-size:14px;line-height:1.7}
.election-status {padding:4px 8px;border-radius:2px;background:#f0eee7;color:#53636b;letter-spacing:.03em}
.election-status--published,.election-status--completed {background:#eaf1ec;color:#3d694e}
.election-status--draft {background:#f3efe5;color:#80612c}
.election-date {margin-bottom:10px;color:#80612c!important;font-size:12px!important;font-weight:700;letter-spacing:.035em}
.election-card-link {display:inline-flex;align-items:center;gap:8px;min-height:40px;margin-top:auto;padding-top:10px;color:#765b2d;font-size:12px;font-weight:700;text-decoration:none}
.election-card-link:hover {text-decoration:underline}
.election-sections {gap:6px;margin-bottom:30px;padding:10px;border:1px solid #e6e0d4;border-radius:4px;background:#f8f6f0}
.election-sections a {display:inline-flex;align-items:center;min-height:40px;padding:0 13px;border:1px solid transparent;border-radius:3px;color:#52616a;font-size:12px;text-decoration:none}
.election-sections a:hover {background:#fff;color:#173647}
.election-sections a[aria-current] {border-color:#e2dac6;background:#fff;color:#173647;font-weight:700;box-shadow:0 2px 8px #102b4608}
.site-elections .editorial-summary {font-size:23px}
.site-elections .editorial-body {max-width:900px;font-size:17px;line-height:1.85}
.site-elections .governance-section {padding:22px;background:#faf9f5;border:1px solid #e7e1d5;border-radius:4px}
.site-elections .governance-section .section-heading {align-items:center;padding-bottom:14px;border-bottom:1px solid #e6e0d4}
.site-elections .governance-section .section-heading h2 {margin:0;font-size:24px}
.site-elections .institution-register:not(.election-register) article {padding:18px 0}
.site-elections .institution-register h3 {font-size:18px}
.site-elections .voter-search {border:1px solid #e7e1d5;border-top:2px solid #ad8d4b;border-radius:4px;background:#f8f6f0}
.site-elections .governance-table-wrap {overflow:auto;border:1px solid #e5dfd3;border-radius:3px}
.site-elections .governance-table {width:100%;border-collapse:collapse;background:#fff}
.site-elections .governance-table th {background:#f4f1e9;color:#475a63;text-align:left;font-size:12px}
.site-elections .governance-table td {font-size:14px}
.archive-page a:focus-visible,.term-navigation a:focus-visible,.election-sections a:focus-visible,.election-register a:focus-visible {outline:2px solid #a78648;outline-offset:3px}
@media(max-width:1000px) {.archive-page .editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.committee-overview-section .committee-grid{padding:16px}}
@media(max-width:700px) {.archive-page .editorial-grid,.election-register{grid-template-columns:1fr}.archive-page .inner-heading{margin-bottom:22px}.archive-page .editorial-card-body{padding:18px}.archive-page .editorial-card h2{font-size:22px}.archive-page--downloads .notice-row{grid-template-columns:48px minmax(0,1fr) 16px;gap:13px;padding-inline:8px}.archive-page--downloads .notice-row h2{font-size:19px}.archive-page--downloads .notice-row:hover{padding-inline:8px}.archive-page--downloads .notice-date strong{font-size:27px}.committee-overview-section>.section-heading{align-items:flex-start;gap:4px;padding:15px;flex-direction:column}.committee-overview-section .committee-grid{padding:12px}.term-navigation{gap:4px}.term-navigation a{padding-inline:11px;font-size:12px}.election-register article{padding:20px}.election-sections{gap:3px;padding:7px}.election-sections a{padding-inline:10px;font-size:11px}.site-elections .governance-section{padding:17px}.site-elections .governance-section .section-heading{align-items:flex-start;gap:8px;flex-direction:column}}
@media(prefers-reduced-motion:reduce) {.archive-page .editorial-card,.committee-overview-section .committee-person,.election-register article{transition:none}}

/* Compact committee profiles and a more deliberate news-card system. */
.site-committees .committee-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}
.site-committees .committee-overview-section .committee-grid {margin-top:0}
.site-committees .committee-person {display:grid;grid-template-columns:116px minmax(0,1fr);min-height:168px;padding:0;border:1px solid #e4ded1;border-radius:4px;background:#fff;box-shadow:0 3px 13px #102b4608;overflow:hidden}
.site-committees .committee-person::before {width:3px;height:100%;background:#b69a64}
.site-committees .committee-person__photo {width:116px;height:100%;min-height:168px;aspect-ratio:auto;background:#eee9dd}
.site-committees .committee-person__photo img {width:100%;height:100%;min-height:168px;object-fit:cover;object-position:center 16%}
.site-committees .committee-person__photo::after {background:linear-gradient(to bottom,transparent 80%,#102b4612)}
.site-committees .committee-person__photo-accent {display:none}
.site-committees .committee-monogram {width:100%;height:100%;min-height:168px;background:linear-gradient(145deg,#f5f1e7,#e9e1d0);color:#907649;font-family:Georgia,serif;font-size:55px;font-weight:400}
.site-committees .committee-person__content {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;padding:18px 20px}
.site-committees .committee-person__role {gap:0;margin-bottom:6px}
.site-committees .committee-person__role>span {display:none}
.site-committees .committee-person .eyebrow {font-size:10px;letter-spacing:.07em;line-height:1.45;color:#8a6d3e;overflow-wrap:anywhere}
.site-committees .committee-person h3 {margin:0 0 9px;color:#173647;font-family:var(--sans);font-size:clamp(17px,1.6vw,21px);font-weight:650;line-height:1.35;letter-spacing:-.01em;overflow-wrap:anywhere}
.site-committees .committee-person__meta {flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:4px 7px;padding:0;border:0}
.site-committees .committee-person__meta-label {font-size:10px;letter-spacing:.03em;text-transform:none}
.site-committees .committee-person .metadata {font-size:11px;color:#65737b}
.site-committees .committee-person__link {gap:7px;margin-top:11px;padding-top:7px;color:#72572d;font-size:10px;letter-spacing:.04em}
.site-committees .committee-person__link span:first-child {color:inherit;font-size:inherit}
.site-committees .committee-person__link .committee-person__arrow {color:#a78342;font-size:15px}
.site-committees .committee-person__biography {margin-top:12px;color:#66747b;font-size:13px;line-height:1.6}
.site-committees .committee-person__term {margin-top:12px;color:#66747b;font-size:12px}
.site-committees .committee-person__term p {margin:2px 0 0;font-size:12px}
.site-committees .committee-grid__empty {grid-column:1/-1}
.archive-page--news .editorial-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.archive-page--news .editorial-card {display:grid;grid-template-columns:42% minmax(0,1fr);min-height:218px;border-color:#e5dfd2;border-radius:4px;box-shadow:0 4px 17px #102b4608}
.archive-page--news .editorial-card-media {height:100%;min-height:218px;aspect-ratio:auto}
.archive-page--news .editorial-cover {width:100%;height:100%;object-fit:cover}
.archive-page--news .editorial-card-media--placeholder {display:grid;place-items:center;background:linear-gradient(145deg,#143748,#0d2736);color:#d6bb82}
.archive-page--news .editorial-card-media--placeholder span {font:400 80px/1 Georgia,serif;opacity:.85}
.archive-page--news .editorial-card-body {min-width:0;padding:19px 20px}
.archive-page--news .editorial-card h2 {font-size:clamp(19px,1.6vw,24px);line-height:1.35}
.archive-page--news .editorial-card-body>p:not(.metadata) {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:13px;line-height:1.65}
.archive-page--news .editorial-card .metadata {margin-bottom:8px}
.archive-page--news .editorial-card-body>a:last-child {padding-top:5px}
.view-home .rba-grid--news .rba-card {border:1px solid #e3dccf;border-radius:4px;box-shadow:0 4px 17px #102b4608;overflow:hidden}
.view-home .rba-grid--news .rba-card__media {background:#153746}
.view-home .rba-grid--news .rba-card__body {padding:19px 21px 21px}
.view-home .rba-grid--news .rba-card h3 {font-size:clamp(19px,1.9vw,25px);line-height:1.35}
.view-home .rba-grid--news .rba-card__summary {font-size:13px;line-height:1.7}
@media(max-width:1000px) {.archive-page--news .editorial-grid{grid-template-columns:1fr}.archive-page--news .editorial-card{grid-template-columns:34% minmax(0,1fr)}}
@media(max-width:760px) {.site-committees .committee-grid{grid-template-columns:1fr}.archive-page--news .editorial-card{grid-template-columns:38% minmax(0,1fr)}}
@media(max-width:480px) {.site-committees .committee-person{grid-template-columns:96px minmax(0,1fr)}.site-committees .committee-person__photo{width:96px}.site-committees .committee-person__content{padding:14px}.site-committees .committee-person h3{font-size:17px}.site-committees .committee-person__meta-label{display:inline}.archive-page--news .editorial-card{grid-template-columns:1fr}.archive-page--news .editorial-card-media{height:auto;min-height:0;aspect-ratio:16/9}.archive-page--news .editorial-card-media--placeholder span{font-size:64px}}
@media print {.site-committees .committee-person,.archive-page--news .editorial-card{box-shadow:none;break-inside:avoid}}

/* Notices and downloads are compact resource cards; events lead with the date. */
.archive-page--notices .document-list,.archive-page--downloads .document-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border:0}
.archive-page--notices .notice-row,.archive-page--downloads .notice-row {display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:17px;min-width:0;min-height:190px;margin:0;padding:20px;border:1px solid #e4ded2;border-top:2px solid #b89a61;border-radius:4px;background:#fff;box-shadow:0 4px 16px #102b4608;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.archive-page--notices .notice-row:hover,.archive-page--downloads .notice-row:hover {padding:20px;transform:translateY(-2px);border-color:#c9b98e;box-shadow:0 10px 24px #102b4610}
.archive-page--notices .notice-row.is-pinned::before,.archive-page--downloads .notice-row.is-pinned::before {top:-2px;left:-1px;width:4px;height:calc(100% + 3px);background:#a27c3c}
.archive-page--notices .notice-date {display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:66px;padding:7px 3px;border:1px solid #e7dec9;border-radius:3px;background:#f8f5ed;color:#6f5b37;line-height:1.3;text-align:center}
.archive-page--notices .notice-date strong {margin:0;color:#173647;font-size:31px;line-height:1.1}
.archive-page--notices .notice-date span {font-size:10px;text-transform:uppercase;white-space:nowrap}
.archive-page--notices .notice-row__body,.archive-page--downloads .notice-row__body {display:flex;flex-direction:column;align-items:flex-start;min-width:0;height:100%}
.archive-page--notices .notice-row .metadata,.archive-page--downloads .notice-row .metadata {display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;margin:0 0 9px;color:#82683d;font-size:10px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase}
.archive-page--notices .notice-row h2,.archive-page--downloads .notice-row h2 {margin:0 0 9px;font-size:clamp(18px,1.7vw,22px);line-height:1.35;overflow-wrap:anywhere}
.archive-page--notices .notice-row h2 a,.archive-page--downloads .notice-row h2 a {color:#173647}
.archive-page--notices .notice-row h2 a:hover,.archive-page--downloads .notice-row h2 a:hover {color:#80612c}
.archive-page--notices .notice-summary,.archive-page--downloads .notice-summary {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 12px;color:#637179;font-size:13px;line-height:1.6}
.archive-page--notices .notice-row__actions,.archive-page--downloads .notice-row__actions {display:flex;align-items:center;flex-wrap:wrap;gap:7px 16px;margin-top:auto;padding-top:9px}
.archive-page--notices .notice-detail-action,.archive-page--downloads .notice-detail-action {display:inline-flex;align-items:center;min-height:34px;color:#765b2d;font-size:11px;font-weight:700;text-decoration:none}
.archive-page--notices .notice-detail-action:hover,.archive-page--downloads .notice-detail-action:hover {text-decoration:underline}
.archive-page--notices .attachment-note {color:#77838a;font-size:10px}
.archive-page--downloads .document-emblem {position:relative;display:grid;place-items:center;width:58px;height:68px;padding:8px;border:1px solid #d7c6a5;border-radius:3px;background:#f5efe2;color:#6e5429;text-align:center}
.archive-page--downloads .document-emblem::after {content:'';position:absolute;right:0;top:0;border-style:solid;border-width:0 13px 13px 0;border-color:transparent #e2d5bd transparent transparent}
.archive-page--downloads .document-emblem span {max-width:100%;overflow:hidden;font-size:12px;font-weight:800;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}
.archive-page--downloads .download-action {display:inline-flex;align-items:center;gap:7px;min-height:34px;margin:0;padding:5px 11px;border:1px solid #173647;border-radius:3px;background:#173647;color:#fff;font-size:11px;font-weight:700;text-decoration:none}
.archive-page--downloads .download-action:hover {background:#254a5a;color:#fff;text-decoration:none}
.archive-page--events .editorial-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.archive-page--events .editorial-card {border-color:#e2dccf;border-radius:4px;box-shadow:0 4px 16px #102b4608}
.archive-page--events .editorial-card-media--event {position:relative;display:block;aspect-ratio:16/10;background:#173847;overflow:hidden}
.archive-page--events .editorial-card-media--event-empty {background:radial-gradient(circle at 82% 20%,#315563,#173847 64%)}
.archive-page--events .editorial-card-media--event-empty::after {content:'';position:absolute;inset:15px;border:1px solid #d8be8755;pointer-events:none}
.archive-page--events .editorial-card-media--event-empty .editorial-event-date {top:50%;left:50%;transform:translate(-50%,-50%);min-width:100px;padding:12px}
.archive-page--events .editorial-event-date {position:absolute;z-index:1;top:14px;left:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;padding:7px 9px;border-top:3px solid #b89a61;border-radius:2px;background:#fffdf8;color:#6c593a;text-align:center;box-shadow:0 5px 14px #102b4628}
.archive-page--events .editorial-event-date strong {color:#173647;font-size:26px;line-height:1.1}
.archive-page--events .editorial-event-date span {font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.archive-page--events .editorial-card-body {padding:19px 20px 20px}
.archive-page--events .editorial-card h2 {font-size:clamp(20px,1.8vw,24px);line-height:1.32}
.archive-page--events .editorial-event-meta {display:flex;flex-direction:column;gap:4px;margin:0 0 12px!important;color:#52656d!important;font-size:12px!important;line-height:1.5!important}
.archive-page--events .editorial-event-meta span+span {padding:0;border:0}
.archive-page--events .editorial-card-body>p:not(.metadata):not(.editorial-event-meta) {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:13px}
.view-home .rba-grid--notices .rba-card {border-top:2px solid #b89a61;box-shadow:0 4px 16px #102b4608}
.view-home .rba-grid--notices .rba-card__media {background:#173847}
.view-home .rba-grid--events .rba-card {border:1px solid #e2dccf;border-radius:4px;box-shadow:0 4px 16px #102b4608}
.view-home .rba-grid--events .rba-card__body {padding:19px 21px 21px}
.view-home .download-section .download-tile {border-radius:4px;background:#ffffff0c}
@media(max-width:1050px) {.archive-page--events .editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px) {.archive-page--notices .document-list,.archive-page--downloads .document-list{grid-template-columns:1fr}}
@media(max-width:650px) {.archive-page--events .editorial-grid{grid-template-columns:1fr}.archive-page--notices .notice-row,.archive-page--downloads .notice-row{grid-template-columns:52px minmax(0,1fr);gap:12px;min-height:0;padding:16px}.archive-page--notices .notice-row:hover,.archive-page--downloads .notice-row:hover{padding:16px}.archive-page--notices .notice-date{min-height:58px}.archive-page--notices .notice-date strong{font-size:25px}.archive-page--notices .notice-date span{font-size:9px}.archive-page--downloads .document-emblem{width:50px;height:60px}.archive-page--notices .notice-row h2,.archive-page--downloads .notice-row h2{font-size:18px}}
@media(prefers-reduced-motion:reduce) {.archive-page--notices .notice-row,.archive-page--downloads .notice-row{transition:none}}
@media print {.archive-page--notices .notice-row,.archive-page--downloads .notice-row,.archive-page--events .editorial-card{box-shadow:none;break-inside:avoid}}

/* Shared archive masthead and search panel for notices, news, events, gallery and downloads. */
.archive-page {--archive-accent:#c1a36c}
.archive-page--news {--archive-accent:#c6a970}
.archive-page--events {--archive-accent:#b9c8bc}
.archive-page--gallery {--archive-accent:#d6b59e}
.archive-page--downloads {--archive-accent:#bac8cf}
.archive-hero {position:relative;display:flex;align-items:center;min-height:252px;padding:36px 42px 62px;overflow:hidden;border:1px solid #1b4250;border-radius:5px;background:linear-gradient(115deg,#123447 0%,#0e2b3b 66%,#183c4b 100%);color:#e9eeed}
.archive-hero::before {content:'';position:absolute;top:0;left:42px;width:64px;height:4px;background:var(--archive-accent)}
.archive-hero::after {content:'';position:absolute;right:-70px;top:-95px;width:370px;height:370px;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 55px #ffffff05,0 0 0 110px #ffffff04;pointer-events:none}
.archive-hero__content {position:relative;z-index:1;max-width:750px}
.archive-hero .eyebrow {margin:0 0 12px;color:var(--archive-accent);font-size:10px;letter-spacing:.13em}
.archive-hero .eyebrow span {padding:0 8px;color:#e9eeed88}
.archive-hero h1 {margin:0 0 10px;color:#fff;font-size:clamp(34px,4.4vw,55px);line-height:1.15;letter-spacing:-.035em}
.archive-hero__description {max-width:650px;margin:0;color:#d5dfe0;font-size:15px;line-height:1.6}
.archive-hero .breadcrumbs {gap:9px;margin:21px 0 0;color:#c5d1d4;font-size:11px}
.archive-hero .breadcrumbs a {color:#f5e6c7;text-decoration:none;border-bottom:1px solid #d2b67c88}
.archive-hero .breadcrumbs a:hover {color:#fff;border-color:#fff}
.archive-hero__index {position:absolute;right:48px;bottom:-43px;color:#ffffff0c;font:400 clamp(150px,18vw,260px)/1 Georgia,serif;letter-spacing:-.09em;pointer-events:none;user-select:none}
.archive-page .archive-filter {position:relative;z-index:2;display:block;margin:-27px 22px 0;padding:22px 26px 18px;border:1px solid #e0d9cb;border-top:3px solid var(--archive-accent);border-radius:4px;background:#fff;box-shadow:0 13px 28px #102b4610}
.archive-filter__heading {display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 0 17px;padding:0 0 14px;border-bottom:1px solid #ece7de}
.archive-filter__heading .eyebrow {margin:0 0 3px;color:#8a6d3d;font-size:9px}
.archive-filter__heading h2 {margin:0;color:#173647;font-size:21px;line-height:1.25}
.archive-filter__heading>p {max-width:370px;margin:0;color:#69777d;font-size:12px;line-height:1.55}
.archive-filter__fields {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 18px}
.archive-filter__field {min-width:0}
.archive-filter__field label {margin:0 0 6px;color:#354b55;font-size:11px;font-weight:700;line-height:1.45}
.archive-filter__field input,.archive-filter__field select {display:block;width:100%;min-height:43px;padding:8px 12px;border:1px solid #d0d7d7;border-radius:3px;background:#fff;color:#173647;font-size:14px}
.archive-filter__field input:focus,.archive-filter__field select:focus {border-color:#a88850;box-shadow:0 0 0 3px #a8885020}
.archive-filter__field.is-invalid input,.archive-filter__field.is-invalid select {border-color:#a7473f}
.archive-filter__field .errorlist {margin:6px 0 0;color:#933d35;font-size:11px}
.archive-filter__actions {display:flex;align-items:center;justify-content:flex-end;gap:13px;margin-top:18px;padding-top:14px;border-top:1px solid #ece7de}
.archive-filter__actions>a {display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 12px;color:#52616a;font-size:12px;font-weight:600;text-decoration:none}
.archive-filter__actions>a:hover {color:#173647;text-decoration:underline}
.archive-page .archive-filter button {display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:42px;padding:8px 17px;border:1px solid #173647;border-radius:3px;background:#173647;color:#fff;font-size:12px;font-weight:700}
.archive-page .archive-filter button:hover {background:#2b5262;border-color:#2b5262}
.archive-page .archive-filter button span {color:#d6bd87;font-size:17px;line-height:1}
.archive-results-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0 17px;padding-bottom:11px;border-bottom:1px solid #e3ded3}
.archive-page .archive-results-heading .result-count {margin:0;color:#173647;font-size:14px;font-weight:700;letter-spacing:0}
.archive-results-heading>span {color:#899398;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:800px) {.archive-hero{min-height:225px;padding:30px 30px 58px}.archive-hero::before{left:30px}.archive-hero__index{right:28px;bottom:-25px;font-size:150px}.archive-page .archive-filter{margin-inline:14px;padding:19px 20px 16px}.archive-filter__heading{align-items:start;flex-direction:column;gap:5px}}
@media(max-width:600px) {.archive-hero{min-height:0;padding:27px 22px 54px}.archive-hero::before{left:22px;width:48px}.archive-hero h1{font-size:36px}.archive-hero__description{font-size:13px}.archive-hero__index{right:18px;bottom:-14px;font-size:116px}.archive-hero .breadcrumbs{margin-top:18px}.archive-page .archive-filter{margin:-23px 10px 0;padding:17px 16px 14px}.archive-filter__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.archive-filter__field:first-child{grid-column:1/-1}.archive-filter__actions{gap:5px}.archive-page .archive-filter button{padding-inline:12px}.archive-results-heading{margin-top:24px}}
@media(max-width:430px) {.archive-filter__fields{grid-template-columns:1fr}.archive-filter__field:first-child{grid-column:auto}.archive-filter__actions>a{padding-inline:7px}.archive-results-heading>span{display:none}}
@media print {.archive-hero{min-height:0;padding:18px;border-color:#888;background:#fff;color:#000}.archive-hero h1,.archive-hero__description,.archive-hero .breadcrumbs{color:#000}.archive-hero__index{display:none}.archive-page .archive-filter{margin:20px 0;box-shadow:none}}

/* Navigation disclosure: a crisp chevron and a visible hover state. */
.nav-dropdown>summary>.nav-chevron {display:block;flex:0 0 7px;width:7px;height:7px;margin:0 2px 4px 3px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;color:#d8bd86;transform:rotate(45deg);transition:transform .2s ease,color .2s ease}
.nav-dropdown[open]>summary>.nav-chevron {color:#f2d69f;transform:translateY(3px) rotate(225deg)}
.nav-dropdown>summary:hover {color:#f2d69f;background:#ffffff0c}
.nav-dropdown>summary:focus-visible {outline:2px solid #d8bd86;outline-offset:-3px}
.nav-dropdown summary::marker {content:''}
@media(max-width:1024px) {html.has-public-js .navigation-bar #main-navigation > .nav-dropdown > summary > .nav-chevron {width:8px;height:8px;flex-basis:8px;margin:0 3px 4px 8px;color:#9b7838;transform:rotate(45deg)}html.has-public-js .navigation-bar #main-navigation > .nav-dropdown[open] > summary > .nav-chevron {transform:translateY(3px) rotate(225deg)}}
@media(prefers-reduced-motion:reduce) {.nav-dropdown>summary>.nav-chevron{transition:none}}

/* Committee directory: a clear chapter header, term controls and profile actions. */
.site-committees.view-index {background:#faf9f6}
.site-committees.view-index main {padding-top:34px}
.committee-page-hero {position:relative;display:flex;align-items:center;min-height:230px;padding:36px 42px 53px;overflow:hidden;border:1px solid #183c4b;border-radius:5px;background:linear-gradient(115deg,#123447,#0e2b3b 72%,#204655);color:#dce6e8}
.committee-page-hero::before {content:'';position:absolute;top:0;left:42px;width:62px;height:4px;background:#c5a66d}
.committee-page-hero::after {content:'';position:absolute;right:-65px;top:-120px;width:390px;height:390px;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 55px #ffffff05,0 0 0 110px #ffffff04;pointer-events:none}
.committee-page-hero>div {position:relative;z-index:1;max-width:720px}
.committee-page-hero .eyebrow {margin:0 0 12px;color:#d4bc88;font-size:10px;letter-spacing:.12em}
.committee-page-hero .eyebrow span {padding:0 8px;color:#dce6e880}
.committee-page-hero h1 {margin:0 0 10px;color:#fff;font-size:clamp(36px,4.4vw,55px);line-height:1.14;letter-spacing:-.035em}
.committee-page-hero p:last-child {max-width:600px;margin:0;color:#d7e1e2;font-size:15px;line-height:1.6}
.committee-page-hero__mark {position:absolute;right:38px;bottom:-42px;color:#ffffff0c;font:400 clamp(120px,16vw,220px)/1 Georgia,serif;letter-spacing:-.09em;pointer-events:none;user-select:none}
.site-committees.view-index .term-navigation {position:relative;z-index:1;display:inline-flex;flex-wrap:wrap;gap:5px;max-width:calc(100% - 24px);margin:-23px 12px 10px;padding:7px;border:1px solid #e1dacb;border-radius:4px;background:#fff;box-shadow:0 8px 22px #102b460f}
.site-committees.view-index .term-navigation a {justify-content:center;min-height:39px;padding:8px 17px;border:1px solid transparent;border-radius:3px;color:#52646c;font-size:12px;font-weight:650;line-height:1.25;text-decoration:none}
.site-committees.view-index .term-navigation a:hover {background:#f1eee6;color:#173647}
.site-committees.view-index .term-navigation a[aria-current] {border-color:#173647;background:#173647;color:#fff;box-shadow:0 3px 9px #102b4625}
.site-committees .committee-overview {padding-top:4px}
.site-committees.view-index .committee-overview-section {margin:0 0 26px;padding:0;border:1px solid #e2dbcc;border-radius:5px;background:#fff;box-shadow:0 5px 20px #102b4608;overflow:hidden}
.site-committees.view-index .committee-overview-section>.section-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:24px 27px;border:0;border-bottom:1px solid #e8e1d4;background:linear-gradient(90deg,#f7f4ec,#fff 75%)}
.site-committees.view-index .committee-overview-section .section-heading .eyebrow {margin:0 0 7px;color:#866a3d;font-size:10px;letter-spacing:.09em}
.site-committees.view-index .committee-overview-section .section-heading h2 {margin:0;color:#173647;font-size:clamp(23px,2.4vw,30px);line-height:1.25}
.site-committees.view-index .committee-overview-section .section-heading h2 a {color:inherit}
.site-committees.view-index .committee-overview-section .section-heading h2 a:hover {color:#80612c}
.site-committees.view-index .committee-overview-section .section-heading .metadata {margin:9px 0 0;color:#718087;font-size:11px}
.site-committees.view-index .committee-overview-section .section-heading>a.committee-overview__button {display:inline-flex;align-items:center;justify-content:center;gap:15px;flex:0 0 auto;min-height:44px;padding:10px 17px;border:1px solid #173647;border-radius:3px;background:#173647;color:#fff;font-size:12px;font-weight:700;text-decoration:none;transition:background .2s ease,box-shadow .2s ease}
.site-committees.view-index .committee-overview-section .section-heading>a.committee-overview__button span {color:#d9bf89;font-size:17px;line-height:1}
.site-committees.view-index .committee-overview-section .section-heading>a.committee-overview__button:hover {border-color:#2c5464;background:#2c5464;box-shadow:0 5px 13px #102b4620}
.site-committees.view-index .committee-overview-section>.committee-grid {gap:15px;margin:0;padding:21px;border:0;background:#fff}
.site-committees .committee-person {border-color:#e6dfd1;border-top:2px solid #c4aa78;box-shadow:0 3px 12px #102b4607}
.site-committees .committee-person::before {display:none}
.site-committees .committee-person__content {justify-content:flex-start}
.site-committees .committee-person__link {display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:37px;margin-top:auto;padding:8px 12px;border:1px solid #d9caab;border-radius:3px;background:#f8f5ed;color:#173647;font-size:10px;font-weight:750;line-height:1.3;letter-spacing:.035em;text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease}
.site-committees .committee-person__link span:first-child {color:inherit;font-size:inherit}
.site-committees .committee-person__link .committee-person__arrow {color:#9e7b3f;font-size:15px;line-height:1}
.site-committees .committee-person__link:hover {border-color:#173647;background:#173647;color:#fff}
.site-committees .committee-person__link:hover .committee-person__arrow {color:#d7bd87}
.site-committees .committee-person__link:focus-visible,.site-committees .committee-overview__button:focus-visible {outline:2px solid #ae8a4a;outline-offset:3px}
@media(max-width:760px) {.committee-page-hero{min-height:0;padding:28px 24px 52px}.committee-page-hero::before{left:24px}.committee-page-hero__mark{right:16px;bottom:-18px;font-size:130px}.site-committees.view-index .committee-overview-section>.section-heading{align-items:flex-start;flex-direction:column;padding:20px;gap:13px}.site-committees.view-index .committee-overview-section>.committee-grid{padding:14px}}
@media(max-width:480px) {.site-committees.view-index main{padding-top:24px}.committee-page-hero{padding:24px 18px 49px}.committee-page-hero::before{left:18px;width:48px}.committee-page-hero h1{font-size:36px}.committee-page-hero p:last-child{font-size:13px}.site-committees.view-index .term-navigation{max-width:calc(100% - 12px);margin-inline:6px;padding:5px}.site-committees.view-index .term-navigation a{padding:7px 11px;font-size:11px}.site-committees.view-index .committee-overview-section>.section-heading{padding:17px}.site-committees.view-index .committee-overview-section>.committee-grid{padding:11px}.site-committees .committee-person__link{min-height:35px;padding:7px 9px}}
@media(prefers-reduced-motion:reduce) {.site-committees .committee-person__link,.site-committees.view-index .committee-overview-section .section-heading>a.committee-overview__button{transition:none}}
@media print {.committee-page-hero{min-height:0;border-color:#888;background:#fff;color:#000}.committee-page-hero h1,.committee-page-hero p:last-child{color:#000}.committee-page-hero__mark{display:none}.site-committees.view-index .committee-overview-section{box-shadow:none}}

/* Carousel control: one recognizable pause/play icon beside the slide indicators. */
.hero-dots .hero-pause {position:relative;display:inline-grid;place-items:center;flex:0 0 38px;width:38px;height:38px;min-width:38px;min-height:38px;margin-left:7px;padding:0;border:1px solid #ffffff65;border-radius:50%;background:#ffffff16;color:#fff;box-shadow:none;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.hero-dots .hero-pause::before {content:'';position:absolute;left:-10px;top:9px;width:1px;height:18px;background:#ffffff40}
.hero-dots .hero-pause:hover {border-color:#e0c58e;background:#ffffff2b;color:#fff;transform:scale(1.06)}
.hero-dots .hero-pause:focus-visible {outline:2px solid #eed5a1;outline-offset:3px}
.hero-pause__icon {display:block;width:16px;height:16px}
.hero-pause__play {display:none}
.hero-pause[aria-pressed='true'] .hero-pause__pause {display:none}
.hero-pause[aria-pressed='true'] .hero-pause__play {display:block}
@media(max-width:400px) {.hero-dots .hero-pause{flex-basis:36px;width:36px;height:36px;min-width:36px;min-height:36px;margin-left:5px}.hero-dots .hero-pause::before{left:-8px}}
@media(prefers-reduced-motion:reduce) {.hero-dots .hero-pause{transition:none}}

/* Homepage service cards no longer reserve a column for decorative numbering. */
.view-home .services-section .institution-grid article {display:block}
.view-home .services-section .institution-grid article>p {grid-column:auto}

/* Keep long navigation dropdowns scrollable without a visible scrollbar. */
.nav-submenu {scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}
.nav-submenu::-webkit-scrollbar {display:none;width:0;height:0}

/* Language controls need their own hover contrast, separate from primary buttons. */
.header-utilities .language-switch button:hover {border-color:transparent;border-radius:3px;background:#f2e8d4;color:#102b46}
.header-utilities .language-switch button:focus-visible {outline:2px solid #a78648;outline-offset:2px}
@media(max-width:1024px) {html.has-public-js .navigation-bar .header-utilities .language-switch button:hover {background:#e8deca;color:#102b46}}

/* Give image-backed homepage slides a legible, consistent call to action. */
.view-home .institution-hero.with-image .hero-description {color:#f3f5f4}
.view-home .institution-hero.with-image .hero-actions .institution-button {
  background:#e6c88e;
  border-color:#e6c88e;
  color:#10243a;
  font-weight:700;
}
.view-home .institution-hero.with-image .hero-actions .institution-button:hover {
  background:#f3dfb5;
  border-color:#f3dfb5;
  color:#10243a;
}

/* Footer navigation underline draws from left to right. */
.site-footer .footer-main nav a {
  position:relative;
  width:max-content;
  max-width:100%;
}
.site-footer .footer-main nav a::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:5px;
  height:1px;
  background:#efd298;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 280ms ease;
}
.site-footer .footer-main nav a:hover,
.site-footer .footer-main nav a:focus-visible {text-decoration:none}
.site-footer .footer-main nav a:hover::after,
.site-footer .footer-main nav a:focus-visible::after {transform:scaleX(1)}
@media (prefers-reduced-motion:reduce) {
  .site-footer .footer-main nav a::after {transition:none}
}

/* Featured members: a quieter gallery frame with a clear profile action. */
.view-home .featured-members {
  background:linear-gradient(145deg,#f5f2ea,#ebe7dc);
  border-color:#ded6c7;
  box-shadow:0 14px 40px #132e3c0b;
}
.view-home .featured-members .section-heading {margin-bottom:22px}
.view-home .featured-members .member-tile {
  border-color:#ded8ca;
  border-radius:6px;
  box-shadow:0 9px 24px #102b4212;
}
.view-home .featured-members .member-tile__frame {
  aspect-ratio:6/5;
  border-bottom:2px solid #bc9a60;
}
.view-home .featured-members .member-tile__frame::after {
  height:25%;
  background:linear-gradient(to top,#102b425e,transparent);
}
.view-home .featured-members .member-tile__frame--empty {
  background:radial-gradient(circle at 50% 39%,#fffdf7 0,#f2ecdf 55%,#e6ddcc 100%);
}
.view-home .featured-members .member-tile__frame--empty::after {display:none}
.view-home .featured-members .member-tile__frame--empty .member-tile__monogram {
  opacity:1;
  color:#a58c5e;
  font-size:clamp(68px,6vw,90px);
}
.view-home .featured-members .member-tile__pending {
  top:auto;
  bottom:22px;
  left:18px;
  right:18px;
  padding:7px 10px;
  border:1px solid #cdbb9b;
  border-radius:2px;
  background:#fffaf1de;
  color:#6b604d;
  text-shadow:none;
  font-size:10px;
  font-weight:600;
}
.view-home .featured-members .member-tile__number {
  top:13px;
  bottom:auto;
  left:13px;
  padding:5px 9px;
  border-radius:2px;
  background:#102b42dc;
  color:#fff2d8;
  font-size:10px;
  letter-spacing:.04em;
}
.view-home .featured-members .member-tile__body {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  flex:1;
  padding:20px 18px 16px;
}
.view-home .featured-members .member-tile__body h3 {font-size:18px;line-height:1.35}
.view-home .featured-members .member-tile__bn {min-height:1.5em}
.view-home .featured-members .member-tile__status {
  margin-top:12px;
  padding:5px 10px;
  border-color:#d4e3d5;
  background:#eef5ef;
  color:#22583b;
  font-size:10px;
}
.view-home .featured-members .member-tile__action {
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:auto;
  padding-top:15px;
  color:#355167;
  font-size:12px;
  font-weight:700;
}
.view-home .featured-members .member-tile__action span {
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border:1px solid #dcc9a5;
  border-radius:50%;
  color:#755a30;
  transition:background .2s,color .2s,transform .2s;
}
.view-home .featured-members .member-tile:hover .member-tile__action span {
  background:#102b42;
  color:#fff;
  transform:translate(2px,-2px);
}
@media(max-width:600px) {
  .view-home .featured-members .member-tile__body {padding:14px 11px 12px}
  .view-home .featured-members .member-tile__body h3 {font-size:15px}
  .view-home .featured-members .member-tile__action {font-size:10px}
}
@media(prefers-reduced-motion:reduce) {
  .view-home .featured-members .member-tile__action span {transition:none}
}

/* Compact line icons and measured spacing for homepage figures. */
.view-home .statistics-grid .stat-card {
  display:block;
  min-height:190px;
  padding:22px 20px 20px;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .2s ease,box-shadow .2s ease;
}
.view-home .statistics-grid .stat-card:hover,
.view-home .statistics-grid .stat-card:focus-visible {
  background:#f8f5ed;
  box-shadow:none;
  outline:none;
}
.view-home .stat-card__icon {
  display:block;
  width:24px;
  height:24px;
  color:#9b7838;
  margin-bottom:12px;
}
.view-home .statistics-grid .stat-card strong {
  line-height:1.1;
  margin-bottom:16px;
}
.view-home .statistics-grid .stat-card h2 {margin:0 0 4px}
@media(max-width:600px) {
  .view-home .statistics-grid .stat-card {min-height:155px;padding:16px}
  .view-home .stat-card__icon {width:21px;height:21px;margin-bottom:9px}
  .view-home .statistics-grid .stat-card strong {margin-bottom:12px}
}

/* Mobile navigation uses one clean icon button beside the identity. */
@media(max-width:1024px) {
  html.has-public-js .navigation-bar .menu-toggle {
    justify-content:center;
    width:46px;
    min-height:44px;
    margin-left:auto;
    padding:10px;
    border-radius:3px;
    transition:background .2s ease;
  }
  html.has-public-js .navigation-bar .menu-toggle:hover,
  html.has-public-js .navigation-bar .menu-toggle[aria-expanded=true] {background:#ffffff18}
  html.has-public-js .navigation-bar .menu-symbol {width:22px}
}

/* Mobile homepage and compact navigation. */
.navigation-bar .compact-identity {display:none}
@media(max-width:1024px) {
  html.has-public-js .navigation-bar > .container {display:flex;align-items:center}
  html.has-public-js .masthead.is-scrolled .compact-identity {
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-width:0;
    max-width:calc(100% - 58px);
    color:#f4f0e6;
    font-size:12px;
    font-weight:700;
    line-height:1.2;
    text-decoration:none;
  }
  .compact-identity img,.compact-identity__mark {
    flex:none;
    width:29px;
    height:29px;
    object-fit:contain;
  }
  .compact-identity__mark {
    display:grid;
    place-items:center;
    border:1px solid #d6b981;
    color:#e8cb94;
    font-size:9px;
    letter-spacing:.05em;
  }
  .compact-identity > span:last-child {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  html.has-public-js .navigation-bar #main-navigation .drawer-label--nav {display:none}
  html.has-public-js .navigation-bar .account-links {grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:9px}
  html.has-public-js .navigation-bar .account-links > a:first-child {grid-column:auto}
  html.has-public-js .navigation-bar .account-links > a,
  html.has-public-js .navigation-bar .account-links button {min-height:54px;padding:10px 8px;border-radius:8px;font-size:12px;line-height:1.25}
}
@media(max-width:700px) {
  :root {--gutter:16px}
  .view-home .featured-members .member-rail__track {grid-auto-columns:min(74vw,270px)}
  .view-home .featured-members .member-tile__status,
  .view-home .featured-members .member-tile__number {display:none}
}
@media(max-width:359px) {:root {--gutter:12px}}

/* Official resource cards on the homepage. */
.view-home .links-section .important-links {gap:14px}
.view-home .links-section .important-links a {
  min-height:87px;
  padding:19px 20px;
  border:1px solid #ded8ca;
  border-top:2px solid #b89b62;
  border-radius:4px;
  background:#fff;
  box-shadow:0 7px 22px #102b460b;
  color:#17394a;
  font-family:Georgia,'Times New Roman',serif;
  font-size:18px;
  line-height:1.3;
}
.view-home .links-section .important-links a:hover {border-color:#c6ad7b;color:#815f2b}
.view-home .links-section .important-links__arrow {
  display:grid;
  place-items:center;
  flex:none;
  width:30px;
  height:30px;
  border:1px solid #dccaaa;
  border-radius:50%;
  color:#92703c;
  font:16px/1 var(--sans);
}
@media(max-width:700px) {.view-home .links-section .important-links a {min-height:73px;padding:14px 17px;font-size:16px}}

/* Let mobile leadership copy use the full card width below the portrait. */
@media(max-width:700px) {
  .view-home .leadership-section .leadership-card {
    display:flex;
    flex-direction:column;
  }
  .view-home .leadership-section .leadership-card img,
  .view-home .leadership-section .portrait-placeholder {
    display:block;
    width:100%;
    height:190px;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center 19%;
    border-bottom:2px solid #b39862;
  }
  .view-home .leadership-section .portrait-placeholder {display:flex}
  .view-home .leadership-section .leadership-card>div:not(.portrait-placeholder) {
    width:100%;
    padding:18px 19px 21px;
  }
  .view-home .leadership-section .leadership-card p:not(.eyebrow) {max-width:none}
}
@media(max-width:400px) {
  .view-home .leadership-section .leadership-card img,
  .view-home .leadership-section .portrait-placeholder {height:170px}
}

/* Subtle depth and light across the institutional navigation bar. */
.navigation-bar {
  position:relative;
  background:
    radial-gradient(ellipse at 8% -70%,#c5a46a27 0,transparent 36%),
    linear-gradient(108deg,#12384b 0%,#0b2439 54%,#153b49 100%);
  border-bottom-color:#bba16d;
  box-shadow:inset 0 1px 0 #ffffff20,0 9px 24px #071c2d21;
}
.masthead.is-scrolled .navigation-bar {
  box-shadow:inset 0 1px 0 #ffffff20,0 12px 29px #071c2d33;
}
@media(min-width:1025px) {
  .navigation-bar nav > a:hover {background:#ffffff0d}
}

/* Soft architectural detail in the light identity area. */
.masthead {
  background:
    radial-gradient(ellipse 340px 160px at 91% 6%,#c4a77527 0,transparent 78%),
    linear-gradient(112deg,#fffefb 0%,#faf8f2 58%,#f3efe5 100%);
}
.masthead-inner {position:relative}
.masthead-inner::before {
  content:"";
  position:absolute;
  right:6%;
  top:-58px;
  width:210px;
  height:210px;
  border:1px solid #a98a5830;
  border-radius:50%;
  box-shadow:0 0 0 34px #ad956d0b,0 0 0 73px #ad956d08;
  pointer-events:none;
}
.masthead-inner > * {position:relative;z-index:1}
@media(max-width:700px) {
  .masthead-inner::before {
    display:block;
    right:0;
    top:-59px;
    width:166px;
    height:166px;
    border-color:#a98a5836;
    box-shadow:0 0 0 27px #ad956d0f,0 0 0 57px #ad956d0a;
  }
  .masthead {
    background:
      radial-gradient(ellipse 210px 130px at 96% 0,#c4a77530 0,transparent 78%),
      linear-gradient(112deg,#fffefb,#f7f4ec);
  }
}
